projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cecbc0c
)
drm/i915/fb: Fix rounding error in subsampled plane size calculation
author
Imre Deak
<imre.deak@intel.com>
Tue, 26 Oct 2021 22:50:59 +0000
(
01:50
+0300)
committer
Rodrigo Vivi
<rodrigo.vivi@intel.com>
Tue, 9 Nov 2021 15:02:44 +0000
(10:02 -0500)
For NV12 FBs with odd main surface tile-row height the CCS surface
height was incorrectly calculated 1 less than the actual value. Fix this
by rounding up the result of divison. For consistency do the same for
the CCS surface width calculation.
Fixes: b3e57bccd68a ("drm/i915/tgl: Gen-12 render decompression")
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20211026225105.2783797-2-imre.deak@intel.com
(cherry picked from commit
2ee5ef9c934ad26376c9282171e731e6c0339815
)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/display/intel_fb.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/display/intel_fb.c
b/drivers/gpu/drm/i915/display/intel_fb.c
index fa1f375e696bfb57523e49e6b3127d11ea6bf730..cb511b2b706992229f1b0b1280cb498be6781810 100644
(file)
--- a/
drivers/gpu/drm/i915/display/intel_fb.c
+++ b/
drivers/gpu/drm/i915/display/intel_fb.c
@@
-378,8
+378,8
@@
static void intel_fb_plane_dims(const struct intel_framebuffer *fb, int color_pl
intel_fb_plane_get_subsampling(&main_hsub, &main_vsub, &fb->base, main_plane);
intel_fb_plane_get_subsampling(&hsub, &vsub, &fb->base, color_plane);
- *w =
main_width / main_hsub / hsub
;
- *h =
main_height / main_vsub / vsub
;
+ *w =
DIV_ROUND_UP(main_width, main_hsub * hsub)
;
+ *h =
DIV_ROUND_UP(main_height, main_vsub * vsub)
;
}
static u32 intel_adjust_tile_offset(int *x, int *y,