From: Felix Fietkau <nbd@openwrt.org>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] [PATCH 18/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain
Date: Fri, 20 Mar 2015 14:01:51 +0100 [thread overview]
Message-ID: <550C1A3F.5090101@openwrt.org> (raw)
In-Reply-To: <1426855138-6121-19-git-send-email-linux@rempel-privat.de>
On 2015-03-20 13:38, Oleksij Rempel wrote:
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> drivers/net/wireless/ath/ath9k/eeprom_def.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/eeprom_def.c b/drivers/net/wireless/ath/ath9k/eeprom_def.c
> index 0980590..4b43539 100644
> --- a/drivers/net/wireless/ath/ath9k/eeprom_def.c
> +++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c
> @@ -466,6 +466,7 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
> struct ar5416_eeprom_def *eep,
> u8 txRxAttenLocal, int regChainOffset, int i)
> {
> + ENABLE_REG_RMW_BUFFER(ah);
> if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) {
> txRxAttenLocal = pModal->txRxAttenCh[i];
>
> @@ -483,16 +484,16 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
> AR_PHY_GAIN_2GHZ_XATTEN2_DB,
> pModal->xatten2Db[i]);
> } else {
> - REG_WRITE(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> + REG_RMW(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> (REG_READ(ah, AR_PHY_GAIN_2GHZ + regChainOffset) &
> ~AR_PHY_GAIN_2GHZ_BSW_MARGIN)
> | SM(pModal-> bswMargin[i],
> - AR_PHY_GAIN_2GHZ_BSW_MARGIN));
> - REG_WRITE(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> + AR_PHY_GAIN_2GHZ_BSW_MARGIN), 0);
> + REG_RMW(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> (REG_READ(ah, AR_PHY_GAIN_2GHZ + regChainOffset) &
> ~AR_PHY_GAIN_2GHZ_BSW_ATTEN)
> | SM(pModal->bswAtten[i],
> - AR_PHY_GAIN_2GHZ_BSW_ATTEN));
> + AR_PHY_GAIN_2GHZ_BSW_ATTEN), 0);
> }
> }
>
> @@ -504,17 +505,19 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
> AR_PHY_RXGAIN + regChainOffset,
> AR9280_PHY_RXGAIN_TXRX_MARGIN, pModal->rxTxMarginCh[i]);
> } else {
> - REG_WRITE(ah,
> + REG_RMW(ah,
> AR_PHY_RXGAIN + regChainOffset,
> (REG_READ(ah, AR_PHY_RXGAIN + regChainOffset) &
> ~AR_PHY_RXGAIN_TXRX_ATTEN)
> - | SM(txRxAttenLocal, AR_PHY_RXGAIN_TXRX_ATTEN));
> - REG_WRITE(ah,
> + | SM(txRxAttenLocal, AR_PHY_RXGAIN_TXRX_ATTEN), 0);
> + REG_RMW(ah,
> AR_PHY_GAIN_2GHZ + regChainOffset,
> (REG_READ(ah, AR_PHY_GAIN_2GHZ + regChainOffset) &
> ~AR_PHY_GAIN_2GHZ_RXTX_MARGIN) |
> - SM(pModal->rxTxMarginCh[i], AR_PHY_GAIN_2GHZ_RXTX_MARGIN));
> + SM(pModal->rxTxMarginCh[i],
> + AR_PHY_GAIN_2GHZ_RXTX_MARGIN), 0);
> }
> + REG_RMW_BUFFER_FLUSH(ah);
Same in those chunks as in the other patch, do proper conversion to
REG_RMW by eliminating the REG_READ.
- Felix
WARNING: multiple messages have this Message-ID (diff)
From: Felix Fietkau <nbd@openwrt.org>
To: Oleksij Rempel <linux@rempel-privat.de>,
linux-wireless@vger.kernel.org, ath9k-devel@lists.ath9k.org,
kvalo@codeaurora.org, adrian@freebsd.org
Subject: Re: [PATCH 18/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain
Date: Fri, 20 Mar 2015 14:01:51 +0100 [thread overview]
Message-ID: <550C1A3F.5090101@openwrt.org> (raw)
In-Reply-To: <1426855138-6121-19-git-send-email-linux@rempel-privat.de>
On 2015-03-20 13:38, Oleksij Rempel wrote:
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> drivers/net/wireless/ath/ath9k/eeprom_def.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/eeprom_def.c b/drivers/net/wireless/ath/ath9k/eeprom_def.c
> index 0980590..4b43539 100644
> --- a/drivers/net/wireless/ath/ath9k/eeprom_def.c
> +++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c
> @@ -466,6 +466,7 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
> struct ar5416_eeprom_def *eep,
> u8 txRxAttenLocal, int regChainOffset, int i)
> {
> + ENABLE_REG_RMW_BUFFER(ah);
> if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) {
> txRxAttenLocal = pModal->txRxAttenCh[i];
>
> @@ -483,16 +484,16 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
> AR_PHY_GAIN_2GHZ_XATTEN2_DB,
> pModal->xatten2Db[i]);
> } else {
> - REG_WRITE(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> + REG_RMW(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> (REG_READ(ah, AR_PHY_GAIN_2GHZ + regChainOffset) &
> ~AR_PHY_GAIN_2GHZ_BSW_MARGIN)
> | SM(pModal-> bswMargin[i],
> - AR_PHY_GAIN_2GHZ_BSW_MARGIN));
> - REG_WRITE(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> + AR_PHY_GAIN_2GHZ_BSW_MARGIN), 0);
> + REG_RMW(ah, AR_PHY_GAIN_2GHZ + regChainOffset,
> (REG_READ(ah, AR_PHY_GAIN_2GHZ + regChainOffset) &
> ~AR_PHY_GAIN_2GHZ_BSW_ATTEN)
> | SM(pModal->bswAtten[i],
> - AR_PHY_GAIN_2GHZ_BSW_ATTEN));
> + AR_PHY_GAIN_2GHZ_BSW_ATTEN), 0);
> }
> }
>
> @@ -504,17 +505,19 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
> AR_PHY_RXGAIN + regChainOffset,
> AR9280_PHY_RXGAIN_TXRX_MARGIN, pModal->rxTxMarginCh[i]);
> } else {
> - REG_WRITE(ah,
> + REG_RMW(ah,
> AR_PHY_RXGAIN + regChainOffset,
> (REG_READ(ah, AR_PHY_RXGAIN + regChainOffset) &
> ~AR_PHY_RXGAIN_TXRX_ATTEN)
> - | SM(txRxAttenLocal, AR_PHY_RXGAIN_TXRX_ATTEN));
> - REG_WRITE(ah,
> + | SM(txRxAttenLocal, AR_PHY_RXGAIN_TXRX_ATTEN), 0);
> + REG_RMW(ah,
> AR_PHY_GAIN_2GHZ + regChainOffset,
> (REG_READ(ah, AR_PHY_GAIN_2GHZ + regChainOffset) &
> ~AR_PHY_GAIN_2GHZ_RXTX_MARGIN) |
> - SM(pModal->rxTxMarginCh[i], AR_PHY_GAIN_2GHZ_RXTX_MARGIN));
> + SM(pModal->rxTxMarginCh[i],
> + AR_PHY_GAIN_2GHZ_RXTX_MARGIN), 0);
> }
> + REG_RMW_BUFFER_FLUSH(ah);
Same in those chunks as in the other patch, do proper conversion to
REG_RMW by eliminating the REG_READ.
- Felix
next prev parent reply other threads:[~2015-03-20 13:01 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-20 12:38 [ath9k-devel] [PATCH 00/18] reduce some of ath9k_htc performance problems Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 01/18] ath9k_htc: add new WMI_REG_RMW_CMDID command Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 02/18] ath9k: ar9271_hw_pa_cal - use defs instead of magin numbers Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 03/18] ath9k: ar9271_hw_pa_cal: use proper makroses Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 04/18] ath9k: ar9271_hw_pa_cal: use RMW buffer Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 05/18] ath9k: add multi_read to be compatible with ath9k_htc Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 06/18] ath9k: add new function ath9k_hw_read_array Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 07/18] ath9k: ar9271_hw_pa_cal: use REG_READ_ARRAY Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 08/18] ath9k: use one shot read in ath9k_hw_update_mibstats Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 09/18] ath9k: ath9k_hw_loadnf: use REG_RMW Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 10/18] ath9k: write buffer related optimisation in ar5008_hw_set_channel_regs Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 11/18] ath9k: ath9k_hw_set_4k_power_cal_tabl: use rmw buffer Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 12/18] ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 13/18] ath9k: ath9k_hw_4k_set_board_values: use rmw buffer Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 14/18] ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 15/18] ath9k: ath9k_hw_4k_set_board_values: use rmw buffer Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 16/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 13:00 ` [ath9k-devel] " Felix Fietkau
2015-03-20 13:00 ` Felix Fietkau
2015-03-21 5:25 ` [ath9k-devel] " Oleksij Rempel
2015-03-21 5:25 ` Oleksij Rempel
2015-03-21 8:07 ` [ath9k-devel] [PATCH 16/18 v2] " Oleksij Rempel
2015-03-21 8:07 ` Oleksij Rempel
2015-03-21 8:43 ` [ath9k-devel] " Kalle Valo
2015-03-21 8:43 ` Kalle Valo
2015-03-20 12:38 ` [ath9k-devel] [PATCH 17/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_board_values Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 12:38 ` [ath9k-devel] [PATCH 18/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain Oleksij Rempel
2015-03-20 12:38 ` Oleksij Rempel
2015-03-20 13:01 ` Felix Fietkau [this message]
2015-03-20 13:01 ` Felix Fietkau
2015-03-21 8:04 ` [ath9k-devel] [PATCH 18/18 v2] " Oleksij Rempel
2015-03-21 8:04 ` Oleksij Rempel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=550C1A3F.5090101@openwrt.org \
--to=nbd@openwrt.org \
--cc=ath9k-devel@lists.ath9k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.