All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: Xavier Roumegue <xavier.roumegue@oss.nxp.com>,
	mchehab@kernel.org, stanimir.varbanov@linaro.org,
	laurent.pinchart@ideasonboard.com,
	tomi.valkeinen@ideasonboard.com, robh+dt@kernel.org,
	nicolas@ndufresne.ca, alexander.stein@ew.tq-group.com
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 6/9] media: uapi: Add a control for DW100 driver
Date: Mon, 25 Apr 2022 08:57:07 +0200	[thread overview]
Message-ID: <dba106ac-cee1-2493-13c7-ad9aef556a49@xs4all.nl> (raw)
In-Reply-To: <20220328141309.177611-7-xavier.roumegue@oss.nxp.com>

On 28/03/2022 16:13, Xavier Roumegue wrote:
> The DW100 driver gets the dewarping mapping as a binary blob from the
> userspace application through a custom control.
> The blob format is hardware specific so create a dedicated control for
> this purpose.
> 
> Signed-off-by: Xavier Roumegue <xavier.roumegue@oss.nxp.com>
> ---
>  Documentation/userspace-api/media/drivers/dw100.rst | 12 ++++++++++++
>  include/uapi/linux/dw100.h                          | 11 +++++++++++
>  2 files changed, 23 insertions(+)
>  create mode 100644 include/uapi/linux/dw100.h
> 
> diff --git a/Documentation/userspace-api/media/drivers/dw100.rst b/Documentation/userspace-api/media/drivers/dw100.rst
> index 4cd55c75628e..f6d684cadf26 100644
> --- a/Documentation/userspace-api/media/drivers/dw100.rst
> +++ b/Documentation/userspace-api/media/drivers/dw100.rst
> @@ -20,4 +20,16 @@ match the expected size inherited from the destination image resolution.
>  More details on the DW100 hardware operations can be found in
>  *chapter 13.15 DeWarp* of IMX8MP_ reference manuel.
>  
> +The Vivante DW100 m2m driver implements the following driver-specific control:
> +
> +``V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (integer)``

(integer) -> (__u32 array)

But should this be a __u32 array at all? Wouldn't a __u16 array make more sense?

> +    Specifies to DW100 driver its dewarping map (aka LUT) blob as described in
> +    *chapter 13.15.2.3 Dewarping Remap* of IMX8MP_ reference manual as an U32
> +    dynamic array. The image is divided into many small 16x16 blocks. If the
> +    width of the image is not divisible by 16, the size of the rightmost block
> +    is the remainder. 

Isn't the same true for the height?

The dewarping map only saves the vertex coordinates of the
> +    block. The dewarping grid map is comprised of vertex coordinates for x and y.
> +    Each x, y coordinate register uses 16 bits (UQ12.4) to record the coordinate

As mentioned before, UQ12.4 is not necessarily a standard notation. 'unsigned 12.4
fixed point' is better, but you also need to specify exactly where the bits are
stored inside the __u16. I.e.: 'the integer part is stored in the 12 most significant
bits, and the fractional part is stored in the 4 least significant bits of the __u16.'

> +    address, with the Y coordinate in the upper bits and X in the lower bits.

And with a __u16 array this becomes: 'The array contains pairs of X, Y coordinates.'
Or something along those lines.

> +
>  .. _IMX8MP: https://www.nxp.com/webapp/Download?colCode=IMX8MPRM
> diff --git a/include/uapi/linux/dw100.h b/include/uapi/linux/dw100.h
> new file mode 100644
> index 000000000000..7fdcf2bf42e5
> --- /dev/null
> +++ b/include/uapi/linux/dw100.h
> @@ -0,0 +1,11 @@
> +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
> +/* Copyright 2022 NXP */
> +
> +#ifndef __UAPI_DW100_H__
> +#define __UAPI_DW100_H__
> +
> +#include <linux/v4l2-controls.h>
> +

Add a comment referring to the Documentation/userspace-api/media/drivers/dw100.rst
documentation so users of this control know where to find the associated
documentation.

> +#define V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (V4L2_CID_USER_DW100_BASE + 1)
> +
> +#endif

Regards,

	Hans

  reply	other threads:[~2022-04-25  6:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-28 14:13 [PATCH v4 0/9] i.MX8MP DW100 dewarper driver Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 1/9] videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 2/9] v4l2-ctrls: add support for dynamically allocated arrays Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 3/9] vivid: add dynamic array test control Xavier Roumegue
2022-03-28 14:13 ` [PATCH v4 4/9] media: Documentation: dw100: Add user documentation for the DW100 driver Xavier Roumegue
2022-04-25  6:18   ` Hans Verkuil
2022-04-26 21:26     ` Laurent Pinchart
2022-04-25  6:41   ` Hans Verkuil
2022-03-28 14:13 ` [PATCH v4 5/9] media: v4l: uapi: Add user control base for DW100 controls Xavier Roumegue
2022-04-26 21:10   ` Laurent Pinchart
2022-03-28 14:13 ` [PATCH v4 6/9] media: uapi: Add a control for DW100 driver Xavier Roumegue
2022-04-25  6:57   ` Hans Verkuil [this message]
2022-04-25  7:11     ` Laurent Pinchart
2022-04-25  7:38       ` Hans Verkuil
2022-04-26 21:03         ` Xavier Roumegue (OSS)
2022-04-26 21:34     ` Xavier Roumegue (OSS)
2022-04-26 21:44       ` Laurent Pinchart
2022-03-28 14:13 ` [PATCH v4 7/9] media: dt-bindings: media: Add i.MX8MP DW100 binding Xavier Roumegue
2022-03-28 19:32   ` Rob Herring
2022-03-28 14:13 ` [PATCH v4 8/9] media: dw100: Add i.MX8MP dw100 dewarper driver Xavier Roumegue
2022-04-25  7:21   ` Hans Verkuil
2022-03-28 14:13 ` [PATCH v4 9/9] media: MAINTAINERS: add entry for i.MX8MP DW100 v4l2 mem2mem driver Xavier Roumegue
2022-04-26 21:27   ` Laurent Pinchart
2022-04-25  7:25 ` [PATCH v4 0/9] i.MX8MP DW100 dewarper driver Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dba106ac-cee1-2493-13c7-ad9aef556a49@xs4all.nl \
    --to=hverkuil-cisco@xs4all.nl \
    --cc=alexander.stein@ew.tq-group.com \
    --cc=devicetree@vger.kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=robh+dt@kernel.org \
    --cc=stanimir.varbanov@linaro.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=xavier.roumegue@oss.nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.