[PATCH 1/2] drm/exynos: use src_x and src_y instead of fb_x and fb_y

Inki Dae inki.dae at samsung.com
Tue Apr 7 06:36:13 PDT 2015


On 2015년 04월 07일 15:59, Joonyoung Shim wrote:
> It's more reasonable to use src_x and src_y to represent source as
> counterpart of destination(crtc). Already we are using src_width and
> src_height for width and height of source.

1 thourgh 2, Applied.

Thanks,
Inki Dae

> 
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos7_drm_decon.c |  4 ++--
>  drivers/gpu/drm/exynos/exynos_drm_drv.h    | 16 ++++++++--------
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c   |  4 ++--
>  drivers/gpu/drm/exynos/exynos_drm_plane.c  |  8 ++++----
>  drivers/gpu/drm/exynos/exynos_mixer.c      |  8 ++++----
>  5 files changed, 20 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> index 84a3638..1f7e33f 100644
> --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> @@ -440,8 +440,8 @@ static void decon_win_commit(struct exynos_drm_crtc *crtc, unsigned int win)
>  	writel(plane->fb_height, ctx->regs + VIDW_WHOLE_Y(win));
>  
>  	/* offset from the start of the buffer to read */
> -	writel(plane->fb_x, ctx->regs + VIDW_OFFSET_X(win));
> -	writel(plane->fb_y, ctx->regs + VIDW_OFFSET_Y(win));
> +	writel(plane->src_x, ctx->regs + VIDW_OFFSET_X(win));
> +	writel(plane->src_y, ctx->regs + VIDW_OFFSET_Y(win));
>  
>  	DRM_DEBUG_KMS("start addr = 0x%lx\n",
>  			(unsigned long)val);
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> index 4a4ba82..f576719 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> @@ -47,14 +47,14 @@ enum exynos_drm_output_type {
>   * Exynos drm common overlay structure.
>   *
>   * @base: plane object
> - * @fb_x: offset x on a framebuffer to be displayed.
> + * @src_x: offset x on a framebuffer to be displayed.
>   *	- the unit is screen coordinates.
> - * @fb_y: offset y on a framebuffer to be displayed.
> + * @src_y: offset y on a framebuffer to be displayed.
>   *	- the unit is screen coordinates.
> - * @fb_width: width of a framebuffer.
> - * @fb_height: height of a framebuffer.
>   * @src_width: width of a partial image to be displayed from framebuffer.
>   * @src_height: height of a partial image to be displayed from framebuffer.
> + * @fb_width: width of a framebuffer.
> + * @fb_height: height of a framebuffer.
>   * @crtc_x: offset x on hardware screen.
>   * @crtc_y: offset y on hardware screen.
>   * @crtc_width: window width to be displayed (hardware screen).
> @@ -85,12 +85,12 @@ enum exynos_drm_output_type {
>  
>  struct exynos_drm_plane {
>  	struct drm_plane base;
> -	unsigned int fb_x;
> -	unsigned int fb_y;
> -	unsigned int fb_width;
> -	unsigned int fb_height;
> +	unsigned int src_x;
> +	unsigned int src_y;
>  	unsigned int src_width;
>  	unsigned int src_height;
> +	unsigned int fb_width;
> +	unsigned int fb_height;
>  	unsigned int crtc_x;
>  	unsigned int crtc_y;
>  	unsigned int crtc_width;
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 7964b27..f039041 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -653,8 +653,8 @@ static void fimd_win_commit(struct exynos_drm_crtc *crtc, unsigned int win)
>  	fimd_shadow_protect_win(ctx, win, true);
>  
>  
> -	offset = plane->fb_x * (plane->bpp >> 3);
> -	offset += plane->fb_y * plane->pitch;
> +	offset = plane->src_x * (plane->bpp >> 3);
> +	offset += plane->src_y * plane->pitch;
>  
>  	/* buffer start address */
>  	dma_addr = plane->dma_addr[0] + offset;
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c
> index 5d3066d..1e875f4 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c
> @@ -89,12 +89,12 @@ static void exynos_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc
>  	}
>  
>  	/* set drm framebuffer data. */
> -	exynos_plane->fb_x = src_x;
> -	exynos_plane->fb_y = src_y;
> -	exynos_plane->fb_width = fb->width;
> -	exynos_plane->fb_height = fb->height;
> +	exynos_plane->src_x = src_x;
> +	exynos_plane->src_y = src_y;
>  	exynos_plane->src_width = src_w;
>  	exynos_plane->src_height = src_h;
> +	exynos_plane->fb_width = fb->width;
> +	exynos_plane->fb_height = fb->height;
>  	exynos_plane->bpp = fb->bits_per_pixel;
>  	exynos_plane->pitch = fb->pitches[0];
>  	exynos_plane->pixel_format = fb->pixel_format;
> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
> index b95ed91..ede402b 100644
> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
> @@ -457,8 +457,8 @@ static void vp_video_buffer(struct mixer_context *ctx, int win)
>  	vp_reg_write(res, VP_SRC_WIDTH, plane->src_width);
>  	vp_reg_write(res, VP_SRC_HEIGHT, plane->src_height);
>  	vp_reg_write(res, VP_SRC_H_POSITION,
> -			VP_SRC_H_POSITION_VAL(plane->fb_x));
> -	vp_reg_write(res, VP_SRC_V_POSITION, plane->fb_y);
> +			VP_SRC_H_POSITION_VAL(plane->src_x));
> +	vp_reg_write(res, VP_SRC_V_POSITION, plane->src_y);
>  
>  	vp_reg_write(res, VP_DST_WIDTH, plane->crtc_width);
>  	vp_reg_write(res, VP_DST_H_POSITION, plane->crtc_x);
> @@ -561,8 +561,8 @@ static void mixer_graph_buffer(struct mixer_context *ctx, int win)
>  
>  	/* converting dma address base and source offset */
>  	dma_addr = plane->dma_addr[0]
> -		+ (plane->fb_x * plane->bpp >> 3)
> -		+ (plane->fb_y * plane->pitch);
> +		+ (plane->src_x * plane->bpp >> 3)
> +		+ (plane->src_y * plane->pitch);
>  	src_x_offset = 0;
>  	src_y_offset = 0;
>  
> 



More information about the dri-devel mailing list