Re: [PATCH V4 2/4] mmc: cqhci: DMA Configuration prior to CQE

From: Adrian Hunter
Date: Fri Dec 21 2018 - 02:43:14 EST


On 20/12/18 11:01 PM, Sowjanya Komatineni wrote:
> Hi Adrian,
>
> Thank you for the feedback.
>
>> This doesn't seem to relate to the host controller implementation.
>> "The device" means the eMMC.
>
> Yes, setting block size of 512B before enabling command queue is a device specific
> requirement not host specific. So thought to update in cqhci driver to follow this
> device specific sequence requirement. This also serves tegra sdhci host strictly
> following this device specific requirement.

Not sure what you mean. The eMMC block size is set by CMD16. In fact CMD16
is not used because 512B is the default so it never needs to be changed.

>
>> We don't want to disable and re-enable in the request function,
>> so that change is not good for controllers that don't have your problem.
>> Another thing to consider is that the block size register may not need to be changed
>> - for example when cqhci is halted to allow a manual discard, the block size register is
>> not updated, so I would expect its value to be unchanged.
>
> Once block size is set prior to enabling CQE, it stays same till command queue is
> disabled and I donât think it needs reconfiguration.
>
>> There are ways you can solve this in your driver.
>> You could look at using SDHCI I/O accessors, and/or implement your own ->enable()
>> instead of calling sdhci_cqe_enable() directly. Would that be feasible?
>
> Sure, will provide updated patch that takes care of this inside tegra sdhci host once you
> confirm that we donât plan to fix this device specific sequence requirement in cqhci driver.
>
> -Sowjanya
>
>