11.2-RELEASE - drm-stable/next - radeonkms - VGA out not working properly

ralph ralph at riseup.net
Mon Aug 20 19:24:13 UTC 2018


Hey,

My current setup is an Asus notebook with an AMD C-70 APU/Radeon HD 7290
running 11.2-RELEASE with the stock kernel, connected to an external
crt monitor (VGA-1). EFI boot is enabled and hw.syscons.disable is set. 

When I boot with drm-next-kmod or drm-stable-kmod loaded (the results
are the same for both), both screens work properly in the tty,
though the system console constantly complains about missing/invalid
EDID from the crt monitor. Starting X makes the crt monitor go blank
with a box on the OSD complaining about unsupported frequencies.

I can work around this by using arandr - xrandr does not work, even if
I try multiple combs of res/rate - to set the crt's resolution to
something else (i.e. 800x600) then back to 1024x768. The system console
keeps spamming the error and if some applications try to change the res
(i.e. old cstrike on wine) the monitor goes back to the unsupported
freq/rate screen.

If I disable loading the new module on boot, reboot and blindly load the
old one (kldload radeonkms), even though it initially complains about
invalid checksum from the monitor, eventually it stops and the monitor
works properly.

I've tested this multiple times and the results are consistent.

drm-next messages:

[drm] Initialized
[drm] radeon kernel modesetting enabled.
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
[drm] initializing kernel modesetting (PALM 0x1002:0x980A 0x1043:0x14B7
0x00). [drm] register mmio base: 0xFEB00000
[drm] register mmio size: 262144
[drm:radeon_device_init] Unable to find PCI I/O BAR
[drm:radeon_atombios_init] Unable to find PCI I/O BAR; using MMIO for
ATOM IIO drmn0: VRAM: 384M 0x0000000000000000 - 0x0000000017FFFFFF
(384M used) drmn0: GTT: 1024M 0x0000000018000000 - 0x0000000057FFFFFF
[drm] Detected VRAM RAM=384M, BAR=256M
[drm] RAM width 32bits DDR
[drm] radeon: 384M of VRAM memory ready
[drm] radeon: 1024M of GTT memory ready.
[drm] Loading PALM Microcode
[drm] Internal thermal controller without fan control
[drm] Found smc ucode version: 0x00010601
[drm] radeon: dpm initialized
[drm] GART: num cpu pages 262144, num gpu pages 262144
[drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
drmn0: WB enabled
drmn0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu
addr 0x0xfffff800057d9c00 drmn0: fence driver on ring 3 use gpu addr
0x0000000018000c0c and cpu addr 0x0xfffff800057d9c0c drmn0: fence
driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr
0x0xfffff800b0072118 [drm] Supports vblank timestamp caching Rev 2
(21.10.2013). [drm] Driver supports precise vblank timestamp query.
drmn0: radeon: MSI limited to 32-bit [drm] radeon: irq initialized.
[drm] ring test on 0 succeeded in 1 usecs
[drm] ring test on 3 succeeded in 2 usecs
[drm] ring test on 5 succeeded in 1 usecs
[drm] UVD initialized successfully.
[drm] ib test on ring 0 succeeded in 0 usecs
[drm] ib test on ring 3 succeeded in 0 usecs
[drm] ib test on ring 5 succeeded
[drm] hw_i2c forced on, you may experience display detection problems!
[drm] Connector LVDS-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.LVDS-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector VGA-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.VGA-1
[drm]   - kern.vt.fb.default_mode
[drm] radeon atom DIG backlight initialized
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm]   LVDS-1
[drm]   HPD1
[drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[drm]   Encoders:
[drm]     LCD1: INTERNAL_UNIPHY
[drm] Connector 1:
[drm]   HDMI-A-1
[drm]   HPD2
[drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[drm]   Encoders:
[drm]     DFP1: INTERNAL_UNIPHY
[drm] Connector 2:
[drm]   VGA-1
[drm]   DDC: 0x64d8 0x64d8 0x64dc 0x64dc 0x64e0 0x64e0 0x64e4 0x64e4
[drm]   Encoders:
[drm]     CRT1: INTERNAL_KLDSCP_DAC1
[drm:drm_edid_block_valid] EDID checksum is invalid, remainder is 36
[drm:drm_edid_block_valid] EDID checksum is invalid, remainder is 36
[drm:drm_edid_block_valid] EDID checksum is invalid, remainder is 36
[drm:drm_edid_block_valid] EDID checksum is invalid, remainder is 36
drmn0: VGA-1: EDID block 0 invalid.
[drm:radeon_vga_detect] VGA-1: probed a monitor but no|invalid EDID
[drm] fb mappable at 0xB0366000
[drm] vram apper at 0xB0000000
[drm] size 3145728
[drm] fb depth is 24
[drm]    pitch is 4096
name=drmn0 flags=0x0 stride=4096 bpp=32
drmn0: fb0: radeondrmfb frame buffer device
[drm] Initialized radeon 2.48.0 20080528 for drmn on minor 0
[drm:radeon_vga_detect] VGA-1: probed a monitor but no|invalid EDID
[drm:radeon_vga_detect] VGA-1: probed a monitor but no|invalid EDID
[drm:radeon_vga_detect] VGA-1: probed a monitor but no|invalid EDID
...this goes on...


old driver's log:

info: [drm] Initialized drm 1.1.0 20060810
drmn0: <Wrestler [Radeon HD 7290]> on vgapci0
info: [drm] RADEON_IS_PCIE
info: [drm] initializing kernel modesetting (PALM 0x1002:0x980A
0x1043:0x14B7). info: [drm] register mmio base: 0xFEB00000
info: [drm] register mmio size: 262144
info: [drm] radeon_atrm_get_bios: ===> Try ATRM...
info: [drm] radeon_atrm_get_bios: IGP card detected, skipping this
method... info: [drm] radeon_acpi_vfct_bios: ===> Try VFCT...
info: [drm] radeon_acpi_vfct_bios: Get "VFCT" ACPI table
info: [drm] radeon_acpi_vfct_bios: Failed to get "VFCT" table:
AE_NOT_FOUND info: [drm] igp_read_bios_from_vram: ===> Try IGP's VRAM...
info: [drm] igp_read_bios_from_vram: VRAM base address: 0xb0000000
info: [drm] igp_read_bios_from_vram: Map address: 0xfffff800b0000000
(262144 bytes) info: [drm] igp_read_bios_from_vram: Incorrect BIOS
signature: 0x0000 info: [drm] radeon_read_bios: ===> Try PCI Expansion
ROM... info: [drm] radeon_read_bios: Map address: 0xfffff800000c0000
(131072 bytes) info: [drm] ATOM BIOS: ASID:
drmn0: info: VRAM: 384M 0x0000000000000000 - 0x0000000017FFFFFF (384M
used) drmn0: info: GTT: 512M 0x0000000018000000 - 0x0000000037FFFFFF
info: [drm] Detected VRAM RAM=384M, BAR=256M
info: [drm] RAM width 32bits DDR
info: [drm] radeon: 384M of VRAM memory ready
info: [drm] radeon: 512M of GTT memory ready.
info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
info: [drm] Driver supports precise vblank timestamp query.
info: [drm] MSI enabled 1 message(s)
drmn0: info: radeon: using MSI.
info: [drm] radeon: irq initialized.
info: [drm] GART: num cpu pages 131072, num gpu pages 131072
info: [drm] Loading PALM Microcode
info: [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
drmn0: info: WB enabled
drmn0: info: fence driver on ring 0 use gpu addr 0x0000000018000c00 and
cpu addr 0x0xfffff8001c202c00 drmn0: info: fence driver on ring 3 use
gpu addr 0x0000000018000c0c and cpu addr 0x0xfffff8001c202c0c info:
[drm] ring test on 0 succeeded in 1 usecs info: [drm] ring test on 3
succeeded in 1 usecs info: [drm] ib test on ring 0 succeeded in 0 usecs
info: [drm] ib test on ring 3 succeeded in 0 usecs
info: [drm] radeon_device_init: Taking over the fictitious range
0xb0000000-0xc0000000 radeon_iicbb0 on drmn0
radeon_iicbb1 on drmn0
radeon_iicbb2 on drmn0
radeon_iicbb3 on drmn0
radeon_iicbb4 on drmn0
radeon_iicbb5 on drmn0
radeon_iicbb6 on drmn0
radeon_iicbb7 on drmn0
info: [drm] Radeon Display Connectors
info: [drm] Connector 0:
info: [drm]   LVDS-1
info: [drm]   HPD1
info: [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c
0x643c info: [drm]   Encoders:
info: [drm]     LCD1: INTERNAL_UNIPHY
info: [drm] Connector 1:
info: [drm]   HDMI-A-1
info: [drm]   HPD2
info: [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c
0x644c info: [drm]   Encoders:
info: [drm]     DFP1: INTERNAL_UNIPHY
info: [drm] Connector 2:
info: [drm]   VGA-1
info: [drm]   DDC: 0x64d8 0x64d8 0x64dc 0x64dc 0x64e0 0x64e0 0x64e4
0x64e4 info: [drm]   Encoders:
info: [drm]     CRT1: INTERNAL_KLDSCP_DAC1
info: [drm] Internal thermal controller without fan control
info: [drm] radeon: power management initialized
info: [drm] Connector LVDS-1: get mode from tunables:
info: [drm]   - kern.vt.fb.modes.LVDS-1
info: [drm]   - kern.vt.fb.default_mode
info: [drm] Connector HDMI-A-1: get mode from tunables:
info: [drm]   - kern.vt.fb.modes.HDMI-A-1
info: [drm]   - kern.vt.fb.default_mode
info: [drm] Connector VGA-1: get mode from tunables:
info: [drm]   - kern.vt.fb.modes.VGA-1
info: [drm]   - kern.vt.fb.default_mode
error: [drm:pid74063:drm_edid_block_valid] *ERROR* EDID checksum is
invalid, remainder is 36 error: [drm:pid74063:drm_edid_block_valid]
*ERROR* EDID checksum is invalid, remainder is 36 error:
[drm:pid74063:drm_edid_block_valid] *ERROR* EDID checksum is invalid,
remainder is 36 error: [drm:pid74063:drm_edid_block_valid] *ERROR* EDID
checksum is invalid, remainder is 36 drmn0: warning: VGA-1: EDID block
0 invalid. info: [drm] fb mappable at 0xB0142000 info: [drm] vram apper
at 0xB0000000 info: [drm] size 3145728
info: [drm] fb depth is 24
info: [drm]    pitch is 4096
fbd0 on drmn0
info: [drm] Initialized radeon 2.29.0 20080528 for drmn0 on minor 0

--

ralph



More information about the freebsd-x11 mailing list