Commit a624f429 authored by Alex Deucher's avatar Alex Deucher

drm/radeon: add a module parameter to control deep color support

Some monitors seem to have problems with deep color enabled, even
though they claim to support it.  I'm not sure if the monitor
need a quirk or if the driver is doing something the monitor doesn't
like.  At this point lets just disable deep color by default like
we did for hdmi audio and work through the bugs so we can eventually
enable it by default.

bug:
https://bugs.freedesktop.org/show_bug.cgi?id=80531Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0c78a449
...@@ -102,6 +102,7 @@ extern int radeon_runtime_pm; ...@@ -102,6 +102,7 @@ extern int radeon_runtime_pm;
extern int radeon_hard_reset; extern int radeon_hard_reset;
extern int radeon_vm_size; extern int radeon_vm_size;
extern int radeon_vm_block_size; extern int radeon_vm_block_size;
extern int radeon_deep_color;
/* /*
* Copy from radeon_drv.h so we don't have to include both and have conflicting * Copy from radeon_drv.h so we don't have to include both and have conflicting
......
...@@ -199,6 +199,9 @@ int radeon_get_monitor_bpc(struct drm_connector *connector) ...@@ -199,6 +199,9 @@ int radeon_get_monitor_bpc(struct drm_connector *connector)
} }
} }
if ((radeon_deep_color == 0) && (bpc > 8))
bpc = 8;
DRM_DEBUG("%s: Display bpc=%d, returned bpc=%d\n", DRM_DEBUG("%s: Display bpc=%d, returned bpc=%d\n",
connector->name, connector->display_info.bpc, bpc); connector->name, connector->display_info.bpc, bpc);
......
...@@ -175,6 +175,7 @@ int radeon_runtime_pm = -1; ...@@ -175,6 +175,7 @@ int radeon_runtime_pm = -1;
int radeon_hard_reset = 0; int radeon_hard_reset = 0;
int radeon_vm_size = 4096; int radeon_vm_size = 4096;
int radeon_vm_block_size = 9; int radeon_vm_block_size = 9;
int radeon_deep_color = 0;
MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
module_param_named(no_wb, radeon_no_wb, int, 0444); module_param_named(no_wb, radeon_no_wb, int, 0444);
...@@ -248,6 +249,9 @@ module_param_named(vm_size, radeon_vm_size, int, 0444); ...@@ -248,6 +249,9 @@ module_param_named(vm_size, radeon_vm_size, int, 0444);
MODULE_PARM_DESC(vm_block_size, "VM page table size in bits (default 9)"); MODULE_PARM_DESC(vm_block_size, "VM page table size in bits (default 9)");
module_param_named(vm_block_size, radeon_vm_block_size, int, 0444); module_param_named(vm_block_size, radeon_vm_block_size, int, 0444);
MODULE_PARM_DESC(deep_color, "Deep Color support (1 = enable, 0 = disable (default))");
module_param_named(deep_color, radeon_deep_color, int, 0444);
static struct pci_device_id pciidlist[] = { static struct pci_device_id pciidlist[] = {
radeon_PCI_IDS radeon_PCI_IDS
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment