linux_dsm_epyc7002/drivers/gpu/drm/amd/display/dc/dce80
Nicholas Kazlauskas e5c4197090 drm/amd/display: Add plane capabilities to dc_caps
[Why]
The current dc_caps doesn't provide the information needed to
determine the count and type of each plane to be exposed to userspace.

There are three types of DRM planes that are exposed to userspace:

1. Primary planes (can be used for modesetting)
2. Overlay planes (can be blended below or above a primary plane)
3. Cursor planes (blended topmost)

We need to know the number and type of each in amdgpu_dm to expose
to userspace.

Hardware supports blending planes below, above or both ways depending
on the ASIC. Alpha support is also ASIC dependent. Some hardware has
dedicated pipes for overlays and other hardware combines the pipes.

All of this should be exposed in a way that DM can query and use.

[How]
Introduce the dc_plane_cap structure that describes the capabilities
for the hw planes.

It describes:
- the type of the plane
- whether the plane can blend with planes below it
- whether the plane can blend with planes above it
- whether the plane supports per pixel alpha blending
- supported formats on the plane (partial list for now)

Pre DCN ASICs don't have their full capabilities described for now.
They can be updated as needed in the future.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-03-19 15:04:03 -05:00
..
dce80_hw_sequencer.c drm/amd/display: remove safe_to_lower flag from dc, use 2 functions instead 2018-11-05 14:20:40 -05:00
dce80_hw_sequencer.h amdgpu/dc: another round of dce/dcn construct cleanups. 2017-09-29 13:02:34 -04:00
dce80_resource.c drm/amd/display: Add plane capabilities to dc_caps 2019-03-19 15:04:03 -05:00
dce80_resource.h drm/amd/display: Flattening core_dc to dc 2017-09-26 18:16:40 -04:00
dce80_timing_generator.c drm/amd/display: Fix 64-bit division for 32-bit builds 2019-01-14 15:04:45 -05:00
dce80_timing_generator.h drm/amd/display: Make couple functions in DCE80 TG static 2018-02-19 14:20:05 -05:00
Makefile drm/amd/display: Remove unused DCE80 compressor 2018-02-19 14:20:03 -05:00