linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree
       [not found]     ` <20090131152508.GA4668@viiv.ffwll.ch>
@ 2009-02-03  6:44       ` Andrew Morton
  2009-02-03  9:58         ` Dave Airlie
  2009-02-03 10:03         ` Daniel Vetter
  0 siblings, 2 replies; 6+ messages in thread
From: Andrew Morton @ 2009-02-03  6:44 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Jesse Barnes, airlied, eric, dri-devel, linux-kernel, Rafael J. Wysocki

(cc's added)

On Sat, 31 Jan 2009 16:25:08 +0100 Daniel Vetter <daniel@ffwll.ch> wrote:

> On Thu, Jan 29, 2009 at 01:48:25PM -0800, Andrew Morton wrote:
> > On Thu, 29 Jan 2009 13:24:17 -0800
> > Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > > On Thursday, January 29, 2009 12:50 pm akpm@linux-foundation.org wrote:
> > > > diff -puN
> > > > drivers/gpu/drm/i915/intel_lvds.c~drivers-gpu-drm-i915-intel_lvdsc-fix-lock
> > > >ing-snafu drivers/gpu/drm/i915/intel_lvds.c ---
> > > > a/drivers/gpu/drm/i915/intel_lvds.c~drivers-gpu-drm-i915-intel_lvdsc-fix-lo
> > > >cking-snafu +++ a/drivers/gpu/drm/i915/intel_lvds.c
> > > > @@ -311,7 +311,7 @@ static int intel_lvds_get_modes(struct d
> > > >  	if (dev_priv->panel_fixed_mode != NULL) {
> > > >  		struct drm_display_mode *mode;
> > > >
> > > > -		mutex_unlock(&dev->mode_config.mutex);
> > > > +		mutex_lock(&dev->mode_config.mutex);
> > > >  		mode = drm_mode_duplicate(dev, dev_priv->panel_fixed_mode);
> > > >  		drm_mode_probed_add(connector, mode);
> > > >  		mutex_unlock(&dev->mode_config.mutex);
> > > > _
> > > >
> > > > Patches currently in -mm which might be from akpm@linux-foundation.org are
> > > 
> > > Oops.  This should go upstream asap.
> > 
> > yup, I'll send it later today hopefully.
> 
> Thanks for the speedy fix. Unfortunately it looks like the locking in this
> area still doesn't quite work:
> 
> Enabling kms works flawlessly now, but when I fire up X, the screen blanks
> (no more blinking cursors), then X hangs. vt-switchings doesn't work
> anymore, otherwise the machine looked fine (ping on the network was fine,
> couldn't check anything else for lack of a running sshd on the crashing
> machine). Twice using SysRq-T (half a minute in between) showed that Xorg
> was indeed stuck, both times with the exact same backtrace:
> 
> Xorg          D 00203246  6448  6049   6048
>  f1c81df0 00203046 f6322720 00203246 f1c81de0 f83fb98d f6322720 f632297c
>  00203046 f1d88444 00203046 f2f63cc0 f8388dae f1d88444 ffffffff f1d88408
>  00203246 f1c81e2c c02e18ba f83fb98d 00000000 f6322720 f1d88430 f1d88444
> Call Trace:
>  [<f83fb98d>] ? intel_lvds_get_modes+0x69/0x94 [i915]
>  [<f8388dae>] ? drm_mode_getconnector+0x54/0x31f [drm]
>  [<c02e18ba>] mutex_lock_nested+0x158/0x254
>  [<f83fb98d>] ? intel_lvds_get_modes+0x69/0x94 [i915]
>  [<f83fb98d>] intel_lvds_get_modes+0x69/0x94 [i915]
>  [<f838a170>] drm_helper_probe_single_connector_modes+0xb8/0x194 [drm]
>  [<f8388e20>] drm_mode_getconnector+0xc6/0x31f [drm]
>  [<c02e13bc>] ? mutex_unlock+0xd/0xf
>  [<f837f71f>] drm_ioctl+0x1c1/0x23d [drm]
>  [<f8388d5a>] ? drm_mode_getconnector+0x0/0x31f [drm]
>  [<f837f55e>] ? drm_ioctl+0x0/0x23d [drm]
>  [<c0191277>] vfs_ioctl+0x43/0x56
>  [<c0191a34>] do_vfs_ioctl+0x49f/0x4e0
>  [<c0186c42>] ? vfs_write+0xf5/0x131
>  [<c0191aba>] sys_ioctl+0x45/0x5f
>  [<c0102e91>] sysenter_do_call+0x12/0x31
> 
> This is on 2.6.29-rc3-00100-gf2257b7.
> 

So I assume that it would make sense to track this as a post-2.6.28
regression?


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

* Re: + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree
  2009-02-03  6:44       ` + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree Andrew Morton
@ 2009-02-03  9:58         ` Dave Airlie
  2009-02-03 11:43           ` Daniel Vetter
  2009-02-04 18:03           ` Bruno Prémont
  2009-02-03 10:03         ` Daniel Vetter
  1 sibling, 2 replies; 6+ messages in thread
From: Dave Airlie @ 2009-02-03  9:58 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Daniel Vetter, linux-kernel, Jesse Barnes, Rafael J. Wysocki, dri-devel


On Mon, 2 Feb 2009, Andrew Morton wrote:

> (cc's added)
> 
> On Sat, 31 Jan 2009 16:25:08 +0100 Daniel Vetter <daniel@ffwll.ch> wrote:
> 
> > On Thu, Jan 29, 2009 at 01:48:25PM -0800, Andrew Morton wrote:
> > > On Thu, 29 Jan 2009 13:24:17 -0800
> > > Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > > > On Thursday, January 29, 2009 12:50 pm akpm@linux-foundation.org wrote:
> 
> So I assume that it would make sense to track this as a post-2.6.28
> regression?
> 

>From ac048e1734699dd98f4bdf4daf2b9592d4a4d38e Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Tue, 3 Feb 2009 19:05:12 +1000
Subject: [PATCH] i915: fix unneeded locking in i915 LVDS get modes code.

This code is always called under the lock from the higher layers,
so need to go locking it here.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/i915/intel_lvds.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index b36a521..cf8da64 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -311,10 +311,8 @@ static int intel_lvds_get_modes(struct drm_connector *connector)
 	if (dev_priv->panel_fixed_mode != NULL) {
 		struct drm_display_mode *mode;
 
-		mutex_lock(&dev->mode_config.mutex);
 		mode = drm_mode_duplicate(dev, dev_priv->panel_fixed_mode);
 		drm_mode_probed_add(connector, mode);
-		mutex_unlock(&dev->mode_config.mutex);
 
 		return 1;
 	}
-- 
1.6.0.6


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

* Re: + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree
  2009-02-03  6:44       ` + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree Andrew Morton
  2009-02-03  9:58         ` Dave Airlie
@ 2009-02-03 10:03         ` Daniel Vetter
  1 sibling, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2009-02-03 10:03 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Daniel Vetter, Jesse Barnes, airlied, eric, dri-devel,
	linux-kernel, Rafael J. Wysocki

On Mon, Feb 02, 2009 at 10:44:48PM -0800, Andrew Morton wrote:
> > Enabling kms works flawlessly now, but when I fire up X, the screen blanks
> > (no more blinking cursors), then X hangs. vt-switchings doesn't work
> > anymore, otherwise the machine looked fine (ping on the network was fine,
> > couldn't check anything else for lack of a running sshd on the crashing
> > machine). Twice using SysRq-T (half a minute in between) showed that Xorg
> > was indeed stuck, both times with the exact same backtrace:
> > 
> > Xorg          D 00203246  6448  6049   6048
> >  f1c81df0 00203046 f6322720 00203246 f1c81de0 f83fb98d f6322720 f632297c
> >  00203046 f1d88444 00203046 f2f63cc0 f8388dae f1d88444 ffffffff f1d88408
> >  00203246 f1c81e2c c02e18ba f83fb98d 00000000 f6322720 f1d88430 f1d88444
> > Call Trace:
> >  [<f83fb98d>] ? intel_lvds_get_modes+0x69/0x94 [i915]
> >  [<f8388dae>] ? drm_mode_getconnector+0x54/0x31f [drm]
> >  [<c02e18ba>] mutex_lock_nested+0x158/0x254
> >  [<f83fb98d>] ? intel_lvds_get_modes+0x69/0x94 [i915]
> >  [<f83fb98d>] intel_lvds_get_modes+0x69/0x94 [i915]
> >  [<f838a170>] drm_helper_probe_single_connector_modes+0xb8/0x194 [drm]
> >  [<f8388e20>] drm_mode_getconnector+0xc6/0x31f [drm]
> >  [<c02e13bc>] ? mutex_unlock+0xd/0xf
> >  [<f837f71f>] drm_ioctl+0x1c1/0x23d [drm]
> >  [<f8388d5a>] ? drm_mode_getconnector+0x0/0x31f [drm]
> >  [<f837f55e>] ? drm_ioctl+0x0/0x23d [drm]
> >  [<c0191277>] vfs_ioctl+0x43/0x56
> >  [<c0191a34>] do_vfs_ioctl+0x49f/0x4e0
> >  [<c0186c42>] ? vfs_write+0xf5/0x131
> >  [<c0191aba>] sys_ioctl+0x45/0x5f
> >  [<c0102e91>] sysenter_do_call+0x12/0x31
> > 
> > This is on 2.6.29-rc3-00100-gf2257b7.
> > 
> 
> So I assume that it would make sense to track this as a post-2.6.28
> regression?

Nope. Like the previous issue it only happens when I run-time enable
kernel modesetting (with # modprobe i915 modeset=1), which is not the
default.

I'm gonna open a new bz entry with all the details (and all the people on cc
minus regression handlers). But first I'll check with CONFIG_LOCKDEP
whether it's really a locking goof-up.

-Daniel

-- 
Daniel Vetter
E-Mail: daniel.vetter@ffwll.ch
Tel.: +41 (0)79 365 57 48

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

* Re: + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree
  2009-02-03  9:58         ` Dave Airlie
@ 2009-02-03 11:43           ` Daniel Vetter
  2009-02-04 18:03           ` Bruno Prémont
  1 sibling, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2009-02-03 11:43 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Andrew Morton, Daniel Vetter, linux-kernel, Jesse Barnes,
	Rafael J. Wysocki, dri-devel

I can confirm that this patch fixes the problem. I tested with the locking
validator, and it looks like locking is now fine on my hardware.

Thanks everyone for tracking down this issue.

-Daniel

On Tue, Feb 03, 2009 at 09:58:16AM +0000, Dave Airlie wrote:
> On Mon, 2 Feb 2009, Andrew Morton wrote:
> 
> > (cc's added)
> > 
> > On Sat, 31 Jan 2009 16:25:08 +0100 Daniel Vetter <daniel@ffwll.ch> wrote:
> > 
> > > On Thu, Jan 29, 2009 at 01:48:25PM -0800, Andrew Morton wrote:
> > > > On Thu, 29 Jan 2009 13:24:17 -0800
> > > > Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > > > > On Thursday, January 29, 2009 12:50 pm akpm@linux-foundation.org wrote:
> > 
> > So I assume that it would make sense to track this as a post-2.6.28
> > regression?
> > 
> 
> From ac048e1734699dd98f4bdf4daf2b9592d4a4d38e Mon Sep 17 00:00:00 2001
> From: Dave Airlie <airlied@redhat.com>
> Date: Tue, 3 Feb 2009 19:05:12 +1000
> Subject: [PATCH] i915: fix unneeded locking in i915 LVDS get modes code.
> 
> This code is always called under the lock from the higher layers,
> so need to go locking it here.
> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  drivers/gpu/drm/i915/intel_lvds.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index b36a521..cf8da64 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -311,10 +311,8 @@ static int intel_lvds_get_modes(struct drm_connector *connector)
>  	if (dev_priv->panel_fixed_mode != NULL) {
>  		struct drm_display_mode *mode;
>  
> -		mutex_lock(&dev->mode_config.mutex);
>  		mode = drm_mode_duplicate(dev, dev_priv->panel_fixed_mode);
>  		drm_mode_probed_add(connector, mode);
> -		mutex_unlock(&dev->mode_config.mutex);
>  
>  		return 1;
>  	}
> -- 
> 1.6.0.6
> 

-- 
Daniel Vetter
E-Mail: daniel.vetter@ffwll.ch
Tel.: +41 (0)79 365 57 48

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

* Re: + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree
  2009-02-03  9:58         ` Dave Airlie
  2009-02-03 11:43           ` Daniel Vetter
@ 2009-02-04 18:03           ` Bruno Prémont
  2009-02-04 19:53             ` Daniel Vetter
  1 sibling, 1 reply; 6+ messages in thread
From: Bruno Prémont @ 2009-02-04 18:03 UTC (permalink / raw)
  To: Dave Airlie
  Cc: Andrew Morton, Daniel Vetter, linux-kernel, Jesse Barnes,
	Rafael J. Wysocki, dri-devel

This patch does not work for me.

With this patch applied kernel fails to read EDID data and discover
proper modes. (It ends up displaying a picture looking like the BIOS
bootup image). X fails to start finding no valid mode for LVDS output.

Without the patch Xorg doesn't start either, being blocked in same
area as listed earlier in this thread:
[  373.719792] Xorg          D 00000000  1704  2295   2216
[  373.719803]  da9a1dc4 00203082 dd3f0080 00000000 00000000 dd8c0990 dd84e800 00000000
[  373.719817]  dd84ea4c ffffffff dd84ea50 da9a1de8 c036950e dd8c0990 dd84ea50 dd84ea50
[  373.719832]  dd8c0990 dd84ea4c dd84f000 dd84e800 da9a1df8 c0369479 dd84f000 dd822000
[  373.719845] Call Trace:
[  373.719855]  [<c036950e>] __mutex_lock_slowpath+0x5e/0x90
[  373.719864]  [<c0369479>] mutex_lock+0x19/0x20
[  373.719876]  [<c0278ed0>] intel_lvds_get_modes+0x60/0x90
[  373.719889]  [<c0269069>] drm_helper_probe_single_connector_modes+0x89/0x220
[  373.719898]  [<c036946e>] ? mutex_lock+0xe/0x20
[  373.719908]  [<c02674a1>] drm_mode_getconnector+0x261/0x300
[  373.719922]  [<c025d850>] drm_ioctl+0xe0/0x2b0
[  373.719932]  [<c0267240>] ? drm_mode_getconnector+0x0/0x300
[  373.719942]  [<c025d770>] ? drm_ioctl+0x0/0x2b0
[  373.719951]  [<c0174757>] vfs_ioctl+0x67/0x70
[  373.719960]  [<c0174d2a>] do_vfs_ioctl+0x1fa/0x520
[  373.719969]  [<c0158553>] ? handle_mm_fault+0xd3/0x480
[  373.719980]  [<c01b3f42>] ? reiserfs_file_write+0x82/0xb0
[  373.719988]  [<c016a675>] ? vfs_write+0xe5/0x120
[  373.719997]  [<c01b3ec0>] ? reiserfs_file_write+0x0/0xb0
[  373.720005]  [<c0175089>] sys_ioctl+0x39/0x60
[  373.720014]  [<c0103105>] sysenter_do_call+0x12/0x25


Laptop is Acer Travelmate 660. (855GM)

lspci -nn:
00:00.0 Host bridge [0600]: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3580] (rev 02)
00:00.1 System peripheral [0880]: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3584] (rev 02)
00:00.3 System peripheral [0880]: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller [8086:3585] (rev 02)
00:02.0 VGA compatible controller [0300]: Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02)
00:02.1 Display controller [0380]: Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 [8086:24c2] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 [8086:24c4] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 [8086:24c7] (rev 03)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller [8086:24cd] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 83)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge [8086:24cc] (rev 03)
00:1f.1 IDE interface [0101]: Intel Corporation 82801DBM (ICH4-M) IDE Controller [8086:24ca] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller [8086:24c3] (rev 03)
00:1f.5 Multimedia audio controller [0401]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller [8086:24c5] (rev 03)
00:1f.6 Modem [0703]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller [8086:24c6] (rev 03)
02:02.0 Ethernet controller [0200]: Broadcom Corporation BCM4401 100Base-T [14e4:4401] (rev 01)
02:04.0 Network controller [0280]: Intel Corporation PRO/Wireless LAN 2100 3B Mini PCI Adapter [8086:1043] (rev 04)
02:06.0 CardBus bridge [0607]: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller [1217:7113] (rev 20)
02:06.1 CardBus bridge [0607]: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller [1217:7113] (rev 20)
02:07.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) [104c:8026]


dmesg output:
...
[    0.525418] Linux agpgart interface v0.103
[    0.525497] agpgart-intel 0000:00:00.0: Intel 855GM Chipset
[    0.526219] agpgart-intel 0000:00:00.0: detected 32636K stolen memory
[    0.527759] agpgart-intel 0000:00:00.0: AGP aperture is 128M @ 0xe8000000
[    0.527926] [drm] Initialized drm 1.1.0 20060810
[    0.528014] pci 0000:00:02.0: power state changed by ACPI to D0
[    0.528354] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
[    0.528409] PCI: setting IRQ 11 as level-triggered
[    0.528415] pci 0000:00:02.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
[    0.528490] pci 0000:00:02.0: setting latency timer to 64
[    0.609992] Switched to high resolution mode on CPU 0
[    1.004444] i2c-adapter i2c-0: unable to read EDID block.
[    1.080091] pci 0000:00:02.0: VGA-1: no EDID data
[    1.425597] fbcon: inteldrmfb (fb0) is primary device
[    1.719256] [drm:intel_crtc_mode_set] *ERROR* Couldn't find PLL settings for mode!
[    1.719261] [drm] LVDS-8: set mode 1400x1050 d
[    2.047448] Console: switching to colour frame buffer device 175x65
[    2.118731] fb0: inteldrmfb frame buffer device
[    2.119078] registered panic notifier
[    2.119361] [drm] Initialized i915 1.6.0 20080730 on minor 0
...


Xorg log extract
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: drmOpenMinor returns 9
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
(II) [drm] DRM interface version 1.3
(II) [drm] DRM open master succeeded.
(II) intel(0): Output VGA1 has no monitor section
(II) intel(0): Output LVDS1 has no monitor section
(II) intel(0): Output DVI1 has no monitor section
(II) intel(0): EDID for output VGA1
(II) intel(0): Not using default mode "640x350" (vrefresh out of range)
(II) intel(0): Not using default mode "640x400" (vrefresh out of range)
(II) intel(0): Not using default mode "720x400" (vrefresh out of range)
...
(II) intel(0): Not using default mode "2048x1536" (width too large for virtual size)
(II) intel(0): Not using default mode "2048x1536" (width too large for virtual size)
(II) intel(0): Printing probed modes for output VGA1
(II) intel(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz)
(II) intel(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz)
(II) intel(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz)
(II) intel(0): EDID for output LVDS1
(II) intel(0): Not using mode "X<98><89><DD>X<98><89><DD>\z<94><DD>^A" (height too large for virtual size)
(II) intel(0): Not using default mode "640x350" (vrefresh out of range)
(II) intel(0): Not using default mode "640x400" (vrefresh out of range)
(II) intel(0): Not using default mode "720x400" (vrefresh out of range)
...
(II) intel(0): No remaining probed modes for output LVDS1
(II) intel(0): EDID for output DVI1
(II) intel(0): Output VGA1 disconnected
(II) intel(0): Output LVDS1 connected
(II) intel(0): Output DVI1 disconnected
(WW) intel(0): Unable to find initial modes
(EE) intel(0): Output LVDS1 enabled but has no modes
(==) intel(0): video overlay key set to 0x101fe
(==) intel(0): Will not try to enable page flipping
(==) intel(0): Triple buffering disabled
(==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
(EE) intel(0): No modes.
(II) UnloadModule: "intel"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found


i915+drm are built-in and KMS is triggered by command line:
  hpet=force BOOT_IMAGE=KMS-2.6.29-3.3 ro root=806 softlevel=default
  modeset=1 i915.modeset=1

lilo is configured with vga=normal.

Bruno


On Tue, 03 February 2009 Dave Airlie <airlied@linux.ie> wrote:
> 
> On Mon, 2 Feb 2009, Andrew Morton wrote:
> 
> > (cc's added)
> > 
> > On Sat, 31 Jan 2009 16:25:08 +0100 Daniel Vetter <daniel@ffwll.ch>
> > wrote:
> > 
> > > On Thu, Jan 29, 2009 at 01:48:25PM -0800, Andrew Morton wrote:
> > > > On Thu, 29 Jan 2009 13:24:17 -0800
> > > > Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > > > > On Thursday, January 29, 2009 12:50 pm
> > > > > akpm@linux-foundation.org wrote:
> > 
> > So I assume that it would make sense to track this as a post-2.6.28
> > regression?
> > 
> 
> From ac048e1734699dd98f4bdf4daf2b9592d4a4d38e Mon Sep 17 00:00:00 2001
> From: Dave Airlie <airlied@redhat.com>
> Date: Tue, 3 Feb 2009 19:05:12 +1000
> Subject: [PATCH] i915: fix unneeded locking in i915 LVDS get modes
> code.
> 
> This code is always called under the lock from the higher layers,
> so need to go locking it here.
> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  drivers/gpu/drm/i915/intel_lvds.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c
> b/drivers/gpu/drm/i915/intel_lvds.c index b36a521..cf8da64 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -311,10 +311,8 @@ static int intel_lvds_get_modes(struct
> drm_connector *connector) if (dev_priv->panel_fixed_mode != NULL) {
>  		struct drm_display_mode *mode;
>  
> -		mutex_lock(&dev->mode_config.mutex);
>  		mode = drm_mode_duplicate(dev,
> dev_priv->panel_fixed_mode); drm_mode_probed_add(connector, mode);
> -		mutex_unlock(&dev->mode_config.mutex);
>  
>  		return 1;
>  	}

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

* Re: + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree
  2009-02-04 18:03           ` Bruno Prémont
@ 2009-02-04 19:53             ` Daniel Vetter
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2009-02-04 19:53 UTC (permalink / raw)
  To: Bruno Prémont
  Cc: Dave Airlie, Andrew Morton, Daniel Vetter, linux-kernel,
	Jesse Barnes, Rafael J. Wysocki, dri-devel

On Wed, Feb 04, 2009 at 07:03:57PM +0100, Bruno Prémont wrote:
> This patch does not work for me.
> With this patch applied kernel fails to read EDID data and discover
> proper modes. (It ends up displaying a picture looking like the BIOS
> bootup image). X fails to start finding no valid mode for LVDS output.

I've had the same problem (at least wrt to X), but it seems to disappear
when cold-booting. It even works when I boot with modeset=0, kill X, then
reload the i915 module with modeset=1. Maybe the kms is a bit flakey when
X played with it for too long beforehands.

But kernel modesetting for the framebuffer console always works, so
YMMV.

-Daniel
-- 
Daniel Vetter
E-Mail: daniel.vetter@ffwll.ch
Tel.: +41 (0)79 365 57 48

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

end of thread, other threads:[~2009-02-04 19:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200901292050.n0TKol5b015605@imap1.linux-foundation.org>
     [not found] ` <200901291324.17624.jbarnes@virtuousgeek.org>
     [not found]   ` <20090129134825.620e3f84.akpm@linux-foundation.org>
     [not found]     ` <20090131152508.GA4668@viiv.ffwll.ch>
2009-02-03  6:44       ` + drivers-gpu-drm-i915-intel_lvdsc-fix-locking-snafu.patch added to -mm tree Andrew Morton
2009-02-03  9:58         ` Dave Airlie
2009-02-03 11:43           ` Daniel Vetter
2009-02-04 18:03           ` Bruno Prémont
2009-02-04 19:53             ` Daniel Vetter
2009-02-03 10:03         ` Daniel Vetter

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