Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c69177d authored by Larry Finger's avatar Larry Finger Committed by John W. Linville
Browse files

rtlwifi: rtl8188ee: Enable recognition of RTL8188EE



These patches modify the common probe routine to recognize the RTL8188EE
chip and implement asynchronous firmware reading in the callback routine
to initialize the sw variables.

Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Cc: jcheung@suse.com
Cc: machen@suse.com
Cc: mmarek@suse.cz
Cc: zhiyuan_yang@realsil.com.cn
Cc: page_he@realsil.com.cn
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e6deaf81
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -1124,8 +1124,11 @@ static void efuse_power_switch(struct ieee80211_hw *hw, u8 write, u8 pwrstate)
	u8 tempval;
	u16 tmpV16;

	if (pwrstate && (rtlhal->hw_type !=
		HARDWARE_TYPE_RTL8192SE)) {
	if (pwrstate && (rtlhal->hw_type != HARDWARE_TYPE_RTL8192SE)) {
		if (rtlhal->hw_type == HARDWARE_TYPE_RTL8188EE)
			rtl_write_byte(rtlpriv, rtlpriv->cfg->maps[EFUSE_ACCESS],
				       0x69);

		tmpV16 = rtl_read_word(rtlpriv,
				       rtlpriv->cfg->maps[SYS_ISO_CTRL]);
		if (!(tmpV16 & rtlpriv->cfg->maps[EFUSE_PWC_EV12V])) {
@@ -1175,6 +1178,10 @@ static void efuse_power_switch(struct ieee80211_hw *hw, u8 write, u8 pwrstate)
		}

	} else {
		if (rtlhal->hw_type == HARDWARE_TYPE_RTL8188EE)
			rtl_write_byte(rtlpriv,
				       rtlpriv->cfg->maps[EFUSE_ACCESS], 0);

		if (write) {
			tempval = rtl_read_byte(rtlpriv,
						rtlpriv->cfg->maps[EFUSE_TEST] +
+4 −0
Original line number Diff line number Diff line
@@ -1750,6 +1750,10 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev,
		RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
			 "8192D PCI-E is found - vid/did=%x/%x\n",
			 venderid, deviceid);
	} else if (deviceid == RTL_PCI_8188EE_DID) {
		rtlhal->hw_type = HARDWARE_TYPE_RTL8188EE;
		RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
			 "Find adapter, Hardware type is 8188EE\n");
	} else {
		RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
			 "Err: Unknown device - vid/did=%x/%x\n",
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@
#define RTL_PCI_8192CU_DID	0x8191	/*8192ce */
#define RTL_PCI_8192DE_DID	0x8193	/*8192de */
#define RTL_PCI_8192DE_DID2	0x002B	/*92DE*/
#define RTL_PCI_8188EE_DID	0x8179  /*8188ee*/

/*8192 support 16 pages of IO registers*/
#define RTL_MEM_MAPPED_IO_RANGE_8190PCI		0x1000
+1 −0
Original line number Diff line number Diff line
@@ -162,6 +162,7 @@ enum hardware_type {
	HARDWARE_TYPE_RTL8192DU,
	HARDWARE_TYPE_RTL8723AE,
	HARDWARE_TYPE_RTL8723U,
	HARDWARE_TYPE_RTL8188EE,

	/* keep it last */
	HARDWARE_TYPE_NUM