All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] rt2800: more register programing tweaks
@ 2018-10-10 15:46 Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 1/4] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band Stanislaw Gruszka
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2018-10-10 15:46 UTC (permalink / raw)
  To: linux-wireless
  Cc: Daniel Golle, Mathias Kresin, Felix Fietkau, Tomislav Požega

This is on top of previous post:
https://marc.info/?l=linux-wireless&m=153908617400582&w=2

Stanislaw Gruszka (4):
  rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band
  rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620
  rt2800: remove unneeded RT6352 check
  rt2800: comment and simplify AGC init for RT6352

 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 37 ++++++++++++++++----------
 1 file changed, 23 insertions(+), 14 deletions(-)

-- 
2.7.5


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/4] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band
  2018-10-10 15:46 [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
@ 2018-10-10 15:46 ` Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 2/4] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 Stanislaw Gruszka
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2018-10-10 15:46 UTC (permalink / raw)
  To: linux-wireless
  Cc: Daniel Golle, Mathias Kresin, Felix Fietkau, Tomislav Požega

Do not enable TX_PIN_CFG_LNA_PE_A* bits for 2.4GHz band and
vice versa TX_PIN_CFG_LNA_PE_G* bits for 5GHz.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index 170e7c87f7bc..44b94120053b 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -3891,18 +3891,24 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
 	switch (rt2x00dev->default_ant.rx_chain_num) {
 	case 3:
 		/* Turn on tertiary LNAs */
-		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A2_EN, 1);
-		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G2_EN, 1);
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A2_EN,
+				   rf->channel > 14);
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G2_EN,
+				   rf->channel <= 14);
 		/* fall-through */
 	case 2:
 		/* Turn on secondary LNAs */
-		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A1_EN, 1);
-		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G1_EN, 1);
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A1_EN,
+				   rf->channel > 14);
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G1_EN,
+				   rf->channel <= 14);
 		/* fall-through */
 	case 1:
 		/* Turn on primary LNAs */
-		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A0_EN, 1);
-		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G0_EN, 1);
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_A0_EN,
+				   rf->channel > 14);
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_LNA_PE_G0_EN,
+				   rf->channel <= 14);
 		break;
 	}
 
-- 
2.7.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/4] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620
  2018-10-10 15:46 [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 1/4] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band Stanislaw Gruszka
@ 2018-10-10 15:46 ` Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 3/4] rt2800: remove unneeded RT6352 check Stanislaw Gruszka
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2018-10-10 15:46 UTC (permalink / raw)
  To: linux-wireless
  Cc: Daniel Golle, Mathias Kresin, Felix Fietkau, Tomislav Požega

The TX_PIN_CFG_RFRX_EN bit was not set on other devices than MT7620,
restore old behavaviour since setting this bit maight not be
correct for older devices.

Fixes: 41977e86c984 ("rt2x00: add support for MT7620")
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index 44b94120053b..acbd9d4a8a3a 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -3856,10 +3856,12 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
 	if (rt2x00_rt(rt2x00dev, RT3572))
 		rt2800_rfcsr_write(rt2x00dev, 8, 0);
 
-	if (rt2x00_rt(rt2x00dev, RT6352))
+	if (rt2x00_rt(rt2x00dev, RT6352)) {
 		tx_pin = rt2800_register_read(rt2x00dev, TX_PIN_CFG);
-	else
+		rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFRX_EN, 1);
+	} else {
 		tx_pin = 0;
+	}
 
 	switch (rt2x00dev->default_ant.tx_chain_num) {
 	case 3:
@@ -3914,7 +3916,6 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
 
 	rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFTR_EN, 1);
 	rt2x00_set_field32(&tx_pin, TX_PIN_CFG_TRSW_EN, 1);
-	rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFRX_EN, 1); /* mt7620 */
 
 	rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin);
 
-- 
2.7.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/4] rt2800: remove unneeded RT6352 check
  2018-10-10 15:46 [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 1/4] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 2/4] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 Stanislaw Gruszka
