Re: [PATCH] sh_mobile_ceu_camera: Remove frame size page alignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 9 Dec 2009, Magnus Damm wrote:

> From: Magnus Damm <damm@xxxxxxxxxxxxx>
> 
> This patch updates the SuperH Mobile CEU driver to
> not page align the frame size. Useful in the case of
> USERPTR with non-page aligned frame sizes and offsets.
> 
> Signed-off-by: Magnus Damm <damm@xxxxxxxxxxxxx>
> ---
> 
>  drivers/media/video/sh_mobile_ceu_camera.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> --- 0010/drivers/media/video/sh_mobile_ceu_camera.c
> +++ work/drivers/media/video/sh_mobile_ceu_camera.c	2009-12-09 17:54:37.000000000 +0900
> @@ -199,14 +199,13 @@ static int sh_mobile_ceu_videobuf_setup(
>  	struct sh_mobile_ceu_dev *pcdev = ici->priv;
>  	int bytes_per_pixel = (icd->current_fmt->depth + 7) >> 3;
>  
> -	*size = PAGE_ALIGN(icd->user_width * icd->user_height *
> -			   bytes_per_pixel);
> +	*size = icd->user_width * icd->user_height * bytes_per_pixel;
>  
>  	if (0 == *count)
>  		*count = 2;
>  
>  	if (pcdev->video_limit) {
> -		while (*size * *count > pcdev->video_limit)
> +		while (PAGE_ALIGN(*size) * *count > pcdev->video_limit)
>  			(*count)--;
>  	}

Please, correct me if I'm wrong. Currently most (all?) sh platforms, using 
this driver, and wishing to use V4L2_MEMORY_MMAP, reserve contiguous 
memory in their platform code. In this case pcdev->video_limit is set to 
the size of that area. videobuf-dma-contig.c::__videobuf_mmap_mapper() 
will anyway allocate page-aligned buffers for V4L2_MEMORY_MMAP, so, even 
for the case of a platform, not reserving RAM at boot-time, it should 
work. Similarly it should work for the V4L2_MEMORY_USERPTR case. So, looks 
ok to me, queued, thanks.

Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux