linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
To: Kalle Valo <kvalo@codeaurora.org>
Cc: linux-wireless@vger.kernel.org, brcm80211-dev-list@broadcom.com,
	brcm80211-dev-list@cypress.com,
	Arend van Spriel <arend.vanspriel@broadcom.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	Wright Feng <wright.feng@cypress.com>,
	Amar Shankar <amsr@cypress.com>,
	Jia-Shyr Chuang <saint.chuang@cypress.com>
Subject: Re: [PATCH 3/6] brcmfmac: reserve 2 credits for host tx control path
Date: Wed, 10 Jun 2020 13:19:04 +0800	[thread overview]
Message-ID: <d9985b4e-992f-cd08-c2d6-b2b3c3834706@cypress.com> (raw)
In-Reply-To: <873674o3t3.fsf@codeaurora.org>



On 06/09/2020 7:51, Kalle Valo wrote:
> Chi-Hsien Lin <chi-hsien.lin@cypress.com> writes:
> 
>> From: Amar Shankar <amsr@cypress.com>
>>
>> It is observed that sometimes when sdiod is low in tx credits in low
>> rssi scenarios, the data path consumes all sdiod rx all credits and
>> there is no sdiod rx credit available for control path causing host
>> and card to go out of sync resulting in link loss between host and
>> card. So in order to prevent it some credits are reserved for control
>> path.
>>
>> Note that TXCTL_CREDITS can't be larger than the firmware default
>> credit update threshold 2; otherwise there will be a deadlock for both
>> side waiting for each other.
>>
>> Signed-off-by: Amar Shankar <amsr@cypress.com>
>> Signed-off-by: Jia-Shyr Chuang <saint.chuang@cypress.com>
>> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
>> ---
>>   .../wireless/broadcom/brcm80211/brcmfmac/sdio.c   | 15 ++++++++++++++-
>>   1 file changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> index ce6f15284277..163bb7f41e44 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> @@ -635,6 +635,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
>>   	BRCMF_FW_ENTRY(CY_CC_43012_CHIP_ID, 0xFFFFFFFF, 43012)
>>   };
>>   
>> +#define TXCTL_CREDITS	2
>> +
>>   static void pkt_align(struct sk_buff *p, int len, int align)
>>   {
>>   	uint datalign;
>> @@ -647,6 +649,14 @@ static void pkt_align(struct sk_buff *p, int len, int align)
>>   
>>   /* To check if there's window offered */
>>   static bool data_ok(struct brcmf_sdio *bus)
>> +{
>> +	/* Reserve TXCTL_CREDITS credits for txctl */
>> +	return (u8)(bus->tx_max - bus->tx_seq) > TXCTL_CREDITS &&
>> +	       ((u8)(bus->tx_max - bus->tx_seq) & 0x80) == 0;
>> +}
> 
> Why casting to u8? Is it really necessary?

I don't think the casting is necessary since tx_max and tx_seq are both u8.

The code is taken from a similar function data_ok(). I'll remove the 
casting from both functions in V2.



> 

  reply	other threads:[~2020-06-10  5:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-09 10:59 [PATCH 0/6] brcmfmac: flow control and p2p fix series Chi-Hsien Lin
2020-06-09 10:59 ` [PATCH 1/6] brcmfmac: allow credit borrowing for all access categories Chi-Hsien Lin
2020-06-09 10:59 ` [PATCH 2/6] brcmfmac: increase message buffer size for control packets Chi-Hsien Lin
2020-06-09 10:59 ` [PATCH 3/6] brcmfmac: reserve 2 credits for host tx control path Chi-Hsien Lin
2020-06-09 11:51   ` Kalle Valo
2020-06-10  5:19     ` Chi-Hsien Lin [this message]
2020-06-09 10:59 ` [PATCH 4/6] brcmfmac: update tx status flags to sync with firmware Chi-Hsien Lin
2020-06-09 10:59 ` [PATCH 5/6] brcmfmac: fix throughput zero stalls on PM 1 mode due to credit map Chi-Hsien Lin
2020-06-09 10:59 ` [PATCH 6/6] brcmfmac: initialize the requested dwell time Chi-Hsien Lin

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=d9985b4e-992f-cd08-c2d6-b2b3c3834706@cypress.com \
    --to=chi-hsien.lin@cypress.com \
    --cc=amsr@cypress.com \
    --cc=arend.vanspriel@broadcom.com \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=brcm80211-dev-list@cypress.com \
    --cc=franky.lin@broadcom.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=saint.chuang@cypress.com \
    --cc=wright.feng@cypress.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).