[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1343601889.2487.3.camel@shinybook.infradead.org>
Date: Sun, 29 Jul 2012 23:44:49 +0100
From: David Woodhouse <dwmw2@...radead.org>
To: Andreas Heider <andreas@...tr.de>
Cc: Matthew Garrett <mjg59@...f.ucam.org>,
Arun Raghavan <arun.raghavan@...labora.co.uk>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] apple-gmux: Restore switch registers on suspend/resume
On Sun, 2012-07-29 at 09:46 +0200, Andreas Heider wrote:
> The gmux code you're using is a bit outdated, but if you use
> git://kernel.ubuntu.com/sforshee/linux.git gmux-switcheroo and connect
> an external display (I tested it with a DP one) you should be able to
> boot to DIS and switch to the IGD and get output on the external display.
Matthew's version has changes to the core vga_switcheroo code too, to
add the ->client_active() method which lets it pick the right client at
init time. I'll let you work out how to merge the two, but in the
meantime here's what I needed to do to Matthew's one to make it work...
diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c
index 321d17c..e2149e6 100644
--- a/drivers/gpu/vga/vga_switcheroo.c
+++ b/drivers/gpu/vga/vga_switcheroo.c
@@ -108,6 +108,7 @@ static void vga_switcheroo_enable(void)
ret = vgasr_priv.handler->get_client_id(client->pdev);
if (ret < 0)
return;
+ client->id = ret;
if (vgasr_priv.handler->client_active) {
active = vgasr_priv.handler->client_active(client->id);
@@ -117,7 +118,7 @@ static void vga_switcheroo_enable(void)
* but the client itself doesn't, update state
*/
- if (active && !client->active) {
+ if (active && !client->active && client->fb_info) {
struct fb_event event;
event.info = client->fb_info;
fb_notifier_call_chain(FB_EVENT_REMAP_ALL_CONSOLE, &event);
@@ -125,8 +126,6 @@ static void vga_switcheroo_enable(void)
client->active = active;
}
-
- client->id = ret;
}
vga_switcheroo_debugfs_init(&vgasr_priv);
vgasr_priv.active = true;
--
dwmw2
Download attachment "smime.p7s" of type "application/x-pkcs7-signature" (6171 bytes)
Powered by blists - more mailing lists