drm and i915 issue on Dell Latitude X1 ?

Luigi Rizzo rizzo at icir.org
Mon Jan 1 14:53:11 PST 2007


a curious thing... on my Dell Latitude X1 (scanpci -v output
at the end) the drm module did not recognise the video card
until i added this patch:

Index: drm_pciids.h
===================================================================
RCS file: /home/ncvs/src/sys/dev/drm/drm_pciids.h,v
retrieving revision 1.2.2.3
diff -u -r1.2.2.3 drm_pciids.h
--- drm_pciids.h        17 May 2006 07:40:11 -0000      1.2.2.3
+++ drm_pciids.h        1 Jan 2007 18:04:08 -0000
@@ -286,6 +286,7 @@
        {0x8086, 0x2572, 0, "Intel i865G GMCH"}, \
        {0x8086, 0x2582, 0, "Intel i915G"}, \
        {0x8086, 0x2592, 0, "Intel i915GM"}, \
+       {0x8086, 0x2792, 0, "Intel i915GML"}, \
        {0x8086, 0x2772, 0, "Intel i945G"}, \
        {0x8086, 0x27A2, 0, "Intel i945GM"}, \
        {0, 0, 0, NULL}

The board has two PCI IDs, 0x2592 (at PCI 0:2:0,
which is the one that drives the LCD screen) and 0x2792
(perhaps this is a dual-head card ?).
Apparently the drm module only looks for the latter even though it is
not the one that drives the LCD screen.

I am not sure what is the appropriate fix here, whether the
drm module  should look for all PCI IDs of the card,
or something else.

Further info below: the output of scanpci -v and the relevant
lines from /var/log/Xorg.0.log

	cheers
	luigi

% scanpci -v
pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x8086 device 0x2590
 Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x2090  COMMAND 0x0006
  CLASS     0x06 0x00 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BYTE_0    0x00  BYTE_1  0x50  BYTE_2  0x00  BYTE_3  0xf0

pci bus 0x0000 cardnum 0x02 function 0x00: vendor 0x8086 device 0x2592
 Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0090  COMMAND 0x0007
  CLASS     0x03 0x00 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x00
  BASE0     0xdff00000  addr 0xdff00000  MEM
  BASE1     0x0000ec39  addr 0x0000ec38  I/O
  BASE2     0xc0000008  addr 0xc0000000  MEM PREFETCHABLE
  BASE3     0xdfec0000  addr 0xdfec0000  MEM
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x10

pci bus 0x0000 cardnum 0x02 function 0x01: vendor 0x8086 device 0x2792
 Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0090  COMMAND 0x0007
  CLASS     0x03 0x80 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x00
  BASE0     0xdff80000  addr 0xdff80000  MEM

pci bus 0x0000 cardnum 0x1c function 0x00: vendor 0x8086 device 0x2660
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1
  STATUS    0x0010  COMMAND 0x0007
  CLASS     0x06 0x04 0x00  REVISION 0x03
  HEADER    0x81  LATENCY 0x00
  PRIBUS    0x00  SECBUS 0x01  SUBBUS 0x01
  SECLT     0x00  SECSTATUS 0x2000
  IOBASE    0xf000  IOLIM 0x0fff
  NOPREFETCH_MEMBASE 0xdfd00000  MEMLIM 0xdfdfffff
  PREFETCH_MEMBASE   0x00000000fff00000  MEMLIM 0x00000000000fffff
  NO_FAST_B2B NO_SEC_BUS_RST NO_M_ABRT NO_VGA_EN NO_ISA_EN SERR_EN NO_PERR_EN

pci bus 0x0000 cardnum 0x1d function 0x00: vendor 0x8086 device 0x2658
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x0c 0x03 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x00
  BASE4     0x0000bf81  addr 0x0000bf80  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x10

pci bus 0x0000 cardnum 0x1d function 0x01: vendor 0x8086 device 0x2659
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x0c 0x03 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE4     0x0000bf61  addr 0x0000bf60  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x02  INT_LINE 0x11

pci bus 0x0000 cardnum 0x1d function 0x02: vendor 0x8086 device 0x265a
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x0c 0x03 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE4     0x0000bf41  addr 0x0000bf40  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x03  INT_LINE 0x12

pci bus 0x0000 cardnum 0x1d function 0x03: vendor 0x8086 device 0x265b
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x0c 0x03 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE4     0x0000bf21  addr 0x0000bf20  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x04  INT_LINE 0x13

pci bus 0x0000 cardnum 0x1d function 0x07: vendor 0x8086 device 0x265c
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0290  COMMAND 0x0106
  CLASS     0x0c 0x03 0x20  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE0     0xffa80800  addr 0xffa80800  MEM
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x10

pci bus 0x0000 cardnum 0x1e function 0x00: vendor 0x8086 device 0x2448
 Intel Corporation 82801 Mobile PCI Bridge
  STATUS    0x0010  COMMAND 0x0107
  CLASS     0x06 0x04 0x01  REVISION 0xd3
  HEADER    0x81  LATENCY 0x00
  PRIBUS    0x00  SECBUS 0x02  SUBBUS 0x03
  SECLT     0x20  SECSTATUS 0x2280
  IOBASE    0xf000  IOLIM 0x0fff
  NOPREFETCH_MEMBASE 0xdfc00000  MEMLIM 0xdfcfffff
  PREFETCH_MEMBASE   0x00000000fff00000  MEMLIM 0x00000000000fffff
  NO_FAST_B2B NO_SEC_BUS_RST NO_M_ABRT NO_VGA_EN NO_ISA_EN SERR_EN NO_PERR_EN

pci bus 0x0000 cardnum 0x1e function 0x02: vendor 0x8086 device 0x266e
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0290  COMMAND 0x0007
  CLASS     0x04 0x01 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE0     0x0000ed01  addr 0x0000ed00  I/O
  BASE1     0x0000ec41  addr 0x0000ec40  I/O
  BASE2     0xdfebfe00  addr 0xdfebfe00  MEM
  BASE3     0xdfebfd00  addr 0xdfebfd00  MEM
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x10
  BYTE_0    0x09  BYTE_1  0x01  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0000 cardnum 0x1e function 0x03: vendor 0x8086 device 0x266d
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller
 CardVendor 0x14f1 card 0x5423 (Conexant, Card unknown)
  STATUS    0x0290  COMMAND 0x0005
  CLASS     0x07 0x03 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE0     0x0000ee01  addr 0x0000ee00  I/O
  BASE1     0x0000ec81  addr 0x0000ec80  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x02  INT_LINE 0x11

pci bus 0x0000 cardnum 0x1f function 0x00: vendor 0x8086 device 0x2641
 Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0200  COMMAND 0x0107
  CLASS     0x06 0x01 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x80  LATENCY 0x00  CACHE 0x00
  BYTE_0    0x01  BYTE_1  0x10  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0000 cardnum 0x1f function 0x01: vendor 0x8086 device 0x266f
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x01 0x01 0x8a  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE0     0x000001f1  addr 0x000001f0  I/O
  BASE1     0x000003f5  addr 0x000003f4  I/O
  BASE2     0x00000171  addr 0x00000170  I/O
  BASE3     0x00000375  addr 0x00000374  I/O
  BASE4     0x0000bfa1  addr 0x0000bfa0  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x10
  BYTE_0    0x77  BYTE_1  0xe3  BYTE_2  0x77  BYTE_3  0x40

