From: Javier Martinez Canillas <javier@osg.samsung.com> To: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Mauro Carvalho Chehab <mchehab@osg.samsung.com>, Enrico Butera <ebutera@gmail.com>, Sakari Ailus <sakari.ailus@linux.intel.com>, Enric Balletbo i Serra <eballetbo@gmail.com>, Rob Herring <robh+dt@kernel.org>, Eduard Gavin <egavinc@gmail.com>, Hans Verkuil <hans.verkuil@cisco.com>, linux-media@vger.kernel.org Subject: Re: [PATCH 10/10] [media] tvp5150: Configure data interface via pdata or DT Date: Wed, 6 Jan 2016 12:04:24 -0300 [thread overview] Message-ID: <568D2CF8.9090802@osg.samsung.com> (raw) In-Reply-To: <1895052.dqIgFQaCHk@avalon> Hello Laurent, On 01/06/2016 10:48 AM, Laurent Pinchart wrote: [snip] >>>> @@ -940,6 +948,16 @@ static int tvp5150_cropcap(struct v4l2_subdev *sd, >>>> struct v4l2_cropcap *a) >>>> static int tvp5150_g_mbus_config(struct v4l2_subdev *sd, >>>> struct v4l2_mbus_config *cfg) >>>> { >>>> + struct tvp5150_platform_data *pdata = to_tvp5150(sd)->pdata; >>>> + >>>> + if (pdata) { >>>> + cfg->type = pdata->bus_type; >>>> + cfg->flags = pdata->parallel_flags; >>> >>> The clock and sync signals polarity don't seem configurable, shouldn't >>> they just be hardcoded as currently done ? >> >> That's a very good question, I added the flags because according to >> Documentation/devicetree/bindings/media/video-interfaces.txt, the way >> to define that the output format will be BT.656 is to avoid defining >> {hsync,vsync,field-even}-active properties. >> >> IOW, if parallel sync is used, then these properties have to be defined >> and it felt strange to not use in the driver what is defined in the DT. > > In that case we should restrict the values of the properties to what the > hardware actually supports. I would hardcode the flags here, and check them > when parsing the endpoint to make sure they're valid. > That's a good idea, I'll also mention the supported values in the binding doc. > If you find a register I have missed in the documentation with which > polarities could be configured then please also feel free to prove me wrong > :-) > I didn't find either when reading the datasheet to prepare this patch-set so I think you are correct on that. [snip] >>>> + >>>> + pdata->bus_type = bus_cfg.bus_type; >>>> + pdata->parallel_flags = bus_cfg.bus.parallel.flags; >>> >>> The V4L2_MBUS_DATA_ACTIVE_HIGH flags set returned by >>> tvp5150_g_mbus_config() when pdata is NULL is never set by >>> v4l2_of_parse_endpoint(), should you add it unconditionally ? >> >> But v4l2_of_parse_endpoint() calls v4l2_of_parse_parallel_bus() which does >> it or did I read the code incorrectly? > > No, you're right, I had overlooked the V4L2_MBUS_DATA_ACTIVE_HIGH flag when > reading v4l2_of_parse_parallel_bus(), probably a typo when searching. Please > ignore that comment. > Ok, thanks for the clarification. Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America
WARNING: multiple messages have this Message-ID (diff)
From: Javier Martinez Canillas <javier-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org> To: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org> Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Mauro Carvalho Chehab <mchehab-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>, Enrico Butera <ebutera-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Sakari Ailus <sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>, Enric Balletbo i Serra <eballetbo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Eduard Gavin <egavinc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Hans Verkuil <hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>, linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Subject: Re: [PATCH 10/10] [media] tvp5150: Configure data interface via pdata or DT Date: Wed, 6 Jan 2016 12:04:24 -0300 [thread overview] Message-ID: <568D2CF8.9090802@osg.samsung.com> (raw) In-Reply-To: <1895052.dqIgFQaCHk@avalon> Hello Laurent, On 01/06/2016 10:48 AM, Laurent Pinchart wrote: [snip] >>>> @@ -940,6 +948,16 @@ static int tvp5150_cropcap(struct v4l2_subdev *sd, >>>> struct v4l2_cropcap *a) >>>> static int tvp5150_g_mbus_config(struct v4l2_subdev *sd, >>>> struct v4l2_mbus_config *cfg) >>>> { >>>> + struct tvp5150_platform_data *pdata = to_tvp5150(sd)->pdata; >>>> + >>>> + if (pdata) { >>>> + cfg->type = pdata->bus_type; >>>> + cfg->flags = pdata->parallel_flags; >>> >>> The clock and sync signals polarity don't seem configurable, shouldn't >>> they just be hardcoded as currently done ? >> >> That's a very good question, I added the flags because according to >> Documentation/devicetree/bindings/media/video-interfaces.txt, the way >> to define that the output format will be BT.656 is to avoid defining >> {hsync,vsync,field-even}-active properties. >> >> IOW, if parallel sync is used, then these properties have to be defined >> and it felt strange to not use in the driver what is defined in the DT. > > In that case we should restrict the values of the properties to what the > hardware actually supports. I would hardcode the flags here, and check them > when parsing the endpoint to make sure they're valid. > That's a good idea, I'll also mention the supported values in the binding doc. > If you find a register I have missed in the documentation with which > polarities could be configured then please also feel free to prove me wrong > :-) > I didn't find either when reading the datasheet to prepare this patch-set so I think you are correct on that. [snip] >>>> + >>>> + pdata->bus_type = bus_cfg.bus_type; >>>> + pdata->parallel_flags = bus_cfg.bus.parallel.flags; >>> >>> The V4L2_MBUS_DATA_ACTIVE_HIGH flags set returned by >>> tvp5150_g_mbus_config() when pdata is NULL is never set by >>> v4l2_of_parse_endpoint(), should you add it unconditionally ? >> >> But v4l2_of_parse_endpoint() calls v4l2_of_parse_parallel_bus() which does >> it or did I read the code incorrectly? > > No, you're right, I had overlooked the V4L2_MBUS_DATA_ACTIVE_HIGH flag when > reading v4l2_of_parse_parallel_bus(), probably a typo when searching. Please > ignore that comment. > Ok, thanks for the clarification. Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-01-06 15:04 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-01-04 12:25 [PATCH 00/10] [media] tvp5150: add MC and DT support Javier Martinez Canillas 2016-01-04 12:25 ` Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 01/10] [media] tvp5150: Restructure version detection Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 02/10] [media] tvp5150: Add tvp5151 support Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 03/10] [media] tvp5150: Add pad-level subdev operations Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 04/10] [media] tvp5150: Add pixel rate control support Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 05/10] [media] tvp5150: Add s_stream subdev operation support Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 06/10] [media] tvp5150: Add g_mbus_config " Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 07/10] [media] tvp5150: Add device tree binding document Javier Martinez Canillas 2016-01-04 14:07 ` Rob Herring 2016-01-04 14:07 ` Rob Herring 2016-01-04 16:16 ` Javier Martinez Canillas 2016-01-04 16:16 ` Javier Martinez Canillas 2016-01-06 10:39 ` Laurent Pinchart 2016-01-06 10:39 ` Laurent Pinchart 2016-01-06 10:46 ` Javier Martinez Canillas 2016-01-06 11:00 ` Laurent Pinchart 2016-01-04 12:25 ` [PATCH 08/10] [media] tvp5150: Add OF match table Javier Martinez Canillas 2016-01-06 10:40 ` Laurent Pinchart 2016-01-04 12:25 ` [PATCH 09/10] [media] tvp5150: Initialize the chip on probe Javier Martinez Canillas 2016-01-04 12:40 ` kbuild test robot 2016-01-04 12:40 ` kbuild test robot 2016-01-04 12:53 ` Javier Martinez Canillas 2016-01-04 12:53 ` Javier Martinez Canillas 2016-01-06 10:59 ` Laurent Pinchart 2016-01-06 10:59 ` Laurent Pinchart 2016-01-06 11:39 ` Javier Martinez Canillas 2016-01-06 11:39 ` Javier Martinez Canillas 2016-01-04 12:25 ` [PATCH 10/10] [media] tvp5150: Configure data interface via pdata or DT Javier Martinez Canillas 2016-01-06 10:56 ` Laurent Pinchart 2016-01-06 11:27 ` Javier Martinez Canillas 2016-01-06 11:27 ` Javier Martinez Canillas 2016-01-06 13:48 ` Laurent Pinchart 2016-01-06 13:48 ` Laurent Pinchart 2016-01-06 15:04 ` Javier Martinez Canillas [this message] 2016-01-06 15:04 ` Javier Martinez Canillas
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=568D2CF8.9090802@osg.samsung.com \ --to=javier@osg.samsung.com \ --cc=devicetree@vger.kernel.org \ --cc=eballetbo@gmail.com \ --cc=ebutera@gmail.com \ --cc=egavinc@gmail.com \ --cc=hans.verkuil@cisco.com \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=mchehab@osg.samsung.com \ --cc=robh+dt@kernel.org \ --cc=sakari.ailus@linux.intel.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: linkBe 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.