diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0059-drm-amd-display-enable-ABGR-and-XBGR-formats-v4.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0059-drm-amd-display-enable-ABGR-and-XBGR-formats-v4.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0059-drm-amd-display-enable-ABGR-and-XBGR-formats-v4.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0059-drm-amd-display-enable-ABGR-and-XBGR-formats-v4.patch new file mode 100644 index 00000000..eeab30a4 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0059-drm-amd-display-enable-ABGR-and-XBGR-formats-v4.patch @@ -0,0 +1,44 @@ +From cd41f2b51258c6f679bb3feacead67e2a85c1d80 Mon Sep 17 00:00:00 2001 +From: Mauro Rossi <issor.oruam@gmail.com> +Date: Sun, 12 Aug 2018 21:43:01 +0200 +Subject: [PATCH 0059/2940] drm/amd/display: enable ABGR and XBGR formats (v4) + +SURFACE_PIXEL_FORMAT_GRPH_ABGR8888 is supported in amd/display/dc/dc_hw_types.h +and the necessary crossbars register controls to swap red and blue channels +are already implemented in drm/amd/display/dc/dce/dce_mem_input.c + +(v4) Logic to handle new formats is added only in amdgpu_dm module. + +Signed-off-by: Mauro Rossi <issor.oruam@gmail.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +index ea01eaa91f52..167ae8c6e8ee 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -2011,6 +2011,10 @@ static int fill_plane_attributes_from_fb(struct amdgpu_device *adev, + case DRM_FORMAT_ABGR2101010: + plane_state->format = SURFACE_PIXEL_FORMAT_GRPH_ABGR2101010; + break; ++ case DRM_FORMAT_XBGR8888: ++ case DRM_FORMAT_ABGR8888: ++ plane_state->format = SURFACE_PIXEL_FORMAT_GRPH_ABGR8888; ++ break; + case DRM_FORMAT_NV21: + plane_state->format = SURFACE_PIXEL_FORMAT_VIDEO_420_YCbCr; + break; +@@ -3314,6 +3318,8 @@ static const uint32_t rgb_formats[] = { + DRM_FORMAT_XBGR2101010, + DRM_FORMAT_ARGB2101010, + DRM_FORMAT_ABGR2101010, ++ DRM_FORMAT_XBGR8888, ++ DRM_FORMAT_ABGR8888, + }; + + static const uint32_t yuv_formats[] = { +-- +2.17.1 + |