#767780 modprobe(8) does not document precedence of module parameter settings

Package:
kmod
Source:
kmod
Description:
tools for managing Linux kernel modules
Submitter:
Frederik Himpe
Date:
2015-12-20 16:00:14 UTC
Severity:
wishlist
#767780#5
Date:
2014-11-02 10:51:46 UTC
From:
To:
Since a few weeks, I experience the problem that my screen stays blank as soon
as KMS is supposed to be activated. I have to boot with radeon.modeset=0
parameter to prevent this problem from happening.

I'm using this graphics card:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] Pitcairn PRO [Radeon HD 7850] [1002:6819]

When I manually try to modprobe radeon after booting with radeon.modeset=0, I
get this error:
modprobe: ERROR: could not insert 'radeon': Invalid argument
[  132.951583] [drm:radeon_init] *ERROR* No UMS support in radeon module!

This error shows up even with a file /etc/modprobe.d/radeon.conf with this
contents:
options radeon modeset=1

However, when I run
# modprobe radeon modeset=1
it works successfully:

[   76.004511] [drm] radeon kernel modesetting enabled.
[   76.006261] [drm] initializing kernel modesetting (PITCAIRN 0x1002:0x6819
0x174B:0xE218).
[   76.006355] [drm] register mmio base: 0xF7D00000
[   76.006415] [drm] register mmio size: 262144
[   76.006559] ATOM BIOS: C40304
[   76.006680] radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 -
0x000000007FFFFFFF (2048M used)
[   76.006753] radeon 0000:01:00.0: GTT: 1024M 0x0000000080000000 -
0x00000000BFFFFFFF
[   76.006824] [drm] Detected VRAM RAM=2048M, BAR=256M
[   76.006884] [drm] RAM width 256bits DDR
[   76.007029] [TTM] Zone  kernel: Available graphics memory: 8177176 kiB
[   76.007094] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[   76.007156] [TTM] Initializing pool allocator
[   76.007220] [TTM] Initializing DMA pool allocator
[   76.007306] [drm] radeon: 2048M of VRAM memory ready
[   76.007368] [drm] radeon: 1024M of GTT memory ready.
[   76.007447] [drm] Loading PITCAIRN Microcode
[   76.008488] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/PITCAIRN_pfp.bin
[   76.009169] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/PITCAIRN_me.bin
[   76.009527] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/PITCAIRN_ce.bin
[   76.010586] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/PITCAIRN_rlc.bin
[   76.011054] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/PITCAIRN_mc2.bin
[   76.011128] [drm] radeon/PITCAIRN_mc2.bin: 31100 bytes
[   76.011679] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/PITCAIRN_smc.bin
[   76.011757] [drm] Internal thermal controller with fan control
[   76.011891] [drm] probing gen 2 caps for device 8086:151 = 261ad03/e
[   76.021475] [drm] radeon: dpm initialized
[   76.022829] radeon 0000:01:00.0: firmware: direct-loading firmware
radeon/TAHITI_uvd.bin
[   76.022930] [drm] GART: num cpu pages 262144, num gpu pages 262144
[   76.023884] [drm] probing gen 2 caps for device 8086:151 = 261ad03/e
[   76.023947] [drm] PCIE gen 3 link speeds already enabled
[   76.036665] [drm] PCIE GART of 1024M enabled (table at 0x0000000000276000).
[   76.036860] radeon 0000:01:00.0: WB enabled
[   76.036921] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr
0x0000000080000c00 and cpu addr 0xffff88041590ec00
[   76.036994] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr
0x0000000080000c04 and cpu addr 0xffff88041590ec04
[   76.037067] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr
0x0000000080000c08 and cpu addr 0xffff88041590ec08
[   76.037139] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr
0x0000000080000c0c and cpu addr 0xffff88041590ec0c
[   76.037212] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr
0x0000000080000c10 and cpu addr 0xffff88041590ec10
[   76.037909] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr
0x0000000000075a18 and cpu addr 0xffffc90006135a18
[   76.037981] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   76.038040] [drm] Driver supports precise vblank timestamp query.
[   76.038116] radeon 0000:01:00.0: irq 48 for MSI/MSI-X
[   76.038128] radeon 0000:01:00.0: radeon: using MSI.
[   76.038212] [drm] radeon: irq initialized.
[   76.196420] [drm] ring test on 0 succeeded in 4 usecs
[   76.196476] [drm] ring test on 1 succeeded in 1 usecs
[   76.196530] [drm] ring test on 2 succeeded in 1 usecs
[   76.196592] [drm] ring test on 3 succeeded in 2 usecs
[   76.196652] [drm] ring test on 4 succeeded in 1 usecs
[   76.382430] [drm] ring test on 5 succeeded in 2 usecs
[   76.382486] [drm] UVD initialized successfully.
[   76.382703] [drm] ib test on ring 0 succeeded in 0 usecs
[   76.382847] [drm] ib test on ring 1 succeeded in 0 usecs
[   76.382992] [drm] ib test on ring 2 succeeded in 0 usecs
[   76.383084] [drm] ib test on ring 3 succeeded in 0 usecs
[   76.383179] [drm] ib test on ring 4 succeeded in 1 usecs
[   76.534296] [drm] ib test on ring 5 succeeded
[   76.535809] [drm] Radeon Display Connectors
[   76.535869] [drm] Connector 0:
[   76.535918] [drm]   DP-1
[   76.535983] [drm]   HPD4
[   76.536049] [drm]   DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c
0x653c
[   76.536113] [drm]   Encoders:
[   76.536162] [drm]     DFP1: INTERNAL_UNIPHY2
[   76.536231] [drm] Connector 1:
[   76.536289] [drm]   DP-2
[   76.536347] [drm]   HPD5
[   76.536396] [drm]   DDC: 0x6540 0x6540 0x6544 0x6544 0x6548 0x6548 0x654c
0x654c
[   76.536452] [drm]   Encoders:
[   76.536527] [drm]     DFP2: INTERNAL_UNIPHY2
[   76.536577] [drm] Connector 2:
[   76.536643] [drm]   HDMI-A-1
[   76.536692] [drm]   HPD1
[   76.536743] [drm]   DDC: 0x6550 0x6550 0x6554 0x6554 0x6558 0x6558 0x655c
0x655c
[   76.536800] [drm]   Encoders:
[   76.536850] [drm]     DFP3: INTERNAL_UNIPHY1
[   76.536917] [drm] Connector 3:
[   76.536967] [drm]   DVI-I-1
[   76.537017] [drm]   HPD6
[   76.537067] [drm]   DDC: 0x6580 0x6580 0x6584 0x6584 0x6588 0x6588 0x658c
0x658c
[   76.537124] [drm]   Encoders:
[   76.537175] [drm]     DFP4: INTERNAL_UNIPHY
[   76.537226] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[   76.587127] [drm] fb mappable at 0xE0478000
[   76.587183] [drm] vram apper at 0xE0000000
[   76.587236] [drm] size 9216000
[   76.587289] [drm] fb depth is 24
[   76.587342] [drm]    pitch is 7680
[   76.587524] fbcon: radeondrmfb (fb0) is primary device
[   76.629867] Console: switching to colour frame buffer device 240x75
[   76.635516] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[   76.635541] radeon 0000:01:00.0: registered panic notifier
[   76.657381] [drm] Initialized radeon 2.39.0 20080528 for 0000:01:00.0 on
minor 0

