[BUG] i915/intel-acpi.c: failed to get supported _DSM functions (was: [Dual-LVDS Acer Iconia laptop] i915/DRM issue: one screen stays off)

Baptiste Jonglez baptiste at jonglez.org
Mon Dec 5 12:56:47 PST 2011


CC-ing intel-gfx at lists.freedesktop.org (see below)

On Mon, Dec 05, 2011 at 11:00:41AM +0800, joeyli wrote:
> Add Cc. to platform-driver-x86 and linux-acpi
> 
> Hi Baptiste
> 
> 於 日,2011-12-04 於 17:07 +0100,Baptiste Jonglez 提到:
> > Hi,
> > 
> > I've got a lot of troubles with a dual-LVDS Acer laptop (it doesn't
> > have a keyboard, but two displays with touchscreens)
> > 
> > The Intel GPU is integrated into the Core i5-480M CPU: it's a bit
> > older than Sandybridge, as it seems to be based on the Arrandale
> > micro-architecture.
> > 
> > In the BIOS, both displays work fine; but as soon as the kernel boots
> > up, the second display (i.e. the one where you usually find a
> > keyboard) is turned off. The main display works as expected.
> > 
> > xrandr reports two LVDS displays: LVDS1, which is connected, and
> > LVDS2, which is marked as "disconnected". No matter what I tried, I
> > can't bring that second display up.
> > 
> > During the boot, just after the drm is set up, the following message
> > shows up:
> > 
> >   [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions
> > 
> > (attached is the relevant part of dmesg [1])
> > 
> > 
> 
> Have no idea for this _DSM error, need help from drm and acpi experts.

It definitely looks like an ACPI issue.
That function is defined in `drivers/gpu/drm/i915/intel_acpi.c'.
The whole file was added more than a year ago by commit 723bfd707a97
(see the relevant thread on intel-gfx@ [1]) to "add _DSM support".
One of the first comment is about "Calpella", which is exactly the
platform of my laptop (as shown by lshw)

However, I honestly don't know what is wrong with that code...
Is there anything I can provide to sort things out?

> > I then tried booting with "video=LVDS-2:e". The same message shows up
> > while booting, with these two following:
> > 
> >   [drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on [CRTC:4]
> >   fbcon_init: detected unhandled fb_set_par error, error code -22
> > 
> > (attached is the relevant part of dmesg [2])
> > 
> > With that kernel command line forcing LVDS2, the
> > "drm_crtc_helper_set_config" error shows up each time I switch tty;
> > additionally, X does not want to start anymore (spewing out the
> > aforementioned error multiple times before giving up)
> > 
> > 
> > I'm currently using the latest 3.2 kernel from linus' tree
> > (af968e29acd91ebeb4224e899202c46c93171ecd), but the behavior was
> > similar with a vanilla 3.1.2.
> > 
> > 
> > Other notes about this issue:
> > 
> >  - with an Ubuntu 2.6.35 kernel, the second display is on but
> >    flickering (with the picture distorted like an old analog TV...).
> >    The main display is working fine, as always.

I just bumped on bug report #29821 on freedesktop.org [2] which dates
the "flicker" bug around 2.6.35. I guess the ubuntu kernel doesn't
have the fix (and actually, the fix might be responsible for the lack
of output on the second display with later kernels.)

I'll try with an older kernel to see what it does.

> >  - with an Archlinux 2.6.37.5 kernel, the behavior is the same as with
> >    3.2, the main display is ok and the second one is off.
> > 
> >  - I did succeed, only once and out of pure luck, to get the second
> >    screen to work with the 3.1.2 kernel. I haven't been able to
> >    reproduce that... I had booted with "video=LVDS-2:e" and let the
> >    laptop running ; pressing a key a few hours later turned back
> >    *both* displays on (the main display had been turned off by DPMS,
> >    and the second, well, was off from the start, as always)
> >    While not very helpful, it shows that it's definitely possible.
> > 
> 
> What does Windows platform's behavior? Does there have any physical key
> that can turn on/off the second LVDS on Windows?

Actually, the first thing I did was wiping Windows out :)


More information about the dri-devel mailing list