diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2626-drm-amd-display-add-high-part-address-calculation-fo.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2626-drm-amd-display-add-high-part-address-calculation-fo.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2626-drm-amd-display-add-high-part-address-calculation-fo.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2626-drm-amd-display-add-high-part-address-calculation-fo.patch new file mode 100644 index 00000000..dd20f42b --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2626-drm-amd-display-add-high-part-address-calculation-fo.patch @@ -0,0 +1,48 @@ +From a5966869f19534d433fe32dcd725fdc3602c7ccf Mon Sep 17 00:00:00 2001 +From: Shirish S <shirish.s@amd.com> +Date: Thu, 19 Oct 2017 22:34:15 +0530 +Subject: [PATCH 2626/4131] drm/amd/display : add high part address calculation + for underlay + +Currently the high part of the address structure is not +populated in case of luma and chroma. +This patch adds this calculation. + +Signed-off-by: Shirish S <shirish.s@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +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 3d6304f..22eed1a 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -1790,6 +1790,7 @@ static int fill_plane_attributes_from_fb(struct amdgpu_device *adev, + { + uint64_t tiling_flags; + uint64_t fb_location = 0; ++ uint64_t chroma_addr = 0; + unsigned int awidth; + const struct drm_framebuffer *fb = &amdgpu_fb->base; + int ret = 0; +@@ -1864,9 +1865,13 @@ static int fill_plane_attributes_from_fb(struct amdgpu_device *adev, + plane_state->address.type = PLN_ADDR_TYPE_VIDEO_PROGRESSIVE; + plane_state->address.video_progressive.luma_addr.low_part + = lower_32_bits(fb_location); ++ plane_state->address.video_progressive.luma_addr.high_part ++ = upper_32_bits(fb_location); ++ chroma_addr = fb_location + (u64)(awidth * fb->height); + plane_state->address.video_progressive.chroma_addr.low_part +- = lower_32_bits(fb_location) + +- (awidth * fb->height); ++ = lower_32_bits(chroma_addr); ++ plane_state->address.video_progressive.chroma_addr.high_part ++ = upper_32_bits(chroma_addr); + plane_state->plane_size.video.luma_size.x = 0; + plane_state->plane_size.video.luma_size.y = 0; + plane_state->plane_size.video.luma_size.width = awidth; +-- +2.7.4 + |