On Wed, 23 Sep 2026 11:03:01 +0900, Jeuk Kim <[email protected]> wrote:
> - Store queue configuration for interrupt aggregation (CQnIACR) and completion
>   timeout intervals (SQnCTI).

SQnCTI is Submission Queue Cleanup Task Information, not a completion
timeout interval.

Fixed in v3.

> +    case offsetof(UfsMcqOpReg, sq.rtc):
> +        opr->sq.rtc = data;
> +        if (FIELD_EX32(data, SQRTC, ICU)) {
> +            /* SQ_ICU: Initiate Cleanup (SQ_CUS = 1, RTC = 0) */
> +            opr->sq.rts = FIELD_DP32(opr->sq.rts, SQRTS, CUS, 1);
> +            opr->sq.rts = FIELD_DP32(opr->sq.rts, SQRTS, RTC, 0);

SQRTC.ICU reports successful cleanup without using SQCTI or changing any
request state. Is the actual cleanup expected to be handled by the TMR path?

Implemented actual cleanup in v3: `SQRTC.ICU` now matches the target
request via `SQCTI`, cancels any pending `SCSIRequest`, posts a CQE
with `OCS = UFS_OCS_ABORTED`, and recycles the request slot.

Reply via email to