The previous patches converted all users of the DSC DPCD caps to look
these up from the connector, so remove the version stored in intel_dp.

A follow-up patchset will read out the MST connector specific
capabilities in intel_dp_add_mst_connector() ->
intel_dp_mst_read_decompression_port_dsc_caps().

v2:
- Rebased on intel_edp_get_dsc_sink_cap() addition in the patchset.
v3:
- Rebased on read-out fix for eDP in the patchset.

Reviewed-by: Stanislav Lisovskiy <stanislav.lisovs...@intel.com> (v1)
Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
Signed-off-by: Imre Deak <imre.d...@intel.com>
---
 .../drm/i915/display/intel_display_types.h    |  2 --
 drivers/gpu/drm/i915/display/intel_dp.c       | 30 ++++---------------
 drivers/gpu/drm/i915/display/intel_dp.h       |  3 +-
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |  2 +-
 4 files changed, 7 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h 
b/drivers/gpu/drm/i915/display/intel_display_types.h
index d6600079bcf74..65ea37fe8cff3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1725,10 +1725,8 @@ struct intel_dp {
        u8 psr_dpcd[EDP_PSR_RECEIVER_CAP_SIZE];
        u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS];
        u8 edp_dpcd[EDP_DISPLAY_CTL_CAP_SIZE];
-       u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE];
        u8 lttpr_common_caps[DP_LTTPR_COMMON_CAP_SIZE];
        u8 lttpr_phy_caps[DP_MAX_LTTPR_COUNT][DP_LTTPR_PHY_CAP_SIZE];
-       u8 fec_capable;
        u8 pcon_dsc_dpcd[DP_PCON_DSC_ENCODER_CAP_SIZE];
        /* source rates */
        int num_source_rates;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 77bb1b48f36f0..9a4284b8bebd9 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -3490,10 +3490,9 @@ static void intel_dp_read_dsc_dpcd(struct drm_dp_aux 
*aux,
                    dsc_dpcd);
 }
 
-void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_dp *intel_dp,
-                              struct intel_connector *connector)
+void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector)
 {
-       struct drm_i915_private *i915 = dp_to_i915(intel_dp);
+       struct drm_i915_private *i915 = to_i915(connector->base.dev);
 
        /*
         * Clear the cached register set to avoid using stale values
@@ -3518,27 +3517,14 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct 
intel_dp *intel_dp,
 
        drm_dbg_kms(&i915->drm, "FEC CAPABILITY: %x\n",
                    connector->dp.fec_capability);
-
-       /*
-        * TODO: remove the following intel_dp copies once all users
-        * are converted to look up DSC DPCD/FEC capability via the
-        * connector.
-        */
-       memcpy(intel_dp->dsc_dpcd, connector->dp.dsc_dpcd,
-              sizeof(intel_dp->dsc_dpcd));
-       intel_dp->fec_capable = connector->dp.fec_capability;
 }
 
-static void intel_edp_get_dsc_sink_cap(u8 edp_dpcd_rev, struct intel_dp 
*intel_dp,
-                                      struct intel_connector *connector)
+static void intel_edp_get_dsc_sink_cap(u8 edp_dpcd_rev, struct intel_connector 
*connector)
 {
        if (edp_dpcd_rev < DP_EDP_14)
                return;
 
        intel_dp_read_dsc_dpcd(connector->dp.dsc_decompression_aux, 
connector->dp.dsc_dpcd);
-
-       memcpy(intel_dp->dsc_dpcd, connector->dp.dsc_dpcd,
-              sizeof(intel_dp->dsc_dpcd));
 }
 
 static void intel_edp_mso_mode_fixup(struct intel_connector *connector,
@@ -3710,7 +3696,6 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp, struct 
intel_connector *connector
        /* Read the eDP DSC DPCD registers */
        if (HAS_DSC(dev_priv))
                intel_edp_get_dsc_sink_cap(intel_dp->edp_dpcd[0],
-                                          intel_dp,
                                           connector);
 
        /*
@@ -5386,10 +5371,10 @@ intel_dp_detect_dsc_caps(struct intel_dp *intel_dp, 
struct intel_connector *conn
 
        if (intel_dp_is_edp(intel_dp))
                intel_edp_get_dsc_sink_cap(intel_dp->edp_dpcd[0],
-                                          intel_dp, connector);
+                                          connector);
        else
                intel_dp_get_dsc_sink_cap(intel_dp->dpcd[DP_DPCD_REV],
-                                         intel_dp, connector);
+                                         connector);
 }
 
 static int
@@ -5423,11 +5408,6 @@ intel_dp_detect(struct drm_connector *connector,
 
        if (status == connector_status_disconnected) {
                memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
-               /*
-                * TODO: Remove clearing the DPCD in intel_dp, once all
-                * user are converted to using the DPCD in connector.
-                */
-               memset(intel_dp->dsc_dpcd, 0, sizeof(intel_dp->dsc_dpcd));
                memset(intel_connector->dp.dsc_dpcd, 0, 
sizeof(intel_connector->dp.dsc_dpcd));
 
                if (intel_dp->is_mst) {
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h 
b/drivers/gpu/drm/i915/display/intel_dp.h
index 51edb587e4d24..484aea215a251 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -163,7 +163,6 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp 
*intel_dp,
                                        bool dsc,
                                        struct link_config_limits *limits);
 
-void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_dp *intel_dp,
-                              struct intel_connector *connector);
+void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
 
 #endif /* __INTEL_DP_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c 
b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index a065388c2199f..47f1efb50ea26 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -1136,7 +1136,7 @@ intel_dp_mst_read_decompression_port_dsc_caps(struct 
intel_dp *intel_dp,
        if (drm_dp_read_dpcd_caps(connector->dp.dsc_decompression_aux, 
dpcd_caps) < 0)
                return;
 
-       intel_dp_get_dsc_sink_cap(dpcd_caps[DP_DPCD_REV], intel_dp, connector);
+       intel_dp_get_dsc_sink_cap(dpcd_caps[DP_DPCD_REV], connector);
 }
 
 static struct drm_connector *intel_dp_add_mst_connector(struct 
drm_dp_mst_topology_mgr *mgr,
-- 
2.39.2

Reply via email to