[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5183BFFF.3020709@cogentembedded.com>
Date: Fri, 03 May 2013 17:47:43 +0400
From: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To: Prabhakar Lad <prabhakar.csengg@...il.com>
CC: LMML <linux-media@...r.kernel.org>,
Mauro Carvalho Chehab <mchehab@...hat.com>,
DLOS <davinci-linux-open-source@...ux.davincidsp.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] media: davinci: vpbe: fix layer availability for NV12
format
Hello.
On 03-05-2013 13:53, Prabhakar Lad wrote:
> From: Lad, Prabhakar <prabhakar.csengg@...il.com>
> For NV12 format, even if display data is single image,
> both VIDWIN0 and VIDWIN1 parameters must be used. The start
> address of Y data plane and C data plane is configured in
> VIDEOWIN0ADH/L and VIDEOWIN1ADH/L respectively.
> cuurently only one layer was requested, which is suffice
> for yuv422, but for yuv420(NV12) two layers are required and
> fix the same by requesting for other layer if pix fmt is NV12
> during set_fmt.
> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@...il.com>
> ---
> drivers/media/platform/davinci/vpbe_display.c | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)
> diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c
> index 0341dcc..f2ee07b 100644
> --- a/drivers/media/platform/davinci/vpbe_display.c
> +++ b/drivers/media/platform/davinci/vpbe_display.c
> @@ -922,6 +922,22 @@ static int vpbe_display_s_fmt(struct file *file, void *priv,
> other video window */
>
> layer->pix_fmt = *pixfmt;
> + if (pixfmt->pixelformat == V4L2_PIX_FMT_NV12 &&
> + cpu_is_davinci_dm365()) {
cpu_is_*() shouldn't be used in the drivers.
> + struct vpbe_layer *otherlayer;
> +
> + otherlayer = _vpbe_display_get_other_win_layer(disp_dev, layer);
> + /* if other layer is available, only
> + * claim it, do not configure it
> + */
> + ret = osd_device->ops.request_layer(osd_device,
> + otherlayer->layer_info.id);
> + if (ret < 0) {
> + v4l2_err(&vpbe_dev->v4l2_dev,
> + "Display Manager failed to allocate layer\n");
> + return -EBUSY;
> + }
> + }
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists