Message ID | 20191008220905.18278-1-khaled.almahallawy@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/tgl: Enable DDI/Port G | expand |
On Tue, Oct 08, 2019 at 03:09:05PM -0700, Khaled Almahallawy wrote: >In TGL there we are missing the initialization of port G. >Do the same as for other ports. > >Signed-off-by: Khaled Almahallawy <khaled.almahallawy@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> and pushed. thanks Lucas De Marchi >--- > drivers/gpu/drm/i915/display/intel_bios.c | 4 ++++ > drivers/gpu/drm/i915/display/intel_display.c | 6 ++++++ > drivers/gpu/drm/i915/display/intel_display.h | 1 + > drivers/gpu/drm/i915/display/intel_dp.c | 2 ++ > drivers/gpu/drm/i915/display/intel_vbt_defs.h | 3 +++ > 5 files changed, 16 insertions(+) > >diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c >index 9628b485b179..53c8959acbdd 100644 >--- a/drivers/gpu/drm/i915/display/intel_bios.c >+++ b/drivers/gpu/drm/i915/display/intel_bios.c >@@ -1389,6 +1389,7 @@ static enum port dvo_port_to_port(u8 dvo_port) > [PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1}, > [PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE}, > [PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1}, >+ [PORT_G] = { DVO_PORT_HDMIG, DVO_PORT_DPG, -1}, > }; > enum port port; > int i; >@@ -2248,6 +2249,9 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv, > case DP_AUX_F: > aux_ch = AUX_CH_F; > break; >+ case DP_AUX_G: >+ aux_ch = AUX_CH_G; >+ break; > default: > MISSING_CASE(info->alternate_aux_channel); > aux_ch = AUX_CH_A; >diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c >index 1a533ccdb54f..762e2c06a094 100644 >--- a/drivers/gpu/drm/i915/display/intel_display.c >+++ b/drivers/gpu/drm/i915/display/intel_display.c >@@ -6739,6 +6739,8 @@ enum intel_display_power_domain intel_port_to_power_domain(enum port port) > return POWER_DOMAIN_PORT_DDI_E_LANES; > case PORT_F: > return POWER_DOMAIN_PORT_DDI_F_LANES; >+ case PORT_G: >+ return POWER_DOMAIN_PORT_DDI_G_LANES; > default: > MISSING_CASE(port); > return POWER_DOMAIN_PORT_OTHER; >@@ -6762,6 +6764,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) > return POWER_DOMAIN_AUX_E_TBT; > case AUX_CH_F: > return POWER_DOMAIN_AUX_F_TBT; >+ case AUX_CH_G: >+ return POWER_DOMAIN_AUX_G_TBT; > default: > MISSING_CASE(dig_port->aux_ch); > return POWER_DOMAIN_AUX_C_TBT; >@@ -6781,6 +6785,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) > return POWER_DOMAIN_AUX_E; > case AUX_CH_F: > return POWER_DOMAIN_AUX_F; >+ case AUX_CH_G: >+ return POWER_DOMAIN_AUX_G; > default: > MISSING_CASE(dig_port->aux_ch); > return POWER_DOMAIN_AUX_A; >diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h >index 2782f23ee887..d8f33701f629 100644 >--- a/drivers/gpu/drm/i915/display/intel_display.h >+++ b/drivers/gpu/drm/i915/display/intel_display.h >@@ -271,6 +271,7 @@ enum aux_ch { > AUX_CH_D, > AUX_CH_E, /* ICL+ */ > AUX_CH_F, >+ AUX_CH_G, > }; > > #define aux_ch_name(a) ((a) + 'A') >diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c >index 0e45c61d7331..e9dd42a7f420 100644 >--- a/drivers/gpu/drm/i915/display/intel_dp.c >+++ b/drivers/gpu/drm/i915/display/intel_dp.c >@@ -1644,6 +1644,7 @@ static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp) > case AUX_CH_D: > case AUX_CH_E: > case AUX_CH_F: >+ case AUX_CH_G: > return DP_AUX_CH_CTL(aux_ch); > default: > MISSING_CASE(aux_ch); >@@ -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_E: > case AUX_CH_F: >+ case AUX_CH_G: > return DP_AUX_CH_DATA(aux_ch, index); > default: > MISSING_CASE(aux_ch); >diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h >index dfcd156b5094..e3045ced4bfe 100644 >--- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h >+++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h >@@ -291,6 +291,8 @@ struct bdb_general_features { > #define DVO_PORT_HDMIE 12 /* 193 */ > #define DVO_PORT_DPF 13 /* 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_MIPIB 22 /* 171 */ > #define DVO_PORT_MIPIC 23 /* 171 */ >@@ -325,6 +327,7 @@ enum vbt_gmbus_ddi { > #define DP_AUX_D 0x30 > #define DP_AUX_E 0x50 > #define DP_AUX_F 0x60 >+#define DP_AUX_G 0x70 > > #define VBT_DP_MAX_LINK_RATE_HBR3 0 > #define VBT_DP_MAX_LINK_RATE_HBR2 1 >-- >2.17.1 > >_______________________________________________ >Intel-gfx mailing list >Intel-gfx@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index 9628b485b179..53c8959acbdd 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -1389,6 +1389,7 @@ static enum port dvo_port_to_port(u8 dvo_port) [PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1}, [PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE}, [PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1}, + [PORT_G] = { DVO_PORT_HDMIG, DVO_PORT_DPG, -1}, }; enum port port; int i; @@ -2248,6 +2249,9 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv, case DP_AUX_F: aux_ch = AUX_CH_F; break; + case DP_AUX_G: + aux_ch = AUX_CH_G; + break; default: MISSING_CASE(info->alternate_aux_channel); aux_ch = AUX_CH_A; diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 1a533ccdb54f..762e2c06a094 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -6739,6 +6739,8 @@ enum intel_display_power_domain intel_port_to_power_domain(enum port port) return POWER_DOMAIN_PORT_DDI_E_LANES; case PORT_F: return POWER_DOMAIN_PORT_DDI_F_LANES; + case PORT_G: + return POWER_DOMAIN_PORT_DDI_G_LANES; default: MISSING_CASE(port); return POWER_DOMAIN_PORT_OTHER; @@ -6762,6 +6764,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) return POWER_DOMAIN_AUX_E_TBT; case AUX_CH_F: return POWER_DOMAIN_AUX_F_TBT; + case AUX_CH_G: + return POWER_DOMAIN_AUX_G_TBT; default: MISSING_CASE(dig_port->aux_ch); return POWER_DOMAIN_AUX_C_TBT; @@ -6781,6 +6785,8 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) return POWER_DOMAIN_AUX_E; case AUX_CH_F: return POWER_DOMAIN_AUX_F; + case AUX_CH_G: + return POWER_DOMAIN_AUX_G; default: MISSING_CASE(dig_port->aux_ch); return POWER_DOMAIN_AUX_A; diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h index 2782f23ee887..d8f33701f629 100644 --- a/drivers/gpu/drm/i915/display/intel_display.h +++ b/drivers/gpu/drm/i915/display/intel_display.h @@ -271,6 +271,7 @@ enum aux_ch { AUX_CH_D, AUX_CH_E, /* ICL+ */ AUX_CH_F, + AUX_CH_G, }; #define aux_ch_name(a) ((a) + 'A') diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 0e45c61d7331..e9dd42a7f420 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1644,6 +1644,7 @@ static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp) case AUX_CH_D: case AUX_CH_E: case AUX_CH_F: + case AUX_CH_G: return DP_AUX_CH_CTL(aux_ch); default: MISSING_CASE(aux_ch); @@ -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_E: case AUX_CH_F: + case AUX_CH_G: return DP_AUX_CH_DATA(aux_ch, index); default: MISSING_CASE(aux_ch); diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h index dfcd156b5094..e3045ced4bfe 100644 --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h @@ -291,6 +291,8 @@ struct bdb_general_features { #define DVO_PORT_HDMIE 12 /* 193 */ #define DVO_PORT_DPF 13 /* 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_MIPIB 22 /* 171 */ #define DVO_PORT_MIPIC 23 /* 171 */ @@ -325,6 +327,7 @@ enum vbt_gmbus_ddi { #define DP_AUX_D 0x30 #define DP_AUX_E 0x50 #define DP_AUX_F 0x60 +#define DP_AUX_G 0x70 #define VBT_DP_MAX_LINK_RATE_HBR3 0 #define VBT_DP_MAX_LINK_RATE_HBR2 1
In TGL there we are missing the initialization of port G. Do the same as for other ports. Signed-off-by: Khaled Almahallawy <khaled.almahallawy@intel.com> --- drivers/gpu/drm/i915/display/intel_bios.c | 4 ++++ drivers/gpu/drm/i915/display/intel_display.c | 6 ++++++ drivers/gpu/drm/i915/display/intel_display.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 2 ++ drivers/gpu/drm/i915/display/intel_vbt_defs.h | 3 +++ 5 files changed, 16 insertions(+)