RE: [PATCH v3 2/2] wifi: rtw88: sdio: Split rtw_sdio_rx_isr into 8051 and 3081 variants
From: Ping-Ke Shih
Date: Sun Oct 04 2026 - 23:41:43 EST
Alastair D'Silva <alastair@xxxxxxxxxxx> wrote:
> Following the split of rtw_sdio_handle_interrupt(), the receive FIFO drain
> loop in rtw_sdio_rx_isr() still contained a growing number of special
> cases between 8051 and 3081 chips, evaluated twice per packet in the RX
> hot path:
>
> 1. Register width: 8051 uses a 16-bit read of REG_SDIO_RX0_REQ_LEN,
> while 3081 uses a 32-bit read.
> 2. Loop termination: 8051 must re-read REG_SDIO_HISR on each iteration
> because the RX buffer may contain data while HW or FW is still filling
> it. Conversely, 3081 has improved HW/FW that can use rx_len
> unconditionally, previously requiring a synthetic assignment of
> hisr = REG_SDIO_HISR_RX_REQUEST to trick the loop condition into
> continuing.
>
> To avoid accumulating further special cases and eliminate per-packet
> branching in the RX hot path, split rtw_sdio_rx_isr() into separate
> rtw_sdio_rx_isr_8051() and rtw_sdio_rx_isr_3081() functions.
>
> This removes the artificial hisr assignment on 3081 and keeps the RX
> processing logic cleanly separated by architecture.
It looks like you didn't change logic at all, just split into two
variants. If so, please mention this in commit message.
And, please reduce your commit message. For me, just mention that you
split rtw_sdio_rx_isr() into two variants to be clear, and the two
points are register size and hsir behavior. (as well as first patch;
LLM always give too much stuffs)
>
> Assisted-by: LLM
> Signed-off-by: Alastair D'Silva <alastair@xxxxxxxxxxx>