Re: drm/amdgpu: use dirty framebuffer helper

From: Arthur Marsh
Date: Sun Sep 18 2022 - 22:53:45 EST


I have done a delayed load of amdgpu with the 6.0-rc6 kernel using:

modprobe amdgpu si_support=1

and saved the dmesg output:

[ 455.424263] udevd[414]: specified group 'sgx' unknown
[ 455.514818] ACPI: bus type drm_connector registered
[ 457.759316] [drm] amdgpu kernel modesetting enabled.
[ 457.759491] amdgpu 0000:01:00.0: vgaarb: deactivate vga console
[ 457.760459] Console: switching to colour dummy device 80x25
[ 457.760689] [drm] initializing kernel modesetting (VERDE 0x1002:0x682B 0x1458:0x22CA 0x87).
[ 457.760717] [drm] register mmio base: 0xFE8C0000
[ 457.760720] [drm] register mmio size: 262144
[ 457.760872] [drm] add ip block number 0 <si_common>
[ 457.760887] [drm] add ip block number 1 <gmc_v6_0>
[ 457.760890] [drm] add ip block number 2 <si_ih>
[ 457.760893] [drm] add ip block number 3 <gfx_v6_0>
[ 457.760896] [drm] add ip block number 4 <si_dma>
[ 457.760898] [drm] add ip block number 5 <si_dpm>
[ 457.760901] [drm] add ip block number 6 <dce_v6_0>
[ 457.760903] [drm] add ip block number 7 <uvd_v3_1>
[ 457.804366] [drm] BIOS signature incorrect 20 7
[ 457.804376] resource sanity check: requesting [mem 0x000c0000-0x000dffff], which spans more than PCI Bus 0000:00 [mem 0x000d0000-0x000dffff window]
[ 457.804383] caller pci_map_rom+0x68/0x1b0 mapping multiple BARs
[ 457.804398] amdgpu 0000:01:00.0: No more image in the PCI ROM
[ 457.805746] amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR
[ 457.805752] amdgpu: ATOM BIOS: xxx-xxx-xxx
[ 457.805775] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
[ 457.805781] amdgpu 0000:01:00.0: amdgpu: PCIE atomic ops is not supported
[ 457.806204] [drm] PCIE gen 2 link speeds already enabled
[ 457.806632] [drm] vm size is 64 GB, 2 levels, block size is 10-bit, fragment size is 9-bit
[ 457.869590] amdgpu 0000:01:00.0: amdgpu: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
[ 457.869605] amdgpu 0000:01:00.0: amdgpu: GART: 1024M 0x000000FF00000000 - 0x000000FF3FFFFFFF
[ 457.869622] [drm] Detected VRAM RAM=2048M, BAR=256M
[ 457.869625] [drm] RAM width 128bits DDR3
[ 457.869706] [drm] amdgpu: 2048M of VRAM memory ready
[ 457.869710] [drm] amdgpu: 3979M of GTT memory ready.
[ 457.869734] [drm] GART: num cpu pages 262144, num gpu pages 262144
[ 457.870061] amdgpu 0000:01:00.0: amdgpu: PCIE GART of 1024M enabled (table at 0x000000F400A00000).
[ 457.908024] [drm] Internal thermal controller with fan control
[ 457.908045] [drm] amdgpu: dpm initialized
[ 457.908126] [drm] AMDGPU Display Connectors
[ 457.908128] [drm] Connector 0:
[ 457.908131] [drm] HDMI-A-1
[ 457.908133] [drm] HPD1
[ 457.908135] [drm] DDC: 0x194c 0x194c 0x194d 0x194d 0x194e 0x194e 0x194f 0x194f
[ 457.908139] [drm] Encoders:
[ 457.908141] [drm] DFP1: INTERNAL_UNIPHY
[ 457.908144] [drm] Connector 1:
[ 457.908145] [drm] DVI-D-1
[ 457.908147] [drm] HPD2
[ 457.908149] [drm] DDC: 0x1950 0x1950 0x1951 0x1951 0x1952 0x1952 0x1953 0x1953
[ 457.908153] [drm] Encoders:
[ 457.908155] [drm] DFP2: INTERNAL_UNIPHY
[ 457.908157] [drm] Connector 2:
[ 457.908159] [drm] VGA-1
[ 457.908160] [drm] DDC: 0x1970 0x1970 0x1971 0x1971 0x1972 0x1972 0x1973 0x1973
[ 457.908164] [drm] Encoders:
[ 457.908166] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 457.959506] [drm] Found UVD firmware Version: 64.0 Family ID: 13
[ 458.497761] [drm] UVD initialized successfully.
[ 458.498549] amdgpu 0000:01:00.0: amdgpu: SE 1, SH per SE 2, CU per SH 5, active_cu_number 8
[ 458.836681] [drm] Initialized amdgpu 3.48.0 20150101 for 0000:01:00.0 on minor 0
[ 458.909127] fbcon: amdgpudrmfb (fb0) is primary device
[ 458.936086] Console: switching to colour frame buffer device 240x67
[ 458.936126] BUG: kernel NULL pointer dereference, address: 0000000000000010
[ 458.936128] #PF: supervisor read access in kernel mode
[ 458.936130] #PF: error_code(0x0000) - not-present page
[ 458.936132] PGD 0 P4D 0
[ 458.936134] Oops: 0000 [#1] PREEMPT SMP NOPTI
[ 458.936137] CPU: 3 PID: 81 Comm: kworker/3:1 Not tainted 6.0.0-rc6 #5144
[ 458.936140] Hardware name: System manufacturer System Product Name/M3A78 PRO, BIOS 1701 01/27/2011
[ 458.936141] Workqueue: events drm_fb_helper_damage_work [drm_kms_helper]
[ 458.936162] RIP: 0010:drm_atomic_helper_dirtyfb+0x13c/0x240 [drm_kms_helper]
[ 458.936176] Code: 05 c0 02 00 00 4c 8d 7a f8 48 39 c2 74 58 49 8b 74 24 48 4d 8d 77 20 4c 89 f7 e8 0f b5 f5 ff 85 c0 75 4b 49 8b 87 58 02 00 00 <48> 39 68 10 75 bf 4c 89 fe 4c 89 e7 e8 23 bf f5 ff 48 3d 00 f0 ff
[ 458.936178] RSP: 0018:ffffb75080db3da8 EFLAGS: 00010246
[ 458.936180] RAX: 0000000000000000 RBX: ffff9dbae32e2880 RCX: 000000000000003b
[ 458.936181] RDX: ffffb75080db3dd8 RSI: ffffb75080db3dd8 RDI: ffff9dbad6329c48
[ 458.936182] RBP: ffff9dbae9b41100 R08: ffffb75080db3dd8 R09: ffff9dbae33e01f8
[ 458.936184] R10: ffff9dbadf388028 R11: 0000000000000001 R12: ffff9dbad150e880
[ 458.936185] R13: ffff9dbaee0d9980 R14: ffff9dbad6329c20 R15: ffff9dbad6329c00
[ 458.936186] FS: 0000000000000000(0000) GS:ffff9dbbe7cc0000(0000) knlGS:0000000000000000
[ 458.936188] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 458.936189] CR2: 0000000000000010 CR3: 000000012337c000 CR4: 00000000000006e0
[ 458.936190] Call Trace:
[ 458.936192] <TASK>
[ 458.936194] drm_fb_helper_damage_work+0x1a4/0x2d0 [drm_kms_helper]
[ 458.936208] process_one_work+0x1ae/0x370
[ 458.936213] worker_thread+0x4d/0x3b0
[ 458.936215] ? _raw_spin_lock_irqsave+0x22/0x60
[ 458.936219] ? process_one_work+0x370/0x370
[ 458.936221] kthread+0xe3/0x110
[ 458.936224] ? kthread_complete_and_exit+0x20/0x20
[ 458.936226] ret_from_fork+0x22/0x30
[ 458.936229] </TASK>
[ 458.936230] Modules linked in: amdgpu(+) gpu_sched drm_buddy drm_ttm_helper ttm drm_display_helper drm_kms_helper drm i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt bnep bluetooth jitterentropy_rng sha512_ssse3 sha512_generic hmac drbg ansi_cprng ecdh_generic ecc nfc rfkill snd_hrtimer cpufreq_userspace cpufreq_conservative cpufreq_powersave xt_dscp xt_tcpudp nft_compat x_tables binfmt_misc scsi_transport_iscsi nf_tables nfnetlink exfat max6650 hwmon_vid parport_pc ppdev lp parport edac_mce_amd snd_emu10k1_synth kvm_amd ccp snd_emux_synth rng_core snd_seq_midi_emul snd_seq_virmidi snd_seq_midi snd_seq_midi_event snd_seq kvm wmi_bmof snd_hda_codec_hdmi snd_emu10k1 irqbypass snd_hda_intel snd_intel_dspcfg snd_util_mem snd_hda_codec snd_ac97_codec snd_hda_core ac97_bus snd_hwdep snd_rawmidi snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm k10temp evdev pcspkr serio_raw emu10k1_gp gameport snd_timer snd wmi button asus_atk0110 acpi_cpufreq sp5100_tco soundcore ext4 crc16 mbcache
[ 458.936286] jbd2 btrfs blake2b_generic xor raid6_pq zstd_compress libcrc32c crc32c_generic uas usb_storage sg hid_generic sd_mod t10_pi usbhid hid sr_mod crc64_rocksoft crc64 cdrom ata_generic ohci_pci ahci pata_atiixp libahci r8169 libata firewire_ohci xhci_pci firewire_core crc_itu_t realtek ohci_hcd ehci_pci mdio_devres xhci_hcd ehci_hcd i2c_piix4 scsi_mod libphy scsi_common usbcore usb_common
[ 458.936314] CR2: 0000000000000010
[ 458.936315] ---[ end trace 0000000000000000 ]---
[ 458.936317] RIP: 0010:drm_atomic_helper_dirtyfb+0x13c/0x240 [drm_kms_helper]
[ 458.936330] Code: 05 c0 02 00 00 4c 8d 7a f8 48 39 c2 74 58 49 8b 74 24 48 4d 8d 77 20 4c 89 f7 e8 0f b5 f5 ff 85 c0 75 4b 49 8b 87 58 02 00 00 <48> 39 68 10 75 bf 4c 89 fe 4c 89 e7 e8 23 bf f5 ff 48 3d 00 f0 ff
[ 458.936332] RSP: 0018:ffffb75080db3da8 EFLAGS: 00010246
[ 458.936333] RAX: 0000000000000000 RBX: ffff9dbae32e2880 RCX: 000000000000003b
[ 458.936335] RDX: ffffb75080db3dd8 RSI: ffffb75080db3dd8 RDI: ffff9dbad6329c48
[ 458.936336] RBP: ffff9dbae9b41100 R08: ffffb75080db3dd8 R09: ffff9dbae33e01f8
[ 458.936337] R10: ffff9dbadf388028 R11: 0000000000000001 R12: ffff9dbad150e880
[ 458.936338] R13: ffff9dbaee0d9980 R14: ffff9dbad6329c20 R15: ffff9dbad6329c00
[ 458.936339] FS: 0000000000000000(0000) GS:ffff9dbbe7cc0000(0000) knlGS:0000000000000000
[ 458.936341] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 458.936342] CR2: 0000000000000010 CR3: 000000012337c000 CR4: 00000000000006e0
[ 458.957983] amdgpu 0000:01:00.0: [drm] fb0: amdgpudrmfb frame buffer device

Regards,

Arthur Marsh.