Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1460212 > unrolled thread

[PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC

Started bySongjun Wu <songjun.wu@microchip.com>
First post2016-08-11 09:20 +0200
Last post2016-08-15 19:30 +0200
Articles 9 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC Songjun Wu <songjun.wu@microchip.com> - 2016-08-11 09:20 +0200
    [PATCH v9 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver Songjun Wu <songjun.wu@microchip.com> - 2016-08-11 09:30 +0200
    Re: [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC Hans Verkuil <hverkuil@xs4all.nl> - 2016-08-12 09:40 +0200
      Re: [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC "Wu, Songjun" <Songjun.Wu@microchip.com> - 2016-08-15 08:20 +0200
        Re: [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC Hans Verkuil <hverkuil@xs4all.nl> - 2016-08-15 09:20 +0200
          Re: [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC "Wu, Songjun" <Songjun.Wu@microchip.com> - 2016-08-15 09:20 +0200
    Re: [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC Hans Verkuil <hverkuil@xs4all.nl> - 2016-08-15 09:40 +0200
      Re: [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC "Wu, Songjun" <Songjun.Wu@microchip.com> - 2016-08-15 09:50 +0200
        [PATCH] MAINTAINERS: atmel-isc: add entry for Atmel ISC Nicolas Ferre <nicolas.ferre@atmel.com> - 2016-08-15 19:30 +0200

#1460212 — [PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC

FromSongjun Wu <songjun.wu@microchip.com>
Date2016-08-11 09:20 +0200
Subject[PATCH v9 0/2] [media] atmel-isc: add driver for Atmel ISC
Message-ID<s4Srv-5i-13@gated-at.bofh.it>
The Image Sensor Controller driver includes two parts.
1) Driver code to implement the ISC function.
2) Device tree binding documentation, it describes how
   to add the ISC in device tree.

Test result with v4l-utils.
# v4l2-compliance -f
v4l2-compliance SHA   : not available

Driver Info:
        Driver name   : atmel_isc
        Card type     : Atmel Image Sensor Controller
        Bus info      : platform:atmel_isc f0008000.isc
        Driver version: 4.7.0
        Capabilities  : 0x84200001
                Video Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps   : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format

Compliance test for device /dev/video0 (not using libv4l2):

Required ioctls:
        test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
        test second video open: OK
        test VIDIOC_QUERYCAP: OK
        test VIDIOC_G/S_PRIORITY: OK
        test for unlimited opens: OK

Debug ioctls:
        test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
        test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
        test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
        test VIDIOC_ENUMAUDIO: OK (Not Supported)
        test VIDIOC_G/S/ENUMINPUT: OK
        test VIDIOC_G/S_AUDIO: OK (Not Supported)
        Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
        test VIDIOC_G/S_MODULATOR: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_ENUMAUDOUT: OK (Not Supported)
        test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
        test VIDIOC_G/S_AUDOUT: OK (Not Supported)
        Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
        test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
        test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
        test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
        test VIDIOC_G/S_EDID: OK (Not Supported)

Test input 0:

        Control ioctls:
                test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
                test VIDIOC_QUERYCTRL: OK (Not Supported)
                test VIDIOC_G/S_CTRL: OK (Not Supported)
                test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
                test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
                test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
                Standard Controls: 0 Private Controls: 0

        Format ioctls:
                test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
                test VIDIOC_G/S_PARM: OK
                test VIDIOC_G_FBUF: OK (Not Supported)
                test VIDIOC_G_FMT: OK
                test VIDIOC_TRY_FMT: OK
                test VIDIOC_S_FMT: OK
                test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
                test Cropping: OK (Not Supported)
                test Composing: OK (Not Supported)
                test Scaling: OK (Not Supported)

        Codec ioctls:
                test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
                test VIDIOC_G_ENC_INDEX: OK (Not Supported)
                test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

        Buffer ioctls:
                test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
                test VIDIOC_EXPBUF: OK

Test input 0:

Stream using all formats:
        test MMAP for Format BA81, Frame Size 640x480@60.00 Hz:
                Stride 640, Field None: OK
        test MMAP for Format YUYV, Frame Size 640x480@60.00 Hz:
                Stride 1280, Field None: OK

Total: 45, Succeeded: 45, Failed: 0, Warnings: 0

Changes in v9:
- Set the default format in fuction 'isc_async_complete'.
- Register the video device after everything is configured.

Changes in v8:
- Power on the sensor on the first open in function
  'isc_open'.
- Power off the sensor on the last release in function
  'isc_release'.
- Remove the switch of the pipeline.

Changes in v7:
- Add enum_framesizes and enum_frameintervals.
- Call s_stream(0) when stream start fail.
- Fill the device_caps field of struct video_device
  with V4L2_CAP_STREAMING and V4L2_CAP_VIDEO_CAPTURE.
- Initialize the dev of struct vb2_queue.
- Set field to FIELD_NONE if the pix field is not supported.
- Return the result directly when call g/s_parm of subdev.

Changes in v6:
- Add "iscck" and "gck" to clock-names.

Changes in v5:
- Modify the macro definition and the related code.
- Add clock-output-names.

Changes in v4:
- Modify the isc clock code since the dt is changed.
- Remove the isc clock nodes.

Changes in v3:
- Add pm runtime feature.
- Modify the isc clock code since the dt is changed.
- Remove the 'atmel,sensor-preferred'.
- Modify the isc clock node according to the Rob's remarks.

Changes in v2:
- Add "depends on COMMON_CLK" and "VIDEO_V4L2_SUBDEV_API"
  in Kconfig file.
- Correct typos and coding style according to Laurent's remarks
- Delete the loop while in 'isc_clk_enable' function.
- Replace 'hsync_active', 'vsync_active' and 'pclk_sample'
  with 'pfe_cfg0' in struct isc_subdev_entity.
- Add the code to support VIDIOC_CREATE_BUFS in
  'isc_queue_setup' function.
- Invoke isc_config to configure register in
  'isc_start_streaming' function.
- Add the struct completion 'comp' to synchronize with
  the frame end interrupt in 'isc_stop_streaming' function.
- Check the return value of the clk_prepare_enable
  in 'isc_open' function.
- Set the default format in 'isc_open' function.
- Add an exit condition in the loop while in 'isc_config'.
- Delete the hardware setup operation in 'isc_set_format'.
- Refuse format modification during streaming
  in 'isc_s_fmt_vid_cap' function.
- Invoke v4l2_subdev_alloc_pad_config to allocate and
  initialize the pad config in 'isc_async_complete' function.
- Remove the '.owner  = THIS_MODULE,' in atmel_isc_driver.
- Replace the module_platform_driver_probe() with
  module_platform_driver().
- Remove the unit address of the endpoint.
- Add the unit address to the clock node.
- Avoid using underscores in node names.
- Drop the "0x" in the unit address of the i2c node.
- Modify the description of 'atmel,sensor-preferred'.
- Add the description for the ISC internal clock.

Songjun Wu (2):
  [media] atmel-isc: add the Image Sensor Controller code
  [media] atmel-isc: DT binding for Image Sensor Controller driver

 .../devicetree/bindings/media/atmel-isc.txt        |   65 +
 drivers/media/platform/Kconfig                     |    1 +
 drivers/media/platform/Makefile                    |    2 +
 drivers/media/platform/atmel/Kconfig               |    9 +
 drivers/media/platform/atmel/Makefile              |    1 +
 drivers/media/platform/atmel/atmel-isc-regs.h      |  165 +++
 drivers/media/platform/atmel/atmel-isc.c           | 1512 ++++++++++++++++++++
 7 files changed, 1755 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
 create mode 100644 drivers/media/platform/atmel/Kconfig
 create mode 100644 drivers/media/platform/atmel/Makefile
 create mode 100644 drivers/media/platform/atmel/atmel-isc-regs.h
 create mode 100644 drivers/media/platform/atmel/atmel-isc.c

-- 
2.7.4

[toc] | [next] | [standalone]


#1460218 — [PATCH v9 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver

FromSongjun Wu <songjun.wu@microchip.com>
Date2016-08-11 09:30 +0200
Subject[PATCH v9 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver
Message-ID<s4SBb-IX-11@gated-at.bofh.it>
In reply to#1460212
DT binding documentation for ISC driver.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Songjun Wu <songjun.wu@microchip.com>
---

Changes in v9: None
Changes in v8: None
Changes in v7: None
Changes in v6:
- Add "iscck" and "gck" to clock-names.

Changes in v5:
- Add clock-output-names.

Changes in v4:
- Remove the isc clock nodes.

Changes in v3:
- Remove the 'atmel,sensor-preferred'.
- Modify the isc clock node according to the Rob's remarks.

Changes in v2:
- Remove the unit address of the endpoint.
- Add the unit address to the clock node.
- Avoid using underscores in node names.
- Drop the "0x" in the unit address of the i2c node.
- Modify the description of 'atmel,sensor-preferred'.
- Add the description for the ISC internal clock.

 .../devicetree/bindings/media/atmel-isc.txt        | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt

diff --git a/Documentation/devicetree/bindings/media/atmel-isc.txt b/Documentation/devicetree/bindings/media/atmel-isc.txt
new file mode 100644
index 0000000..bbe0e87c
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/atmel-isc.txt
@@ -0,0 +1,65 @@
+Atmel Image Sensor Controller (ISC)
+----------------------------------------------
+
+Required properties for ISC:
+- compatible
+	Must be "atmel,sama5d2-isc".
+- reg
+	Physical base address and length of the registers set for the device.
+- interrupts
+	Should contain IRQ line for the ISC.
+- clocks
+	List of clock specifiers, corresponding to entries in
+	the clock-names property;
+	Please refer to clock-bindings.txt.
+- clock-names
+	Required elements: "hclock", "iscck", "gck".
+- #clock-cells
+	Should be 0.
+- clock-output-names
+	Should be "isc-mck".
+- pinctrl-names, pinctrl-0
+	Please refer to pinctrl-bindings.txt.
+
+ISC supports a single port node with parallel bus. It should contain one
+'port' child node with child 'endpoint' node. Please refer to the bindings
+defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
+
+Example:
+isc: isc@f0008000 {
+	compatible = "atmel,sama5d2-isc";
+	reg = <0xf0008000 0x4000>;
+	interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
+	clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
+	clock-names = "hclock", "iscck", "gck";
+	#clock-cells = <0>;
+	clock-output-names = "isc-mck";
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>;
+
+	port {
+		isc_0: endpoint {
+			remote-endpoint = <&ov7740_0>;
+			hsync-active = <1>;
+			vsync-active = <0>;
+			pclk-sample = <1>;
+		};
+	};
+};
+
+i2c1: i2c@fc028000 {
+	ov7740: camera@21 {
+		compatible = "ovti,ov7740";
+		reg = <0x21>;
+		clocks = <&isc>;
+		clock-names = "xvclk";
+		assigned-clocks = <&isc>;
+		assigned-clock-rates = <24000000>;
+
+		port {
+			ov7740_0: endpoint {
+				remote-endpoint = <&isc_0>;
+			};
+		};
+	};
+};
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1460983

FromHans Verkuil <hverkuil@xs4all.nl>
Date2016-08-12 09:40 +0200
Message-ID<s5fep-793-5@gated-at.bofh.it>
In reply to#1460212
One quick question:

On 08/11/2016 09:06 AM, Songjun Wu wrote:
> The Image Sensor Controller driver includes two parts.
> 1) Driver code to implement the ISC function.
> 2) Device tree binding documentation, it describes how
>    to add the ISC in device tree.
> 
> Test result with v4l-utils.
> # v4l2-compliance -f
> v4l2-compliance SHA   : not available
> 
> Driver Info:
>         Driver name   : atmel_isc
>         Card type     : Atmel Image Sensor Controller
>         Bus info      : platform:atmel_isc f0008000.isc
>         Driver version: 4.7.0
>         Capabilities  : 0x84200001
>                 Video Capture
>                 Streaming
>                 Extended Pix Format
>                 Device Capabilities
>         Device Caps   : 0x04200001
>                 Video Capture
>                 Streaming
>                 Extended Pix Format
> 
> Compliance test for device /dev/video0 (not using libv4l2):
> 
> Required ioctls:
>         test VIDIOC_QUERYCAP: OK
> 
> Allow for multiple opens:
>         test second video open: OK
>         test VIDIOC_QUERYCAP: OK
>         test VIDIOC_G/S_PRIORITY: OK
>         test for unlimited opens: OK
> 
> Debug ioctls:
>         test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>         test VIDIOC_LOG_STATUS: OK (Not Supported)
> 
> Input ioctls:
>         test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>         test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>         test VIDIOC_ENUMAUDIO: OK (Not Supported)
>         test VIDIOC_G/S/ENUMINPUT: OK
>         test VIDIOC_G/S_AUDIO: OK (Not Supported)
>         Inputs: 1 Audio Inputs: 0 Tuners: 0
> 
> Output ioctls:
>         test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>         test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>         test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>         test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>         Outputs: 0 Audio Outputs: 0 Modulators: 0
> 
> Input/Output configuration ioctls:
>         test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>         test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>         test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>         test VIDIOC_G/S_EDID: OK (Not Supported)
> 
> Test input 0:
> 
>         Control ioctls:
>                 test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
>                 test VIDIOC_QUERYCTRL: OK (Not Supported)
>                 test VIDIOC_G/S_CTRL: OK (Not Supported)
>                 test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
>                 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
>                 test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>                 Standard Controls: 0 Private Controls: 0

Can you confirm that the sensor subdevice you are using does not have any controls?
I ask since that is fairly unusual, so I want to make sure that controls are really
not supported in this setup.

Regards,

	Hans

[toc] | [prev] | [next] | [standalone]


#1462566

From"Wu, Songjun" <Songjun.Wu@microchip.com>
Date2016-08-15 08:20 +0200
Message-ID<s6jpD-1Wc-17@gated-at.bofh.it>
In reply to#1460983

On 8/12/2016 15:32, Hans Verkuil wrote:
> One quick question:
>
> On 08/11/2016 09:06 AM, Songjun Wu wrote:
>> The Image Sensor Controller driver includes two parts.
>> 1) Driver code to implement the ISC function.
>> 2) Device tree binding documentation, it describes how
>>    to add the ISC in device tree.
>>
>> Test result with v4l-utils.
>> # v4l2-compliance -f
>> v4l2-compliance SHA   : not available
>>
>> Driver Info:
>>         Driver name   : atmel_isc
>>         Card type     : Atmel Image Sensor Controller
>>         Bus info      : platform:atmel_isc f0008000.isc
>>         Driver version: 4.7.0
>>         Capabilities  : 0x84200001
>>                 Video Capture
>>                 Streaming
>>                 Extended Pix Format
>>                 Device Capabilities
>>         Device Caps   : 0x04200001
>>                 Video Capture
>>                 Streaming
>>                 Extended Pix Format
>>
>> Compliance test for device /dev/video0 (not using libv4l2):
>>
>> Required ioctls:
>>         test VIDIOC_QUERYCAP: OK
>>
>> Allow for multiple opens:
>>         test second video open: OK
>>         test VIDIOC_QUERYCAP: OK
>>         test VIDIOC_G/S_PRIORITY: OK
>>         test for unlimited opens: OK
>>
>> Debug ioctls:
>>         test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>>         test VIDIOC_LOG_STATUS: OK (Not Supported)
>>
>> Input ioctls:
>>         test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>         test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>>         test VIDIOC_ENUMAUDIO: OK (Not Supported)
>>         test VIDIOC_G/S/ENUMINPUT: OK
>>         test VIDIOC_G/S_AUDIO: OK (Not Supported)
>>         Inputs: 1 Audio Inputs: 0 Tuners: 0
>>
>> Output ioctls:
>>         test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>         test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>>         test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>>         test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>>         Outputs: 0 Audio Outputs: 0 Modulators: 0
>>
>> Input/Output configuration ioctls:
>>         test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>>         test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>>         test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>>         test VIDIOC_G/S_EDID: OK (Not Supported)
>>
>> Test input 0:
>>
>>         Control ioctls:
>>                 test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
>>                 test VIDIOC_QUERYCTRL: OK (Not Supported)
>>                 test VIDIOC_G/S_CTRL: OK (Not Supported)
>>                 test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
>>                 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
>>                 test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>>                 Standard Controls: 0 Private Controls: 0
>
> Can you confirm that the sensor subdevice you are using does not have any controls?
> I ask since that is fairly unusual, so I want to make sure that controls are really
> not supported in this setup.
>
Sorry for the late reply.
The subdevice I use supports controls, but I did not develop the v4l2 
controls in the sensor driver.
Should I add the v4l2 controls and test again?

> Regards,
>
> 	Hans
>

[toc] | [prev] | [next] | [standalone]


#1462595

FromHans Verkuil <hverkuil@xs4all.nl>
Date2016-08-15 09:20 +0200
Message-ID<s6klI-2uR-27@gated-at.bofh.it>
In reply to#1462566
On 08/15/2016 08:09 AM, Wu, Songjun wrote:
> 
> 
> On 8/12/2016 15:32, Hans Verkuil wrote:
>> One quick question:
>>
>> On 08/11/2016 09:06 AM, Songjun Wu wrote:
>>> The Image Sensor Controller driver includes two parts.
>>> 1) Driver code to implement the ISC function.
>>> 2) Device tree binding documentation, it describes how
>>>    to add the ISC in device tree.
>>>
>>> Test result with v4l-utils.
>>> # v4l2-compliance -f
>>> v4l2-compliance SHA   : not available
>>>
>>> Driver Info:
>>>         Driver name   : atmel_isc
>>>         Card type     : Atmel Image Sensor Controller
>>>         Bus info      : platform:atmel_isc f0008000.isc
>>>         Driver version: 4.7.0
>>>         Capabilities  : 0x84200001
>>>                 Video Capture
>>>                 Streaming
>>>                 Extended Pix Format
>>>                 Device Capabilities
>>>         Device Caps   : 0x04200001
>>>                 Video Capture
>>>                 Streaming
>>>                 Extended Pix Format
>>>
>>> Compliance test for device /dev/video0 (not using libv4l2):
>>>
>>> Required ioctls:
>>>         test VIDIOC_QUERYCAP: OK
>>>
>>> Allow for multiple opens:
>>>         test second video open: OK
>>>         test VIDIOC_QUERYCAP: OK
>>>         test VIDIOC_G/S_PRIORITY: OK
>>>         test for unlimited opens: OK
>>>
>>> Debug ioctls:
>>>         test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>>>         test VIDIOC_LOG_STATUS: OK (Not Supported)
>>>
>>> Input ioctls:
>>>         test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>>         test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>>>         test VIDIOC_ENUMAUDIO: OK (Not Supported)
>>>         test VIDIOC_G/S/ENUMINPUT: OK
>>>         test VIDIOC_G/S_AUDIO: OK (Not Supported)
>>>         Inputs: 1 Audio Inputs: 0 Tuners: 0
>>>
>>> Output ioctls:
>>>         test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>>         test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>>>         test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>>>         test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>>>         Outputs: 0 Audio Outputs: 0 Modulators: 0
>>>
>>> Input/Output configuration ioctls:
>>>         test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>>>         test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>>>         test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>>>         test VIDIOC_G/S_EDID: OK (Not Supported)
>>>
>>> Test input 0:
>>>
>>>         Control ioctls:
>>>                 test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
>>>                 test VIDIOC_QUERYCTRL: OK (Not Supported)
>>>                 test VIDIOC_G/S_CTRL: OK (Not Supported)
>>>                 test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
>>>                 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
>>>                 test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>>>                 Standard Controls: 0 Private Controls: 0
>>
>> Can you confirm that the sensor subdevice you are using does not have any controls?
>> I ask since that is fairly unusual, so I want to make sure that controls are really
>> not supported in this setup.
>>
> Sorry for the late reply.
> The subdevice I use supports controls, but I did not develop the v4l2 
> controls in the sensor driver.

So you mean the sensor hardware has controls, but the sensor driver doesn't implement
them? Do I understand you correctly?

> Should I add the v4l2 controls and test again?

If the sensor driver does not implement controls (i.e. has a struct v4l2_ctrl_handler),
then everything is fine and the v4l2-compliance output is correct.

Please confirm this. I just want to be 100% certain about this before I make the pull
request.

Thanks,

	Hans

[toc] | [prev] | [next] | [standalone]


#1462600

From"Wu, Songjun" <Songjun.Wu@microchip.com>
Date2016-08-15 09:20 +0200
Message-ID<s6klJ-2uR-39@gated-at.bofh.it>
In reply to#1462595

On 8/15/2016 15:15, Hans Verkuil wrote:
> On 08/15/2016 08:09 AM, Wu, Songjun wrote:
>>
>>
>> On 8/12/2016 15:32, Hans Verkuil wrote:
>>> One quick question:
>>>
>>> On 08/11/2016 09:06 AM, Songjun Wu wrote:
>>>> The Image Sensor Controller driver includes two parts.
>>>> 1) Driver code to implement the ISC function.
>>>> 2) Device tree binding documentation, it describes how
>>>>    to add the ISC in device tree.
>>>>
>>>> Test result with v4l-utils.
>>>> # v4l2-compliance -f
>>>> v4l2-compliance SHA   : not available
>>>>
>>>> Driver Info:
>>>>         Driver name   : atmel_isc
>>>>         Card type     : Atmel Image Sensor Controller
>>>>         Bus info      : platform:atmel_isc f0008000.isc
>>>>         Driver version: 4.7.0
>>>>         Capabilities  : 0x84200001
>>>>                 Video Capture
>>>>                 Streaming
>>>>                 Extended Pix Format
>>>>                 Device Capabilities
>>>>         Device Caps   : 0x04200001
>>>>                 Video Capture
>>>>                 Streaming
>>>>                 Extended Pix Format
>>>>
>>>> Compliance test for device /dev/video0 (not using libv4l2):
>>>>
>>>> Required ioctls:
>>>>         test VIDIOC_QUERYCAP: OK
>>>>
>>>> Allow for multiple opens:
>>>>         test second video open: OK
>>>>         test VIDIOC_QUERYCAP: OK
>>>>         test VIDIOC_G/S_PRIORITY: OK
>>>>         test for unlimited opens: OK
>>>>
>>>> Debug ioctls:
>>>>         test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>>>>         test VIDIOC_LOG_STATUS: OK (Not Supported)
>>>>
>>>> Input ioctls:
>>>>         test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>>>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>>>         test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>>>>         test VIDIOC_ENUMAUDIO: OK (Not Supported)
>>>>         test VIDIOC_G/S/ENUMINPUT: OK
>>>>         test VIDIOC_G/S_AUDIO: OK (Not Supported)
>>>>         Inputs: 1 Audio Inputs: 0 Tuners: 0
>>>>
>>>> Output ioctls:
>>>>         test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>>>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>>>         test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>>>>         test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>>>>         test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>>>>         Outputs: 0 Audio Outputs: 0 Modulators: 0
>>>>
>>>> Input/Output configuration ioctls:
>>>>         test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>>>>         test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>>>>         test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>>>>         test VIDIOC_G/S_EDID: OK (Not Supported)
>>>>
>>>> Test input 0:
>>>>
>>>>         Control ioctls:
>>>>                 test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
>>>>                 test VIDIOC_QUERYCTRL: OK (Not Supported)
>>>>                 test VIDIOC_G/S_CTRL: OK (Not Supported)
>>>>                 test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
>>>>                 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
>>>>                 test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>>>>                 Standard Controls: 0 Private Controls: 0
>>>
>>> Can you confirm that the sensor subdevice you are using does not have any controls?
>>> I ask since that is fairly unusual, so I want to make sure that controls are really
>>> not supported in this setup.
>>>
>> Sorry for the late reply.
>> The subdevice I use supports controls, but I did not develop the v4l2
>> controls in the sensor driver.
>
> So you mean the sensor hardware has controls, but the sensor driver doesn't implement
> them? Do I understand you correctly?
>
Yes, your understanding is correct.

>> Should I add the v4l2 controls and test again?
>
> If the sensor driver does not implement controls (i.e. has a struct v4l2_ctrl_handler),
> then everything is fine and the v4l2-compliance output is correct.
>
> Please confirm this. I just want to be 100% certain about this before I make the pull
> request.
>
I can confirm this. I use the sensor ov7740, and the driver is developed 
by myself, I did not add the v4l2 controls into the sensor driver for now.

> Thanks,
>
> 	Hans
>

[toc] | [prev] | [next] | [standalone]


#1462605

FromHans Verkuil <hverkuil@xs4all.nl>
Date2016-08-15 09:40 +0200
Message-ID<s6kF4-2D0-13@gated-at.bofh.it>
In reply to#1460212
On 08/11/2016 09:06 AM, Songjun Wu wrote:
> The Image Sensor Controller driver includes two parts.
> 1) Driver code to implement the ISC function.
> 2) Device tree binding documentation, it describes how
>    to add the ISC in device tree.

So close...

Running checkpatch gives me:

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#133:
new file mode 100644

Can you make a patch adding an entry to MAINTAINERS? No need to repost the other
two.

Regards,

	Hans

[toc] | [prev] | [next] | [standalone]


#1462608

From"Wu, Songjun" <Songjun.Wu@microchip.com>
Date2016-08-15 09:50 +0200
Message-ID<s6kOJ-2Gt-3@gated-at.bofh.it>
In reply to#1462605

On 8/15/2016 15:34, Hans Verkuil wrote:
> On 08/11/2016 09:06 AM, Songjun Wu wrote:
>> The Image Sensor Controller driver includes two parts.
>> 1) Driver code to implement the ISC function.
>> 2) Device tree binding documentation, it describes how
>>    to add the ISC in device tree.
>
> So close...
>
> Running checkpatch gives me:
>
> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> #133:
> new file mode 100644
>
> Can you make a patch adding an entry to MAINTAINERS? No need to repost the other
> two.
>
Thank you.
Nicolas or I will make a patch to add an entry to MAINTAINERS.

> Regards,
>
> 	Hans
>

[toc] | [prev] | [next] | [standalone]


#1463011 — [PATCH] MAINTAINERS: atmel-isc: add entry for Atmel ISC

FromNicolas Ferre <nicolas.ferre@atmel.com>
Date2016-08-15 19:30 +0200
Subject[PATCH] MAINTAINERS: atmel-isc: add entry for Atmel ISC
Message-ID<s6tS2-8sN-23@gated-at.bofh.it>
In reply to#1462608
Add the MAINTAINERS' entry for Microchip / Atmel Image Sensor Controller.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Songjun Wu <songjun.wu@microchip.com>
---
 MAINTAINERS | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 45c98485c3f0..84786643ba4c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7750,6 +7750,14 @@ T:	git git://git.monstr.eu/linux-2.6-microblaze.git
 S:	Supported
 F:	arch/microblaze/
 
+MICROCHIP / ATMEL ISC DRIVER
+M:	Songjun Wu <songjun.wu@microchip.com>
+L:	linux-media@vger.kernel.org
+S:	Supported
+F:	drivers/media/platform/atmel/atmel-isc.c
+F:	drivers/media/platform/atmel/atmel-isc-regs.h
+F:	devicetree/bindings/media/atmel-isc.txt
+
 MICROSOFT SURFACE PRO 3 BUTTON DRIVER
 M:	Chen Yu <yu.c.chen@intel.com>
 L:	platform-driver-x86@vger.kernel.org
-- 
2.9.0

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web