Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Unexpected kernel device dependency for 'vga* at pci?'



I've been getting a new (well, new-to-me!) system up and running, and one of my usual steps is to build a minimal kernel. Starting with a GENERIC kernel and its dmesg(8) output, I remove all the device drivers that I don't need/use/want, and hard-wire most of the others.

While doing this, I've discovered that a radeondrmkmsfb0-based kernel requires that I retain the

	vga* at pci? dev ? func ?

line in the configuration, even though no such device is ever attached.

If I remove that config line, the kernel will still build and link, but when booting the resulting kernel it fails. The system starts to come up normally, but at the point where it would normally "change the display mode" (from large-font to tiny-font) the screen just goes blank. When it "returns" the display is totally blank (except for the small, non-blinking cursor) and the system is hung. It's not just a "display failure" since blind typing doesn't do anything, either. (I boot in single-user, so either ddb should accept a reboot command, or init should access a "return for /bin/sh" followed by a reboot command!)

I'm guessing that somewhere in the radeon code there's some .ifdef'd code that calls some common vga routine(s) if available. (I suspect it might be related to VGA_POST, but have no evidence to support.)

It seems to me that, if the radeon code needs something from the vga driver, some sort of proper dependency should be used. Perhaps the "common vga routines" should be extracted into a separate file which can be required by both vga and radeon drivers, or the radeon driver can be dependent on the vga driver?

The dmesg of the system in question is attached in case anyone wants to look at this more closely.


+------------------+--------------------------+------------------------+
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+------------------------+
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 7.99.33 (TEST 2016-07-07 22:19:31) #7: Sun Jul 10 05:35:20 PHT 2016
	paul%pokey.whooppee.com@localhost:/build/netbsd-local/obj/amd64/sys/arch/amd64/compile/TEST
total memory = 7613 MB
avail memory = 7378 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Gateway SX2185 (        )
mainbus0 (root)
ACPI: RSDP 0x00000000000F0490 000024 (v02 ACRSYS)
ACPI: XSDT 0x000000009CC0C080 00007C (v01 ACRSYS ACRPRDCT 01072009 AMI  00010013)
ACPI: FACP 0x000000009CC12698 00010C (v05 ACRSYS ACRPRDCT 01072009 AMI  00010013)
ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has valid Length but zero Address: 0x0000000000000000/0x1 (20160422/tbfadt-684)
ACPI: DSDT 0x000000009CC0C188 00650D (v02 ACRSYS ACRPRDCT 00000000 INTL 20051117)
ACPI: FACS 0x000000009D0D3080 000040
ACPI: APIC 0x000000009CC127A8 00007E (v03 ACRSYS ACRPRDCT 01072009 AMI  00010013)
ACPI: FPDT 0x000000009CC12828 000044 (v01 ACRSYS ACRPRDCT 01072009 AMI  00010013)
ACPI: MCFG 0x000000009CC12870 00003C (v01 ACRSYS ACRPRDCT 01072009 MSFT 00010013)
ACPI: MSDM 0x000000009CC128B0 000055 (v03 ACRSYS ACRPRDCT 01072009 AMI  00010013)
ACPI: HPET 0x000000009CC12908 000038 (v01 ACRSYS ACRPRDCT 01072009 AMI  00000005)
ACPI: SSDT 0x000000009CC12940 0005E0 (v01 AMD    AGESA    00000001 AMD  00000001)
ACPI: SSDT 0x000000009CC12F20 0046B7 (v02 AMD    AGESA    00000002 MSFT 04000000)
ACPI: CRAT 0x000000009CC175D8 000278 (v01 AMD    AGESA    00000001 AMD  00000001)
ACPI: SSDT 0x000000009CC17850 00002B (v01 AMD    CPMXPRES 00000001 INTL 20051117)
ACPI: SSDT 0x000000009CC17880 0010E8 (v01 AMD    CPMCMN   00000001 INTL 20051117)
ACPI: Executed 1 blocks of module-level executable AML code
ACPI: 5 ACPI AML tables successfully acquired and loaded

