From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Souza, Jose" <jose.souza@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [10/12] drm/i915: Introduce HPD_PORT_TC<n>
Date: Mon, 14 Sep 2020 17:48:41 +0300 [thread overview]
Message-ID: <20200914144841.GP6112@intel.com> (raw)
In-Reply-To: <339a1180e5fb4d762b15aa7bce90da9db6cd8cdb.camel@intel.com>
On Sat, Sep 12, 2020 at 01:30:23AM +0000, Souza, Jose wrote:
> On Wed, 2020-07-01 at 00:55 +0300, Ville Syrjala wrote:
> > From: Ville Syrjälä <
> > ville.syrjala@linux.intel.com
> > >
> >
> > Make a clean split between hpd pins for DDI vs. TC. This matches
> > how the actual hardware is split.
> >
> > And with this we move the DDI/PHY->HPD pin mapping into the encoder
> > init instead of having to remap yet again in the interrupt code.
> >
> > Signed-off-by: Ville Syrjälä <
> > ville.syrjala@linux.intel.com
> > >
> > ---
> > drivers/gpu/drm/i915/display/intel_ddi.c | 65 +++++++++-
> > drivers/gpu/drm/i915/display/intel_hotplug.c | 25 +---
> > drivers/gpu/drm/i915/i915_drv.h | 17 +--
> > drivers/gpu/drm/i915/i915_irq.c | 121 +++++--------------
> > 4 files changed, 102 insertions(+), 126 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> > index d024491738b3..a2c9815c5abc 100644
> > --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> > @@ -4847,6 +4847,57 @@ intel_ddi_max_lanes(struct intel_digital_port *intel_dport)
> > return max_lanes;
> > }
> >
> > +static enum hpd_pin tgl_hpd_pin(struct drm_i915_private *dev_priv,
> > + enum port port)
> > +{
> > + if (port >= PORT_D)
> > + return HPD_PORT_TC1 + port - PORT_D;
> > + else
> > + return HPD_PORT_A + port - PORT_A;
> > +}
> > +
> > +static enum hpd_pin rkl_hpd_pin(struct drm_i915_private *dev_priv,
> > + enum port port)
> > +{
> > + if (HAS_PCH_TGP(dev_priv))
> > + return tgl_hpd_pin(dev_priv, port);
> > +
> > + if (port >= PORT_D)
> > + return HPD_PORT_C + port - PORT_D;
>
> The above looks wrong, for it would match with only the return bellow.
On rkl+tgp we want:
PORT_A (DDI A) -> HPD_PORT_A
PORT_B (DDI B) -> HPD_PORT_B
PORT_D (DDI TC1) -> HPD_PORT_TC1
PORT_E (DDI TC2) -> HPD_PORT_TC2
On rkl+cmp we want:
PORT_A (DDI A) -> HPD_PORT_A
PORT_B (DDI B) -> HPD_PORT_B
PORT_D (DDI TC1) -> HPD_PORT_C
PORT_E (DDI TC2) -> HPD_PORT_D
>
> > + else
> > + return HPD_PORT_A + port - PORT_A;
> > +}
> > +
> > +static enum hpd_pin icl_hpd_pin(struct drm_i915_private *dev_priv,
> > + enum port port)
> > +{
> > + if (port >= PORT_C)
> > + return HPD_PORT_TC1 + port - PORT_C;
> > + else
> > + return HPD_PORT_A + port - PORT_A;
> > +}
> > +
> > +static enum hpd_pin ehl_hpd_pin(struct drm_i915_private *dev_priv,
> > + enum port port)
> > +{
> > + if (port == PORT_D)
> > + return HPD_PORT_A;
> > +
> > + if (HAS_PCH_MCC(dev_priv))
> > + return icl_hpd_pin(dev_priv, port);
>
> Maybe call tgl_hpd_pin() for HAS_PCH_MCC()? The code bellow will match but just for consistency.
On jsl+mcc we want:
PORT_A/D (DDI A/D) -> HPD_PORT_A
PORT_B (DDI B) -> HPD_PORT_B
PORT_C (DDI C) -> HPD_PORT_TC1
on jsl+icp we want:
PORT_A/D (DDI A/D) -> HPD_PORT_A
PORT_B (DDI B) -> HPD_PORT_B
PORT_C (DDI C) -> HPD_PORT_C
--
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2020-09-14 14:48 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 21:55 [Intel-gfx] [PATCH 00/12] drm/i915: Futher hotplug cleanups Ville Syrjala
2020-06-30 21:55 ` [Intel-gfx] [PATCH 01/12] drm/i915: Add more AUX CHs to the enum Ville Syrjala
2020-09-08 16:21 ` [Intel-gfx] [01/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 02/12] drm/i915: Add PORT_{H, I} to intel_port_to_power_domain() Ville Syrjala
2020-09-08 16:21 ` [Intel-gfx] [02/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 03/12] drm/i915: Add AUX_CH_{H, I} power domain handling Ville Syrjala
2020-09-08 16:23 ` [Intel-gfx] [03/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 04/12] drm/i915: Add VBT DVO ports H and I Ville Syrjala
2020-09-08 16:37 ` [Intel-gfx] [04/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 05/12] drm/i915: Add VBT AUX CH " Ville Syrjala
2020-09-08 16:38 ` [Intel-gfx] [05/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 06/12] drm/i915: Nuke the redundant TC/TBT HPD bit defines Ville Syrjala
2020-09-08 16:41 ` [Intel-gfx] [06/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 07/12] drm/i915: Configure GEN11_{TBT, TC}_HOTPLUG_CTL for ports TC5/6 Ville Syrjala
2020-09-08 16:45 ` [Intel-gfx] [07/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 08/12] drm/i915: Split icp_hpd_detection_setup() into ddi vs. tc parts Ville Syrjala
2020-09-08 16:49 ` [Intel-gfx] [08/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 09/12] drm/i915: Move hpd_pin setup to encoder init Ville Syrjala
2020-09-08 16:57 ` [Intel-gfx] [09/12] " Souza, Jose
2020-06-30 21:55 ` [Intel-gfx] [PATCH 10/12] drm/i915: Introduce HPD_PORT_TC<n> Ville Syrjala
2020-09-12 1:30 ` [Intel-gfx] [10/12] " Souza, Jose
2020-09-14 14:48 ` Ville Syrjälä [this message]
2020-09-14 16:58 ` Souza, Jose
2020-09-14 17:06 ` Ville Syrjälä
2020-06-30 21:56 ` [Intel-gfx] [PATCH 11/12] drm/i915: Introduce intel_hpd_hotplug_irqs() Ville Syrjala
2020-09-09 0:46 ` [Intel-gfx] [11/12] " Souza, Jose
2020-09-09 19:17 ` Ville Syrjälä
2020-06-30 21:56 ` [Intel-gfx] [PATCH 12/12] drm/i915: Nuke pointless variable Ville Syrjala
2020-09-08 17:00 ` [Intel-gfx] [12/12] " Souza, Jose
2020-06-30 22:36 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Futher hotplug cleanups Patchwork
2020-07-01 3:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-07-01 6:53 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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=20200914144841.GP6112@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jose.souza@intel.com \
/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: link
Be 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.