From: Kalle Valo <kvalo@codeaurora.org> To: Wen Gong <wgong@codeaurora.org> Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org Subject: Re: [PATCH v6 2/3] ath10k: change max RX bundle size from 8 to 32 for sdio Date: Thu, 24 Oct 2019 13:05:53 +0300 [thread overview] Message-ID: <87h83ysbjy.fsf@kamboji.qca.qualcomm.com> (raw) In-Reply-To: <1569402639-31720-3-git-send-email-wgong@codeaurora.org> (Wen Gong's message of "Wed, 25 Sep 2019 17:10:38 +0800") Wen Gong <wgong@codeaurora.org> writes: > The max bundle size support by firmware is 32, change it from 8 to 32 > will help performance. This results in significant performance > improvement on RX path. > > Tested with QCA6174 SDIO with firmware > WLAN.RMH.4.4.1-00017-QCARMSWPZ-1 > > Signed-off-by: Wen Gong <wgong@codeaurora.org> [...] > --- a/drivers/net/wireless/ath/ath10k/htc.h > +++ b/drivers/net/wireless/ath/ath10k/htc.h > @@ -39,7 +39,7 @@ > * 4-byte aligned. > */ > > -#define HTC_HOST_MAX_MSG_PER_RX_BUNDLE 8 > +#define HTC_HOST_MAX_MSG_PER_RX_BUNDLE 32 > > enum ath10k_htc_tx_flags { > ATH10K_HTC_FLAG_NEED_CREDIT_UPDATE = 0x01, > @@ -48,10 +48,16 @@ enum ath10k_htc_tx_flags { > > enum ath10k_htc_rx_flags { > ATH10K_HTC_FLAGS_RECV_1MORE_BLOCK = 0x01, > - ATH10K_HTC_FLAG_TRAILER_PRESENT = 0x02, > - ATH10K_HTC_FLAG_BUNDLE_MASK = 0xF0 > + ATH10K_HTC_FLAG_TRAILER_PRESENT = 0x02 > }; I left the comma in ATH10K_HTC_FLAG_TRAILER_PRESENT to make the diff cleaner. > +#define ATH10K_HTC_FLAG_BUNDLE_MASK 0xF0 > +#define ATH10K_HTC_BUNDLE_EXTRA_MASK GENMASK(3, 2) > + > +#define ATH10K_HTC_GET_BUNDLE_COUNT(flags) \ > + (FIELD_GET(ATH10K_HTC_FLAG_BUNDLE_MASK, (flags)) + \ > + (FIELD_GET(ATH10K_HTC_BUNDLE_EXTRA_MASK, (flags)) << 4)) I think I asked you about the shift of 4 bits earlier but now I figured it out (I hope) and documented it like this: #define ATH10K_HTC_FLAG_BUNDLE_MASK GENMASK(7,4) /* bits 2-3 are for extra bundle count bits 4-5 */ #define ATH10K_HTC_BUNDLE_EXTRA_MASK GENMASK(3, 2) #define ATH10K_HTC_BUNDLE_EXTRA_SHIFT 4 static inline unsigned int ath10k_htc_get_bundle_count(u8 flags) { unsigned int count, extra_count; count = FIELD_GET(ATH10K_HTC_FLAG_BUNDLE_MASK, flags); extra_count = FIELD_GET(ATH10K_HTC_BUNDLE_EXTRA_MASK, flags) << ATH10K_HTC_BUNDLE_EXTRA_SHIFT; return count + extra_count; } As you can see I also changed the macro to a function, as I prefer C over CPP :) And changed ATH10K_HTC_FLAG_BUNDLE_MASK to use GENMASK(). But this only compiled tested, please do properly test the patches from pending branch and let me know if I broke something: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=afd85ca1b086695cfd26bf484442eaf3bccb6bdd https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=4225b4d50a4f6a1159dc3316d068398f1b5edb57 https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=911e0fc846cfc46fb4ccd1d223cb153681ff05bd -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
WARNING: multiple messages have this Message-ID (diff)
From: Kalle Valo <kvalo@codeaurora.org> To: Wen Gong <wgong@codeaurora.org> Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Subject: Re: [PATCH v6 2/3] ath10k: change max RX bundle size from 8 to 32 for sdio Date: Thu, 24 Oct 2019 13:05:53 +0300 [thread overview] Message-ID: <87h83ysbjy.fsf@kamboji.qca.qualcomm.com> (raw) In-Reply-To: <1569402639-31720-3-git-send-email-wgong@codeaurora.org> (Wen Gong's message of "Wed, 25 Sep 2019 17:10:38 +0800") Wen Gong <wgong@codeaurora.org> writes: > The max bundle size support by firmware is 32, change it from 8 to 32 > will help performance. This results in significant performance > improvement on RX path. > > Tested with QCA6174 SDIO with firmware > WLAN.RMH.4.4.1-00017-QCARMSWPZ-1 > > Signed-off-by: Wen Gong <wgong@codeaurora.org> [...] > --- a/drivers/net/wireless/ath/ath10k/htc.h > +++ b/drivers/net/wireless/ath/ath10k/htc.h > @@ -39,7 +39,7 @@ > * 4-byte aligned. > */ > > -#define HTC_HOST_MAX_MSG_PER_RX_BUNDLE 8 > +#define HTC_HOST_MAX_MSG_PER_RX_BUNDLE 32 > > enum ath10k_htc_tx_flags { > ATH10K_HTC_FLAG_NEED_CREDIT_UPDATE = 0x01, > @@ -48,10 +48,16 @@ enum ath10k_htc_tx_flags { > > enum ath10k_htc_rx_flags { > ATH10K_HTC_FLAGS_RECV_1MORE_BLOCK = 0x01, > - ATH10K_HTC_FLAG_TRAILER_PRESENT = 0x02, > - ATH10K_HTC_FLAG_BUNDLE_MASK = 0xF0 > + ATH10K_HTC_FLAG_TRAILER_PRESENT = 0x02 > }; I left the comma in ATH10K_HTC_FLAG_TRAILER_PRESENT to make the diff cleaner. > +#define ATH10K_HTC_FLAG_BUNDLE_MASK 0xF0 > +#define ATH10K_HTC_BUNDLE_EXTRA_MASK GENMASK(3, 2) > + > +#define ATH10K_HTC_GET_BUNDLE_COUNT(flags) \ > + (FIELD_GET(ATH10K_HTC_FLAG_BUNDLE_MASK, (flags)) + \ > + (FIELD_GET(ATH10K_HTC_BUNDLE_EXTRA_MASK, (flags)) << 4)) I think I asked you about the shift of 4 bits earlier but now I figured it out (I hope) and documented it like this: #define ATH10K_HTC_FLAG_BUNDLE_MASK GENMASK(7,4) /* bits 2-3 are for extra bundle count bits 4-5 */ #define ATH10K_HTC_BUNDLE_EXTRA_MASK GENMASK(3, 2) #define ATH10K_HTC_BUNDLE_EXTRA_SHIFT 4 static inline unsigned int ath10k_htc_get_bundle_count(u8 flags) { unsigned int count, extra_count; count = FIELD_GET(ATH10K_HTC_FLAG_BUNDLE_MASK, flags); extra_count = FIELD_GET(ATH10K_HTC_BUNDLE_EXTRA_MASK, flags) << ATH10K_HTC_BUNDLE_EXTRA_SHIFT; return count + extra_count; } As you can see I also changed the macro to a function, as I prefer C over CPP :) And changed ATH10K_HTC_FLAG_BUNDLE_MASK to use GENMASK(). But this only compiled tested, please do properly test the patches from pending branch and let me know if I broke something: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=afd85ca1b086695cfd26bf484442eaf3bccb6bdd https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=4225b4d50a4f6a1159dc3316d068398f1b5edb57 https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=911e0fc846cfc46fb4ccd1d223cb153681ff05bd -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches _______________________________________________ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
next prev parent reply other threads:[~2019-10-24 10:06 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-25 9:10 [PATCH v6 0/3] ath10k: improve throughout of RX of sdio Wen Gong 2019-09-25 9:10 ` Wen Gong 2019-09-25 9:10 ` [PATCH v6 1/3] ath10k: enable RX bundle receive for sdio Wen Gong 2019-09-25 9:10 ` Wen Gong 2019-10-24 8:29 ` Kalle Valo 2019-10-24 8:29 ` Kalle Valo 2019-11-25 11:49 ` Kalle Valo 2019-11-25 11:49 ` Kalle Valo 2019-09-25 9:10 ` [PATCH v6 2/3] ath10k: change max RX bundle size from 8 to 32 " Wen Gong 2019-09-25 9:10 ` Wen Gong 2019-10-24 9:25 ` Kalle Valo 2019-10-24 9:25 ` Kalle Valo 2019-10-24 9:40 ` Wen Gong 2019-10-24 9:40 ` Wen Gong 2019-10-24 10:14 ` Kalle Valo 2019-10-24 10:14 ` Kalle Valo 2019-10-24 9:30 ` Kalle Valo 2019-10-24 9:30 ` Kalle Valo 2019-10-24 9:47 ` Wen Gong 2019-10-24 9:47 ` Wen Gong 2019-10-24 10:05 ` Kalle Valo [this message] 2019-10-24 10:05 ` Kalle Valo 2019-10-24 10:48 ` Wen Gong 2019-10-24 10:48 ` Wen Gong 2019-10-31 9:09 ` Kalle Valo 2019-10-31 9:09 ` Kalle Valo 2019-11-01 7:41 ` Wen Gong 2019-11-01 7:41 ` Wen Gong 2019-09-25 9:10 ` [PATCH v6 3/3] ath10k: add workqueue for RX path of sdio Wen Gong 2019-09-25 9:10 ` Wen Gong 2019-10-24 8:14 ` Kalle Valo 2019-10-24 8:14 ` Kalle Valo 2019-10-31 9:08 ` Kalle Valo 2019-10-31 9:08 ` Kalle Valo 2019-11-01 7:42 ` Wen Gong 2019-11-01 7:42 ` Wen Gong 2019-11-11 10:47 ` Wen Gong 2019-11-11 10:47 ` Wen Gong 2019-11-11 12:23 ` Kalle Valo 2019-11-11 12:23 ` Kalle Valo 2019-11-13 3:37 ` Wen Gong 2019-11-13 3:37 ` Wen Gong 2019-11-22 10:02 ` Kalle Valo 2019-11-22 10:02 ` Kalle Valo
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=87h83ysbjy.fsf@kamboji.qca.qualcomm.com \ --to=kvalo@codeaurora.org \ --cc=ath10k@lists.infradead.org \ --cc=linux-wireless@vger.kernel.org \ --cc=wgong@codeaurora.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: linkBe 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.