Re: [PATCH 25.1/49] drm/i915/bxt: support for HPD long/short status decoding

Imre Deak
2015-04-08T11:18:29Z

On ke, 2015-04-08 at 13:58 +0300, Jani Nikula wrote:
> On Fri, 27 Mar 2015, Imre Deak <imre.deak@intel.com> wrote:
> > All non-GMCH platforms have the same register layout for HPD long/short
> > status, so let's use this condition instead of HAS_PCH_SPLIT, as the
> > latter doesn't apply for BXT.
> >
> > Noticed by Daniel.
> >
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_irq.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index 4833e2b..17eed72 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -1446,7 +1446,7 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev,
> > if (port && dev_priv->hpd_irq_port[port]) {
> > bool long_hpd;
> >
> > - if (HAS_PCH_SPLIT(dev)) {
> > + if (!HAS_GMCH_DISPLAY(dev_priv)) {
> > dig_shift = pch_port_to_hotplug_shift(port);
>
> This is (will be) broken for port A.

HPD on port A is not supported atm on any platforms. On BXT we also WARN
if someone tried to enable it in bxt_hpd_irq_setup(). I think adding
support for this is a separate (follow-up) issue.

>
> > long_hpd = (dig_hotplug_reg >> dig_shift) & PORTB_HOTPLUG_LONG_DETECT;
> > } else {
> > --
> > 2.1.0
> >