RE: [PATCH v2] i2c: cadence: Fix regression with bus recovery

From: Datta, Shubhrajyoti
Date: Mon Nov 28 2022 - 05:54:48 EST


[AMD Official Use Only - General]



> -----Original Message-----
> From: carsten.haitzler@xxxxxxxxxxxx <carsten.haitzler@xxxxxxxxxxxx>
> Sent: Monday, November 28, 2022 4:22 PM
> To: michal.simek@xxxxxxxxxx; shubhrajyoti.datta@xxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH v2] i2c: cadence: Fix regression with bus recovery
>
> CAUTION: This message has originated from an External Source. Please use
> proper judgment and caution when opening attachments, clicking links, or
> responding to this email.
>
>
> From: Carsten Haitzler <carsten.haitzler@xxxxxxx>
>
> Commit "i2c: cadence: Add standard bus recovery support" breaks for i2c
> devices that have no pinctrl defined. There is no requirement for this to exist
> in the DT. This has worked perfectly well without this before in at least 1 real
> usage case on hardware (Mali Komeda DPU, Cadence i2c to talk to a tda99xx
> phy). Adding the requirement to have pinctrl set up in the device tree (or
> otherwise be found) is a regression where the whole i2c device is lost
> entirely (in this case dropping entire devices which then leads to the drm
> display stack unable to find the phy for display output, thus having no drm
> display device and so on down the chain).
>
> This converts the above commit to an enhancement if pinctrl can be found
> for the i2c device, providing a timeout on read with recovery, but if not, do
> what used to be done rather than a fatal loss of a device.
>
> This restores the mentioned display devices to their working state again.
>
> Fixes: 58b924241d0a ("i2c: cadence: Add standard bus recovery support")
> Signed-off-by: Carsten Haitzler <carsten.haitzler@xxxxxxx>

Reviewed-by: Shubhrajyoti Datta <shubhrajyoti.datta@xxxxxxx>

<<attachment: winmail.dat>>