mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 11:46:51 +07:00
drm/armada: improve efficiency of armada_drm_plane_calc_addrs()
Lookup the drm_format_info structure once when computing all the framebuffer plane addresses by using drm_format_info(), rather than repetitive lookups via drm_format_plane_cpp(). Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
9c898c4954
commit
d6a48965db
@ -168,8 +168,9 @@ static void armada_drm_crtc_update(struct armada_crtc *dcrtc)
|
||||
void armada_drm_plane_calc_addrs(u32 *addrs, struct drm_framebuffer *fb,
|
||||
int x, int y)
|
||||
{
|
||||
const struct drm_format_info *format = fb->format;
|
||||
unsigned int num_planes = format->num_planes;
|
||||
u32 addr = drm_fb_obj(fb)->dev_addr;
|
||||
int num_planes = fb->format->num_planes;
|
||||
int i;
|
||||
|
||||
if (num_planes > 3)
|
||||
@ -177,7 +178,7 @@ void armada_drm_plane_calc_addrs(u32 *addrs, struct drm_framebuffer *fb,
|
||||
|
||||
for (i = 0; i < num_planes; i++)
|
||||
addrs[i] = addr + fb->offsets[i] + y * fb->pitches[i] +
|
||||
x * fb->format->cpp[i];
|
||||
x * format->cpp[i];
|
||||
for (; i < 3; i++)
|
||||
addrs[i] = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user