ioapic0 at mainbus0 apid 3: pa 0xfec00000, version 0x21, 24 pins
ioapic1 at mainbus0 apid 4: pa 0xfec01000, version 0x21, 32 pins
cpu0 at mainbus0 apid 0
cpu0: AMD E1-2500 APU with Radeon(TM) HD Graphics    , id 0x700f01
cpu1 at mainbus0 apid 1
cpu1: AMD E1-2500 APU with Radeon(TM) HD Graphics    , id 0x700f01
acpi0 at mainbus0: Intel ACPICA 20160422
acpi0: X/RSDT: OemId <ACRSYS,ACRPRDCT,01072009>, AslId <AMI ,00010013>
acpi0: MCFG: segment 0, bus 0-255, address 0x00000000e0000000
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
AMDN (PNP0C01) at acpi0 not configured
BROD (PNP0C02) at acpi0 not configured
SIO1 (PNP0C02) at acpi0 not configured
NBRM (PNP0C02) at acpi0 not configured
attimer0 at acpi0 (TMR, PNP0100): io 0x40-0x43 irq 0
pcppi0 at acpi0 (SPKR, PNP0800): io 0x61
sysbeep0 at pcppi0
RMSC (PNP0C02) at acpi0 not configured
S900 (PNP0C02) at acpi0 not configured
PWRB (PNP0C0C) at acpi0 not configured
RMEM (PNP0C01) at acpi0 not configured
WMID (PNP0C14) at acpi0 not configured
AWR0 (PNP0C02) at acpi0 not configured
ABR0 (PNP0C02) at acpi0 not configured
ABR1 (PNP0C02) at acpi0 not configured
ABR2 (PNP0C02) at acpi0 not configured
ABR3 (PNP0C02) at acpi0 not configured
ABR4 (PNP0C02) at acpi0 not configured
HPET (PNP0103) at acpi0 not configured
OMSC (PNP0C02) at acpi0 not configured
ACPI: Enabled 1 GPEs in block 00 to 1F
attimer0: attached to pcppi0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 1022 product 1536 (rev. 0x00)
radeon0 at pci0 dev 1 function 0: vendor 1002 product 9838 (rev. 0x00)
hdaudio0 at pci0 dev 1 function 1: HD Audio Controller
hdaudio0: interrupting at ioapic1 pin 21
hdafg0 at hdaudio0: vendor 1002 product aa01
hdafg0: HDMI00 2ch: Digital Out [Jack]
hdafg0: 2ch/0ch 32000Hz 44100Hz 48000Hz PCM16 AC3
pchb1 at pci0 dev 2 function 0: vendor 1022 product 1538 (rev. 0x00)
ppb0 at pci0 dev 2 function 3: vendor 1022 product 1439 (rev. 0x00)
ppb0: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 2.5GT/s
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
re0 at pci1 dev 0 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 0x06)
re0: interrupting at msi0 vec 0
re0: Ethernet address ec:08:6b:02:b5:cb
re0: using 256 tx descriptors
rgephy0 at re0 phy 7: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 4
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 2 function 5: vendor 1022 product 1439 (rev. 0x00)
ppb1: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 2.5GT/s
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
re1 at pci2 dev 0 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 0x11)
re1: interrupting at msi1 vec 0
re1: Ethernet address f8:0f:41:bb:5c:05
re1: using 256 tx descriptors
rgephy1 at re1 phy 7: RTL8251 1000BASE-T media interface, rev. 0
rgephy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
xhci0 at pci0 dev 16 function 0: vendor 1022 product 7814 (rev. 0x01)
xhci0: interrupting at msi2 vec 0
xhci0: xHCI version 1.0
usb0 at xhci0: USB revision 3.0
ahcisata0 at pci0 dev 17 function 0: vendor 1022 product 7801 (rev. 0x40)
ahcisata0: interrupting at ioapic0 pin 19
ahcisata0: 64-bit DMA
ahcisata0: AHCI revision 1.30, 2 ports, 32 slots, CAP 0xf732ff01<PSC,SSC,PMD,SPM,ISS=0x3=Gen3,SCLO,SAL,SALP,SMPS,SSNTF,SNCQ,S64A>
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 1
ohci0 at pci0 dev 18 function 0: vendor 1022 product 7807 (rev. 0x39)
ohci0: interrupting at ioapic0 pin 18
ohci0: OHCI version 1.0, legacy support
usb1 at ohci0: USB revision 1.0
ehci0 at pci0 dev 18 function 2: vendor 1022 product 7808 (rev. 0x39)
ehci0: interrupting at ioapic0 pin 17
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controller, 4 ports each: ohci0
usb2 at ehci0: USB revision 2.0
ohci1 at pci0 dev 19 function 0: vendor 1022 product 7807 (rev. 0x39)
ohci1: interrupting at ioapic0 pin 18
ohci1: OHCI version 1.0, legacy support
usb3 at ohci1: USB revision 1.0
ehci1 at pci0 dev 19 function 2: vendor 1022 product 7808 (rev. 0x39)
ehci1: interrupting at ioapic0 pin 17
ehci1: BIOS has given up ownership
ehci1: EHCI version 1.0
ehci1: companion controller, 4 ports each: ohci1
usb4 at ehci1: USB revision 2.0
piixpm0 at pci0 dev 20 function 0: vendor 1022 product 780b (rev. 0x3a)
piixpm0: polling (SB800)
iic0 at piixpm0: I2C bus
hdaudio1 at pci0 dev 20 function 2: HD Audio Controller
hdaudio1: interrupting at ioapic0 pin 16
hdafg1 at hdaudio1: vendor 10ec product 0662
hdafg1: DAC00 2ch: Speaker [Jack]
hdafg1: DAC01 2ch: HP Out [Jack]
hdafg1: ADC02 2ch: Line In [Jack], Mic In [Jack]
hdafg1: 2ch/2ch 32000Hz 44100Hz 48000Hz 88200Hz 96000Hz 192000Hz PCM16 PCM20 PCM24 AC3
audio0 at hdafg1: full duplex, playback, capture, mmap, independent
pcib0 at pci0 dev 20 function 3: vendor 1022 product 780e (rev. 0x11)
pchb2 at pci0 dev 24 function 0: vendor 1022 product 1530 (rev. 0x00)
pchb3 at pci0 dev 24 function 1: vendor 1022 product 1531 (rev. 0x00)
pchb4 at pci0 dev 24 function 2: vendor 1022 product 1532 (rev. 0x00)
pchb5 at pci0 dev 24 function 3: vendor 1022 product 1533 (rev. 0x00)
pchb6 at pci0 dev 24 function 4: vendor 1022 product 1534 (rev. 0x00)
pchb7 at pci0 dev 24 function 5: vendor 1022 product 1535 (rev. 0x00)
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 1397419010 Hz quality 3000
uhub0 at usb0: vendor 1022 xHCI Root Hub, class 9/0, rev 1.00/1.00, addr 0
uhub0: 4 ports with 4 removable, self powered
uhub1 at usb1: vendor 1022 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
uhub2 at usb2: vendor 1022 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 4 ports with 4 removable, self powered
uhub3 at usb3: vendor 1022 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 4 ports with 4 removable, self powered
uhub4 at usb4: vendor 1022 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 4 ports with 4 removable, self powered
ahcisata0 port 0: device present, speed: 3.0Gb/s
ehci0: handing over low speed device on port 2 to ohci0
wd0 at atabus0 drive 0
wd0: <ST3500418AS>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) (using DMA)
ugen0 at uhub4 port 3
ugen0: Generic USB2.0-CRW, rev 2.00/39.60, addr 2
boot device: wd0
root on wd0a dumps on wd0b
kern.module.path=/stand/amd64/7.99.33/modules
drm: initializing kernel modesetting (KABINI 0x1002:0x9838 0x1025:0x0800).
drm: register mmio base: 0xfeb00000
drm: register mmio size: 262144
drm: doorbell mmio base: 0xD0000000
drm: doorbell mmio size: 8388608
drm kern info: ATOM BIOS: AMD
radeon0: info: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
radeon0: info: GTT: 1024M 0x0000000020000000 - 0x000000005FFFFFFF
drm: Detected VRAM RAM=200M, BAR=256M
drm: RAM width 128bits DDR
Zone  kernel: Available graphics memory: 2679986 kiB
Zone   dma32: Available graphics memory: 2097152 kiB
drm: radeon: 512M of VRAM memory ready
drm: radeon: 1024M of GTT memory ready.
drm: Loading KABINI Microcode
drm: Internal thermal controller without fan control
drm: radeon: dpm initialized
drm: GART: num cpu pages 262144, num gpu pages 262144
drm: PCIE GART of 1024M enabled (table at 0x0000000000277000).
radeon0: info: WB enabled
radeon0: info: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0x0xffff8000863acc00
radeon0: info: fence driver on ring 1 use gpu addr 0x0000000020000c04 and cpu addr 0x0xffff8000863acc04
radeon0: info: fence driver on ring 2 use gpu addr 0x0000000020000c08 and cpu addr 0x0xffff8000863acc08
radeon0: info: fence driver on ring 3 use gpu addr 0x0000000020000c0c and cpu addr 0x0xffff8000863acc0c
radeon0: info: fence driver on ring 4 use gpu addr 0x0000000020000c10 and cpu addr 0x0xffff8000863acc10
radeon0: info: fence driver on ring 5 use gpu addr 0x0000000000076c98 and cpu addr 0x0xffff8000863f6c98
radeon0: error: VCE init error (-22).
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
radeon0: interrupting at ioapic1 pin 20 (radeon)
drm: radeon: irq initialized.
drm: ring test on 0 succeeded in 3 usecs
drm: ring test on 1 succeeded in 3 usecs
drm: ring test on 2 succeeded in 3 usecs
drm: ring test on 3 succeeded in 2 usecs
drm: ring test on 4 succeeded in 2 usecs
drm: ring test on 5 succeeded in 2 usecs
drm: UVD initialized successfully.
drm: ib test on ring 0 succeeded in 0 usecs
drm: ib test on ring 1 succeeded in 0 usecs
uhidev0 at uhub1 port 2 configuration 1 interface 0
uhidev0: NOVATEK USB Keyboard, rev 1.10/1.04, addr 2, iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wskbd0 at ukbd0: console keyboard
uhidev1 at uhub1 port 2 configuration 1 interface 1
uhidev1: NOVATEK USB Keyboard, rev 1.10/1.04, addr 2, iclass 3/0
uhidev1: 2 report ids
uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 2: input=3, output=0, feature=0
radeon0: error: ring 2 stalled for more than 10000msec
radeon0: warning: GPU lockup (waiting for 0x0000000000000001 last fence id 0x0000000000000000 on ring 2)
DRM error in cik_ib_test: radeon: fence wait failed (-11).
DRM error in radeon_ib_ring_tests: radeon: failed testing IB on ring 2 (-11).
drm: ib test on ring 3 succeeded in 0 usecs
drm: ib test on ring 4 succeeded in 0 usecs
drm: ib test on ring 5 succeeded
drm: Radeon Display Connectors
drm: Connector 0:
drm:   HDMI-A-1
drm:   HPD1
drm:   DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
drm:   Encoders:
drm:     DFP1: INTERNAL_UNIPHY
drm: Connector 1:
drm:   VGA-1
drm:   DDC: 0x65c0 0x65c0 0x65c4 0x65c4 0x65c8 0x65c8 0x65cc 0x65cc
drm:   Encoders:
drm:     CRT1: INTERNAL_KLDSCP_DAC1
radeondrmkmsfb0 at radeon0
radeon0: info: registered panic notifier
radeondrmkmsfb0: framebuffer at 0xffff800086c8d000, size 1600x900, depth 32, stride 6400
wsdisplay0 at radeondrmkmsfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
wsdisplay0: screen 1 added (default, vt100 emulation)
wsdisplay0: screen 2 added (default, vt100 emulation)
wsdisplay0: screen 3 added (default, vt100 emulation)
wsdisplay0: screen 4 added (default, vt100 emulation)


Home | Main Index | Thread Index | Old Index