drm/i915: Prefer encoder->name over port_name()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 30 Aug 2019 18:27:19 +0000 (21:27 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 2 Sep 2019 15:43:28 +0000 (18:43 +0300)
enum port is a mess now because it no longer matches the spec
at all. Let's start to dig ourselves out of this hole by
reducing our reliance on port_name(). This should at least make
a bunch of debug messages a bit more sensible while we think how
to fill the the hole properly.

Based on the following cocci script with a lot of manual cleanup
(all the format strings etc.):
@@
expression E;
@@
(
- port_name(E->port)
+ E->base.base.id, E->base.name
|
- port_name(E.port)
+ E.base.base.id, E.base.name
)

@@
enum port P;
expression E;
@@
  P = E->port
<...
- port_name(P)
+ E->base.base.id, E->base.name
...>

@@
enum port P;
expression E;
@@
  P = E.port
<...
- port_name(P)
+ E.base.base.id, E.base.name
...>

@@
expression E;
@@
{
- enum port P = E;
... when != P
}

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190830182719.32608-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/display/intel_audio.c
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
drivers/gpu/drm/i915/display/intel_hdmi.c
drivers/gpu/drm/i915/display/intel_hotplug.c
drivers/gpu/drm/i915/i915_debugfs.c

index ddcccf4..aac089c 100644 (file)
@@ -560,8 +560,9 @@ static void ilk_audio_codec_disable(struct intel_encoder *encoder,
        u32 tmp, eldv;
        i915_reg_t aud_config, aud_cntrl_st2;
 
-       DRM_DEBUG_KMS("Disable audio codec on port %c, pipe %c\n",
-                     port_name(port), pipe_name(pipe));
+       DRM_DEBUG_KMS("Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
+                     encoder->base.base.id, encoder->base.name,
+                     pipe_name(pipe));
 
        if (WARN_ON(port == PORT_A))
                return;
@@ -609,8 +610,9 @@ static void ilk_audio_codec_enable(struct intel_encoder *encoder,
        int len, i;
        i915_reg_t hdmiw_hdmiedid, aud_config, aud_cntl_st, aud_cntrl_st2;
 
-       DRM_DEBUG_KMS("Enable audio codec on port %c, pipe %c, %u bytes ELD\n",
-                     port_name(port), pipe_name(pipe), drm_eld_size(eld));
+       DRM_DEBUG_KMS("Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
+                     encoder->base.base.id, encoder->base.name,
+                     pipe_name(pipe), drm_eld_size(eld));
 
        if (WARN_ON(port == PORT_A))
                return;
index 3180dac..1fe0bf0 100644 (file)
@@ -2080,18 +2080,20 @@ static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
        }
 
        if (!*pipe_mask)
-               DRM_DEBUG_KMS("No pipe for ddi port %c found\n",
-                             port_name(port));
+               DRM_DEBUG_KMS("No pipe for [ENCODER:%d:%s] found\n",
+                             encoder->base.base.id, encoder->base.name);
 
        if (!mst_pipe_mask && hweight8(*pipe_mask) > 1) {
-               DRM_DEBUG_KMS("Multiple pipes for non DP-MST port %c (pipe_mask %02x)\n",
-                             port_name(port), *pipe_mask);
+               DRM_DEBUG_KMS("Multiple pipes for [ENCODER:%d:%s] (pipe_mask %02x)\n",
+                             encoder->base.base.id, encoder->base.name,
+                             *pipe_mask);
                *pipe_mask = BIT(ffs(*pipe_mask) - 1);
        }
 
        if (mst_pipe_mask && mst_pipe_mask != *pipe_mask)
-               DRM_DEBUG_KMS("Conflicting MST and non-MST encoders for port %c (pipe_mask %02x mst_pipe_mask %02x)\n",
-                             port_name(port), *pipe_mask, mst_pipe_mask);
+               DRM_DEBUG_KMS("Conflicting MST and non-MST state for [ENCODER:%d:%s] (pipe_mask %02x mst_pipe_mask %02x)\n",
+                             encoder->base.base.id, encoder->base.name,
+                             *pipe_mask, mst_pipe_mask);
        else
                *is_dp_mst = mst_pipe_mask;
 
@@ -2101,8 +2103,9 @@ out:
                if ((tmp & (BXT_PHY_CMNLANE_POWERDOWN_ACK |
                            BXT_PHY_LANE_POWERDOWN_ACK |
                            BXT_PHY_LANE_ENABLED)) != BXT_PHY_LANE_ENABLED)
-                       DRM_ERROR("Port %c enabled but PHY powered down? "
-                                 "(PHY_CTL %08x)\n", port_name(port), tmp);
+                       DRM_ERROR("[ENCODER:%d:%s] enabled but PHY powered down? "
+                                 "(PHY_CTL %08x)\n", encoder->base.base.id,
+                                 encoder->base.name, tmp);
        }
 
        intel_display_power_put(dev_priv, encoder->power_domain, wakeref);
index e661e20..a03dc6e 100644 (file)
@@ -1612,8 +1612,8 @@ void vlv_wait_port_ready(struct drm_i915_private *dev_priv,
 
        if (intel_de_wait_for_register(dev_priv, dpll_reg,
                                       port_mask, expected_mask, 1000))
-               WARN(1, "timed out waiting for port %c ready: got 0x%x, expected 0x%x\n",
-                    port_name(dport->base.port),
+               WARN(1, "timed out waiting for [ENCODER:%d:%s] port ready: got 0x%x, expected 0x%x\n",
+                    dport->base.base.base.id, dport->base.base.name,
                     I915_READ(dpll_reg) & port_mask, expected_mask);
 }
 
index aaa9099..4e3e696 100644 (file)
@@ -639,12 +639,14 @@ vlv_power_sequencer_kick(struct intel_dp *intel_dp)
        u32 DP;
 
        if (WARN(I915_READ(intel_dp->output_reg) & DP_PORT_EN,
-                "skipping pipe %c power sequencer kick due to port %c being active\n",
-                pipe_name(pipe), port_name(intel_dig_port->base.port)))
+                "skipping pipe %c power sequencer kick due to [ENCODER:%d:%s] being active\n",
+                pipe_name(pipe), intel_dig_port->base.base.base.id,
+                intel_dig_port->base.base.name))
                return;
 
