• Matt Roper's avatar
    drm/i915/gen11: Start distinguishing 'phy' from 'port' · 358633e7
    Matt Roper authored
    
    
    Our past DDI-based Intel platforms have had a fixed DDI<->PHY mapping.
    Because of this, both the bspec documentation and our i915 code has used
    the term "port" when talking about either DDI's or PHY's; it was always
    easy to tell what terms like "Port A" were referring to from the
    context.
    
    Unfortunately this is starting to break down now that EHL allows PHY-A
    to be driven by either DDI-A or DDI-D.  Is a setup with DDI-D driving
    PHY-A considered "Port A" or "Port D?"  The answer depends on which
    register we're working with, and even the bspec doesn't do a great job
    of clarifying this.
    
    Let's try to be more explicit about whether we're talking about the DDI
    or the PHY on gen11+ by using 'port' to refer to the DDI and creating a
    new 'enum phy' namespace to refer to the PHY in use.
    
    This patch just adds the new PHY namespace, new phy-based versions of
    intel_port_is_*(), and a helper to convert a port to a PHY.
    Transitioning various areas of the code over to using the PHY namespace
    will be done in subsequent patches to make review easier.  We'll remove
    the intel_port_is_*() functions at the end of the series when we
    transition all callers over to using the PHY-based versions.
    
    v2:
     - Convert a few more 'port' uses to 'phy.' (Sparse)
    
    v3:
     - Switch DDI_CLK_SEL() back to 'port.' (Jose)
     - Add a code comment clarifying why DPCLKA_CFGCR0_ICL needs to use PHY
       for its bit definitions, even though the register description is
       given in terms of DDI.
     - To avoid confusion, switch CNL's DPCLKA_CFGCR0 defines back to using
       port and create separate ICL+ definitions that work in terms of PHY.
    
    v4:
     - Rebase and resolve conflicts with Imre's TC series.
     - This patch now just adds the namespace and a few convenience
       functions; the important changes are now split out into separate
       patches to make review easier.
    
    Suggested-by: default avatarVille Syrjala <ville.syrjala@linux.intel.com>
    Cc: José Roberto de Souza <jose.souza@intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Imre Deak <imre.deak@intel.com>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190709183934.445-2-matthew.d.roper@intel.com
    358633e7