[PATCH v4 2/2] ufs: core: requeue aborted request
Bart Van Assche
bvanassche at acm.org
Fri Sep 13 10:41:27 PDT 2024
On 9/13/24 12:10 AM, Peter Wang (王信友) wrote:
> Because the MediaTek UFS controller uses UTRLCLR to clear
> commands and fills OCS with ABORTED.
>
> Regarding the specification of UTRCS:
> This bit is set to '1' by the host controller upon one of the
> following:
> Overall command Status (OCS) of the completed command is not
> equal to 'SUCCESS' even if its UTRD Interrupt bit set to '0'
>
> So, MediaTek host controller will send interrupt in this case.
Hi Peter,
Thank you for having shared this information. Please consider
introducing a quirk for ignoring completions triggered by clearing
a command, e.g. as follows (there may be better approaches):
* In ufshcd_clear_cmd(), before a command is cleared, initialize
the completion that will be used for waiting for the completion
interrupt. After a command has been cleared, call
wait_for_completion_timeout().
* In ufshcd_compl_one_cqe(), check whether the completion is the
result of a command being cleared. If so, call complete() instead
of executing the regular completion code.
Thanks,
Bart.
More information about the Linux-mediatek
mailing list