Commit eb8de23c authored by Khaled Almahallawy's avatar Khaled Almahallawy Committed by Lucas De Marchi

drm/i915/tgl: Enable DDI/Port G

In TGL there we are missing the initialization of port G.
Do the same as for other ports.
Signed-off-by: default avatarKhaled Almahallawy <khaled.almahallawy@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191008220905.18278-1-khaled.almahallawy@intel.com
parent 972c646f
...@@ -1399,6 +1399,7 @@ static enum port dvo_port_to_port(u8 dvo_port) ...@@ -1399,6 +1399,7 @@ static enum port dvo_port_to_port(u8 dvo_port)
[PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1}, [PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1},
[PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE}, [PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE},
[PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1}, [PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1},
[PORT_G] = { DVO_PORT_HDMIG, DVO_PORT_DPG, -1},
}; };
enum port port; enum port port;
int i; int i;
...@@ -2258,6 +2259,9 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv, ...@@ -2258,6 +2259,9 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv,
case DP_AUX_F: case DP_AUX_F:
aux_ch = AUX_CH_F; aux_ch = AUX_CH_F;
break; break;
case DP_AUX_G:
aux_ch = AUX_CH_G;
break;
default: default:
MISSING_CASE(info->alternate_aux_channel); MISSING_CASE(info->alternate_aux_channel);
aux_ch = AUX_CH_A; aux_ch = AUX_CH_A;
......
...@@ -6689,6 +6689,8 @@ enum intel_display_power_domain intel_port_to_power_domain(enum port port) ...@@ -6689,6 +6689,8 @@ enum intel_display_power_domain intel_port_to_power_domain(enum port port)
return POWER_DOMAIN_PORT_DDI_E_LANES; return POWER_DOMAIN_PORT_DDI_E_LANES;
case PORT_F: case PORT_F:
return POWER_DOMAIN_PORT_DDI_F_LANES; return POWER_DOMAIN_PORT_DDI_F_LANES;
case PORT_G:
return POWER_DOMAIN_PORT_DDI_G_LANES;
default: default:
MISSING_CASE(port); MISSING_CASE(port);
return POWER_DOMAIN_PORT_OTHER; return POWER_DOMAIN_PORT_OTHER;
...@@ -6712,6 +6714,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) ...@@ -6712,6 +6714,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port)
return POWER_DOMAIN_AUX_E_TBT; return POWER_DOMAIN_AUX_E_TBT;
case AUX_CH_F: case AUX_CH_F:
return POWER_DOMAIN_AUX_F_TBT; return POWER_DOMAIN_AUX_F_TBT;
case AUX_CH_G:
return POWER_DOMAIN_AUX_G_TBT;
default: default:
MISSING_CASE(dig_port->aux_ch); MISSING_CASE(dig_port->aux_ch);
return POWER_DOMAIN_AUX_C_TBT; return POWER_DOMAIN_AUX_C_TBT;
...@@ -6731,6 +6735,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) ...@@ -6731,6 +6735,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port)
return POWER_DOMAIN_AUX_E; return POWER_DOMAIN_AUX_E;
case AUX_CH_F: case AUX_CH_F:
return POWER_DOMAIN_AUX_F; return POWER_DOMAIN_AUX_F;
case AUX_CH_G:
return POWER_DOMAIN_AUX_G;
default: default:
MISSING_CASE(dig_port->aux_ch); MISSING_CASE(dig_port->aux_ch);
return POWER_DOMAIN_AUX_A; return POWER_DOMAIN_AUX_A;
......
...@@ -271,6 +271,7 @@ enum aux_ch { ...@@ -271,6 +271,7 @@ enum aux_ch {
AUX_CH_D, AUX_CH_D,
AUX_CH_E, /* ICL+ */ AUX_CH_E, /* ICL+ */
AUX_CH_F, AUX_CH_F,
AUX_CH_G,
}; };
#define aux_ch_name(a) ((a) + 'A') #define aux_ch_name(a) ((a) + 'A')
......
...@@ -1644,6 +1644,7 @@ static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp) ...@@ -1644,6 +1644,7 @@ static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp)
case AUX_CH_D: case AUX_CH_D:
case AUX_CH_E: case AUX_CH_E:
case AUX_CH_F: case AUX_CH_F:
case AUX_CH_G:
return DP_AUX_CH_CTL(aux_ch); return DP_AUX_CH_CTL(aux_ch);
default: default:
MISSING_CASE(aux_ch); MISSING_CASE(aux_ch);
...@@ -1664,6 +1665,7 @@ static i915_reg_t skl_aux_data_reg(struct intel_dp *intel_dp, int index) ...@@ -1664,6 +1665,7 @@ static i915_reg_t skl_aux_data_reg(struct intel_dp *intel_dp, int index)
case AUX_CH_D: case AUX_CH_D:
case AUX_CH_E: case AUX_CH_E:
case AUX_CH_F: case AUX_CH_F:
case AUX_CH_G:
return DP_AUX_CH_DATA(aux_ch, index); return DP_AUX_CH_DATA(aux_ch, index);
default: default:
MISSING_CASE(aux_ch); MISSING_CASE(aux_ch);
......
...@@ -291,6 +291,8 @@ struct bdb_general_features { ...@@ -291,6 +291,8 @@ struct bdb_general_features {
#define DVO_PORT_HDMIE 12 /* 193 */ #define DVO_PORT_HDMIE 12 /* 193 */
#define DVO_PORT_DPF 13 /* N/A */ #define DVO_PORT_DPF 13 /* N/A */
#define DVO_PORT_HDMIF 14 /* N/A */ #define DVO_PORT_HDMIF 14 /* N/A */
#define DVO_PORT_DPG 15
#define DVO_PORT_HDMIG 16
#define DVO_PORT_MIPIA 21 /* 171 */ #define DVO_PORT_MIPIA 21 /* 171 */
#define DVO_PORT_MIPIB 22 /* 171 */ #define DVO_PORT_MIPIB 22 /* 171 */
#define DVO_PORT_MIPIC 23 /* 171 */ #define DVO_PORT_MIPIC 23 /* 171 */
...@@ -325,6 +327,7 @@ enum vbt_gmbus_ddi { ...@@ -325,6 +327,7 @@ enum vbt_gmbus_ddi {
#define DP_AUX_D 0x30 #define DP_AUX_D 0x30
#define DP_AUX_E 0x50 #define DP_AUX_E 0x50
#define DP_AUX_F 0x60 #define DP_AUX_F 0x60
#define DP_AUX_G 0x70
#define VBT_DP_MAX_LINK_RATE_HBR3 0 #define VBT_DP_MAX_LINK_RATE_HBR3 0
#define VBT_DP_MAX_LINK_RATE_HBR2 1 #define VBT_DP_MAX_LINK_RATE_HBR2 1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment