From 9d02c74a2a49192f0a8b8ca4885ccc100434b641 Mon Sep 17 00:00:00 2001 From: Owen Huang Date: Wed, 4 Jan 2023 02:15:51 -0600 Subject: [PATCH 216/296] non-upstream: btsdio: support export api to set block size 1. support export api to set block size In sdmmc export api sdio_set_block_size, it will update the block size to variable cur_blksize and write to corresponding FBR by cmd52. 2. Set MMC_QUIRK_BLKSZ_FOR_BYTE_MODE for this card In sdmmc driver, decide the block size by max_blksize for cmd53 tx/Rx in sdio_max_byte_size, but calculate the real block number to Tx/Rx by cur_blksize. If set MMC_QUIRK_BLKSZ_FOR_BYTE_MODE in quirks, sdmmc will change to reference cur_blksize in sdio_max_byte_size. Signed-off-by: Owen Huang --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index 0f0c2b6b085e..eac9f2a666f0 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c @@ -1126,6 +1126,11 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, /* Set MMC_QUIRK_LENIENT_FN0 for this card */ func->card->quirks |= MMC_QUIRK_LENIENT_FN0; + /* Set MMC_QUIRK_BLKSZ_FOR_BYTE_MODE for this card + * Use func->cur_blksize by default + */ + func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; + /* Consume func num 1 but dont do anything with it. */ if (func->num == SDIO_FUNC_1) return 0; -- 2.25.1