]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/i915: s/intel_dp_sink_dpms/intel_dp_set_power/
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 16 Oct 2020 19:48:00 +0000 (22:48 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 20 Oct 2020 17:13:03 +0000 (20:13 +0300)
Rename intel_dp_sink_dpms() to intel_dp_set_power()
so one doesn't always have to convert from the DPMS
enum values to the actual DP D-states.

Also when dealing with a branch device this has nothing to
do with any sink, so the old name was nonsense anyway.
Also adjust the debug message accordingly, and pimp it
with the standard encoder id+name thing.

Trivial bits done with cocci:
@@
expression DP;
@@
(
- intel_dp_sink_dpms(DP, DRM_MODE_DPMS_OFF)
+ intel_dp_set_power(DP, DP_SET_POWER_D3)
|
- intel_dp_sink_dpms(DP, DRM_MODE_DPMS_ON)
+ intel_dp_set_power(DP, DP_SET_POWER_D0)
)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201016194800.25581-2-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_dp.h
drivers/gpu/drm/i915/display/intel_dp_mst.c

index bb0b9930958f3482f074a469082e449dcda42c5a..09811be08cfe471224ac306dffc29f3f5d0e1fc7 100644 (file)
@@ -3482,7 +3482,7 @@ static void tgl_ddi_pre_enable_dp(struct intel_atomic_state *state,
        intel_ddi_init_dp_buf_reg(encoder, crtc_state);
 
        if (!is_mst)
-               intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
+               intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
 
        intel_dp_sink_set_decompression_state(intel_dp, crtc_state, true);
        /*
@@ -3564,7 +3564,7 @@ static void hsw_ddi_pre_enable_dp(struct intel_atomic_state *state,
 
        intel_ddi_init_dp_buf_reg(encoder, crtc_state);
        if (!is_mst)
-               intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
+               intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
        intel_dp_configure_protocol_converter(intel_dp);
        intel_dp_sink_set_decompression_state(intel_dp, crtc_state,
                                              true);
@@ -3738,7 +3738,7 @@ static void intel_ddi_post_disable_dp(struct intel_atomic_state *state,
         * Power down sink before disabling the port, otherwise we end
         * up getting interrupts from the sink on detecting link loss.
         */
-       intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF);
+       intel_dp_set_power(intel_dp, DP_SET_POWER_D3);
 
        if (INTEL_GEN(dev_priv) >= 12) {
                if (is_mst) {
index 4784aaeb934eec583b6287a055df0e8cdfb5b605..818daab252f3c525b3f23798ec3cf2e9a2a43f9b 100644 (file)
@@ -3471,22 +3471,22 @@ void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp,
                            enable ? "enable" : "disable");
 }
 
-/* If the sink supports it, try to set the power state appropriately */
-void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode)
+/* If the device supports it, try to set the power state appropriately */
+void intel_dp_set_power(struct intel_dp *intel_dp, u8 mode)
 {
-       struct drm_i915_private *i915 = dp_to_i915(intel_dp);
+       struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
+       struct drm_i915_private *i915 = to_i915(encoder->base.dev);
        int ret, i;
 
        /* Should have a valid DPCD by this point */
        if (intel_dp->dpcd[DP_DPCD_REV] < 0x11)
                return;
 
-       if (mode != DRM_MODE_DPMS_ON) {
+       if (mode != DP_SET_POWER_D0) {
                if (downstream_hpd_needs_d0(intel_dp))
                        return;
 
-               ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER,
-                                        DP_SET_POWER_D3);
+               ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, mode);
        } else {
                struct intel_lspcon *lspcon = dp_to_lspcon(intel_dp);
 
@@ -3497,8 +3497,7 @@ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode)
                 * time to wake up.
                 */
                for (i = 0; i < 3; i++) {
-                       ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER,
-                                                DP_SET_POWER_D0);
+                       ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, mode);
                        if (ret == 1)
                                break;
                        msleep(1);
@@ -3509,8 +3508,9 @@ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode)
        }
 
        if (ret != 1)
-               drm_dbg_kms(&i915->drm, "failed to %s sink power state\n",
-                           mode == DRM_MODE_DPMS_ON ? "enable" : "disable");
+               drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] Set power to %s failed\n",
+                           encoder->base.base.id, encoder->base.name,
+                           mode == DP_SET_POWER_D0 ? "D0" : "D3");
 }
 
 static bool cpt_dp_port_selected(struct drm_i915_private *dev_priv,
@@ -3744,7 +3744,7 @@ static void intel_disable_dp(struct intel_atomic_state *state,
         * ensure that we have vdd while we switch off the panel. */
        intel_edp_panel_vdd_on(intel_dp);
        intel_edp_backlight_off(old_conn_state);
-       intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF);
+       intel_dp_set_power(intel_dp, DP_SET_POWER_D3);
        intel_edp_panel_off(intel_dp);
 }
 
@@ -3969,7 +3969,7 @@ static void intel_enable_dp(struct intel_atomic_state *state,
                                    lane_mask);
        }
 
-       intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
+       intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
        intel_dp_configure_protocol_converter(intel_dp);
        intel_dp_start_link_train(intel_dp, pipe_config);
        intel_dp_stop_link_train(intel_dp, pipe_config);
index fcc28eb242f2b5dc56410a62f76970ae94b2ef16..3f862b4fd34f475c0f7f1e785bfdf1763dbf8939 100644 (file)
@@ -50,7 +50,7 @@ int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
                                            int link_rate, u8 lane_count);
 int intel_dp_retrain_link(struct intel_encoder *encoder,
                          struct drm_modeset_acquire_ctx *ctx);
-void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode);
+void intel_dp_set_power(struct intel_dp *intel_dp, u8 mode);
 void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp);
 void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp,
                                           const struct intel_crtc_state *crtc_state,
index e948aacbd4ab8c2a868521cfe91c3438978716e7..c8fcec4d07885e08dd120a61619d5f54d4b2c572 100644 (file)
@@ -492,7 +492,7 @@ static void intel_mst_pre_enable_dp(struct intel_atomic_state *state,
                    intel_dp->active_mst_links);
 
        if (first_mst_stream)
-               intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
+               intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
 
        drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true);