Message ID | 20221207033926.11777-1-JunASAKA@zzy040330.moe (mailing list archive) |
---|---|
State | Accepted |
Commit | 695c5d3a8055dcb97966496ade51968c9a75f5c6 |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu | expand |
> -----Original Message----- > From: Jun ASAKA <JunASAKA@zzy040330.moe> > Sent: Wednesday, December 7, 2022 11:39 AM > To: Jes.Sorensen@gmail.com > Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; > linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Jun ASAKA > <JunASAKA@zzy040330.moe>; Ping-Ke Shih <pkshih@realtek.com> > Subject: [PATCH v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu > > Fixing "Path A RX IQK failed" and "Path B RX IQK failed" > issues for rtl8192eu chips by replacing the arguments with > the ones in the updated official driver as shown below. > 1. https://github.com/Mange/rtl8192eu-linux-driver > 2. vendor driver version: 5.6.4 > > Tested-by: Jun ASAKA <JunASAKA@zzy040330.moe> > Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> > Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> > --- > v5: > - no modification. Then, why do you need v5? > v4: > - fixed some mistakes. > v3: > - add detailed info about the newer version this patch used. > - no functional update. > --- > --- [...]
On 07/12/2022 11:43, Ping-Ke Shih wrote: > >> -----Original Message----- >> From: Jun ASAKA <JunASAKA@zzy040330.moe> >> Sent: Wednesday, December 7, 2022 11:39 AM >> To: Jes.Sorensen@gmail.com >> Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; >> linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Jun ASAKA >> <JunASAKA@zzy040330.moe>; Ping-Ke Shih <pkshih@realtek.com> >> Subject: [PATCH v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu >> >> Fixing "Path A RX IQK failed" and "Path B RX IQK failed" >> issues for rtl8192eu chips by replacing the arguments with >> the ones in the updated official driver as shown below. >> 1. https://github.com/Mange/rtl8192eu-linux-driver >> 2. vendor driver version: 5.6.4 >> >> Tested-by: Jun ASAKA <JunASAKA@zzy040330.moe> >> Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> >> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> >> --- >> v5: >> - no modification. > Then, why do you need v5? Well, I just want to add the "Reviewed-By" line to the commit message. Sorry for the noise if there is no need to do that.
> -----Original Message----- > From: Jun ASAKA <JunASAKA@zzy040330.moe> > Sent: Wednesday, December 7, 2022 11:51 AM > To: Ping-Ke Shih <pkshih@realtek.com>; Jes.Sorensen@gmail.com > Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; > linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu > > On 07/12/2022 11:43, Ping-Ke Shih wrote: > > > >> -----Original Message----- > >> From: Jun ASAKA <JunASAKA@zzy040330.moe> > >> Sent: Wednesday, December 7, 2022 11:39 AM > >> To: Jes.Sorensen@gmail.com > >> Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; > >> linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Jun ASAKA > >> <JunASAKA@zzy040330.moe>; Ping-Ke Shih <pkshih@realtek.com> > >> Subject: [PATCH v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu > >> > >> Fixing "Path A RX IQK failed" and "Path B RX IQK failed" > >> issues for rtl8192eu chips by replacing the arguments with > >> the ones in the updated official driver as shown below. > >> 1. https://github.com/Mange/rtl8192eu-linux-driver > >> 2. vendor driver version: 5.6.4 > >> > >> Tested-by: Jun ASAKA <JunASAKA@zzy040330.moe> > >> Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> > >> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> > >> --- > >> v5: > >> - no modification. > > Then, why do you need v5? > Well, I just want to add the "Reviewed-By" line to the commit message. > Sorry for the noise if there is no need to do that. > No need to add "Reviewed-By". Kalle will add it when this patch gets merged. Ping-Ke
On 07/12/2022 11:55, Ping-Ke Shih wrote: > >> -----Original Message----- >> From: Jun ASAKA <JunASAKA@zzy040330.moe> >> Sent: Wednesday, December 7, 2022 11:51 AM >> To: Ping-Ke Shih <pkshih@realtek.com>; Jes.Sorensen@gmail.com >> Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; >> linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org >> Subject: Re: [PATCH v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu >> >> On 07/12/2022 11:43, Ping-Ke Shih wrote: >>>> -----Original Message----- >>>> From: Jun ASAKA <JunASAKA@zzy040330.moe> >>>> Sent: Wednesday, December 7, 2022 11:39 AM >>>> To: Jes.Sorensen@gmail.com >>>> Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; >>>> linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Jun ASAKA >>>> <JunASAKA@zzy040330.moe>; Ping-Ke Shih <pkshih@realtek.com> >>>> Subject: [PATCH v5] wifi: rtl8xxxu: fixing IQK failures for rtl8192eu >>>> >>>> Fixing "Path A RX IQK failed" and "Path B RX IQK failed" >>>> issues for rtl8192eu chips by replacing the arguments with >>>> the ones in the updated official driver as shown below. >>>> 1. https://github.com/Mange/rtl8192eu-linux-driver >>>> 2. vendor driver version: 5.6.4 >>>> >>>> Tested-by: Jun ASAKA <JunASAKA@zzy040330.moe> >>>> Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> >>>> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> >>>> --- >>>> v5: >>>> - no modification. >>> Then, why do you need v5? >> Well, I just want to add the "Reviewed-By" line to the commit message. >> Sorry for the noise if there is no need to do that. >> > No need to add "Reviewed-By". Kalle will add it when this patch gets merged. > > Ping-Ke > Oh, I see. Sorry for bothering you.
Ping-Ke Shih <pkshih@realtek.com> writes: >> >> Fixing "Path A RX IQK failed" and "Path B RX IQK failed" >> >> issues for rtl8192eu chips by replacing the arguments with >> >> the ones in the updated official driver as shown below. >> >> 1. https://github.com/Mange/rtl8192eu-linux-driver >> >> 2. vendor driver version: 5.6.4 >> >> >> >> Tested-by: Jun ASAKA <JunASAKA@zzy040330.moe> >> >> Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> The assumption is that the patch submitter tests the patches, so a separate Tested-by tag is not needed. I'll remove it. >> >> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> >> >> --- >> >> v5: >> >> - no modification. >> > Then, why do you need v5? >> Well, I just want to add the "Reviewed-By" line to the commit message. >> Sorry for the noise if there is no need to do that. > > No need to add "Reviewed-By". Kalle will add it when this patch gets merged. Yeah. And to be precise patchwork actually does that automatically, a very nice feature :)
Jun ASAKA <JunASAKA@zzy040330.moe> wrote: > Fixing "Path A RX IQK failed" and "Path B RX IQK failed" > issues for rtl8192eu chips by replacing the arguments with > the ones in the updated official driver as shown below. > 1. https://github.com/Mange/rtl8192eu-linux-driver > 2. vendor driver version: 5.6.4 > > Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> > Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> Patch applied to wireless-next.git, thanks. 695c5d3a8055 wifi: rtl8xxxu: fixing IQK failures for rtl8192eu
On 08/12/2022 22:53, Kalle Valo wrote: > Jun ASAKA <JunASAKA@zzy040330.moe> wrote: > >> Fixing "Path A RX IQK failed" and "Path B RX IQK failed" >> issues for rtl8192eu chips by replacing the arguments with >> the ones in the updated official driver as shown below. >> 1. https://github.com/Mange/rtl8192eu-linux-driver >> 2. vendor driver version: 5.6.4 >> >> Signed-off-by: Jun ASAKA <JunASAKA@zzy040330.moe> >> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> > Patch applied to wireless-next.git, thanks. > > 695c5d3a8055 wifi: rtl8xxxu: fixing IQK failures for rtl8192eu > Thanks!
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c index b06508d0cdf8..55da714ea24b 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c @@ -734,6 +734,12 @@ static int rtl8192eu_iqk_path_a(struct rtl8xxxu_priv *priv) */ rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x00000000); rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_DF, 0x00180); + + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x20000); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0x07f77); + rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); /* Path A IQK setting */ @@ -779,11 +785,16 @@ static int rtl8192eu_rx_iqk_path_a(struct rtl8xxxu_priv *priv) rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x30000); rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); - rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf117b); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf1173); + + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_WE_LUT, 0x800a0); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_RCK_OS, 0x30000); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G1, 0x0000f); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0xf1173); /* PA/PAD control by 0x56, and set = 0x0 */ rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_DF, 0x00980); - rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_56, 0x51000); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_56, 0x511e0); /* Enter IQK mode */ rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); @@ -798,14 +809,14 @@ static int rtl8192eu_rx_iqk_path_a(struct rtl8xxxu_priv *priv) rtl8xxxu_write32(priv, REG_TX_IQK_TONE_B, 0x38008c1c); rtl8xxxu_write32(priv, REG_RX_IQK_TONE_B, 0x38008c1c); - rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x82160c1f); - rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x68160c1f); + rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x8216031f); + rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x6816031f); /* LO calibration setting */ rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x0046a911); /* One shot, path A LOK & IQK */ - rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xfa000000); + rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf9000000); rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf8000000); mdelay(10); @@ -836,11 +847,16 @@ static int rtl8192eu_rx_iqk_path_a(struct rtl8xxxu_priv *priv) rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x30000); rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); - rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf7ffa); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf7ff2); + + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_WE_LUT, 0x800a0); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_RCK_OS, 0x30000); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G1, 0x0000f); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0xf7ff2); /* PA/PAD control by 0x56, and set = 0x0 */ rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_DF, 0x00980); - rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_56, 0x51000); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_UNKNOWN_56, 0x510e0); /* Enter IQK mode */ rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); @@ -854,14 +870,14 @@ static int rtl8192eu_rx_iqk_path_a(struct rtl8xxxu_priv *priv) rtl8xxxu_write32(priv, REG_TX_IQK_TONE_B, 0x38008c1c); rtl8xxxu_write32(priv, REG_RX_IQK_TONE_B, 0x38008c1c); - rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x82160c1f); - rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x28160c1f); + rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x821608ff); + rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x281608ff); /* LO calibration setting */ rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x0046a891); /* One shot, path A LOK & IQK */ - rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xfa000000); + rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf9000000); rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf8000000); mdelay(10); @@ -891,9 +907,12 @@ static int rtl8192eu_iqk_path_b(struct rtl8xxxu_priv *priv) rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x00000000); rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_DF, 0x00180); - rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); - rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x00000000); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_WE_LUT, 0x800a0); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_RCK_OS, 0x20000); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G1, 0x0000f); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0x07f77); + rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); /* Path B IQK setting */ @@ -902,11 +921,11 @@ static int rtl8192eu_iqk_path_b(struct rtl8xxxu_priv *priv) rtl8xxxu_write32(priv, REG_TX_IQK_TONE_B, 0x18008c1c); rtl8xxxu_write32(priv, REG_RX_IQK_TONE_B, 0x38008c1c); - rtl8xxxu_write32(priv, REG_TX_IQK_PI_B, 0x821403e2); + rtl8xxxu_write32(priv, REG_TX_IQK_PI_B, 0x82140303); rtl8xxxu_write32(priv, REG_RX_IQK_PI_B, 0x68160000); /* LO calibration setting */ - rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x00492911); + rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x00462911); /* One shot, path A LOK & IQK */ rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xfa000000); @@ -942,11 +961,16 @@ static int rtl8192eu_rx_iqk_path_b(struct rtl8xxxu_priv *priv) rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_WE_LUT, 0x800a0); rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_RCK_OS, 0x30000); rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G1, 0x0000f); - rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0xf117b); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0xf1173); + + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x30000); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf1173); /* PA/PAD control by 0x56, and set = 0x0 */ rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_DF, 0x00980); - rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_56, 0x51000); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_56, 0x511e0); /* Enter IQK mode */ rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); @@ -961,8 +985,8 @@ static int rtl8192eu_rx_iqk_path_b(struct rtl8xxxu_priv *priv) rtl8xxxu_write32(priv, REG_TX_IQK_TONE_B, 0x18008c1c); rtl8xxxu_write32(priv, REG_RX_IQK_TONE_B, 0x38008c1c); - rtl8xxxu_write32(priv, REG_TX_IQK_PI_B, 0x82160c1f); - rtl8xxxu_write32(priv, REG_RX_IQK_PI_B, 0x68160c1f); + rtl8xxxu_write32(priv, REG_TX_IQK_PI_B, 0x8216031f); + rtl8xxxu_write32(priv, REG_RX_IQK_PI_B, 0x6816031f); /* LO calibration setting */ rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x0046a911); @@ -1002,11 +1026,16 @@ static int rtl8192eu_rx_iqk_path_b(struct rtl8xxxu_priv *priv) rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_WE_LUT, 0x800a0); rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_RCK_OS, 0x30000); rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G1, 0x0000f); - rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0xf7ffa); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_TXPA_G2, 0xf7ff2); + + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x30000); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); + rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf7ff2); /* PA/PAD control by 0x56, and set = 0x0 */ rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_DF, 0x00980); - rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_56, 0x51000); + rtl8xxxu_write_rfreg(priv, RF_B, RF6052_REG_UNKNOWN_56, 0x510e0); /* Enter IQK mode */ rtl8xxxu_write32(priv, REG_FPGA0_IQK, 0x80800000); @@ -1020,8 +1049,8 @@ static int rtl8192eu_rx_iqk_path_b(struct rtl8xxxu_priv *priv) rtl8xxxu_write32(priv, REG_TX_IQK_TONE_B, 0x38008c1c); rtl8xxxu_write32(priv, REG_RX_IQK_TONE_B, 0x18008c1c); - rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x82160c1f); - rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x28160c1f); + rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x821608ff); + rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x281608ff); /* LO calibration setting */ rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x0046a891);