-       DRM_DEBUG_KMS("kicking pipe %c power sequencer for port %c\n",
-                     pipe_name(pipe), port_name(intel_dig_port->base.port));
+       DRM_DEBUG_KMS("kicking pipe %c power sequencer for [ENCODER:%d:%s]\n",
+                     pipe_name(pipe), intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name);
 
        /* Preserve the BIOS-computed detected bit. This is
         * supposed to be read-only.
@@ -762,9 +764,10 @@ vlv_power_sequencer_pipe(struct intel_dp *intel_dp)
        vlv_steal_power_sequencer(dev_priv, pipe);
        intel_dp->pps_pipe = pipe;
 
-       DRM_DEBUG_KMS("picked pipe %c power sequencer for port %c\n",
+       DRM_DEBUG_KMS("picked pipe %c power sequencer for [ENCODER:%d:%s]\n",
                      pipe_name(intel_dp->pps_pipe),
-                     port_name(intel_dig_port->base.port));
+                     intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name);
 
        /* init power sequencer on this pipe and port */
        intel_dp_init_panel_power_sequencer(intel_dp);
@@ -872,13 +875,16 @@ vlv_initial_power_sequencer_setup(struct intel_dp *intel_dp)
 
        /* didn't find one? just let vlv_power_sequencer_pipe() pick one when needed */
        if (intel_dp->pps_pipe == INVALID_PIPE) {
-               DRM_DEBUG_KMS("no initial power sequencer for port %c\n",
-                             port_name(port));
+               DRM_DEBUG_KMS("no initial power sequencer for [ENCODER:%d:%s]\n",
+                             intel_dig_port->base.base.base.id,
+                             intel_dig_port->base.base.name);
                return;
        }
 
-       DRM_DEBUG_KMS("initial power sequencer for port %c: pipe %c\n",
-                     port_name(port), pipe_name(intel_dp->pps_pipe));
+       DRM_DEBUG_KMS("initial power sequencer for [ENCODER:%d:%s]: pipe %c\n",
+                     intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name,
+                     pipe_name(intel_dp->pps_pipe));
 
        intel_dp_init_panel_power_sequencer(intel_dp);
        intel_dp_init_panel_power_sequencer_registers(intel_dp, false);
@@ -2492,8 +2498,9 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp)
        intel_display_power_get(dev_priv,
                                intel_aux_power_domain(intel_dig_port));
 
-       DRM_DEBUG_KMS("Turning eDP port %c VDD on\n",
-                     port_name(intel_dig_port->base.port));
+       DRM_DEBUG_KMS("Turning [ENCODER:%d:%s] VDD on\n",
+                     intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name);
 
        if (!edp_have_panel_power(intel_dp))
                wait_panel_power_cycle(intel_dp);
