Re: [PATCH 07/10] usb: chipidea: msm: do not force the TX FIFO idle on HSIC instances
From: Konrad Dybcio
Date: Tue Aug 18 2026 - 06:09:06 EST
On 8/10/26 5:42 PM, Dmitry Baryshkov wrote:
> The controller reset handler unconditionally clears
> GENCONFIG[TXFIFO_IDLE_FORCE_DIS] as a workaround for an RX buffer
> collision issue. The vendor HSIC host driver never applies this
> workaround on the HSIC instances and leaves the bit at its power-on
> default (set), so clearing it makes the HSIC instance diverge from the
> known-working configuration.
>
> Skip the workaround for HSIC instances, like the neighbouring
> GENCONFIG_2 write already does.
>
> Fixes: 47654a162081 ("usb: chipidea: msm: Restore wrapper settings after reset")
> Assisted-by: Claude:claude-fable-5
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---
> drivers/usb/chipidea/ci_hdrc_msm.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
> index 9a9410a814e5..69be194f8e27 100644
> --- a/drivers/usb/chipidea/ci_hdrc_msm.c
> +++ b/drivers/usb/chipidea/ci_hdrc_msm.c
> @@ -108,8 +108,9 @@ static int ci_hdrc_msm_notify_event(struct ci_hdrc *ci, unsigned event)
> hw_write_id_reg(ci, HS_PHY_AHB_MODE, 0xffffffff, 0x8);
>
> /* workaround for rx buffer collision issue */
> - hw_write_id_reg(ci, HS_PHY_GENCONFIG,
> - HS_PHY_TXFIFO_IDLE_FORCE_DIS, 0);
> + if (!msm_ci->hsic)
> + hw_write_id_reg(ci, HS_PHY_GENCONFIG,
> + HS_PHY_TXFIFO_IDLE_FORCE_DIS, 0);
This patch seems not to match downstream, msm-3.10 sets it in both
hsic and non-hsic drivers
Konrad