Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/radeon: add driver option to disable uvd block.

Quite few suspend/hibernation bugs are related to this block. Add
an option to disable those as a work around.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Jérome Glisse and committed by
Alex Deucher
f1a0a67a cb25f7e0

+8
+1
drivers/gpu/drm/radeon/radeon.h
··· 113 113 extern int radeon_backlight; 114 114 extern int radeon_auxch; 115 115 extern int radeon_mst; 116 + extern int radeon_uvd; 116 117 117 118 /* 118 119 * Copy from radeon_drv.h so we don't have to include both and have conflicting
+3
drivers/gpu/drm/radeon/radeon_asic.c
··· 2696 2696 rdev->asic->pm.set_memory_clock = NULL; 2697 2697 } 2698 2698 2699 + if (!radeon_uvd) 2700 + rdev->has_uvd = false; 2701 + 2699 2702 return 0; 2700 2703 } 2701 2704
+4
drivers/gpu/drm/radeon/radeon_drv.c
··· 196 196 int radeon_backlight = -1; 197 197 int radeon_auxch = -1; 198 198 int radeon_mst = 0; 199 + int radeon_uvd = 1; 199 200 200 201 MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); 201 202 module_param_named(no_wb, radeon_no_wb, int, 0444); ··· 287 286 288 287 MODULE_PARM_DESC(mst, "DisplayPort MST experimental support (1 = enable, 0 = disable)"); 289 288 module_param_named(mst, radeon_mst, int, 0444); 289 + 290 + MODULE_PARM_DESC(uvd, "uvd enable/disable uvd support (1 = enable, 0 = disable)"); 291 + module_param_named(uvd, radeon_uvd, int, 0444); 290 292 291 293 static struct pci_device_id pciidlist[] = { 292 294 radeon_PCI_IDS