mirror of https://gitee.com/openkylin/linux.git
drm/i915/tgl: Add additional ports for Tiger Lake
There are 2 new additional typeC ports in Tiger Lake and PORT-C is now a combophy port. This results in 6 typeC ports and 3 combophy ports. These 6 TC ports can be DP alternate mode, DP over thunderbolt, native DP on legacy DP connector or native HDMI on legacy connector. v2: Rebase on new modular FIA code (Lucas) v3: Also add new port in port_identifier(), even though it can't possibly be used there (requested by José) v4: Add conversion port->tc_port in helper function after introction of phy namespace (Lucas) Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190711173115.28296-13-lucas.demarchi@intel.com
This commit is contained in:
parent
c9014a2c79
commit
6c8337dafa
|
@ -4286,6 +4286,18 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
|
|||
intel_dig_port->ddi_io_power_domain =
|
||||
POWER_DOMAIN_PORT_DDI_F_IO;
|
||||
break;
|
||||
case PORT_G:
|
||||
intel_dig_port->ddi_io_power_domain =
|
||||
POWER_DOMAIN_PORT_DDI_G_IO;
|
||||
break;
|
||||
case PORT_H:
|
||||
intel_dig_port->ddi_io_power_domain =
|
||||
POWER_DOMAIN_PORT_DDI_H_IO;
|
||||
break;
|
||||
case PORT_I:
|
||||
intel_dig_port->ddi_io_power_domain =
|
||||
POWER_DOMAIN_PORT_DDI_I_IO;
|
||||
break;
|
||||
default:
|
||||
MISSING_CASE(port);
|
||||
}
|
||||
|
|
|
@ -6706,6 +6706,9 @@ enum tc_port intel_port_to_tc(struct drm_i915_private *dev_priv, enum port port)
|
|||
if (!intel_phy_is_tc(dev_priv, intel_port_to_phy(dev_priv, port)))
|
||||
return PORT_TC_NONE;
|
||||
|
||||
if (INTEL_GEN(dev_priv) >= 12)
|
||||
return port - PORT_D;
|
||||
|
||||
return port - PORT_C;
|
||||
}
|
||||
|
||||
|
|
|
@ -177,6 +177,12 @@ static inline const char *port_identifier(enum port port)
|
|||
return "Port E";
|
||||
case PORT_F:
|
||||
return "Port F";
|
||||
case PORT_G:
|
||||
return "Port G";
|
||||
case PORT_H:
|
||||
return "Port H";
|
||||
case PORT_I:
|
||||
return "Port I";
|
||||
default:
|
||||
return "<invalid>";
|
||||
}
|
||||
|
@ -189,6 +195,8 @@ enum tc_port {
|
|||
PORT_TC2,
|
||||
PORT_TC3,
|
||||
PORT_TC4,
|
||||
PORT_TC5,
|
||||
PORT_TC6,
|
||||
|
||||
I915_MAX_TC_PORTS
|
||||
};
|
||||
|
|
|
@ -34,7 +34,7 @@ enum i915_component_type {
|
|||
/* MAX_PORT is the number of port
|
||||
* It must be sync with I915_MAX_PORTS defined i915_drv.h
|
||||
*/
|
||||
#define MAX_PORTS 6
|
||||
#define MAX_PORTS 9
|
||||
|
||||
/**
|
||||
* struct i915_audio_component - Used for direct communication between i915 and hda drivers
|
||||
|
|
|
@ -109,6 +109,9 @@ enum port {
|
|||
PORT_D,
|
||||
PORT_E,
|
||||
PORT_F,
|
||||
PORT_G,
|
||||
PORT_H,
|
||||
PORT_I,
|
||||
|
||||
I915_MAX_PORTS
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue