• Nicholas Kazlauskas's avatar
    drm/amd/display: Add plane capabilities to dc_caps · e5c41970
    Nicholas Kazlauskas authored
    [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: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
    Acked-by: default avatarBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    e5c41970
dce120_resource.c 31.1 KB