• Martin Blumenstingl's avatar
    mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands · f89b548c
    Martin Blumenstingl authored
    The vendor driver implements special handling for multi-block
    SD_IO_RW_EXTENDED (and SD_IO_RW_DIRECT) commands which have data
    attached to them. It sets the MANUAL_STOP bit in the MESON_SDHC_MISC
    register for these commands. In all other cases this bit is cleared.
    Here we omit SD_IO_RW_DIRECT since that command never has any data
    attached to it.
    
    This fixes SDIO wifi using the brcmfmac driver which reported the
    following error without this change on a Netxeon S82 board using a
    Meson8 (S802) SoC:
      brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip
                              BCM43362/1
      brcmf_sdiod_ramrw: membytes transfer failed
      brcmf_sdio_download_code_file: error -110 on writing 219557 membytes
                                     at 0x00000000
      brcmf_sdio_download_firmware: dongle image file download failed
    
    And with this change:
      brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip
                              BCM43362/1
      brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may
                                have limited channels available
      brcmf_c_preinit_dcmds: Firmware: BCM43362/1 wl0: Apr 22 2013 14:50:00
                             version 5.90.195.89.6 FWID 01-b30a427d
    
    Fixes: e4bf1b09 ("mmc: host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host")
    Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20211219153442.463863-2-martin.blumenstingl@googlemail.comSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    f89b548c
meson-mx-sdhc-mmc.c 24.5 KB