From: Seth Forshee <seth.forshee@canonical.com>
To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: David Airlie <airlied@linux.ie>, Matthew Garrett <mjg@redhat.com>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Andreas Heider <andreas@meetr.de>,
Seth Forshee <seth.forshee@canonical.com>
Subject: [PATCH 0/7] Fixes for hybrid graphics Apple machines
Date: Fri, 7 Sep 2012 10:22:03 -0500 [thread overview]
Message-ID: <1347031330-19657-1-git-send-email-seth.forshee@canonical.com> (raw)
Many hybrid graphics Apple laptops fail to set up LVDS on the secondary
GPU due to missing or incorrect mode information for the panel at init
time. The only way to get the LVDS mode on these machines is via the
DDC, but this is muxed to the active GPU at boot. However, the graphics
mux on these machines supports muxing the i2c idependently of the
display, making it possible for the secondary graphics driver to read
the EDID without a full display switch.
In order to support this, these patches modify vga_switcheroo to allow
muxing of the DDC idependently of the display. apple-gmux is updated to
support this new functionality, and drm_get_edid() is modified to switch
the DDC mux as needed.
For this to work we also need to ensure that sufficient switcheroo
suport is available before initializing the secondary GPU. This is done
by adding any non-active GPUs that try to initialize before switcheroo
is ready to a list and initializing these devices once switcheroo
becomes ready. This behavior is restricted to Apple laptops to prevent
causing problems on other machines.
Thanks,
Seth
Seth Forshee (7):
vga_switcheroo: Add support for switching only the DDC
vga_switcheroo: Add helper function to get the active client
vga_switcheroo: Add notifier call chain for switcheroo events
apple-gmux: Add switch_ddc support
drm/edid: Switch DDC when reading the EDID
drm/pci: Add drm_put_pci_dev()
drm/pci: Defer initialization of secondary graphics devices until
switcheroo is ready
drivers/gpu/drm/ast/ast_drv.c | 2 +-
drivers/gpu/drm/cirrus/cirrus_drv.c | 2 +-
drivers/gpu/drm/drm_drv.c | 3 +
drivers/gpu/drm/drm_edid.c | 17 ++++
drivers/gpu/drm/drm_pci.c | 172 +++++++++++++++++++++++++++++----
drivers/gpu/drm/gma500/psb_drv.c | 2 +-
drivers/gpu/drm/i915/i915_drv.c | 2 +-
drivers/gpu/drm/mgag200/mgag200_drv.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_drv.c | 2 +-
drivers/gpu/drm/radeon/radeon_drv.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +-
drivers/gpu/vga/vga_switcheroo.c | 87 ++++++++++++++++-
drivers/platform/x86/apple-gmux.c | 12 ++-
include/drm/drmP.h | 3 +
include/linux/vga_switcheroo.h | 20 ++++
15 files changed, 302 insertions(+), 28 deletions(-)
next reply other threads:[~2012-09-07 15:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-07 15:22 Seth Forshee [this message]
2012-09-07 15:22 ` [PATCH 1/7] vga_switcheroo: Add support for switching only the DDC Seth Forshee
2012-09-07 15:22 ` [PATCH 2/7] vga_switcheroo: Add helper function to get the active client Seth Forshee
2012-09-07 15:22 ` [PATCH 3/7] vga_switcheroo: Add notifier call chain for switcheroo events Seth Forshee
2012-09-07 15:22 ` [PATCH 4/7] apple-gmux: Add switch_ddc support Seth Forshee
2012-09-07 15:22 ` [PATCH 5/7] drm/edid: Switch DDC when reading the EDID Seth Forshee
2012-09-07 15:22 ` [PATCH 6/7] drm/pci: Add drm_put_pci_dev() Seth Forshee
2012-09-07 15:22 ` [PATCH 7/7] drm/pci: Defer initialization of secondary graphics devices until switcheroo is ready Seth Forshee
2012-09-07 21:35 ` [PATCH 0/7] Fixes for hybrid graphics Apple machines Dave Airlie
2012-09-08 5:07 ` Seth Forshee
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=1347031330-19657-1-git-send-email-seth.forshee@canonical.com \
--to=seth.forshee@canonical.com \
--cc=airlied@linux.ie \
--cc=andreas@meetr.de \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).