@@ -2512,8 +2519,9 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp)
         * If the panel wasn't on, delay before accessing aux channel
         */
        if (!edp_have_panel_power(intel_dp)) {
-               DRM_DEBUG_KMS("eDP port %c panel power wasn't enabled\n",
-                             port_name(intel_dig_port->base.port));
+               DRM_DEBUG_KMS("[ENCODER:%d:%s] panel power wasn't enabled\n",
+                             intel_dig_port->base.base.base.id,
+                             intel_dig_port->base.base.name);
                msleep(intel_dp->panel_power_up_delay);
        }
 
@@ -2538,8 +2546,9 @@ void intel_edp_panel_vdd_on(struct intel_dp *intel_dp)
        vdd = false;
        with_pps_lock(intel_dp, wakeref)
                vdd = edp_panel_vdd_on(intel_dp);
-       I915_STATE_WARN(!vdd, "eDP port %c VDD already requested on\n",
-            port_name(dp_to_dig_port(intel_dp)->base.port));
+       I915_STATE_WARN(!vdd, "[ENCODER:%d:%s] VDD already requested on\n",
+                       dp_to_dig_port(intel_dp)->base.base.base.id,
+                       dp_to_dig_port(intel_dp)->base.base.name);
 }
 
 static void edp_panel_vdd_off_sync(struct intel_dp *intel_dp)
@@ -2557,8 +2566,9 @@ static void edp_panel_vdd_off_sync(struct intel_dp *intel_dp)
        if (!edp_have_panel_vdd(intel_dp))
                return;
 
-       DRM_DEBUG_KMS("Turning eDP port %c VDD off\n",
-                     port_name(intel_dig_port->base.port));
+       DRM_DEBUG_KMS("Turning [ENCODER:%d:%s] VDD off\n",
+                     intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name);
 
        pp = ironlake_get_pp_control(intel_dp);
        pp &= ~EDP_FORCE_VDD;
@@ -2620,8 +2630,9 @@ static void edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
        if (!intel_dp_is_edp(intel_dp))
                return;
 
-       I915_STATE_WARN(!intel_dp->want_panel_vdd, "eDP port %c VDD not forced on",
-            port_name(dp_to_dig_port(intel_dp)->base.port));
+       I915_STATE_WARN(!intel_dp->want_panel_vdd, "[ENCODER:%d:%s] VDD not forced on",
+                       dp_to_dig_port(intel_dp)->base.base.base.id,
+                       dp_to_dig_port(intel_dp)->base.base.name);
 
        intel_dp->want_panel_vdd = false;
 
@@ -2642,12 +2653,14 @@ static void edp_panel_on(struct intel_dp *intel_dp)
        if (!intel_dp_is_edp(intel_dp))
                return;
 
-       DRM_DEBUG_KMS("Turn eDP port %c panel power on\n",
-                     port_name(dp_to_dig_port(intel_dp)->base.port));
+       DRM_DEBUG_KMS("Turn [ENCODER:%d:%s] panel power on\n",
+                     dp_to_dig_port(intel_dp)->base.base.base.id,
+                     dp_to_dig_port(intel_dp)->base.base.name);
 
        if (WARN(edp_have_panel_power(intel_dp),
-                "eDP port %c panel power already on\n",
-                port_name(dp_to_dig_port(intel_dp)->base.port)))
+                "[ENCODER:%d:%s] panel power already on\n",
+                dp_to_dig_port(intel_dp)->base.base.base.id,
+                dp_to_dig_port(intel_dp)->base.base.name))
                return;
 
        wait_panel_power_cycle(intel_dp);
@@ -2702,11 +2715,11 @@ static void edp_panel_off(struct intel_dp *intel_dp)
        if (!intel_dp_is_edp(intel_dp))
                return;
 
-       DRM_DEBUG_KMS("Turn eDP port %c panel power off\n",
-                     port_name(dig_port->base.port));
+       DRM_DEBUG_KMS("Turn [ENCODER:%d:%s] panel power off\n",
+                     dig_port->base.base.base.id, dig_port->base.base.name);
 
