Commit 050abc45 authored by Jes Sorensen's avatar Jes Sorensen Committed by Greg Kroah-Hartman
Browse files

staging: rtl8723au: Call usb_read*() functions directly

parent 1c1bc5f1
Loading
Loading
Loading
Loading
+26 −24
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@

#include <rtw_efuse.h>
#include <rtl8723a_hal.h>
#include <usb_ops_linux.h>

/*------------------------Define local variable------------------------------*/

@@ -59,13 +60,13 @@ static void Efuse_PowerSwitch(struct rtw_adapter *padapter,

		/*  1.2V Power: From VDDON with Power
		    Cut(0x0000h[15]), defualt valid */
		tmpV16 = rtw_read16(padapter, REG_SYS_ISO_CTRL);
		tmpV16 = rtl8723au_read16(padapter, REG_SYS_ISO_CTRL);
		if (!(tmpV16 & PWC_EV12V)) {
			tmpV16 |= PWC_EV12V;
			rtw_write16(padapter, REG_SYS_ISO_CTRL, tmpV16);
		}
		/*  Reset: 0x0000h[28], default valid */
		tmpV16 = rtw_read16(padapter, REG_SYS_FUNC_EN);
		tmpV16 = rtl8723au_read16(padapter, REG_SYS_FUNC_EN);
		if (!(tmpV16 & FEN_ELDR)) {
			tmpV16 |= FEN_ELDR;
			rtw_write16(padapter, REG_SYS_FUNC_EN, tmpV16);
@@ -73,7 +74,7 @@ static void Efuse_PowerSwitch(struct rtw_adapter *padapter,

		/*  Clock: Gated(0x0008h[5]) 8M(0x0008h[1]) clock
		    from ANA, default valid */
		tmpV16 = rtw_read16(padapter, REG_SYS_CLKR);
		tmpV16 = rtl8723au_read16(padapter, REG_SYS_CLKR);
		if ((!(tmpV16 & LOADER_CLK_EN)) || (!(tmpV16 & ANA8M))) {
			tmpV16 |= (LOADER_CLK_EN | ANA8M);
			rtw_write16(padapter, REG_SYS_CLKR, tmpV16);
@@ -81,7 +82,7 @@ static void Efuse_PowerSwitch(struct rtw_adapter *padapter,

		if (bWrite == true) {
			/*  Enable LDO 2.5V before read/write action */
			tempval = rtw_read8(padapter, EFUSE_TEST + 3);
			tempval = rtl8723au_read8(padapter, EFUSE_TEST + 3);
			tempval &= 0x0F;
			tempval |= (VOLTAGE_V25 << 4);
			rtw_write8(padapter, EFUSE_TEST + 3, (tempval | 0x80));
@@ -91,7 +92,7 @@ static void Efuse_PowerSwitch(struct rtw_adapter *padapter,

		if (bWrite == true) {
			/*  Disable LDO 2.5V after read/write action */
			tempval = rtw_read8(padapter, EFUSE_TEST + 3);
			tempval = rtl8723au_read8(padapter, EFUSE_TEST + 3);
			rtw_write8(padapter, EFUSE_TEST + 3, (tempval & 0x7F));
		}
	}
@@ -158,20 +159,20 @@ ReadEFuseByte23a(struct rtw_adapter *Adapter, u16 _offset, u8 *pbuf)

	/* Write Address */
	rtw_write8(Adapter, EFUSE_CTRL+1, (_offset & 0xff));
	readbyte = rtw_read8(Adapter, EFUSE_CTRL+2);
	readbyte = rtl8723au_read8(Adapter, EFUSE_CTRL+2);
	rtw_write8(Adapter, EFUSE_CTRL+2, ((_offset >> 8) & 0x03) | (readbyte & 0xfc));

	/* Write bit 32 0 */
	readbyte = rtw_read8(Adapter, EFUSE_CTRL+3);
	readbyte = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
	rtw_write8(Adapter, EFUSE_CTRL+3, (readbyte & 0x7f));

	/* Check bit 32 read-ready */
	retry = 0;
	value32 = rtw_read32(Adapter, EFUSE_CTRL);
	value32 = rtl8723au_read32(Adapter, EFUSE_CTRL);
	/* while(!(((value32 >> 24) & 0xff) & 0x80)  && (retry<10)) */
	while(!(((value32 >> 24) & 0xff) & 0x80)  && (retry<10000))
	{
		value32 = rtw_read32(Adapter, EFUSE_CTRL);
		value32 = rtl8723au_read32(Adapter, EFUSE_CTRL);
		retry++;
	}

@@ -180,7 +181,7 @@ ReadEFuseByte23a(struct rtw_adapter *Adapter, u16 _offset, u8 *pbuf)
	/*  Designer says that there shall be some delay after ready bit is set, or the */
	/*  result will always stay on last data we read. */
	udelay(50);
	value32 = rtw_read32(Adapter, EFUSE_CTRL);
	value32 = rtl8723au_read32(Adapter, EFUSE_CTRL);

	*pbuf = (u8)(value32 & 0xff);
}
@@ -302,21 +303,21 @@ EFUSE_Read1Byte23a(struct rtw_adapter *Adapter, u16 Address)
		/* Write E-fuse Register address bit0~7 */
		temp = Address & 0xFF;
		rtw_write8(Adapter, EFUSE_CTRL+1, temp);
		Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+2);
		Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+2);
		/* Write E-fuse Register address bit8~9 */
		temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC);
		rtw_write8(Adapter, EFUSE_CTRL+2, temp);

		/* Write 0x30[31]= 0 */
		Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
		Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
		temp = Bytetemp & 0x7F;
		rtw_write8(Adapter, EFUSE_CTRL+3, temp);

		/* Wait Write-ready (0x30[31]= 1) */
		Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
		Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
		while(!(Bytetemp & 0x80))
		{
			Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
			Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
			k++;
			if (k == 1000)
			{
@@ -324,7 +325,7 @@ EFUSE_Read1Byte23a(struct rtw_adapter *Adapter, u16 Address)
				break;
			}
		}
		data = rtw_read8(Adapter, EFUSE_CTRL);
		data = rtl8723au_read8(Adapter, EFUSE_CTRL);
		return data;
	}
	else
@@ -376,22 +377,22 @@ EFUSE_Write1Byte(
		/* Write E-fuse Register address bit0~7 */
		temp = Address & 0xFF;
		rtw_write8(Adapter, EFUSE_CTRL+1, temp);
		Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+2);
		Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+2);

		/* Write E-fuse Register address bit8~9 */
		temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC);
		rtw_write8(Adapter, EFUSE_CTRL+2, temp);

		/* Write 0x30[31]= 1 */
		Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
		Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
		temp = Bytetemp | 0x80;
		rtw_write8(Adapter, EFUSE_CTRL+3, temp);

		/* Wait Write-ready (0x30[31]= 0) */
		Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
		Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
		while(Bytetemp & 0x80)
		{
			Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
			Bytetemp = rtl8723au_read8(Adapter, EFUSE_CTRL+3);
			k++;
			if (k == 100)
			{
@@ -413,14 +414,14 @@ efuse_OneByteRead23a(struct rtw_adapter *pAdapter, u16 addr, u8 *data)
	/* address */
	rtw_write8(pAdapter, EFUSE_CTRL+1, (u8)(addr&0xff));
	rtw_write8(pAdapter, EFUSE_CTRL+2, ((u8)((addr>>8) &0x03)) |
	(rtw_read8(pAdapter, EFUSE_CTRL+2)&0xFC));
	(rtl8723au_read8(pAdapter, EFUSE_CTRL+2)&0xFC));

	rtw_write8(pAdapter, EFUSE_CTRL+3,  0x72);/* read cmd */

	while(!(0x80 &rtw_read8(pAdapter, EFUSE_CTRL+3)) && (tmpidx<100))
	while(!(0x80 &rtl8723au_read8(pAdapter, EFUSE_CTRL+3)) && (tmpidx<100))
		tmpidx++;
	if (tmpidx < 100) {
		*data = rtw_read8(pAdapter, EFUSE_CTRL);
		*data = rtl8723au_read8(pAdapter, EFUSE_CTRL);
		bResult = _SUCCESS;
	} else {
		*data = 0xff;
@@ -444,12 +445,13 @@ efuse_OneByteWrite23a(struct rtw_adapter *pAdapter, u16 addr, u8 data)
	/* address */
	rtw_write8(pAdapter, EFUSE_CTRL+1, (u8)(addr&0xff));
	rtw_write8(pAdapter, EFUSE_CTRL+2,
	(rtw_read8(pAdapter, EFUSE_CTRL+2)&0xFC)|(u8)((addr>>8)&0x03));
	(rtl8723au_read8(pAdapter, EFUSE_CTRL+2)&0xFC)|(u8)((addr>>8)&0x03));
	rtw_write8(pAdapter, EFUSE_CTRL, data);/* data */

	rtw_write8(pAdapter, EFUSE_CTRL+3, 0xF2);/* write cmd */

	while((0x80 &  rtw_read8(pAdapter, EFUSE_CTRL+3)) && (tmpidx<100)) {
	while((0x80 & rtl8723au_read8(pAdapter, EFUSE_CTRL+3)) &&
	      (tmpidx<100)) {
		tmpidx++;
	}

+0 −24
Original line number Diff line number Diff line
@@ -39,30 +39,6 @@ jackson@realtek.com.tw

#include <usb_ops.h>

u8 _rtw_read823a(struct rtw_adapter *adapter, u32 addr)
{
	u8 r_val;
	struct _io_ops *io_ops = &adapter->io_ops;

	r_val = io_ops->_read8(adapter, addr);

	return r_val;
}

u16 _rtw_read1623a(struct rtw_adapter *adapter, u32 addr)
{
	struct _io_ops *io_ops = &adapter->io_ops;

	return io_ops->_read16(adapter, addr);
}

u32 _rtw_read3223a(struct rtw_adapter *adapter, u32 addr)
{
	struct _io_ops *io_ops = &adapter->io_ops;

	return io_ops->_read32(adapter, addr);
}

int _rtw_write823a(struct rtw_adapter *adapter, u32 addr, u8 val)
{
	struct _io_ops *io_ops = &adapter->io_ops;
+2 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#ifdef CONFIG_8723AU_BT_COEXIST
#include <rtl8723a_hal.h>
#endif
#include <usb_ops_linux.h>

void ips_enter23a(struct rtw_adapter * padapter)
{
@@ -98,7 +99,7 @@ int ips_leave23a(struct rtw_adapter * padapter)
		}

		DBG_8723A("==> ips_leave23a.....LED(0x%08x)...\n",
			  rtw_read32(padapter, 0x4c));
			  rtl8723au_read32(padapter, 0x4c));
		pwrpriv->bips_processing = false;

		pwrpriv->bkeepfwalive = false;
+2 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
 ******************************************************************************/

#include <rtw_sreset.h>
#include <usb_ops_linux.h>

void rtw_sreset_init(struct rtw_adapter *padapter)
{
@@ -47,7 +48,7 @@ u8 rtw_sreset_get_wifi_status(struct rtw_adapter *padapter)

	if (psrtpriv->silent_reset_inprogress)
		return status;
	val32 = rtw_read32(padapter, REG_TXDMA_STATUS);
	val32 = rtl8723au_read32(padapter, REG_TXDMA_STATUS);
	if (val32 == 0xeaeaeaea) {
		psrtpriv->Wifi_Error_Status = WIFI_IF_NOT_EXIST;
	} else if (val32 != 0) {
+4 −3
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
/*  include files */

#include "odm_precomp.h"
#include <usb_ops_linux.h>

#define		DPK_DELTA_MAPPING_NUM	13
#define		index_mapping_HP_NUM	15
@@ -581,9 +582,9 @@ static void _PHY_SaveMACRegisters(struct rtw_adapter *pAdapter, u32 *MACReg, u32
	u32 i;

	for (i = 0 ; i < (IQK_MAC_REG_NUM - 1); i++) {
		MACBackup[i] = rtw_read8(pAdapter, MACReg[i]);
		MACBackup[i] = rtl8723au_read8(pAdapter, MACReg[i]);
	}
	MACBackup[i] = rtw_read32(pAdapter, MACReg[i]);
	MACBackup[i] = rtl8723au_read32(pAdapter, MACReg[i]);
}

static void _PHY_ReloadADDARegisters(struct rtw_adapter *pAdapter, u32 *ADDAReg, u32 *ADDABackup, u32 RegiesterNum)
@@ -878,7 +879,7 @@ static void _PHY_LCCalibrate(struct rtw_adapter *pAdapter, bool is2T)
	u32 RF_Amode = 0, RF_Bmode = 0, LC_Cal;

	/* Check continuous TX and Packet TX */
	tmpReg = rtw_read8(pAdapter, 0xd03);
	tmpReg = rtl8723au_read8(pAdapter, 0xd03);

	if ((tmpReg&0x70) != 0)			/* Deal with contisuous TX case */
		rtw_write8(pAdapter, 0xd03, tmpReg&0x8F);	/* disable all continuous TX */
Loading