All of lore.kernel.org
 help / color / mirror / Atom feed
From: jacopo mondi <jacopo@jmondi.org>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	slongerbeam@gmail.com, niklas.soderlund@ragnatech.se,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v3 15/23] v4l: fwnode: Use default parallel flags
Date: Thu, 13 Sep 2018 11:17:20 +0200	[thread overview]
Message-ID: <20180913091720.GR20333@w540> (raw)
In-Reply-To: <20180912212942.19641-16-sakari.ailus@linux.intel.com>


[-- Attachment #1.1: Type: text/plain, Size: 3476 bytes --]

Hi Sakari,

On Thu, Sep 13, 2018 at 12:29:34AM +0300, Sakari Ailus wrote:
> The caller may provide default flags for the endpoint. Change the
> configuration based on what is available through the fwnode property API.
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> Tested-by: Steve Longerbeam <steve_longerbeam@mentor.com>

Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks
  j
> ---
>  drivers/media/v4l2-core/v4l2-fwnode.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
> index bdb0a355b66b..de4a43765ac2 100644
> --- a/drivers/media/v4l2-core/v4l2-fwnode.c
> +++ b/drivers/media/v4l2-core/v4l2-fwnode.c
> @@ -183,31 +183,44 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
>  	unsigned int flags = 0;
>  	u32 v;
>
> +	if (bus_type == V4L2_MBUS_PARALLEL || bus_type == V4L2_MBUS_BT656)
> +		flags = bus->flags;
> +
>  	if (!fwnode_property_read_u32(fwnode, "hsync-active", &v)) {
> +		flags &= ~(V4L2_MBUS_HSYNC_ACTIVE_HIGH |
> +			   V4L2_MBUS_HSYNC_ACTIVE_LOW);
>  		flags |= v ? V4L2_MBUS_HSYNC_ACTIVE_HIGH :
>  			V4L2_MBUS_HSYNC_ACTIVE_LOW;
>  		pr_debug("hsync-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "vsync-active", &v)) {
> +		flags &= ~(V4L2_MBUS_VSYNC_ACTIVE_HIGH |
> +			   V4L2_MBUS_VSYNC_ACTIVE_LOW);
>  		flags |= v ? V4L2_MBUS_VSYNC_ACTIVE_HIGH :
>  			V4L2_MBUS_VSYNC_ACTIVE_LOW;
>  		pr_debug("vsync-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "field-even-active", &v)) {
> +		flags &= ~(V4L2_MBUS_FIELD_EVEN_HIGH |
> +			   V4L2_MBUS_FIELD_EVEN_LOW);
>  		flags |= v ? V4L2_MBUS_FIELD_EVEN_HIGH :
>  			V4L2_MBUS_FIELD_EVEN_LOW;
>  		pr_debug("field-even-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "pclk-sample", &v)) {
> +		flags &= ~(V4L2_MBUS_PCLK_SAMPLE_RISING |
> +			   V4L2_MBUS_PCLK_SAMPLE_FALLING);
>  		flags |= v ? V4L2_MBUS_PCLK_SAMPLE_RISING :
>  			V4L2_MBUS_PCLK_SAMPLE_FALLING;
>  		pr_debug("pclk-sample %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "data-active", &v)) {
> +		flags &= ~(V4L2_MBUS_PCLK_SAMPLE_RISING |
> +			   V4L2_MBUS_PCLK_SAMPLE_FALLING);
>  		flags |= v ? V4L2_MBUS_DATA_ACTIVE_HIGH :
>  			V4L2_MBUS_DATA_ACTIVE_LOW;
>  		pr_debug("data-active %s\n", v ? "high" : "low");
> @@ -215,8 +228,10 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
>
>  	if (fwnode_property_present(fwnode, "slave-mode")) {
>  		pr_debug("slave mode\n");
> +		flags &= ~V4L2_MBUS_MASTER;
>  		flags |= V4L2_MBUS_SLAVE;
>  	} else {
> +		flags &= ~V4L2_MBUS_SLAVE;
>  		flags |= V4L2_MBUS_MASTER;
>  	}
>
> @@ -231,12 +246,16 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "sync-on-green-active", &v)) {
> +		flags &= ~(V4L2_MBUS_VIDEO_SOG_ACTIVE_HIGH |
> +			   V4L2_MBUS_VIDEO_SOG_ACTIVE_LOW);
>  		flags |= v ? V4L2_MBUS_VIDEO_SOG_ACTIVE_HIGH :
>  			V4L2_MBUS_VIDEO_SOG_ACTIVE_LOW;
>  		pr_debug("sync-on-green-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "data-enable-active", &v)) {
> +		flags &= ~(V4L2_MBUS_DATA_ENABLE_HIGH |
> +			   V4L2_MBUS_DATA_ENABLE_LOW);
>  		flags |= v ? V4L2_MBUS_DATA_ENABLE_HIGH :
>  			V4L2_MBUS_DATA_ENABLE_LOW;
>  		pr_debug("data-enable-active %s\n", v ? "high" : "low");
> --
> 2.11.0
>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: jacopo mondi <jacopo@jmondi.org>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	slongerbeam@gmail.com, niklas.soderlund@ragnatech.se,
	p.zabel@pengutronix.de, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v3 15/23] v4l: fwnode: Use default parallel flags
Date: Thu, 13 Sep 2018 11:17:20 +0200	[thread overview]
Message-ID: <20180913091720.GR20333@w540> (raw)
In-Reply-To: <20180912212942.19641-16-sakari.ailus@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 3476 bytes --]

Hi Sakari,

On Thu, Sep 13, 2018 at 12:29:34AM +0300, Sakari Ailus wrote:
> The caller may provide default flags for the endpoint. Change the
> configuration based on what is available through the fwnode property API.
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> Tested-by: Steve Longerbeam <steve_longerbeam@mentor.com>

Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks
  j
> ---
>  drivers/media/v4l2-core/v4l2-fwnode.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
> index bdb0a355b66b..de4a43765ac2 100644
> --- a/drivers/media/v4l2-core/v4l2-fwnode.c
> +++ b/drivers/media/v4l2-core/v4l2-fwnode.c
> @@ -183,31 +183,44 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
>  	unsigned int flags = 0;
>  	u32 v;
>
> +	if (bus_type == V4L2_MBUS_PARALLEL || bus_type == V4L2_MBUS_BT656)
> +		flags = bus->flags;
> +
>  	if (!fwnode_property_read_u32(fwnode, "hsync-active", &v)) {
> +		flags &= ~(V4L2_MBUS_HSYNC_ACTIVE_HIGH |
> +			   V4L2_MBUS_HSYNC_ACTIVE_LOW);
>  		flags |= v ? V4L2_MBUS_HSYNC_ACTIVE_HIGH :
>  			V4L2_MBUS_HSYNC_ACTIVE_LOW;
>  		pr_debug("hsync-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "vsync-active", &v)) {
> +		flags &= ~(V4L2_MBUS_VSYNC_ACTIVE_HIGH |
> +			   V4L2_MBUS_VSYNC_ACTIVE_LOW);
>  		flags |= v ? V4L2_MBUS_VSYNC_ACTIVE_HIGH :
>  			V4L2_MBUS_VSYNC_ACTIVE_LOW;
>  		pr_debug("vsync-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "field-even-active", &v)) {
> +		flags &= ~(V4L2_MBUS_FIELD_EVEN_HIGH |
> +			   V4L2_MBUS_FIELD_EVEN_LOW);
>  		flags |= v ? V4L2_MBUS_FIELD_EVEN_HIGH :
>  			V4L2_MBUS_FIELD_EVEN_LOW;
>  		pr_debug("field-even-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "pclk-sample", &v)) {
> +		flags &= ~(V4L2_MBUS_PCLK_SAMPLE_RISING |
> +			   V4L2_MBUS_PCLK_SAMPLE_FALLING);
>  		flags |= v ? V4L2_MBUS_PCLK_SAMPLE_RISING :
>  			V4L2_MBUS_PCLK_SAMPLE_FALLING;
>  		pr_debug("pclk-sample %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "data-active", &v)) {
> +		flags &= ~(V4L2_MBUS_PCLK_SAMPLE_RISING |
> +			   V4L2_MBUS_PCLK_SAMPLE_FALLING);
>  		flags |= v ? V4L2_MBUS_DATA_ACTIVE_HIGH :
>  			V4L2_MBUS_DATA_ACTIVE_LOW;
>  		pr_debug("data-active %s\n", v ? "high" : "low");
> @@ -215,8 +228,10 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
>
>  	if (fwnode_property_present(fwnode, "slave-mode")) {
>  		pr_debug("slave mode\n");
> +		flags &= ~V4L2_MBUS_MASTER;
>  		flags |= V4L2_MBUS_SLAVE;
>  	} else {
> +		flags &= ~V4L2_MBUS_SLAVE;
>  		flags |= V4L2_MBUS_MASTER;
>  	}
>
> @@ -231,12 +246,16 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "sync-on-green-active", &v)) {
> +		flags &= ~(V4L2_MBUS_VIDEO_SOG_ACTIVE_HIGH |
> +			   V4L2_MBUS_VIDEO_SOG_ACTIVE_LOW);
>  		flags |= v ? V4L2_MBUS_VIDEO_SOG_ACTIVE_HIGH :
>  			V4L2_MBUS_VIDEO_SOG_ACTIVE_LOW;
>  		pr_debug("sync-on-green-active %s\n", v ? "high" : "low");
>  	}
>
>  	if (!fwnode_property_read_u32(fwnode, "data-enable-active", &v)) {
> +		flags &= ~(V4L2_MBUS_DATA_ENABLE_HIGH |
> +			   V4L2_MBUS_DATA_ENABLE_LOW);
>  		flags |= v ? V4L2_MBUS_DATA_ENABLE_HIGH :
>  			V4L2_MBUS_DATA_ENABLE_LOW;
>  		pr_debug("data-enable-active %s\n", v ? "high" : "low");
> --
> 2.11.0
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2018-09-13  9:17 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-12 21:29 [PATCH v3 00/23] V4L2 fwnode rework; support for default configuration Sakari Ailus
2018-09-12 21:29 ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 01/23] v4l: fwnode: Add debug prints for V4L2 endpoint property parsing Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 02/23] v4l: fwnode: Use fwnode_graph_for_each_endpoint Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 03/23] v4l: fwnode: The CSI-2 clock is continuous if it's not non-continuous Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 04/23] dt-bindings: media: Specify bus type for MIPI D-PHY, others, explicitly Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 05/23] v4l: fwnode: Add definitions for CSI-2 D-PHY, parallel and Bt.656 busses Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 06/23] v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 07/23] v4l: fwnode: Let the caller provide V4L2 fwnode endpoint Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 08/23] v4l: fwnode: Detect bus type correctly Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 09/23] v4l: fwnode: Make use of newly specified bus types Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-13  9:14   ` jacopo mondi
2018-09-13  9:14     ` jacopo mondi
2018-09-13  9:43     ` [PATCH v3.1 " Sakari Ailus
2018-09-13  9:43       ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 10/23] v4l: fwnode: Read lane inversion information despite lane numbering Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 11/23] v4l: fwnode: Only assign configuration if there is no error Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 12/23] v4l: fwnode: Support driver-defined lane mapping defaults Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 13/23] v4l: fwnode: Support default CSI-2 lane mapping for drivers Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 14/23] v4l: fwnode: Parse the graph endpoint as last Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 15/23] v4l: fwnode: Use default parallel flags Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-13  9:17   ` jacopo mondi [this message]
2018-09-13  9:17     ` jacopo mondi
2018-09-12 21:29 ` [PATCH v3 16/23] v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-13  9:46   ` jacopo mondi
2018-09-13  9:46     ` jacopo mondi
2018-09-13  9:55     ` Sakari Ailus
2018-09-13  9:55       ` Sakari Ailus
2018-09-13 10:19       ` Sakari Ailus
2018-09-13 10:19         ` Sakari Ailus
2018-09-13 13:19         ` jacopo mondi
2018-09-13 13:19           ` jacopo mondi
2018-09-12 21:29 ` [PATCH v3 17/23] v4l: fwnode: Only zero the struct if bus type is set to V4L2_MBUS_UNKNOWN Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 18/23] v4l: fwnode: Use media bus type for bus parser selection Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 19/23] v4l: fwnode: Print bus type Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 20/23] v4l: fwnode: Use V4L2 fwnode endpoint media bus type if set Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 21/23] v4l: fwnode: Support parsing of CSI-2 C-PHY endpoints Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 22/23] v4l: fwnode: Update V4L2 fwnode endpoint parsing documentation Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 23/23] smiapp: Query the V4L2 endpoint for a specific bus type Sakari Ailus
2018-09-12 21:29   ` Sakari Ailus
2018-09-13  9:54 ` [PATCH v3 00/23] V4L2 fwnode rework; support for default configuration jacopo mondi
2018-09-13  9:54   ` jacopo mondi
2018-09-13 10:00   ` Sakari Ailus
2018-09-13 10:00     ` Sakari Ailus

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=20180913091720.GR20333@w540 \
    --to=jacopo@jmondi.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-media@vger.kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=sakari.ailus@linux.intel.com \
    --cc=slongerbeam@gmail.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.