RE: [PATCH] adding support for setting bus parameters in sub device

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

 



> Hi,
>
> Is this ready to get merged or still require discussion before merge?

I want to take a final look at this. I had hoped to do that last weekend,
but I didn't have the time for it then. But I should be able to do it this
weekend.

Regards,

        Hans

>
> Murali Karicheri
> Software Design Engineer
> Texas Instruments Inc.
> Germantown, MD 20874
> email: m-karicheri2@xxxxxx
>
>>-----Original Message-----
>>From: Karicheri, Muralidharan
>>Sent: Wednesday, June 17, 2009 5:17 PM
>>To: linux-media@xxxxxxxxxxxxxxx
>>Cc: davinci-linux-open-source@xxxxxxxxxxxxxxxxxxxx; Muralidharan
>> Karicheri;
>>Karicheri, Muralidharan
>>Subject: [PATCH] adding support for setting bus parameters in sub device
>>
>>From: Muralidharan Karicheri <a0868495@xxxxxxxxxxxxxxxxxxxxxxxxxx>
>>
>>This patch adds support for setting bus parameters such as bus type
>>(Raw Bayer or Raw YUV image data bus), bus width (example 10 bit raw
>>image data bus, 10 bit BT.656 etc.), and polarities (vsync, hsync, field
>>etc) in sub device. This allows bridge driver to configure the sub device
>>bus for a specific set of bus parameters through s_bus() function call.
>>This also can be used to define platform specific bus parameters for
>>host and sub-devices.
>>
>>Reviewed by: Hans Verkuil <hverkuil@xxxxxxxxx>
>>Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx>
>>---
>>Applies to v4l-dvb repository
>>
>> include/media/v4l2-subdev.h |   40
>>++++++++++++++++++++++++++++++++++++++++
>> 1 files changed, 40 insertions(+), 0 deletions(-)
>>
>>diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
>>index 1785608..8532b91 100644
>>--- a/include/media/v4l2-subdev.h
>>+++ b/include/media/v4l2-subdev.h
>>@@ -37,6 +37,43 @@ struct v4l2_decode_vbi_line {
>> 	u32 type;		/* VBI service type (V4L2_SLICED_*). 0 if no
>>service found */
>> };
>>
>>+/*
>>+ * Some sub-devices are connected to the host/bridge device through a
>> bus
>>that
>>+ * carries the clock, vsync, hsync and data. Some interfaces such as
>>BT.656
>>+ * carries the sync embedded in the data where as others have separate
>>line
>>+ * carrying the sync signals. The structure below is used to define bus
>>+ * configuration parameters for host as well as sub-device
>>+ */
>>+enum v4l2_bus_type {
>>+	/* Raw YUV image data bus */
>>+	V4L2_BUS_RAW_YUV,
>>+	/* Raw Bayer image data bus */
>>+	V4L2_BUS_RAW_BAYER
>>+};
>>+
>>+struct v4l2_bus_settings {
>>+	/* yuv or bayer image data bus */
>>+	enum v4l2_bus_type type;
>>+	/* subdev bus width */
>>+	u8 subdev_width;
>>+	/* host bus width */
>>+	u8 host_width;
>>+	/* embedded sync, set this when sync is embedded in the data stream
>>*/
>>+	unsigned embedded_sync:1;
>>+	/* master or slave */
>>+	unsigned host_is_master:1;
>>+	/* 0 - active low, 1 - active high */
>>+	unsigned pol_vsync:1;
>>+	/* 0 - active low, 1 - active high */
>>+	unsigned pol_hsync:1;
>>+	/* 0 - low to high , 1 - high to low */
>>+	unsigned pol_field:1;
>>+	/* 0 - active low , 1 - active high */
>>+	unsigned pol_data:1;
>>+	/* 0 - sample at falling edge , 1 - sample at rising edge */
>>+	unsigned edge_pclock:1;
>>+};
>>+
>> /* Sub-devices are devices that are connected somehow to the main bridge
>>    device. These devices are usually audio/video
>> muxers/encoders/decoders
>>or
>>    sensors and webcam controllers.
>>@@ -199,6 +236,8 @@ struct v4l2_subdev_audio_ops {
>>
>>    s_routing: see s_routing in audio_ops, except this version is for
>> video
>> 	devices.
>>+
>>+   s_bus: set bus parameters in sub device to configure the bus
>>  */
>> struct v4l2_subdev_video_ops {
>> 	int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32
>>config);
>>@@ -219,6 +258,7 @@ struct v4l2_subdev_video_ops {
>> 	int (*s_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param);
>> 	int (*enum_framesizes)(struct v4l2_subdev *sd, struct
>>v4l2_frmsizeenum *fsize);
>> 	int (*enum_frameintervals)(struct v4l2_subdev *sd, struct
>>v4l2_frmivalenum *fival);
>>+	int (*s_bus)(struct v4l2_subdev *sd, const struct v4l2_bus_settings
>>*bus);
>> };
>>
>> struct v4l2_subdev_ops {
>>--
>>1.6.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux