Re: [PATCH] phy: ti-pipe3: Do not overwrite the whole PROGRAMMABILITY register

From: Kishon Vijay Abraham I
Date: Tue Feb 26 2019 - 04:27:35 EST


Rolf,

On 26/02/19 2:54 PM, Rolf Evers-Fischer wrote:
> From: Rolf Evers-Fischer <rolf.evers.fischer@xxxxxxxxx>
>
> Previously, ti_pipe3_calibrate() wrote all bits in the
> PCIEPHYRX_ANA_PROGRAMMABILITY register, thus overwriting bits,
> which should not be modified.
> Fix ti_pipe3_calibrate() so that it only modifies LOSD and
> INTERFACE bits.

A patch to fix this was sent a week earlier by Colin
https://lkml.org/lkml/2019/2/19/459

Thanks
Kishon
>
> Signed-off-by: Rolf Evers-Fischer <rolf.evers.fischer@xxxxxxxxx>
> ---
> drivers/phy/ti/phy-ti-pipe3.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/phy/ti/phy-ti-pipe3.c b/drivers/phy/ti/phy-ti-pipe3.c
> index 68ce4a082b9b..693acc167351 100644
> --- a/drivers/phy/ti/phy-ti-pipe3.c
> +++ b/drivers/phy/ti/phy-ti-pipe3.c
> @@ -303,7 +303,7 @@ static void ti_pipe3_calibrate(struct ti_pipe3 *phy)
>
> val = ti_pipe3_readl(phy->phy_rx, PCIEPHYRX_ANA_PROGRAMMABILITY);
> val &= ~(INTERFACE_MASK | LOSD_MASK | MEM_PLLDIV);
> - val = (0x1 << INTERFACE_SHIFT | 0xA << LOSD_SHIFT);
> + val |= (0x1 << INTERFACE_SHIFT | 0xA << LOSD_SHIFT);
> ti_pipe3_writel(phy->phy_rx, PCIEPHYRX_ANA_PROGRAMMABILITY, val);
>
> val = ti_pipe3_readl(phy->phy_rx, PCIEPHYRX_DIGITAL_MODES);
>