From: Seth Forshee <seth.forshee@canonical.com>
To: Daniel J Blueman <daniel@quora.org>
Cc: Seth Forshee <seth.forshee@canonical.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: bad panel power sequencing delays, disabling panel
Date: Wed, 24 Oct 2012 10:17:42 -0500 [thread overview]
Message-ID: <20121024151742.GC27122@thinkpad-t410> (raw)
In-Reply-To: <CAMVG2svY+YbK_hm1kG_rQsZr6ZHaA1sEW3nKRiV6iQEjz=oLwg@mail.gmail.com>
On Wed, Oct 24, 2012 at 09:51:15PM +0800, Daniel J Blueman wrote:
> >> > Is there a way to trigger re-enumeration of the panels after I
> >> > switcheroo to i915?
> >> >
> >> > I'm checking with Seth if the mux could be the issue, though the code
> >> > shows there would be an error message if switching failed.
> >>
> >> Iirc Dave Airlie has patches to delay the driver init until the mux code
> >> is all set up, so that the driver could request the mux to be switched
> >> while init is ongoing.
> >
> > Actually those were my patches, which Dave rejected. I haven't had the
> > time yet to try and find yet another way of getting switcheroo to work
> > on these machines.
>
> Generally, this sounds like a needed approach so we can boot with eg
> video=igd (or module options to the same effect) in case we need to
> avoid certain userspace issues.
Some approach is needed. The following are the challenges we're facing
as I understand them.
1. It looks like DRM seems to expect drivers to enumerate all possible
connectors during initialization. So i915 can't say there's no eDP
or LVDS connector during initialization and later add one.
2. Macs generally don't supply a VBT for the integrated GPU, and
sometimes when they do the informaton in the VBT is incorrect, so
i915 can't reliably determine whether or not the machine should have
LVDS or eDP if the mux is switched to the DGPU at boot.
3. In order to switch the mux while i915 is initializing we need to
ensure that the switcheroo handler is registered before this
happens. Since the mux in this case is in a completely separate
driver there's no obvious way of making this happen.
Also, I'm not really familiar at all with DisplayPort. The solution
of switching the mux during driver initialization assumes that we
really only need to switch the i2c lines. If eDP requires also
switching the display signals then that's obviously going to present
a problem.
One way that I know can be made to work for LVDS is to add quirks for
each specific machine to supply the mode information. This has the
downside of requiring that new machines be quirked before switcheroo
will work, and I'm again uncertain of the viability of this solution for
eDP.
If anyone has suggestions, I'm all ears.
Seth
prev parent reply other threads:[~2012-10-24 15:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-13 5:28 bad panel power sequencing delays, disabling panel Daniel J Blueman
2012-10-16 13:26 ` Daniel J Blueman
2012-10-16 14:43 ` Daniel Vetter
2012-10-16 15:15 ` Daniel J Blueman
2012-10-16 15:16 ` Daniel Vetter
2012-10-16 16:10 ` Daniel J Blueman
2012-10-16 16:43 ` Daniel Vetter
2012-10-24 5:27 ` Daniel J Blueman
2012-10-24 8:03 ` Daniel Vetter
2012-10-24 12:56 ` Seth Forshee
2012-10-24 13:51 ` Daniel J Blueman
2012-10-24 15:17 ` Seth Forshee [this message]
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=20121024151742.GC27122@thinkpad-t410 \
--to=seth.forshee@canonical.com \
--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 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.