Re: [PATCH 0/5] mmc: sdio: Enable SW reset of SDIO cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23 April 2018 at 11:50, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
> On 14 April 2018 at 13:25, Quentin Schulz <quentin.schulz@xxxxxxxxxxx> wrote:
>> Hi Ulf and Hans,
>>
>> On Fri, Apr 06, 2018 at 10:41:10AM +0200, Hans de Goede wrote:
>>> Hi Ulf,
>>>
>>> On 05-04-18 22:19, Ulf Hansson wrote:
>>> > It's rather common that SDIO func devices becomes loaded with a new firmware as
>>> > a part of the SDIO func driver being probed. However, in some special scenarios
>>> > the SDIO func device needs a SW reset, as to start running the new firmware.
>>> >
>>> > More importantly, a full power cycle doesn't work, as that would reset also the
>>> > firmware, thus the existing mmc_hw_reset() API can't be used to deal with these
>>> > scenarios.
>>> >
>>> > Therefore this series suggest to add a new API, mmc_sw_reset(), which resets
>>> > and re-initialize the SDIO card. A couple of the patches in the series are
>>> > mostly re-factorings making generic improvements to the related code.
>>> >
>>> > For more background to this series, feel free to digest the discussions from
>>> > the submitted patch: https://patchwork.kernel.org/patch/9857175/
>>> >
>>> > It should be noted, at this point this series has only be compile tested. Help
>>> > with tests and deployment of using the new API is greatly appreciated.
>>>
>>> Thank you for this series, I've taken a quick look and it looks good,
>>> but the proof is in the pudding. Quentin can you test this on an ARM
>>> board with an ESP8089 sometime the coming week?
>>>
>>
>> I applied your patches on top of next-20180406.
>>
>> I may need some help to get the ESP8089 driver to work. Note that I'm
>> very new to MMC and SDIO, just so you know (and so you can adapt your
>> answer).
>>
>> It's filling my kernel log buffer with a lot of these[1]. I've basically
>> replaced Hans's mmc_force_detect_change() by your mmc_sw_reset() in
>> esp_sdio_probe() of the ESP8089 driver and that's it. Here is my old
>> patch series for ESP8089[2].
>>
>> I can't say if it's an error in your patch series or me using it the
>> wrong way.
>>
>> Could you help me debug this so that we can make the "weird" SDIO
>> devices such as the ESP8089 work in the kernel :)?
>>
>> I'll try to mount my rootfs from something else than an initramfs so
>> that it may solve my problem of dmesg not showing the whole log.
>>
>> [1] http://code.bulix.org/eechlb-318686
>
> Unless I am misstaken, it looks like the messages comes from a
> WARN_ON(!host->claimed); in mmc_wait_for_cmd().
>
> Did you call sdio_claim_host() before calling mmc_sw_reset()? And then
> of course you need to release the host when you are ready executing
> the required operations, sdio_release_host().
>
>> [2] https://lkml.org/lkml/2017/7/21/386
>>
>> Let me know how I can be helpful,
>> Thanks,
>> Quentin

Quentin, ping!

Just tell me if there is anything else I can help out with!

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux