From fabb5935871db1f31fcd2684fd154e24de04d917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Glisse?= Date: Fri, 18 Mar 2016 16:58:37 +0100 Subject: [PATCH] drm/radeon: add driver option to disable vce block. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Jérôme Glisse Cc: Alex Deucher Cc: Christian König Signed-off-by: Alex Deucher --- drivers/gpu/drm/radeon/radeon.h | 1 + drivers/gpu/drm/radeon/radeon_asic.c | 2 ++ drivers/gpu/drm/radeon/radeon_drv.c | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 1b26ceffed24..91828ecf39cf 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h @@ -114,6 +114,7 @@ extern int radeon_backlight; extern int radeon_auxch; extern int radeon_mst; extern int radeon_uvd; +extern int radeon_vce; /* * Copy from radeon_drv.h so we don't have to include both and have conflicting diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c index b4810ef06aee..bc5121d1a7bc 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.c +++ b/drivers/gpu/drm/radeon/radeon_asic.c @@ -2698,6 +2698,8 @@ int radeon_asic_init(struct radeon_device *rdev) if (!radeon_uvd) rdev->has_uvd = false; + if (!radeon_vce) + rdev->has_vce = false; return 0; } diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index d637828ae53c..261462e85d1c 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -197,6 +197,7 @@ int radeon_backlight = -1; int radeon_auxch = -1; int radeon_mst = 0; int radeon_uvd = 1; +int radeon_vce = 1; MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); module_param_named(no_wb, radeon_no_wb, int, 0444); @@ -291,6 +292,9 @@ module_param_named(mst, radeon_mst, int, 0444); MODULE_PARM_DESC(uvd, "uvd enable/disable uvd support (1 = enable, 0 = disable)"); module_param_named(uvd, radeon_uvd, int, 0444); +MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)"); +module_param_named(vce, radeon_vce, int, 0444); + static struct pci_device_id pciidlist[] = { radeon_PCI_IDS };