diff options
author | Roman Li <Roman.Li@amd.com> | 2019-04-25 11:02:30 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-31 07:24:32 +0200 |
commit | bd14be9ac21e0e5c6052a849ff510301fdbee938 (patch) | |
tree | c3581e94c2130c26b5fa1db688712ec0ae6feb1d /drivers/gpu/drm/amd | |
parent | 2bd24435038e2e2ffb19364a3fbc16742382afa6 (diff) | |
download | linux-stable-bd14be9ac21e0e5c6052a849ff510301fdbee938.tar.gz linux-stable-bd14be9ac21e0e5c6052a849ff510301fdbee938.tar.bz2 linux-stable-bd14be9ac21e0e5c6052a849ff510301fdbee938.zip |
drm/amd/display: Fill plane attrs only for valid pxl format
[ Upstream commit 1894478ad1f8fd7366edc5cee49ee9caea0e3d52 ]
[Why]
In fill_plane_buffer_attributes() we calculate chroma/luma
assuming that the surface_pixel_format is always valid.
If it's not the case, there's a risk of divide by zero error.
[How]
Check if format valid before calculating pixel format attributes
Signed-off-by: Roman Li <Roman.Li@amd.com>
Reviewed-by: David Francis <David.Francis@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 |
1 files changed, 1 insertions, 1 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 fa268dd736f4..31530bfd002a 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2592,7 +2592,7 @@ fill_plane_buffer_attributes(struct amdgpu_device *adev, address->type = PLN_ADDR_TYPE_GRAPHICS; address->grph.addr.low_part = lower_32_bits(afb->address); address->grph.addr.high_part = upper_32_bits(afb->address); - } else { + } else if (format < SURFACE_PIXEL_FORMAT_INVALID) { uint64_t chroma_addr = afb->address + fb->offsets[1]; plane_size->video.luma_size.x = 0; |