提交 287bdf03 编写于 作者: L Laurent Pinchart

drm: rcar-du: Remove private copy of plane size and position

The plane source and destination size and positions are stored in the
plane state, and a private copy is kept in the rcar_du_plane objects.
Remove the private copy as it just duplicates the state.
Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
上级 3e8da87d
...@@ -132,6 +132,8 @@ static void rcar_du_plane_release(struct rcar_du_plane *plane) ...@@ -132,6 +132,8 @@ static void rcar_du_plane_release(struct rcar_du_plane *plane)
void rcar_du_plane_update_base(struct rcar_du_plane *plane) void rcar_du_plane_update_base(struct rcar_du_plane *plane)
{ {
struct rcar_du_group *rgrp = plane->group; struct rcar_du_group *rgrp = plane->group;
unsigned int src_x = plane->plane.state->src_x >> 16;
unsigned int src_y = plane->plane.state->src_y >> 16;
unsigned int index = plane->hwindex; unsigned int index = plane->hwindex;
bool interlaced; bool interlaced;
u32 mwr; u32 mwr;
...@@ -163,8 +165,8 @@ void rcar_du_plane_update_base(struct rcar_du_plane *plane) ...@@ -163,8 +165,8 @@ void rcar_du_plane_update_base(struct rcar_du_plane *plane)
* require a halved Y position value, in both progressive and interlaced * require a halved Y position value, in both progressive and interlaced
* modes. * modes.
*/ */
rcar_du_plane_write(rgrp, index, PnSPXR, plane->src_x); rcar_du_plane_write(rgrp, index, PnSPXR, src_x);
rcar_du_plane_write(rgrp, index, PnSPYR, plane->src_y * rcar_du_plane_write(rgrp, index, PnSPYR, src_y *
(!interlaced && plane->format->bpp == 32 ? 2 : 1)); (!interlaced && plane->format->bpp == 32 ? 2 : 1));
rcar_du_plane_write(rgrp, index, PnDSA0R, plane->dma[0]); rcar_du_plane_write(rgrp, index, PnDSA0R, plane->dma[0]);
...@@ -173,8 +175,8 @@ void rcar_du_plane_update_base(struct rcar_du_plane *plane) ...@@ -173,8 +175,8 @@ void rcar_du_plane_update_base(struct rcar_du_plane *plane)
rcar_du_plane_write(rgrp, index, PnMWR, plane->pitch); rcar_du_plane_write(rgrp, index, PnMWR, plane->pitch);
rcar_du_plane_write(rgrp, index, PnSPXR, plane->src_x); rcar_du_plane_write(rgrp, index, PnSPXR, src_x);
rcar_du_plane_write(rgrp, index, PnSPYR, plane->src_y * rcar_du_plane_write(rgrp, index, PnSPYR, src_y *
(plane->format->bpp == 16 ? 2 : 1) / 2); (plane->format->bpp == 16 ? 2 : 1) / 2);
rcar_du_plane_write(rgrp, index, PnDSA0R, plane->dma[1]); rcar_du_plane_write(rgrp, index, PnDSA0R, plane->dma[1]);
} }
...@@ -294,10 +296,10 @@ static void __rcar_du_plane_setup(struct rcar_du_plane *plane, ...@@ -294,10 +296,10 @@ static void __rcar_du_plane_setup(struct rcar_du_plane *plane,
rcar_du_plane_write(rgrp, index, PnDDCR4, ddcr4); rcar_du_plane_write(rgrp, index, PnDDCR4, ddcr4);
/* Destination position and size */ /* Destination position and size */
rcar_du_plane_write(rgrp, index, PnDSXR, plane->width); rcar_du_plane_write(rgrp, index, PnDSXR, plane->plane.state->crtc_w);
rcar_du_plane_write(rgrp, index, PnDSYR, plane->height); rcar_du_plane_write(rgrp, index, PnDSYR, plane->plane.state->crtc_h);
rcar_du_plane_write(rgrp, index, PnDPXR, plane->dst_x); rcar_du_plane_write(rgrp, index, PnDPXR, plane->plane.state->crtc_x);
rcar_du_plane_write(rgrp, index, PnDPYR, plane->dst_y); rcar_du_plane_write(rgrp, index, PnDPYR, plane->plane.state->crtc_y);
/* Wrap-around and blinking, disabled */ /* Wrap-around and blinking, disabled */
rcar_du_plane_write(rgrp, index, PnWASPR, 0); rcar_du_plane_write(rgrp, index, PnWASPR, 0);
...@@ -399,13 +401,6 @@ static void rcar_du_plane_atomic_update(struct drm_plane *plane, ...@@ -399,13 +401,6 @@ static void rcar_du_plane_atomic_update(struct drm_plane *plane,
rplane->crtc = state->crtc; rplane->crtc = state->crtc;
rplane->format = format; rplane->format = format;
rplane->src_x = state->src_x >> 16;
rplane->src_y = state->src_y >> 16;
rplane->dst_x = state->crtc_x;
rplane->dst_y = state->crtc_y;
rplane->width = state->crtc_w;
rplane->height = state->crtc_h;
rcar_du_plane_compute_base(rplane, state->fb); rcar_du_plane_compute_base(rplane, state->fb);
rcar_du_plane_setup(rplane); rcar_du_plane_setup(rplane);
......
...@@ -47,14 +47,6 @@ struct rcar_du_plane { ...@@ -47,14 +47,6 @@ struct rcar_du_plane {
unsigned long dma[2]; unsigned long dma[2];
unsigned int pitch; unsigned int pitch;
unsigned int width;
unsigned int height;
unsigned int src_x;
unsigned int src_y;
unsigned int dst_x;
unsigned int dst_y;
}; };
struct rcar_du_planes { struct rcar_du_planes {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册