OSDN Git Service

drm/i915: Allow eDP on port C in theory
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 18 May 2018 15:29:29 +0000 (18:29 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 23 May 2018 14:23:07 +0000 (17:23 +0300)
The power sequencer has bits to allow DP C to be used for eDP.
Currently we assume this will never happen, but I guess it could
theoretically be a thing. Make the code do the right thing in that
case, and toss in a MISSING_CASE() for any other port.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180518152931.13104-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/intel_dp.c

index b7d3cf2..ce07bd7 100644 (file)
@@ -5712,10 +5712,20 @@ intel_dp_init_panel_power_sequencer_registers(struct intel_dp *intel_dp,
        if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
                port_sel = PANEL_PORT_SELECT_VLV(port);
        } else if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) {
-               if (port == PORT_A)
+               switch (port) {
+               case PORT_A:
                        port_sel = PANEL_PORT_SELECT_DPA;
-               else
+                       break;
+               case PORT_C:
+                       port_sel = PANEL_PORT_SELECT_DPC;
+                       break;
+               case PORT_D:
                        port_sel = PANEL_PORT_SELECT_DPD;
+                       break;
+               default:
+                       MISSING_CASE(port);
+                       break;
+               }
        }
 
        pp_on |= port_sel;