From: Daniel Vetter <daniel@ffwll.ch>
To: Daniel J Blueman <daniel@quora.org>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: i915 SNB: hotplug events when charging causing poor interactivity
Date: Thu, 16 Feb 2012 14:07:37 +0100 [thread overview]
Message-ID: <20120216130723.GA19158@phenom.ffwll.local> (raw)
In-Reply-To: <CAMVG2stp6CWGcOKQq2ka5Di+SyKJpx0YNG7SWg7SzXonud5Pgg@mail.gmail.com>
On Thu, Feb 16, 2012 at 11:44:46AM +0000, Daniel J Blueman wrote:
> When charging Dell E5420 laptops, I see the Sandy Bridge South Display
> Engine port C hotplug interrupt fire consistently at around 20Hz. Each
> scan on the connectors results in ~100ms hold time for the mode_config
> mutex which blocks eg the cursor set ioctl (due to the I2C read
> timeouts across the connectors), resulting in terrible GUI
> interactivity.
We know about this locking issue - it's much worse on platforms where we
need to do load-detect hotplug detection or if for whatever reasons it
takes ages to grab the edid from your screen. The Great Plan (tm) is to
add a per-crtc mutex so that cursor updates and pageflips can continue
while someone else is holding the config_mutex to do background stuff like
hotplug handling. Unfortunately there's tons of other important stuff on
my todo :(
> Notably, when only using battery or only using AC, the port C
> interrupts don't fire. It feels like the platform is using South
> Display Port C for GPIO/I2C; setting the port C pulse duration from
> 2ms to 100ms doesn't change the behaviour. I'll dump off the GPIO
> settings, but what else is good to debug this?
Yep, dumping the register state (intel_reg_dumper from intel-gpu-tools is
handy for that) in the different situations sounds useful.
> Also, have you come across this kind of pattern before, eg a platform
> using these GPIO ports for the something (in this case, feels like the
> EC/battery)? Judging by the lack of a quirks, I'd say not. Perhaps
> also I should dump off the SDE port C IIR mask register before we
> reset it, in case the BIOS intentionally masks out port C hotplug
> events.
If this is indeed the bios we need to quirk this away. But I think we
should check first whether we don't butcher something else accidently.
-Daniel
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48
next prev parent reply other threads:[~2012-02-16 13:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAMVG2suPthuTLfpWH0PJ9uFibNtGAJk5U8BA6RK4x7JcSZP-Ww@mail.gmail.com>
2012-02-16 11:44 ` i915 SNB: hotplug events when charging causing poor interactivity Daniel J Blueman
2012-02-16 13:07 ` Daniel Vetter [this message]
2012-02-21 13:37 ` Daniel J Blueman
2012-02-21 20:02 ` Daniel Vetter
2012-02-21 20:30 ` Andrew Lutomirski
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=20120216130723.GA19158@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=daniel@quora.org \
--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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox