linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] Fixes for hybrid graphics Apple machines
@ 2012-09-07 15:22 Seth Forshee
  2012-09-07 15:22 ` [PATCH 1/7] vga_switcheroo: Add support for switching only the DDC Seth Forshee
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Seth Forshee @ 2012-09-07 15:22 UTC (permalink / raw)
  To: dri-devel, linux-kernel
  Cc: David Airlie, Matthew Garrett, Daniel Vetter, Andreas Heider,
	Seth Forshee

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(-)


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-09-08  5:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-07 15:22 [PATCH 0/7] Fixes for hybrid graphics Apple machines Seth Forshee
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

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).