pci bus 0x0000 cardnum 0x1f function 0x03: vendor 0x8086 device 0x266a
 Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0280  COMMAND 0x0101
  CLASS     0x0c 0x05 0x00  REVISION 0x03
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x00
  BASE4     0x000010c1  addr 0x000010c0  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x02  INT_LINE 0x11
  BYTE_0    0x03  BYTE_1  0x00  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x14e4 device 0x1677
 Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0010  COMMAND 0x0106
  CLASS     0x02 0x00 0x00  REVISION 0x01
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x10
  BASE0     0x00000000dfdf0004  addr 0x00000000dfdf0000  MEM 64BIT
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x10

pci bus 0x0002 cardnum 0x01 function 0x00: vendor 0x1180 device 0x0476
 Ricoh Co Ltd RL5c476 II
  STATUS    0x0210  COMMAND 0x0007
  CLASS     0x06 0x07 0x00  REVISION 0xb3
  BIST      0x00  HEADER 0x82  LATENCY 0x40  CACHE 0x00
  BASE0     0xdfc00000  addr 0xdfc00000  MEM
  BASE1     0x20030302020000dc  addr 0x20030302020000d0  MEM PREFETCHABLE 64BIT
  BASE3     0xfffff000  addr 0xfffff000  MEM
  BASE5     0xfffff000  addr 0xfffff000  MEM
  MAX_LAT   0x07  MIN_GNT 0x40  INT_PIN 0x01  INT_LINE 0x13
  BYTE_0    0x28  BYTE_1  0x10  BYTE_2  0xa3  BYTE_3  0x01

pci bus 0x0002 cardnum 0x01 function 0x01: vendor 0x1180 device 0x0552
 Ricoh Co Ltd R5C552 IEEE 1394 Controller
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0210  COMMAND 0x0006
  CLASS     0x0c 0x00 0x10  REVISION 0x08
  BIST      0x00  HEADER 0x80  LATENCY 0x40  CACHE 0x00
  BASE0     0xdfcfe800  addr 0xdfcfe800  MEM
  MAX_LAT   0x04  MIN_GNT 0x02  INT_PIN 0x02  INT_LINE 0x12

pci bus 0x0002 cardnum 0x01 function 0x02: vendor 0x1180 device 0x0822
 Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
 CardVendor 0x1028 card 0x01a3 (Dell, Card unknown)
  STATUS    0x0210  COMMAND 0x0106
  CLASS     0x08 0x05 0x01  REVISION 0x17
  BIST      0x00  HEADER 0x80  LATENCY 0x40  CACHE 0x00
  BASE0     0xdfcfe700  addr 0xdfcfe700  MEM
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x03  INT_LINE 0x11

pci bus 0x0002 cardnum 0x03 function 0x00: vendor 0x8086 device 0x4220
 Intel Corporation PRO/Wireless 2200BG
 CardVendor 0x8086 card 0x2721 (Intel Corporation, Card unknown)
  STATUS    0x0290  COMMAND 0x0116
  CLASS     0x02 0x80 0x00  REVISION 0x05
  BIST      0x00  HEADER 0x00  LATENCY 0x40  CACHE 0x10
  BASE0     0xdfcff000  addr 0xdfcff000  MEM
  MAX_LAT   0x18  MIN_GNT 0x03  INT_PIN 0x01  INT_LINE 0x11
  BYTE_0    0x80  BYTE_1  0x00  BYTE_2  0x00  BYTE_3  0x00


relevant part of /var/log/Xorg.0.log

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such file or directory)
drmOpenDevice: open result is -1, (No such file or directory)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such file or directory)
drmOpenDevice: open result is -1, (No such file or directory)
drmOpenDevice: Open failed
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) I810(0): [drm] loaded kernel module for "i915" driver
(II) I810(0): [drm] DRM interface version 1.2
(II) I810(0): [drm] created "i915" driver at busid "pci:0000:00:02.0"
(II) I810(0): [drm] added 8192 byte SAREA at 0xc3f6a000
(II) I810(0): [drm] mapped SAREA 0xc3f6a000 to 0x286ec000
(II) I810(0): [drm] framebuffer handle = 0xc0020000


More information about the freebsd-stable mailing list