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

From: Rolf Evers-Fischer
Date: Tue Feb 26 2019 - 04:24:55 EST


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.

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);
--
2.21.0