Baochen Qiang <quic_bqiang@xxxxxxxxxxx> writes: > ath11k_pcic_write32/read32 tries to do wake up before doing actual > write/read work, which means each time a u32 is written/read, wake > up is performed. This is not necessary in case where we do a > large amount of write/read, because only one time of wake up is needed. > So split each one into two parts, the first part does wake up and > release, and the second one does actual write/read work. > > Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1 > Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1 > > Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx> > --- > v2: > 1: rebased on latest ath.git > > drivers/net/wireless/ath/ath11k/pcic.c | 50 ++++++++++++++++---------- > 1 file changed, 32 insertions(+), 18 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath11k/pcic.c b/drivers/net/wireless/ath/ath11k/pcic.c > index 1adf20ebef27..15ca069e501f 100644 > --- a/drivers/net/wireless/ath/ath11k/pcic.c > +++ b/drivers/net/wireless/ath/ath11k/pcic.c > @@ -140,49 +140,63 @@ int ath11k_pcic_init_msi_config(struct ath11k_base *ab) > } > EXPORT_SYMBOL(ath11k_pcic_init_msi_config); > > +static void ath11k_pcic_do_write32(struct ath11k_base *ab, u32 offset, u32 value) In the pending branch I renamed this __ath11k_pcic_write32(). I find that more readable than using the word "do" in the middle. > +static u32 ath11k_pcic_do_read32(struct ath11k_base *ab, u32 offset) And this to __ath11k_pcic_do_read32(). -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches