All of lore.kernel.org
 help / color / mirror / Atom feed
* No VBT in OpRegion / Switching MBP Arrandale
@ 2010-08-27 10:19 Andreas Heider
  2010-08-30  7:08 ` [BUG] LVDS using single instead of dual channel mode Andreas Heider
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andreas Heider @ 2010-08-27 10:19 UTC (permalink / raw)
  To: intel-gfx

Hello everyone,
at the moment i'm trying to get vga_switcheroo working on a 2010 macbook pro. This laptop has two graphics cards, a dedicated nvidia one and an integrated intel arrandale chip. Switching is still pretty rough but it kind of works and it's possible to get the intel card connected to the display.

The main problem at the moment is that when using the intel card the display is somehow corrupted and streched. I guess it's best to show you a picture: http://i.imgur.com/Qnbvp.jpg

When loading the i915 module it displays an error in dmesg which has probably something to do with the distortion: 
[   23.271254] i915 0000:00:02.0: Invalid ROM contents
[   23.272049] [drm:intel_init_bios] *ERROR* VBT signature missing
[   23.273002] [drm] failed to find VBIOS tables

Apple's switching method is a bit weird and their support for other operating systems even more. When booting another os via the bios emulation only the nvidia card is active, the intel one is somehow hidden and doesn't even display in lspci. You have to boot via efi to get access to both cards. But when using efi the video bios seems to be missing and for the nvidia card I had to dump the vbios and load it with grub during boot time. 
But as the intel card isn't there in bios mode it's not possible to dump the intel vbios and I didn't manage to dump it in osx either.

I was advised to try the "Use the VBT from OpRegion when available"-patch which I did but it didn't change a lot. The OpRegion is there with a few things in the header (the signature etc. is there) but where the VBT should be are only zeroes.
I dumped the OpRegion both in bios and efi mode (it's there even though the intel card doesn't show up in bios mode) and the VBT is also missing in bios mode.

Does anyone have a clue what to do with this situation? Is it possible to fix the distortion without a vbios? Apart from that everything seems to work fine.

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

* [BUG] LVDS using single instead of dual channel mode
  2010-08-27 10:19 No VBT in OpRegion / Switching MBP Arrandale Andreas Heider
@ 2010-08-30  7:08 ` Andreas Heider
  2010-08-30 14:34 ` No VBT in OpRegion / Switching MBP Arrandale Adam Jackson
  2010-09-07 14:08 ` Adam Jackson
  2 siblings, 0 replies; 4+ messages in thread
From: Andreas Heider @ 2010-08-30  7:08 UTC (permalink / raw)
  To: intel-gfx

Hi,

after a lot of debugging i found the cause of the distortion described in my earlier mail ([Intel-gfx] No VBT in OpRegion / Switching MBP Arrandale):
 In intel_display.c, static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc) it didn't detect that the panel needed dual channel mode. 
((I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP) returns 0 after boot.

I added circumvented the check and forced dual channel mode and the problem is gone, but i doubt that's a solution that could make it into the main version of the driver.

How could this be resolved in a clean way?

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

* Re: No VBT in OpRegion / Switching MBP Arrandale
  2010-08-27 10:19 No VBT in OpRegion / Switching MBP Arrandale Andreas Heider
  2010-08-30  7:08 ` [BUG] LVDS using single instead of dual channel mode Andreas Heider
@ 2010-08-30 14:34 ` Adam Jackson
  2010-09-07 14:08 ` Adam Jackson
  2 siblings, 0 replies; 4+ messages in thread
From: Adam Jackson @ 2010-08-30 14:34 UTC (permalink / raw)
  To: Andreas Heider; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 1026 bytes --]

On Fri, 2010-08-27 at 12:19 +0200, Andreas Heider wrote:
> Hello everyone,
> at the moment i'm trying to get vga_switcheroo working on a 2010
> macbook pro. This laptop has two graphics cards, a dedicated nvidia
> one and an integrated intel arrandale chip. Switching is still pretty
> rough but it kind of works and it's possible to get the intel card
> connected to the display.

It would be interesting to know if there's a VBT on the machine at all
anywhere.  It might be hiding in an ACPI reserved or non-volatile
region; /proc/iomem will show you where those are, and you can scrape
them out of /dev/mem with clever use of dd(1).

Or, Apple might have decided to do their own thing, in which case it's
all much harder.

The dual-channel LVDS thing you mention in the next message is a fair
point.  We should be able to just look at the native panel mode timings
and _know_ whether it needs to be dual-channel.  I think the break
frequency is 112MHz, I'm sure the docs have the real number.

- ajax

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: No VBT in OpRegion / Switching MBP Arrandale
  2010-08-27 10:19 No VBT in OpRegion / Switching MBP Arrandale Andreas Heider
  2010-08-30  7:08 ` [BUG] LVDS using single instead of dual channel mode Andreas Heider
  2010-08-30 14:34 ` No VBT in OpRegion / Switching MBP Arrandale Adam Jackson
@ 2010-09-07 14:08 ` Adam Jackson
  2 siblings, 0 replies; 4+ messages in thread
From: Adam Jackson @ 2010-09-07 14:08 UTC (permalink / raw)
  To: Andreas Heider; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 1019 bytes --]

On Fri, 2010-08-27 at 12:19 +0200, Andreas Heider wrote: 
> Hello everyone,
> at the moment i'm trying to get vga_switcheroo working on a 2010
> macbook pro. This laptop has two graphics cards, a dedicated nvidia
> one and an integrated intel arrandale chip. Switching is still pretty
> rough but it kind of works and it's possible to get the intel card
> connected to the display.

It would be interesting to know if there's a VBT on the machine at all
anywhere.  It might be hiding in an ACPI reserved or non-volatile
region; /proc/iomem will show you where those are, and you can scrape
them out of /dev/mem with clever use of dd(1).

Or, Apple might have decided to do their own thing, in which case it's
all much harder.

The dual-channel LVDS thing you mention in the next message is a fair
point.  We should be able to just look at the native panel mode timings
and _know_ whether it needs to be dual-channel.  I think the break
frequency is 112MHz, I'm sure the docs say for sure.

- ajax

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

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

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-27 10:19 No VBT in OpRegion / Switching MBP Arrandale Andreas Heider
2010-08-30  7:08 ` [BUG] LVDS using single instead of dual channel mode Andreas Heider
2010-08-30 14:34 ` No VBT in OpRegion / Switching MBP Arrandale Adam Jackson
2010-09-07 14:08 ` Adam Jackson

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.