-       WARN(!intel_dp->want_panel_vdd, "Need eDP port %c VDD to turn off panel\n",
-            port_name(dig_port->base.port));
+       WARN(!intel_dp->want_panel_vdd, "Need [ENCODER:%d:%s] VDD to turn off panel\n",
+            dig_port->base.base.base.id, dig_port->base.base.name);
 
        pp = ironlake_get_pp_control(intel_dp);
        /* We need to switch off panel power _and_ force vdd, for otherwise some
@@ -2851,8 +2864,8 @@ static void assert_dp_port(struct intel_dp *intel_dp, bool state)
        bool cur_state = I915_READ(intel_dp->output_reg) & DP_PORT_EN;
 
        I915_STATE_WARN(cur_state != state,
-                       "DP port %c state assertion failure (expected %s, current %s)\n",
-                       port_name(dig_port->base.port),
+                       "[ENCODER:%d:%s] state assertion failure (expected %s, current %s)\n",
+                       dig_port->base.base.base.id, dig_port->base.base.name,
                        onoff(state), onoff(cur_state));
 }
 #define assert_dp_port_disabled(d) assert_dp_port((d), false)
@@ -3430,8 +3443,9 @@ static void vlv_detach_power_sequencer(struct intel_dp *intel_dp)
         * port select always when logically disconnecting a power sequencer
         * from a port.
         */
-       DRM_DEBUG_KMS("detaching pipe %c power sequencer from port %c\n",
-                     pipe_name(pipe), port_name(intel_dig_port->base.port));
+       DRM_DEBUG_KMS("detaching pipe %c power sequencer from [ENCODER:%d:%s]\n",
+                     pipe_name(pipe), intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name);
        I915_WRITE(pp_on_reg, 0);
        POSTING_READ(pp_on_reg);
 
@@ -3447,17 +3461,18 @@ static void vlv_steal_power_sequencer(struct drm_i915_private *dev_priv,
 
        for_each_intel_dp(&dev_priv->drm, encoder) {
                struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
-               enum port port = encoder->port;
 
                WARN(intel_dp->active_pipe == pipe,
-                    "stealing pipe %c power sequencer from active (e)DP port %c\n",
-                    pipe_name(pipe), port_name(port));
+                    "stealing pipe %c power sequencer from active [ENCODER:%d:%s]\n",
+                    pipe_name(pipe), encoder->base.base.id,
+                    encoder->base.name);
 
                if (intel_dp->pps_pipe != pipe)
                        continue;
 
-               DRM_DEBUG_KMS("stealing pipe %c power sequencer from port %c\n",
-                             pipe_name(pipe), port_name(port));
+               DRM_DEBUG_KMS("stealing pipe %c power sequencer from [ENCODER:%d:%s]\n",
+                             pipe_name(pipe), encoder->base.base.id,
+                             encoder->base.name);
 
                /* make sure vdd is off before we steal it */
                vlv_detach_power_sequencer(intel_dp);
@@ -3499,8 +3514,9 @@ static void vlv_init_panel_power_sequencer(struct intel_encoder *encoder,
        /* now it's all ours */
        intel_dp->pps_pipe = crtc->pipe;
 
-       DRM_DEBUG_KMS("initializing pipe %c power sequencer for port %c\n",
-                     pipe_name(intel_dp->pps_pipe), port_name(encoder->port));
+       DRM_DEBUG_KMS("initializing pipe %c power sequencer for [ENCODER:%d:%s]\n",
+                     pipe_name(intel_dp->pps_pipe), encoder->base.base.id,
+                     encoder->base.name);
 
        /* init power sequencer on this pipe and port */
        intel_dp_init_panel_power_sequencer(intel_dp);
@@ -4321,9 +4337,10 @@ intel_dp_configure_mst(struct intel_dp *intel_dp)
                &dp_to_dig_port(intel_dp)->base;
        bool sink_can_mst = intel_dp_sink_can_mst(intel_dp);
 
-       DRM_DEBUG_KMS("MST support? port %c: %s, sink: %s, modparam: %s\n",
-                     port_name(encoder->port), yesno(intel_dp->can_mst),
-                     yesno(sink_can_mst), yesno(i915_modparams.enable_dp_mst));
+       DRM_DEBUG_KMS("[ENCODER:%d:%s] MST support? port: %s, sink: %s, modparam: %s\n",
+                     encoder->base.base.id, encoder->base.name,
+                     yesno(intel_dp->can_mst), yesno(sink_can_mst),
+                     yesno(i915_modparams.enable_dp_mst));
 
        if (!intel_dp->can_mst)
                return;
@@ -6284,13 +6301,15 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
                 * would end up in an endless cycle of
                 * "vdd off -> long hpd -> vdd on -> detect -> vdd off -> ..."
                 */
-               DRM_DEBUG_KMS("ignoring long hpd on eDP port %c\n",
-                             port_name(intel_dig_port->base.port));
+               DRM_DEBUG_KMS("ignoring long hpd on eDP [ENCODER:%d:%s]\n",
+                             intel_dig_port->base.base.base.id,
+                             intel_dig_port->base.base.name);
                return IRQ_HANDLED;
        }
 
-       DRM_DEBUG_KMS("got hpd irq on port %c - %s\n",
-                     port_name(intel_dig_port->base.port),
+       DRM_DEBUG_KMS("got hpd irq on [ENCODER:%d:%s] - %s\n",
+                     intel_dig_port->base.base.base.id,
+                     intel_dig_port->base.base.name,
                      long_hpd ? "long" : "short");
 
        if (long_hpd) {
@@ -7154,8 +7173,9 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
                  intel_dp_modeset_retry_work_fn);
 
        if (WARN(intel_dig_port->max_lanes < 1,
-                "Not enough lanes (%d) for DP on port %c\n",
-                intel_dig_port->max_lanes, port_name(port)))
+                "Not enough lanes (%d) for DP on [ENCODER:%d:%s]\n",
+                intel_dig_port->max_lanes, intel_encoder->base.base.id,
+                intel_encoder->base.name))
                return false;
 
        intel_dp_set_source_rates(intel_dp);
