From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755114Ab2GaPTJ (ORCPT ); Tue, 31 Jul 2012 11:19:09 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:56379 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754986Ab2GaPTF (ORCPT ); Tue, 31 Jul 2012 11:19:05 -0400 Date: Tue, 31 Jul 2012 10:18:56 -0500 From: Seth Forshee To: Matthew Garrett Cc: David Woodhouse , Andreas Heider , Arun Raghavan , linux-kernel@vger.kernel.org, airlied@redhat.com Subject: Re: [PATCH] apple-gmux: Restore switch registers on suspend/resume Message-ID: <20120731151856.GA19979@thinkpad-t410> Mail-Followup-To: Matthew Garrett , David Woodhouse , Andreas Heider , Arun Raghavan , linux-kernel@vger.kernel.org, airlied@redhat.com References: <1341891593-6485-1-git-send-email-arun.raghavan@collabora.co.uk> <20120710160555.GA31562@srcf.ucam.org> <20120710163516.GE10194@thinkpad-t410> <4FFCC7FB.1090609@meetr.de> <1343522547.2488.12.camel@shinybook.infradead.org> <1343524730.1962.5.camel@shinybook.infradead.org> <20120729193953.GA25132@srcf.ucam.org> <1343595171.2511.1.camel@shinybook.infradead.org> <20120729205859.GA25819@srcf.ucam.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120729205859.GA25819@srcf.ucam.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jul 29, 2012 at 09:59:00PM +0100, Matthew Garrett wrote: > On Sun, Jul 29, 2012 at 09:52:51PM +0100, David Woodhouse wrote: > > On Sun, 2012-07-29 at 20:39 +0100, Matthew Garrett wrote: > > > And it looks like intel_lvds->edid is only set during intel_lvds_init(). > > > That seems less than ideal. How about something like this entirely > > > untested patch? > > > > Actually, it works if I write 'MIGD' first and then 'IGD'. Looks like we > > aren't switching the DDC over to the new gfx card soon enough in the > > process? > > Yes, the call to the switcheroo code only comes after the card is > powered on. Cc:ing Dave Airlie - what are the expectations here? It > looks like i915 should have a reprobe function. I dove into this yesterday and ended up with something similar to what you had. I'm rescanning for the EDID from the reprobe callback, and I also made it so that intel_lvds_init() will still keep the LVDS connector even if the panel isn't attached at boot and intel_lvds_detect() returns connected/disconnected based on whether or not we found an EDID for the LVDS. All of this is working to the extent that I can boot with the Radeon card active, switch over to the Intel card, and get the EDID for the internal panel and an external monitor (although oddly on an HDMI connector, no on the DP like I expected). Both screens are remaining blank though. However I'm also getting blank screens if I mux over to the Intel GPU from grub before loading the kernel, which used to work for the LVDS panel at least. I've copied the whole series of patches I'm running on top of 3.5 to http://people.canonical.com/~sforshee/apple-gmux-patches if anyone else wants to give them a try. The i915 changes are in patches 13-17. I've also pushed the i915 patches to my gmux-switcheroo branch. Seth