KMS is working, my screen does not stay blank, and I can start X successfully
and have a fully working system.

When my system is booted without radeon.modset=0 and I have the blank screen, I
cannot SSH into the system, trying to switch vc does not have any effect. When
I press num lock on the keyboard, the num lock led switches on/off correctly,
but caps lock does not show any reaction. Pressing Ctrl-Alt-Del makes my HD led
on the system blink briefly, but the screen stays blank and does not appear to
be rebooting. I need to hard reset the system.

I tried other kernels (a custom built 3.17 and 3.14.15-2 and 3.15.5-1~exp1 from
snapshot.debian.org), and they all show the same behaviour. Which suprised me,
because I am pretty sure at least 3.14 worked fine in the past. So my guess is
that this maybe is not a bug in the kernel itself, but in something else.

#767780#10
Date:
2014-11-02 15:59:17 UTC
From:
To:
Control: reassign -1 kmod
Control: retitle -1 modprobe(8) does not document precedence of module parameter settings
[...]

If you specify a module parameter on the kernel command line, that
overrides the configuration files (but not the modprobe command line).
Anyway, this is not controlled by the kernel but by modprobe.

The behaviour of modprobe doesn't seem to be properly documented so I'm
reassigning this accordingly.

Ben.

#767780#25
Date:
2014-11-02 17:16:53 UTC
From:
To:
Yes, I understand this behaviour, however:

- why does modprobe radeon without any option (nor at the shell command
line, nor somewhere in /etc/modprobe.d) complain about invalid argument,
and that UMS is not supported?

- why does my system just give me a blank screen if I don't explicitly
start it with the modeset=0, while it was working fine for years with
KMS? This is the main problem for me.

#767780#30
Date:
2014-11-02 18:03:25 UTC
From:
To:
Control: clone -1 -2
Control: reassign -1 src:linux 3.16.5-1
Control: reassign -1 linux-image-3.16-3-amd64: Blank screen on Radeon HD 7850 if radeon auto-loaded

Because you set modeset=0 on the kernel command line, and that still
applies.

OK, sorry, I'm assigning this back to the kernel.

Please can you report this at <https://bugs.freeedesktop.org> under
product 'DRI', component 'DRM/Radeon'.  Let us know the bug number or
URL so we can track it.

Ben.