@ 2018-10-10 15:46 ` Stanislaw Gruszka
  2018-10-10 15:46 ` [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352 Stanislaw Gruszka
  2018-10-11 10:07 ` [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
  4 siblings, 0 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2018-10-10 15:46 UTC (permalink / raw)
  To: linux-wireless
  Cc: Daniel Golle, Mathias Kresin, Felix Fietkau, Tomislav Požega

Remove rt2x00_rt(rt2x00dev, RT6352)) check from
rt2800_config_channel_rf53xx() which is not called for RT6352 devices.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index acbd9d4a8a3a..a2cdd3a5034a 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -3037,8 +3037,7 @@ static void rt2800_config_channel_rf53xx(struct rt2x00_dev *rt2x00dev,
 			rt2800_rfcsr_write(rt2x00dev, 59,
 					   r59_nonbt_rev[idx]);
 		} else if (rt2x00_rt(rt2x00dev, RT5390) ||
-			   rt2x00_rt(rt2x00dev, RT5392) ||
-			   rt2x00_rt(rt2x00dev, RT6352)) {
+			   rt2x00_rt(rt2x00dev, RT5392)) {
 			static const char r59_non_bt[] = {0x8f, 0x8f,
 				0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8d,
 				0x8a, 0x88, 0x88, 0x87, 0x87, 0x86};
-- 
2.7.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352
  2018-10-10 15:46 [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
                   ` (2 preceding siblings ...)
  2018-10-10 15:46 ` [PATCH 3/4] rt2800: remove unneeded RT6352 check Stanislaw Gruszka
@ 2018-10-10 15:46 ` Stanislaw Gruszka
  2018-10-10 20:09   ` Tom Psyborg
  2018-10-11 10:07 ` [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
  4 siblings, 1 reply; 8+ messages in thread
From: Stanislaw Gruszka @ 2018-10-10 15:46 UTC (permalink / raw)
  To: linux-wireless
  Cc: Daniel Golle, Mathias Kresin, Felix Fietkau, Tomislav Požega

We do not need separate lines for calculating register values.
Also add comment that value is different than in vendor driver.

Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index a2cdd3a5034a..7b6effaa0740 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -3986,9 +3986,12 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
 		rt2800_bbp_write(rt2x00dev, 195, 141);
 		rt2800_bbp_write(rt2x00dev, 196, reg);
 
-		/* AGC init */
-		reg = rf->channel <= 14 ? 0x1c : 0x24;
-		reg += 2 * rt2x00dev->lna_gain;
+		/* AGC init.
+		 * Despite the vendor driver using different values here for
+		 * RT6362 chip, we use 0x1c for now. This may have to be changed
+		 * once TSSI got implemented.
+		 */
+		reg = (rf->channel <= 14 ? 0x1c : 0x24) + 2*rt2x00dev->lna_gain;
 		rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg);
 
 		rt2800_iq_calibrate(rt2x00dev, rf->channel);
-- 
2.7.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352
  2018-10-10 15:46 ` [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352 Stanislaw Gruszka
@ 2018-10-10 20:09   ` Tom Psyborg
  2018-10-10 20:11     ` Daniel Golle
  0 siblings, 1 reply; 8+ messages in thread
From: Tom Psyborg @ 2018-10-10 20:09 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: linux-wireless, Daniel Golle, Mathias Kresin, Felix Fietkau

it's 6352 dude

On 10/10/2018, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> We do not need separate lines for calculating register values.
> Also add comment that value is different than in vendor driver.
>
> Suggested-by: Daniel Golle <daniel@makrotopia.org>
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
> ---
>  drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> index a2cdd3a5034a..7b6effaa0740 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> @@ -3986,9 +3986,12 @@ static void rt2800_config_channel(struct rt2x00_dev
> *rt2x00dev,
>  		rt2800_bbp_write(rt2x00dev, 195, 141);
>  		rt2800_bbp_write(rt2x00dev, 196, reg);
>
> -		/* AGC init */
> -		reg = rf->channel <= 14 ? 0x1c : 0x24;
> -		reg += 2 * rt2x00dev->lna_gain;
> +		/* AGC init.
> +		 * Despite the vendor driver using different values here for
> +		 * RT6362 chip, we use 0x1c for now. This may have to be changed
> +		 * once TSSI got implemented.
> +		 */
> +		reg = (rf->channel <= 14 ? 0x1c : 0x24) + 2*rt2x00dev->lna_gain;
>  		rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg);
>
>  		rt2800_iq_calibrate(rt2x00dev, rf->channel);
> --
> 2.7.5
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352
  2018-10-10 20:09   ` Tom Psyborg
@ 2018-10-10 20:11     ` Daniel Golle
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel Golle @ 2018-10-10 20:11 UTC (permalink / raw)
  To: Tom Psyborg
  Cc: Stanislaw Gruszka, linux-wireless, Mathias Kresin, Felix Fietkau

On Wed, Oct 10, 2018 at 10:09:14PM +0200, Tom Psyborg wrote:
> it's 6352 dude

true. thanks for the review!

> 
> On 10/10/2018, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> > We do not need separate lines for calculating register values.
> > Also add comment that value is different than in vendor driver.
> >
> > Suggested-by: Daniel Golle <daniel@makrotopia.org>
> > Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
> > ---
> >  drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > index a2cdd3a5034a..7b6effaa0740 100644
> > --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> > @@ -3986,9 +3986,12 @@ static void rt2800_config_channel(struct rt2x00_dev
> > *rt2x00dev,
> >  		rt2800_bbp_write(rt2x00dev, 195, 141);
> >  		rt2800_bbp_write(rt2x00dev, 196, reg);
> >
> > -		/* AGC init */
> > -		reg = rf->channel <= 14 ? 0x1c : 0x24;
> > -		reg += 2 * rt2x00dev->lna_gain;
> > +		/* AGC init.
> > +		 * Despite the vendor driver using different values here for
> > +		 * RT6362 chip, we use 0x1c for now. This may have to be changed
> > +		 * once TSSI got implemented.
> > +		 */
> > +		reg = (rf->channel <= 14 ? 0x1c : 0x24) + 2*rt2x00dev->lna_gain;
> >  		rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg);
> >
> >  		rt2800_iq_calibrate(rt2x00dev, rf->channel);
> > --
> > 2.7.5
> >
> >

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/4] rt2800: more register programing tweaks
  2018-10-10 15:46 [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
                   ` (3 preceding siblings ...)
  2018-10-10 15:46 ` [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352 Stanislaw Gruszka
@ 2018-10-11 10:07 ` Stanislaw Gruszka
  4 siblings, 0 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2018-10-11 10:07 UTC (permalink / raw)
  To: linux-wireless, Kalle Valo
  Cc: Daniel Golle, Mathias Kresin, Felix Fietkau, Tomislav Požega

On Wed, Oct 10, 2018 at 05:46:16PM +0200, Stanislaw Gruszka wrote:
> This is on top of previous post:
> https://marc.info/?l=linux-wireless&m=153908617400582&w=2
> 
> Stanislaw Gruszka (4):
>   rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band
>   rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620
>   rt2800: remove unneeded RT6352 check
>   rt2800: comment and simplify AGC init for RT6352
> 
>  drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 37 ++++++++++++++++----------
>  1 file changed, 23 insertions(+), 14 deletions(-)

and drop this one as well.

Thanks
Stanislaw

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-10-11 10:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-10 15:46 [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka
2018-10-10 15:46 ` [PATCH 1/4] rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band Stanislaw Gruszka
2018-10-10 15:46 ` [PATCH 2/4] rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 Stanislaw Gruszka
2018-10-10 15:46 ` [PATCH 3/4] rt2800: remove unneeded RT6352 check Stanislaw Gruszka
2018-10-10 15:46 ` [PATCH 4/4] rt2800: comment and simplify AGC init for RT6352 Stanislaw Gruszka
2018-10-10 20:09   ` Tom Psyborg
2018-10-10 20:11     ` Daniel Golle
2018-10-11 10:07 ` [PATCH 0/4] rt2800: more register programing tweaks Stanislaw Gruszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.