diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0355-drm-amd-display-initialize-YUV-plane-capabilities.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0355-drm-amd-display-initialize-YUV-plane-capabilities.patch | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0355-drm-amd-display-initialize-YUV-plane-capabilities.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0355-drm-amd-display-initialize-YUV-plane-capabilities.patch deleted file mode 100644 index 22d7a713..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0355-drm-amd-display-initialize-YUV-plane-capabilities.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 9a2e7d4bfc78c353af32b82301d79b290735a26c Mon Sep 17 00:00:00 2001 -From: Shirish S <shirish.s@amd.com> -Date: Wed, 26 Apr 2017 22:36:01 -0400 -Subject: [PATCH 0355/4131] drm/amd/display: initialize YUV plane capabilities - -This patch populates the YUV surface configurations. - -Tests: (On Chromium OS for Stoney Only) -builds without any errors. - -Signed-off-by: Shirish S <shirish.s@amd.com> -Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> -Reviewed-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 62 ++++++++++++++++------ - 1 file changed, 45 insertions(+), 17 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -index bb55944..e99c9da 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -@@ -461,9 +461,6 @@ static void fill_plane_attributes_from_fb( - &tiling_flags, - addReq == true ? &fb_location:NULL); - -- surface->address.type = PLN_ADDR_TYPE_GRAPHICS; -- surface->address.grph.addr.low_part = lower_32_bits(fb_location); -- surface->address.grph.addr.high_part = upper_32_bits(fb_location); - - switch (fb->format->format) { - case DRM_FORMAT_C8: -@@ -484,12 +481,55 @@ static void fill_plane_attributes_from_fb( - case DRM_FORMAT_ABGR2101010: - surface->format = SURFACE_PIXEL_FORMAT_GRPH_ABGR2101010; - break; -+ case DRM_FORMAT_YUV420: -+ surface->format = SURFACE_PIXEL_FORMAT_VIDEO_420_YCbCr; -+ break; -+ case DRM_FORMAT_YVU420: -+ surface->format = SURFACE_PIXEL_FORMAT_VIDEO_420_YCrCb; -+ break; - default: - DRM_ERROR("Unsupported screen format %s\n", - drm_get_format_name(fb->format->format, &format_name)); - return; - } - -+ if (surface->format < SURFACE_PIXEL_FORMAT_VIDEO_BEGIN) { -+ surface->address.type = PLN_ADDR_TYPE_GRAPHICS; -+ surface->address.grph.addr.low_part = lower_32_bits(fb_location); -+ surface->address.grph.addr.high_part = upper_32_bits(fb_location); -+ surface->plane_size.grph.surface_size.x = 0; -+ surface->plane_size.grph.surface_size.y = 0; -+ surface->plane_size.grph.surface_size.width = fb->width; -+ surface->plane_size.grph.surface_size.height = fb->height; -+ surface->plane_size.grph.surface_pitch = -+ fb->pitches[0] / fb->format->cpp[0]; -+ /* TODO: unhardcode */ -+ surface->color_space = COLOR_SPACE_SRGB; -+ -+ } else { -+ surface->address.type = PLN_ADDR_TYPE_VIDEO_PROGRESSIVE; -+ surface->address.video_progressive.luma_addr.low_part -+ = lower_32_bits(fb_location); -+ surface->address.video_progressive.chroma_addr.high_part -+ = upper_32_bits(fb_location); -+ surface->plane_size.video.luma_size.x = 0; -+ surface->plane_size.video.luma_size.y = 0; -+ surface->plane_size.video.luma_size.width = fb->width; -+ surface->plane_size.video.luma_size.height = fb->height; -+ /* TODO: unhardcode */ -+ surface->plane_size.video.luma_pitch = fb->pitches[0] / 4; -+ -+ surface->plane_size.video.chroma_size.x = 0; -+ surface->plane_size.video.chroma_size.y = 0; -+ surface->plane_size.video.chroma_size.width = fb->width; -+ surface->plane_size.video.chroma_size.height = fb->height; -+ surface->plane_size.video.chroma_pitch = -+ fb->pitches[0] / 4; -+ -+ /* TODO: unhardcode */ -+ surface->color_space = COLOR_SPACE_YCBCR709; -+ } -+ - memset(&surface->tiling_info, 0, sizeof(surface->tiling_info)); - - /* Fill GFX params */ -@@ -540,20 +580,10 @@ static void fill_plane_attributes_from_fb( - surface->tiling_info.gfx9.shaderEnable = 1; - } - -- -- surface->plane_size.grph.surface_size.x = 0; -- surface->plane_size.grph.surface_size.y = 0; -- surface->plane_size.grph.surface_size.width = fb->width; -- surface->plane_size.grph.surface_size.height = fb->height; -- surface->plane_size.grph.surface_pitch = -- fb->pitches[0] / fb->format->cpp[0]; -- - surface->visible = true; - surface->scaling_quality.h_taps_c = 0; - surface->scaling_quality.v_taps_c = 0; - -- /* TODO: unhardcode */ -- surface->color_space = COLOR_SPACE_SRGB; - /* is this needed? is surface zeroed at allocation? */ - surface->scaling_quality.h_taps = 0; - surface->scaling_quality.v_taps = 0; -@@ -1844,10 +1874,8 @@ static uint32_t rgb_formats[] = { - }; - - static uint32_t yuv_formats[] = { -- DRM_FORMAT_YUYV, -- DRM_FORMAT_YVYU, -- DRM_FORMAT_UYVY, -- DRM_FORMAT_VYUY, -+ DRM_FORMAT_YUV420, -+ DRM_FORMAT_YVU420, - }; - - int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm, --- -2.7.4 - |