1. 20 Jan, 2020 17 commits
  2. 16 Jan, 2020 10 commits
  3. 19 Dec, 2019 11 commits
  4. 18 Dec, 2019 2 commits
    • Linus Walleij's avatar
      mmc: mmci: Support any block sizes for ux500v2 and qcom variant · 2253ed4b
      Linus Walleij authored
      For the ux500v2 variant of the PL18x block, any block sizes
      are supported. This is necessary to support some SDIO
      transfers. This also affects the QCOM MMCI variant and the
      ST micro variant.
      
      For Ux500 an additional quirk only allowing DMA on blocks
      that are a power of two is needed. This might be a bug in
      the DMA engine (DMA40) or the MMCI or in the interconnect,
      but the most likely is the MMCI, as transfers of these
      sizes work fine for other devices using the same DMA
      engine. DMA works fine also with SDIO as long as the
      blocksize is a power of 2.
      
      This patch has proven necessary for enabling SDIO for WLAN on
      PostmarketOS-based Ux500 platforms.
      
      What we managed to test in practice is Broadcom WiFi over
      SDIO on the Ux500 based Samsung GT-I8190 and GT-S7710.
      This WiFi chip, BCM4334 works fine after the patch.
      
      Before this patch:
      
      brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4334-sdio
      	  for chip BCM4334/3
      mmci-pl18x 80118000.sdi1_per2: unsupported block size (60 bytes)
      brcmfmac: brcmf_sdiod_ramrw: membytes transfer failed
      brcmfmac: brcmf_sdio_download_code_file: error -22 on writing
      	  434236 membytes at 0x00000000
      brcmfmac: brcmf_sdio_download_firmware: dongle image file download
      	  failed
      
      After this patch:
      
      brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4334/3 wl0:
      	  Nov 21 2012 00:21:28 version 6.10.58.813 (B2) FWID 01-0
      
      Bringing up networks, discovering networks with "iw dev wlan0 scan"
      and connecting works fine from this point.
      
      This patch is inspired by Ulf Hansson's patch
      http://www.spinics.net/lists/linux-mmc/msg12160.html
      
      As the DMA engines on these platforms may now get block sizes
      they were not used to before, make sure to also respect if
      the DMA engine says "no" to a transfer.
      
      Make a drive-by fix for datactrl_blocksz, misspelled.
      
      Cc: Ludovic Barre <ludovic.barre@st.com>
      Cc: Brian Masney <masneyb@onstation.org>
      Cc: Stephan Gerhold <stephan@gerhold.net>
      Cc: Niklas Cassel <niklas.cassel@linaro.org>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Tested-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Link: https://lore.kernel.org/r/20191217143952.2885-1-linus.walleij@linaro.org
      2253ed4b
    • Yangtao Li's avatar
      mmc: au1xmmc: switch to platform_get_irq · 67d7d920
      Yangtao Li authored
      platform_get_resource(pdev, IORESOURCE_IRQ) is not recommended for
      requesting IRQ's resources, as they can be not ready yet. Using
      platform_get_irq() instead is preferred for getting IRQ even if it
      was not retrieved earlier.
      Signed-off-by: default avatarYangtao Li <tiny.windzz@gmail.com>
      Link: https://lore.kernel.org/r/20191215175120.3290-13-tiny.windzz@gmail.comSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      67d7d920