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.