From: Matt Roper <matthew.d.roper@intel.com> To: intel-gfx@lists.freedesktop.org Subject: [PATCH 3/5] drm/i915: Add missing AUX channel H & I support Date: Fri, 25 Oct 2019 16:06:21 -0700 [thread overview] Message-ID: <20191025230623.27829-4-matthew.d.roper@intel.com> (raw) In-Reply-To: <20191025230623.27829-1-matthew.d.roper@intel.com> TGL's extra ports also bring extra AUX channels. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> --- drivers/gpu/drm/i915/display/intel_bios.c | 6 ++++ drivers/gpu/drm/i915/display/intel_display.c | 36 +++++-------------- drivers/gpu/drm/i915/display/intel_display.h | 2 ++ drivers/gpu/drm/i915/display/intel_dp.c | 4 +++ drivers/gpu/drm/i915/display/intel_vbt_defs.h | 2 ++ 5 files changed, 22 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index fe302338b7fd..3867b41338a7 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -2339,6 +2339,12 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv, case DP_AUX_G: aux_ch = AUX_CH_G; break; + case DP_AUX_H: + aux_ch = AUX_CH_H; + break; + case DP_AUX_I: + aux_ch = AUX_CH_I; + 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 cbf9cf30050c..e45ed0c07d0d 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -6847,39 +6847,19 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) if (intel_phy_is_tc(dev_priv, phy) && dig_port->tc_mode == TC_PORT_TBT_ALT) { - switch (dig_port->aux_ch) { - case AUX_CH_C: - return POWER_DOMAIN_AUX_C_TBT; - case AUX_CH_D: - return POWER_DOMAIN_AUX_D_TBT; - case AUX_CH_E: - 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: + if (dig_port->aux_ch >= AUX_CH_C && + dig_port->aux_ch <= AUX_CH_I) { + return POWER_DOMAIN_AUX_C_TBT + dig_port->aux_ch - + AUX_CH_C; + } else { MISSING_CASE(dig_port->aux_ch); return POWER_DOMAIN_AUX_C_TBT; } } - switch (dig_port->aux_ch) { - case AUX_CH_A: - return POWER_DOMAIN_AUX_A; - case AUX_CH_B: - return POWER_DOMAIN_AUX_B; - case AUX_CH_C: - return POWER_DOMAIN_AUX_C; - case AUX_CH_D: - return POWER_DOMAIN_AUX_D; - case AUX_CH_E: - return POWER_DOMAIN_AUX_E; - case AUX_CH_F: - return POWER_DOMAIN_AUX_F; - case AUX_CH_G: - return POWER_DOMAIN_AUX_G; - default: + if (dig_port->aux_ch <= AUX_CH_I) { + return POWER_DOMAIN_AUX_A + dig_port->aux_ch; + } else { 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 ca7ca2804d8b..9ccaae41a8ad 100644 --- a/drivers/gpu/drm/i915/display/intel_display.h +++ b/drivers/gpu/drm/i915/display/intel_display.h @@ -275,6 +275,8 @@ enum aux_ch { AUX_CH_E, /* ICL+ */ AUX_CH_F, AUX_CH_G, + AUX_CH_H, + AUX_CH_I, }; #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 86989ec25bc6..65bab46f7b43 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1667,6 +1667,8 @@ static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp) case AUX_CH_E: case AUX_CH_F: case AUX_CH_G: + case AUX_CH_H: + case AUX_CH_I: return DP_AUX_CH_CTL(aux_ch); default: MISSING_CASE(aux_ch); @@ -1688,6 +1690,8 @@ static i915_reg_t skl_aux_data_reg(struct intel_dp *intel_dp, int index) case AUX_CH_E: case AUX_CH_F: case AUX_CH_G: + case AUX_CH_H: + case AUX_CH_I: 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 e7057f53866a..49caa066061d 100644 --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h @@ -329,6 +329,8 @@ enum vbt_gmbus_ddi { #define DP_AUX_E 0x50 #define DP_AUX_F 0x60 #define DP_AUX_G 0x70 +#define DP_AUX_H 0x80 +#define DP_AUX_I 0x90 #define VBT_DP_MAX_LINK_RATE_HBR3 0 #define VBT_DP_MAX_LINK_RATE_HBR2 1 -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: Matt Roper <matthew.d.roper@intel.com> To: intel-gfx@lists.freedesktop.org Subject: [Intel-gfx] [PATCH 3/5] drm/i915: Add missing AUX channel H & I support Date: Fri, 25 Oct 2019 16:06:21 -0700 [thread overview] Message-ID: <20191025230623.27829-4-matthew.d.roper@intel.com> (raw) Message-ID: <20191025230621.f4JGT2ZjApwXNCI7_EyyfZ4u2SPHYwB-s0TDY1kXw5A@z> (raw) In-Reply-To: <20191025230623.27829-1-matthew.d.roper@intel.com> TGL's extra ports also bring extra AUX channels. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> --- drivers/gpu/drm/i915/display/intel_bios.c | 6 ++++ drivers/gpu/drm/i915/display/intel_display.c | 36 +++++-------------- drivers/gpu/drm/i915/display/intel_display.h | 2 ++ drivers/gpu/drm/i915/display/intel_dp.c | 4 +++ drivers/gpu/drm/i915/display/intel_vbt_defs.h | 2 ++ 5 files changed, 22 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index fe302338b7fd..3867b41338a7 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -2339,6 +2339,12 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv, case DP_AUX_G: aux_ch = AUX_CH_G; break; + case DP_AUX_H: + aux_ch = AUX_CH_H; + break; + case DP_AUX_I: + aux_ch = AUX_CH_I; + 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 cbf9cf30050c..e45ed0c07d0d 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -6847,39 +6847,19 @@ intel_aux_power_domain(struct intel_digital_port *dig_port) if (intel_phy_is_tc(dev_priv, phy) && dig_port->tc_mode == TC_PORT_TBT_ALT) { - switch (dig_port->aux_ch) { - case AUX_CH_C: - return POWER_DOMAIN_AUX_C_TBT; - case AUX_CH_D: - return POWER_DOMAIN_AUX_D_TBT; - case AUX_CH_E: - 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: + if (dig_port->aux_ch >= AUX_CH_C && + dig_port->aux_ch <= AUX_CH_I) { + return POWER_DOMAIN_AUX_C_TBT + dig_port->aux_ch - + AUX_CH_C; + } else { MISSING_CASE(dig_port->aux_ch); return POWER_DOMAIN_AUX_C_TBT; } } - switch (dig_port->aux_ch) { - case AUX_CH_A: - return POWER_DOMAIN_AUX_A; - case AUX_CH_B: - return POWER_DOMAIN_AUX_B; - case AUX_CH_C: - return POWER_DOMAIN_AUX_C; - case AUX_CH_D: - return POWER_DOMAIN_AUX_D; - case AUX_CH_E: - return POWER_DOMAIN_AUX_E; - case AUX_CH_F: - return POWER_DOMAIN_AUX_F; - case AUX_CH_G: - return POWER_DOMAIN_AUX_G; - default: + if (dig_port->aux_ch <= AUX_CH_I) { + return POWER_DOMAIN_AUX_A + dig_port->aux_ch; + } else { 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 ca7ca2804d8b..9ccaae41a8ad 100644 --- a/drivers/gpu/drm/i915/display/intel_display.h +++ b/drivers/gpu/drm/i915/display/intel_display.h @@ -275,6 +275,8 @@ enum aux_ch { AUX_CH_E, /* ICL+ */ AUX_CH_F, AUX_CH_G, + AUX_CH_H, + AUX_CH_I, }; #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 86989ec25bc6..65bab46f7b43 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1667,6 +1667,8 @@ static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp) case AUX_CH_E: case AUX_CH_F: case AUX_CH_G: + case AUX_CH_H: + case AUX_CH_I: return DP_AUX_CH_CTL(aux_ch); default: MISSING_CASE(aux_ch); @@ -1688,6 +1690,8 @@ static i915_reg_t skl_aux_data_reg(struct intel_dp *intel_dp, int index) case AUX_CH_E: case AUX_CH_F: case AUX_CH_G: + case AUX_CH_H: + case AUX_CH_I: 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 e7057f53866a..49caa066061d 100644 --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h @@ -329,6 +329,8 @@ enum vbt_gmbus_ddi { #define DP_AUX_E 0x50 #define DP_AUX_F 0x60 #define DP_AUX_G 0x70 +#define DP_AUX_H 0x80 +#define DP_AUX_I 0x90 #define VBT_DP_MAX_LINK_RATE_HBR3 0 #define VBT_DP_MAX_LINK_RATE_HBR2 1 -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2019-10-25 23:06 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-25 23:06 [PATCH 0/5] DP AUX updates Matt Roper 2019-10-25 23:06 ` [Intel-gfx] " Matt Roper 2019-10-25 23:06 ` [PATCH 1/5] drm/i915/tgl: Handle AUX interrupts for TC ports Matt Roper 2019-10-25 23:06 ` [Intel-gfx] " Matt Roper 2019-10-25 23:11 ` Lucas De Marchi 2019-10-25 23:11 ` [Intel-gfx] " Lucas De Marchi 2019-10-25 23:06 ` [PATCH 2/5] drm/i915: Drop unused AUX register offsets Matt Roper 2019-10-25 23:06 ` [Intel-gfx] " Matt Roper 2019-10-25 23:11 ` Lucas De Marchi 2019-10-25 23:11 ` [Intel-gfx] " Lucas De Marchi 2019-10-26 5:12 ` Matt Roper 2019-10-26 5:12 ` [Intel-gfx] " Matt Roper 2019-10-25 23:06 ` Matt Roper [this message] 2019-10-25 23:06 ` [Intel-gfx] [PATCH 3/5] drm/i915: Add missing AUX channel H & I support Matt Roper 2019-10-25 23:13 ` Lucas De Marchi 2019-10-25 23:13 ` [Intel-gfx] " Lucas De Marchi 2019-10-28 14:57 ` Matt Roper 2019-10-28 14:57 ` [Intel-gfx] " Matt Roper 2019-10-29 17:59 ` Lucas De Marchi 2019-10-29 17:59 ` [Intel-gfx] " Lucas De Marchi 2019-10-25 23:06 ` [PATCH 4/5] drm/i915: Provide more information on DP AUX failures Matt Roper 2019-10-25 23:06 ` [Intel-gfx] " Matt Roper 2019-10-25 23:19 ` Lucas De Marchi 2019-10-25 23:19 ` [Intel-gfx] " Lucas De Marchi 2019-10-25 23:25 ` Matt Roper 2019-10-25 23:25 ` [Intel-gfx] " Matt Roper 2019-10-25 23:32 ` Lucas De Marchi 2019-10-25 23:32 ` [Intel-gfx] " Lucas De Marchi 2019-10-29 17:31 ` [PATCH v2 " Matt Roper 2019-10-29 17:31 ` [Intel-gfx] " Matt Roper 2019-10-29 19:33 ` Lucas De Marchi 2019-10-29 19:33 ` [Intel-gfx] " Lucas De Marchi 2019-10-28 16:43 ` [PATCH " Ville Syrjälä 2019-10-28 16:43 ` [Intel-gfx] " Ville Syrjälä 2019-10-25 23:06 ` [PATCH 5/5] drm/i915/tgl: Add AUX B & C to DC_OFF_POWER_DOMAINS Matt Roper 2019-10-25 23:06 ` [Intel-gfx] " Matt Roper 2019-10-25 23:24 ` Lucas De Marchi 2019-10-25 23:24 ` [Intel-gfx] " Lucas De Marchi 2019-10-26 8:57 ` Imre Deak 2019-10-26 8:57 ` [Intel-gfx] " Imre Deak 2019-10-26 1:09 ` ✗ Fi.CI.BUILD: failure for DP AUX updates Patchwork 2019-10-26 1:09 ` [Intel-gfx] " Patchwork 2019-10-26 5:37 ` ✗ Fi.CI.CHECKPATCH: warning for DP AUX updates (rev2) Patchwork 2019-10-26 5:37 ` [Intel-gfx] " Patchwork 2019-10-26 5:57 ` ✗ Fi.CI.BAT: failure " Patchwork 2019-10-26 5:57 ` [Intel-gfx] " Patchwork 2019-10-26 6:26 ` ✗ Fi.CI.CHECKPATCH: warning for DP AUX updates (rev3) Patchwork 2019-10-26 6:26 ` [Intel-gfx] " Patchwork 2019-10-26 6:47 ` ✓ Fi.CI.BAT: success " Patchwork 2019-10-26 6:47 ` [Intel-gfx] " Patchwork 2019-10-28 1:02 ` ✓ Fi.CI.IGT: " Patchwork 2019-10-28 1:02 ` [Intel-gfx] " Patchwork 2019-10-29 17:58 ` Matt Roper 2019-10-29 17:58 ` [Intel-gfx] " Matt Roper 2019-10-29 19:56 ` Matt Roper 2019-10-29 19:56 ` [Intel-gfx] " Matt Roper
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191025230623.27829-4-matthew.d.roper@intel.com \ --to=matthew.d.roper@intel.com \ --cc=intel-gfx@lists.freedesktop.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.