Dump missing PLL structure members ssc_enabled, ttbt_mode,
addr_msb and addr_lsb to enhance debugging. Readout addr_msb
and addr_lsb from HW for HW/SW state comparison.

Signed-off-by: Mika Kahola <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_lt_phy.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_lt_phy.c 
b/drivers/gpu/drm/i915/display/intel_lt_phy.c
index 27ad8407606b..9647afcea897 100644
--- a/drivers/gpu/drm/i915/display/intel_lt_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_lt_phy.c
@@ -2142,7 +2142,13 @@ void intel_lt_phy_dump_hw_state(struct intel_display 
*display,
 {
        int i, j;
 
-       drm_dbg_kms(display->drm, "lt_phy_pll_hw_state:\n");
+       drm_dbg_kms(display->drm, "lt_phy_pll_hw_state: ssc enabled: %d, tbt 
mode: %d\n",
+                   hw_state->ssc_enabled, hw_state->tbt_mode);
+
+       for (i = 0; i <= 12; i++)
+               drm_dbg_kms(display->drm, "addr [%d] msb = 0x%.4x, lsb = 
0x%.4x\n",
+                           i, hw_state->addr_msb[i], hw_state->addr_lsb[i]);
+
        for (i = 0; i < 3; i++) {
                drm_dbg_kms(display->drm, "config[%d] = 0x%.4x,\n",
                            i, hw_state->config[i]);
@@ -2197,6 +2203,9 @@ void intel_lt_phy_pll_readout_hw_state(struct 
intel_encoder *encoder,
        pll_state->config[2] = intel_lt_phy_read(encoder, lane, 
LT_PHY_VDR_2_CONFIG);
 
        for (i = 0; i <= 12; i++) {
+               pll_state->addr_msb[i] = intel_lt_phy_read(encoder, 
INTEL_LT_PHY_LANE0, LT_PHY_VDR_X_ADDR_MSB(i));
+               pll_state->addr_lsb[i] = intel_lt_phy_read(encoder, 
INTEL_LT_PHY_LANE0, LT_PHY_VDR_X_ADDR_LSB(i));
+
                for (j = 3, k = 0; j >= 0; j--, k++)
                        pll_state->data[i][k] =
                                intel_lt_phy_read(encoder, INTEL_LT_PHY_LANE0,
-- 
2.43.0

Reply via email to