All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: Egbert Eich <eich@suse.de>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH] drm/i915: implement ibx_hpd_irq_setup
Date: Wed, 27 Mar 2013 16:42:01 +0100	[thread overview]
Message-ID: <20130327154201.GC2228@phenom.ffwll.local> (raw)
In-Reply-To: <20130327150554.GD4469@intel.com>

On Wed, Mar 27, 2013 at 05:05:54PM +0200, Ville Syrjälä wrote:
> On Wed, Mar 27, 2013 at 03:55:01PM +0100, Daniel Vetter wrote:
> > This fixes a regression introduced in
> > 
> > commit e5868a318d1ae28f760f77bb91ce5deb751733fd
> > Author: Egbert Eich <eich@suse.de>
> > Date:   Thu Feb 28 04:17:12 2013 -0500
> > 
> >     DRM/i915: Convert HPD interrupts to make use of HPD pin assignment in encode
> > 
> > Due to the irq setup rework in 3.9, see
> > 
> > commit 20afbda209d708be66944907966486d0c1331cb8
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Tue Dec 11 14:05:07 2012 +0100
> > 
> >     drm/i915: Fixup hpd irq register setup ordering
> > 
> > Egbert Eich's hpd rework blows up on pch-split platforms - it walks
> > the encoder list before that has been set up completely. The new init
> > sequence is:
> > 
> > 1. irq enabling
> > 2. modeset init
> > 3. hpd setup
> > 
> > We need to move around the ibx setup a bit to fix this.
> > 
> > Ville Syrjälä pointed out in his review that we can't touch SDEIER
> > after the interrupt handler is set up, since that'll race with Paulo
> > Zanoni's PCH interrupt race fix:
> > 
> > commit 44498aea293b37af1d463acd9658cdce1ecdf427
> > Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > Date:   Fri Feb 22 17:05:28 2013 -0300
> > 
> >     drm/i915: also disable south interrupts when handling them
> > 
> > We fix that by unconditionally enabling all interrupts in SDEIER, but
> > masking them as-needed in SDEIMR. Since only the single-threaded
> > setup/teardown (or suspend/resume) code touches that, no further
> > locking is required.
> > 
> > While at it also simplify the mask handling - we start out with all
> > interrupts cleared in the postinstall hook, and never enable a hpd
> > interrupt before hpd_irq_setup is called.
> > 
> > And finally, for consistency rename the ibx hpd setup function to
> > ibx_hpd_irq_setup.
> > 
> > v2: Fix race around SDEIER writes (Ville).
> > 
> > v3: Remove the superflous posting read for SDEIER, spotted by Ville.
> > 
> > Ville also wondered whether we shouldn't clear SDEIIR, since now
> > SDE interrupts are enabled before we have an irq handler installed.
> > But the master interrupt control bit in DEIER is still cleared, so we
> > should be fine.
> > 
> > Cc: Egbert Eich <eich@suse.de>
> > Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> Makes sense to me.
> 
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Queued for -next, thanks for the patch. I've just pushed down the patch a
bit to keep the bisect regression window small, but not squashed - keeping
a record of our discussion seemed beneficial.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

  reply	other threads:[~2013-03-27 15:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-26 23:44 [PATCH] drm/i915: implement ibx_hpd_irq_setup Daniel Vetter
2013-03-27 14:03 ` Ville Syrjälä
2013-03-27 14:47   ` [PATCH] drm/i915: clear crt hotplug compare voltage field before setting Daniel Vetter
2013-03-27 15:02     ` Ville Syrjälä
2013-03-27 15:41       ` Daniel Vetter
2013-03-27 14:55   ` [PATCH] drm/i915: implement ibx_hpd_irq_setup Daniel Vetter
2013-03-27 15:05     ` Ville Syrjälä
2013-03-27 15:42       ` Daniel Vetter [this message]
2013-03-29 16:35 ` Egbert Eich
2013-04-01 18:13   ` Daniel Vetter
2013-04-02  8:49     ` Egbert Eich

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=20130327154201.GC2228@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=daniel.vetter@ffwll.ch \
    --cc=eich@suse.de \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=ville.syrjala@linux.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.