summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/dce80
diff options
context:
space:
mode:
authorAlex Deucher2017-06-15 22:24:01 +0200
committerAlex Deucher2017-09-26 23:21:35 +0200
commitd4e13b0db124345be93bc2ff39ecb48409da2c9b (patch)
tree7069fa7fb33b075b02df025e2d7e1dcd208926d7 /drivers/gpu/drm/amd/display/dc/dce80
parentdrm/amd/display: obtain usHBR3En bit from BP 1 (diff)
downloadkernel-qcow2-linux-d4e13b0db124345be93bc2ff39ecb48409da2c9b.tar.gz
kernel-qcow2-linux-d4e13b0db124345be93bc2ff39ecb48409da2c9b.tar.xz
kernel-qcow2-linux-d4e13b0db124345be93bc2ff39ecb48409da2c9b.zip
drm/amd/display: decouple per-crtc-plane model
Current design has per-crtc-plane model. As a result, for asic's that support underlay, are unable to expose it to user space for modesetting. To enable this, the drm driver intialisation now runs for number of surfaces instead of stream/crtc. This patch plumbs surface capabilities to drm framework so that it can be effectively used by user space. Tests: (On Chromium OS for Stoney Only) * 'modetest -p' now shows additional plane with YUV capabilities in case of CZ and ST. * 'plane_test' fails with below error: [drm:amdgpu_dm_connector_atomic_set_property [amdgpu]] *ERROR* Unsupported screen depth 0 as ther is no support for YUYV * Checked multimonitor display works fine Signed-off-by: Shirish S <shirish.s@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dce80')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
index a3e8182885b2..752e0e7579b9 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
@@ -1043,6 +1043,8 @@ static bool construct(
}
}
+ dc->public.caps.max_surfaces = pool->base.pipe_count;
+
if (!resource_construct(num_virtual_links, dc, &pool->base,
&res_create_funcs))
goto res_create_fail;