Re: [PATCH 1/3] rcar-vin: align format width with hardware limits

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

 



On 09/14/2018 04:13 AM, Niklas Söderlund wrote:
> The Gen3 datasheets lists specific alignment restrictions compared to
> Gen2. This was overlooked when adding Gen3 support as no problematic
> configuration was encountered. However when adding support for Gen3 Up
> Down Scaler (UDS) strange issues could be observed for odd widths
> without taking this limit into consideration.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
> ---
>  drivers/media/platform/rcar-vin/rcar-v4l2.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> index dc77682b47857c97..2fc2a05eaeacb134 100644
> --- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
> @@ -673,6 +673,21 @@ static void rvin_mc_try_format(struct rvin_dev *vin,
>  	pix->quantization = V4L2_MAP_QUANTIZATION_DEFAULT(true, pix->colorspace,
>  							  pix->ycbcr_enc);
>  
> +	switch (vin->format.pixelformat) {
> +	case V4L2_PIX_FMT_NV16:
> +		pix->width = ALIGN(pix->width, 0x80);
> +		break;
> +	case V4L2_PIX_FMT_YUYV:
> +	case V4L2_PIX_FMT_UYVY:
> +	case V4L2_PIX_FMT_RGB565:
> +	case V4L2_PIX_FMT_XRGB555:
> +		pix->width = ALIGN(pix->width, 0x40);
> +		break;
> +	default:
> +		pix->width = ALIGN(pix->width, 0x20);
> +		break;
> +	}
> +
>  	rvin_format_align(vin, pix);
>  }
>  
> 

This looks weird. So for NV16 the width must be a multiple of 128,
do I read that correctly?

Are you sure you don't mean bytesperline?

And if it really is the width, doesn't this place very big constraints
on the vin driver? If you don't want/need the UDS, then I can imagine
that you don't want these alignments.

Regards,

	Hans



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux