From: Helen Koike <helen.koike@collabora.com>
To: Hans Verkuil <hverkuil@xs4all.nl>, linux-rockchip@lists.infradead.org
Cc: devicetree@vger.kernel.org, eddie.cai.linux@gmail.com,
kernel@collabora.com, heiko@sntech.de, zhengsq@rock-chips.com,
jeffy.chen@rock-chips.com, zyc@rock-chips.com,
linux-kernel@vger.kernel.org, tfiga@chromium.org,
hans.verkuil@cisco.com, laurent.pinchart@ideasonboard.com,
sakari.ailus@linux.intel.com, mchehab@kernel.org,
ezequiel@collabora.com, linux-arm-kernel@lists.infradead.org,
linux-media@vger.kernel.org
Subject: Re: [PATCH v8 00/14] Rockchip ISP1 Driver
Date: Tue, 30 Jul 2019 21:08:17 -0300 [thread overview]
Message-ID: <8ce532de-6c26-f8db-8754-c8dd1eb0764b@collabora.com> (raw)
In-Reply-To: <41e7e574-2708-eb4c-ea30-e6a1ac9c073e@collabora.com>
On 7/30/19 5:50 PM, Helen Koike wrote:
>
>
> On 7/30/19 5:15 PM, Hans Verkuil wrote:
>> On 7/30/19 8:42 PM, Helen Koike wrote:
>>> Hello,
>>>
>>> I'm re-sending a new version of ISP(Camera) v4l2 driver for rockchip
>>> rk3399 SoC.
>>>
>>> I didn't change much from the last version, just applying the
>>> suggestions made in the previous one.
>>>
>>> This patchset is also available at:
>>> https://gitlab.collabora.com/koike/linux/tree/rockchip/isp/v8
>>>
>>> Libcamera patched to work with this version:
>>> https://gitlab.collabora.com/koike/libcamera
>>> (also sent to the mailing list)
>>>
>>> I tested on the rockpi 4 with a rpi v1.3 sensor and also with the
>>> Scarlet Chromebook.
>>>
>>> Known issues (same as in v7):
>>> -------------
>>> - Reloading the module doesn't work (there is some missing cleanup when
>>> unloading)
>>> - When capturing in bayer format, changing the size doesn't seem to
>>> affect the image.
>>> - crop needs more tests
>>> - v4l2-compliance error:
>>> fail: v4l2-test-controls.cpp(824): subscribe event for control 'Image Processing Controls' failed
>>> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL
>>
>> Can you mail me the full v4l2-compliance output?
>
> Sure, please check here: http://ix.io/1Q5u
> I updated v4l-utils with the latest version and I re-ran bootstrap/configure/make,
> but for some reason the hash from the link above is not the latest commit, probably some
> old configuration somewhere. I'll resend this log as soon as I get v4l2-compliance
> properly updated.
Please see the output of v4l2-compliance here with an updated v4l-utils: http://ix.io/1Q6A
>
> Thanks
> Helen
>
>>
>> Regards,
>>
>> Hans
>>
>>> It seems that if controls are supported, v4l2-compliance says that
>>> controls of type 'Image Processing Controls' are mandatory, is this
>>> correct?
>>> - It seems there are still some issues with interrupts, but I couldn't
>>> isolate them yet.
>>>
>>> Previous changelog:
>>> -------------------
>>>
>>> changes in V6:
>>> - add mipi txrx phy support
>>> - remove bool and enum from uapi header
>>> - add buf_prepare op
>>> - correct some spelling problems
>>> - return all queued buffers when starting stream failed
>>>
>>> changes in V5: Sync with local changes,
>>> - fix the SP height limit
>>> - speed up the second stream capture
>>> - the second stream can't force sync for rsz when start/stop streaming
>>> - add frame id to param vb2 buf
>>> - enable luminance maximum threshold
>>>
>>> changes in V4:
>>> - fix some bugs during development
>>> - move quantization settings to rkisp1 subdev
>>> - correct some spelling problems
>>> - describe ports in dt-binding documents
>>>
>>> changes in V3:
>>> - add some comments
>>> - fix wrong use of v4l2_async_subdev_notifier_register
>>> - optimize two paths capture at a time
>>> - remove compose
>>> - re-struct headers
>>> - add a tmp wiki page: http://opensource.rock-chips.com/wiki_Rockchip-isp1
>>>
>>> changes in V2:
>>> mipi-phy:
>>> - use async probing
>>> - make it be a child device of the GRF
>>> isp:
>>> - add dummy buffer
>>> - change the way to get bus configuration, which make it possible to
>>> add parallel sensor support in the future(without mipi-phy driver).
>>>
>>> ------------------
>>>
>>> Changes in v8:
>>> - Add SPDX in the header
>>> - Remove emacs configs
>>> - Fix doc style
>>> - Remove boiler plate license text
>>>
>>> Changes in v7:
>>> - s/IPU3/RK_ISP1
>>> - s/correspond/corresponding
>>> - s/use/uses
>>> - s/docuemnt/document
>>> - Fix checkpatch errors (lines over 80 and SPDX)
>>> - Add TODO to improve docs
>>> - Migrate dphy specific code from
>>> drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c
>>> to drivers/phy/rockchip/phy-rockchip-dphy.c
>>> - Drop support for rk3288
>>> - Drop support for dphy txrx
>>> - code styling and checkpatch fixes
>>> - fixed warning because of unknown entity type
>>> - fixed v4l2-compliance errors regarding rkisp1 formats, try formats
>>> and default values
>>> - fix typo riksp1/rkisp1
>>> - redesign: remove mipi/csi subdevice, sensors connect directly to the
>>> isp subdevice in the media topology now. As a consequence, remove the
>>> hack in mipidphy_g_mbus_config() where information from the sensor was
>>> being propagated through the topology.
>>> - From the old dphy:
>>> * cache get_remote_sensor() in s_stream
>>> * use V4L2_CID_PIXEL_RATE instead of V4L2_CID_LINK_FREQ
>>> - Replace stream state with a boolean
>>> - code styling and checkpatch fixes
>>> - fix stop_stream (return after calling stop, do not reenable the stream)
>>> - fix rkisp1_isp_sd_get_selection when V4L2_SUBDEV_FORMAT_TRY is set
>>> - fix get format in output (isp_sd->out_fmt.mbus_code was being ignored)
>>> - s/intput/input
>>> - remove #define sd_to_isp_sd(_sd), add a static inline as it will be
>>> reused by the capture
>>> - s/strlcpy/strscpy
>>> - sort out the locks in isp stats
>>> - code styling and checkpatch fixes
>>> - s/strlcpy/strscpy
>>> - s/strcpy/strscpy
>>> - fix config lsc error
>>> LSC data table size is 17x17, but when configuring data to ISP,
>>> should be aligned to 18x17. That means every last data of last
>>> line should be filled with 0, and not filled with the data of
>>> next line.
>>> - Update new ISP parameters immediately
>>> For those sub modules that have shadow registers in core isp, the
>>> new programing parameters would not be active if both
>>> CIF_ISP_CTRL_ISP_CFG_UPD_PERMANENT and CFG_UPD are not set. Now
>>> we configure CFG_UPD to force update the shadow registers when new
>>> ISP parameters are configured.
>>> - fix some ISP parameters config error
>>> Some ISP parameter config functions may override the old enable
>>> bit value, because the enable bits of these modules are in the
>>> same registers with parameters. So we should save the old enable
>>> bits firstly.
>>> - code styling and checkpatch fixes
>>> - s/strlcpy/strscpy
>>> - Fix v4l2-compliance issues:
>>> * remove input ioctls
>>> media api can be used to define the topology, this input api is not
>>> required. Besides it, if an input is enumerated, v4l2-compliance is not
>>> happy with G_FMT returning the default colorspace instead of something
>>> more specific.
>>> * return the pixelformat to the userspace
>>> G_/S_/TRY_ FORMAT should return a valid pixelformat to the user, even if
>>> the user gave an invalid one
>>> * add missing default colorspace and ycbcr
>>> * fix wrong pixformat in mp_fmts[] table
>>> * add buf type check in s_/g_selection
>>> * queue_setup - check sizes
>>> * normalize bus_info name
>>> * fix field any v4l2-compliance -s complain - set field none
>>> when streaming
>>> - Fix compiling error: s/vidioc_enum_fmt_vid_cap_mplane/vidioc_enum_fmt_vid_cap
>>> - Replace stream state with a boolean
>>> The rkisp1_state enum consists only of 3 entries, where 1 is completely
>>> unused and the other two respectively mean not streaming or streaming.
>>> Replace it with a boolean called "streaming".
>>> - Simplify MI interrupt handling
>>> Rather than adding unnecessary indirection, just use stream index to
>>> handle MI interrupt enable/disable/clear, since the stream index matches
>>> the order of bits now, thanks to previous patch. While at it, remove
>>> some dead code.
>>> - code styling and checkpatch fixes
>>> - add link_validate: don't allow a link with bayer/non-bayer mismatch
>>> - VIDEO_ROCKCHIP_ISP1 selects VIDEOBUF2_VMALLOC
>>> - add PHY_ROCKCHIP_DPHY as a dependency for VIDEO_ROCKCHIP_ISP1
>>> - Fix compilation and runtime errors due to bitrotting
>>> The code has bit-rotten since March 2018, fix compilation errors.
>>> The new V4L2 async notifier API requires notifiers to be initialized by
>>> a call to v4l2_async_notifier_init() before being used, do so.
>>> - Add missing module device table
>>> - use clk_bulk framework
>>> - add missing notifiers cleanups
>>> - s/strlcpy/strscpy
>>> - normalize bus_info name
>>> - fix s_stream error path, stream_cnt wans't being decremented properly
>>> - use devm_platform_ioremap_resource() helper
>>> - s/deice/device
>>> - redesign: remove mipi/csi subdevice, sensors connect directly to the
>>> isp subdevice in the media topology now.
>>> - remove "saved_state" member from rkisp1_stream struct
>>> - Reverse the order of MIs
>>> - Simplify MI interrupt handling
>>> Rather than adding unnecessary indirection, just use stream index to
>>> handle MI interrupt enable/disable/clear, since the stream index matches
>>> the order of bits now, thanks to previous patch. While at it, remove
>>> some dead code.
>>> - code styling and checkpatch fixes
>>> - update document with new design and tested example
>>> - updated doc with new design and tested example
>>> - add phy properties
>>> - add ports
>>> - add phy-cells
>>>
>>> Helen Koike (1):
>>> MAINTAINERS: add entry for Rockchip ISP1 driver
>>>
>>> Jacob Chen (9):
>>> media: doc: add document for rkisp1 meta buffer format
>>> media: rkisp1: add Rockchip MIPI Synopsys DPHY driver
>>> media: rkisp1: add Rockchip ISP1 subdev driver
>>> media: rkisp1: add ISP1 statistics driver
>>> media: rkisp1: add ISP1 params driver
>>> media: rkisp1: add capture device driver
>>> media: rkisp1: add rockchip isp1 core driver
>>> dt-bindings: Document the Rockchip ISP1 bindings
>>> dt-bindings: Document the Rockchip MIPI RX D-PHY bindings
>>>
>>> Jeffy Chen (1):
>>> media: rkisp1: Add user space ABI definitions
>>>
>>> Shunqian Zheng (3):
>>> media: videodev2.h, v4l2-ioctl: add rkisp1 meta buffer format
>>> arm64: dts: rockchip: add isp0 node for rk3399
>>> arm64: dts: rockchip: add rx0 mipi-phy for rk3399
>>>
>>> .../bindings/media/rockchip-isp1.txt | 71 +
>>> .../bindings/media/rockchip-mipi-dphy.txt | 38 +
>>> Documentation/media/uapi/v4l/meta-formats.rst | 2 +
>>> .../uapi/v4l/pixfmt-meta-rkisp1-params.rst | 23 +
>>> .../uapi/v4l/pixfmt-meta-rkisp1-stat.rst | 22 +
>>> MAINTAINERS | 8 +
>>> arch/arm64/boot/dts/rockchip/rk3399.dtsi | 36 +
>>> drivers/media/platform/Kconfig | 12 +
>>> drivers/media/platform/Makefile | 1 +
>>> drivers/media/platform/rockchip/isp1/Makefile | 7 +
>>> .../media/platform/rockchip/isp1/capture.c | 1754 +++++++++++++++++
>>> .../media/platform/rockchip/isp1/capture.h | 164 ++
>>> drivers/media/platform/rockchip/isp1/common.h | 101 +
>>> drivers/media/platform/rockchip/isp1/dev.c | 675 +++++++
>>> drivers/media/platform/rockchip/isp1/dev.h | 97 +
>>> .../media/platform/rockchip/isp1/isp_params.c | 1604 +++++++++++++++
>>> .../media/platform/rockchip/isp1/isp_params.h | 50 +
>>> .../media/platform/rockchip/isp1/isp_stats.c | 508 +++++
>>> .../media/platform/rockchip/isp1/isp_stats.h | 60 +
>>> drivers/media/platform/rockchip/isp1/regs.c | 223 +++
>>> drivers/media/platform/rockchip/isp1/regs.h | 1525 ++++++++++++++
>>> drivers/media/platform/rockchip/isp1/rkisp1.c | 1286 ++++++++++++
>>> drivers/media/platform/rockchip/isp1/rkisp1.h | 111 ++
>>> drivers/media/v4l2-core/v4l2-ioctl.c | 2 +
>>> drivers/phy/rockchip/Kconfig | 8 +
>>> drivers/phy/rockchip/Makefile | 1 +
>>> drivers/phy/rockchip/phy-rockchip-dphy.c | 408 ++++
>>> include/uapi/linux/rkisp1-config.h | 816 ++++++++
>>> include/uapi/linux/videodev2.h | 4 +
>>> 29 files changed, 9617 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/media/rockchip-isp1.txt
>>> create mode 100644 Documentation/devicetree/bindings/media/rockchip-mipi-dphy.txt
>>> create mode 100644 Documentation/media/uapi/v4l/pixfmt-meta-rkisp1-params.rst
>>> create mode 100644 Documentation/media/uapi/v4l/pixfmt-meta-rkisp1-stat.rst
>>> create mode 100644 drivers/media/platform/rockchip/isp1/Makefile
>>> create mode 100644 drivers/media/platform/rockchip/isp1/capture.c
>>> create mode 100644 drivers/media/platform/rockchip/isp1/capture.h
>>> create mode 100644 drivers/media/platform/rockchip/isp1/common.h
>>> create mode 100644 drivers/media/platform/rockchip/isp1/dev.c
>>> create mode 100644 drivers/media/platform/rockchip/isp1/dev.h
>>> create mode 100644 drivers/media/platform/rockchip/isp1/isp_params.c
>>> create mode 100644 drivers/media/platform/rockchip/isp1/isp_params.h
>>> create mode 100644 drivers/media/platform/rockchip/isp1/isp_stats.c
>>> create mode 100644 drivers/media/platform/rockchip/isp1/isp_stats.h
>>> create mode 100644 drivers/media/platform/rockchip/isp1/regs.c
>>> create mode 100644 drivers/media/platform/rockchip/isp1/regs.h
>>> create mode 100644 drivers/media/platform/rockchip/isp1/rkisp1.c
>>> create mode 100644 drivers/media/platform/rockchip/isp1/rkisp1.h
>>> create mode 100644 drivers/phy/rockchip/phy-rockchip-dphy.c
>>> create mode 100644 include/uapi/linux/rkisp1-config.h
>>>
>>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-07-31 0:08 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-30 18:42 [PATCH v8 00/14] Rockchip ISP1 Driver Helen Koike
2019-07-30 18:42 ` [PATCH v8 01/14] media: videodev2.h, v4l2-ioctl: add rkisp1 meta buffer format Helen Koike
2019-08-15 13:30 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 02/14] media: doc: add document for " Helen Koike
2019-08-07 13:09 ` Sakari Ailus
2019-08-15 13:51 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 03/14] media: rkisp1: Add user space ABI definitions Helen Koike
2019-08-15 18:46 ` Laurent Pinchart
2020-07-10 12:59 ` Dafna Hirschfeld
2020-07-10 13:36 ` Laurent Pinchart
2020-07-10 14:30 ` Dafna Hirschfeld
2019-07-30 18:42 ` [PATCH v8 04/14] media: rkisp1: add Rockchip MIPI Synopsys DPHY driver Helen Koike
2019-08-07 13:05 ` Sakari Ailus
2019-08-07 13:37 ` Helen Koike
2019-08-15 17:54 ` Laurent Pinchart
2019-08-15 18:26 ` Heiko Stübner
2019-08-21 21:46 ` Helen Koike
2019-08-22 2:32 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 05/14] media: rkisp1: add Rockchip ISP1 subdev driver Helen Koike
2019-08-06 18:51 ` Helen Koike
2019-08-07 10:39 ` Hans Verkuil
2019-08-15 19:35 ` Laurent Pinchart
2020-03-25 6:34 ` Dafna Hirschfeld
2020-03-25 7:11 ` Laurent Pinchart
2020-03-25 8:51 ` Dafna Hirschfeld
2020-03-25 9:11 ` Laurent Pinchart
2019-08-08 9:14 ` Sakari Ailus
2019-08-15 0:58 ` Helen Koike
2019-08-15 8:24 ` Sakari Ailus
2019-08-15 10:29 ` Tomasz Figa
2019-08-15 10:45 ` Sakari Ailus
2019-08-15 13:17 ` Sakari Ailus
2020-01-31 19:38 ` Dafna Hirschfeld
2020-02-12 21:13 ` Sakari Ailus
2020-02-13 12:50 ` Dafna Hirschfeld
2019-08-16 0:13 ` Laurent Pinchart
2020-07-11 11:04 ` Dafna Hirschfeld
2020-07-17 7:46 ` Dafna Hirschfeld
2020-07-22 16:01 ` Tomasz Figa
2020-07-22 15:24 ` Tomasz Figa
2020-07-22 16:30 ` Laurent Pinchart
2020-07-22 17:12 ` Tomasz Figa
2020-07-22 17:50 ` Laurent Pinchart
2020-08-05 21:10 ` Dafna Hirschfeld
2020-08-06 9:21 ` Dafna Hirschfeld
2020-08-06 12:22 ` Tomasz Figa
2020-08-07 16:08 ` Dafna Hirschfeld
2020-08-13 6:17 ` Dafna Hirschfeld
2020-08-06 12:08 ` Tomasz Figa
2020-08-07 16:02 ` Dafna Hirschfeld
2019-07-30 18:42 ` [PATCH v8 06/14] media: rkisp1: add ISP1 statistics driver Helen Koike
2019-08-08 9:37 ` Sakari Ailus
2019-07-30 18:42 ` [PATCH v8 07/14] media: rkisp1: add ISP1 params driver Helen Koike
2019-07-30 18:42 ` [PATCH v8 09/14] media: rkisp1: add rockchip isp1 core driver Helen Koike
2019-08-07 15:27 ` Sakari Ailus
2019-08-08 21:59 ` Helen Koike
2019-08-09 12:05 ` Sakari Ailus
2019-08-07 15:36 ` Sakari Ailus
2019-07-30 18:42 ` [PATCH v8 10/14] dt-bindings: Document the Rockchip ISP1 bindings Helen Koike
2019-08-16 0:21 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 11/14] dt-bindings: Document the Rockchip MIPI RX D-PHY bindings Helen Koike
2019-08-15 18:14 ` Laurent Pinchart
2019-07-30 18:42 ` [PATCH v8 12/14] arm64: dts: rockchip: add isp0 node for rk3399 Helen Koike
2019-07-30 18:42 ` [PATCH v8 13/14] arm64: dts: rockchip: add rx0 mipi-phy " Helen Koike
2019-07-30 18:42 ` [PATCH v8 14/14] MAINTAINERS: add entry for Rockchip ISP1 driver Helen Koike
2019-08-15 13:56 ` Laurent Pinchart
2019-07-30 20:15 ` [PATCH v8 00/14] Rockchip ISP1 Driver Hans Verkuil
2019-07-30 20:50 ` Helen Koike
2019-07-31 0:08 ` Helen Koike [this message]
2019-07-31 4:29 ` Hans Verkuil
2019-07-31 4:33 ` Hans Verkuil
2019-07-31 4:55 ` Hans Verkuil
2019-07-31 14:42 ` Helen Koike
2019-08-07 15:37 ` Sakari Ailus
2019-08-07 17:57 ` Helen Koike
2019-08-09 18:45 ` Manivannan Sadhasivam
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=8ce532de-6c26-f8db-8754-c8dd1eb0764b@collabora.com \
--to=helen.koike@collabora.com \
--cc=devicetree@vger.kernel.org \
--cc=eddie.cai.linux@gmail.com \
--cc=ezequiel@collabora.com \
--cc=hans.verkuil@cisco.com \
--cc=heiko@sntech.de \
--cc=hverkuil@xs4all.nl \
--cc=jeffy.chen@rock-chips.com \
--cc=kernel@collabora.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mchehab@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tfiga@chromium.org \
--cc=zhengsq@rock-chips.com \
--cc=zyc@rock-chips.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).