@@ -7196,9 +7216,9 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
                    port != PORT_B && port != PORT_C))
                return false;
 
-       DRM_DEBUG_KMS("Adding %s connector on port %c\n",
-                       type == DRM_MODE_CONNECTOR_eDP ? "eDP" : "DP",
-                       port_name(port));
+       DRM_DEBUG_KMS("Adding %s connector on [ENCODER:%d:%s]\n",
+                     type == DRM_MODE_CONNECTOR_eDP ? "eDP" : "DP",
+                     intel_encoder->base.base.id, intel_encoder->base.name);
 
        drm_connector_init(dev, connector, &intel_dp_connector_funcs, type);
        drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs);
index b8148f8..98288ed 100644 (file)
@@ -2910,8 +2910,8 @@ static bool icl_get_combo_phy_dpll(struct intel_atomic_state *state,
                                                has_dpll4 ? DPLL_ID_EHL_DPLL4
                                                          : DPLL_ID_ICL_DPLL1);
        if (!port_dpll->pll) {
-               DRM_DEBUG_KMS("No combo PHY PLL found for port %c\n",
-                             port_name(encoder->port));
+               DRM_DEBUG_KMS("No combo PHY PLL found for [ENCODER:%d:%s]\n",
+                             encoder->base.base.id, encoder->base.name);
                return false;
        }
 
index f6bb77f..d1e26a0 100644 (file)
@@ -3075,12 +3075,13 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
        struct drm_i915_private *dev_priv = to_i915(dev);
        enum port port = intel_encoder->port;
 
-       DRM_DEBUG_KMS("Adding HDMI connector on port %c\n",
-                     port_name(port));
+       DRM_DEBUG_KMS("Adding HDMI connector on [ENCODER:%d:%s]\n",
+                     intel_encoder->base.base.id, intel_encoder->base.name);
 
        if (WARN(intel_dig_port->max_lanes < 4,
-                "Not enough lanes (%d) for HDMI on port %c\n",
-                intel_dig_port->max_lanes, port_name(port)))
+                "Not enough lanes (%d) for HDMI on [ENCODER:%d:%s]\n",
+                intel_dig_port->max_lanes, intel_encoder->base.base.id,
+                intel_encoder->base.name))
                return;
 
        drm_connector_init(dev, connector, &intel_hdmi_connector_funcs,
index 56be20f..fc29046 100644 (file)
@@ -481,7 +481,8 @@ void intel_hpd_irq_handler(struct drm_i915_private *dev_priv,
 
                long_hpd = long_mask & BIT(pin);
 
-               DRM_DEBUG_DRIVER("digital hpd port %c - %s\n", port_name(port),
+               DRM_DEBUG_DRIVER("digital hpd on [ENCODER:%d:%s] - %s\n",
+                                encoder->base.base.id, encoder->base.name,
                                 long_hpd ? "long" : "short");
                queue_dig = true;
 
index 5e81c4f..9749369 100644 (file)
@@ -3114,8 +3114,9 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused)
                if (!intel_dig_port->dp.can_mst)
                        continue;
 
-               seq_printf(m, "MST Source Port %c\n",
-                          port_name(intel_dig_port->base.port));
+               seq_printf(m, "MST Source Port [ENCODER:%d:%s]\n",
+                          intel_dig_port->base.base.base.id,
+                          intel_dig_port->base.base.name);
                drm_dp_mst_dump_topology(m, &intel_dig_port->dp.mst_mgr);
        }
        drm_connector_list_iter_end(&conn_iter);