Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / Atom feed
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,
	jacob2.chen@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,
	zhengsq@rock-chips.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 17:50:11 -0300
Message-ID: <41e7e574-2708-eb4c-ea30-e6a1ac9c073e@collabora.com> (raw)
In-Reply-To: <dbdfed3e-7bb6-bf1f-64b9-ab7298193e2d@xs4all.nl>



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.

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

  reply index

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30 18:42 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
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
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
2019-08-16  0:13   ` Laurent Pinchart
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 [this message]
2019-07-31  0:08     ` Helen Koike
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 publically 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=41e7e574-2708-eb4c-ea30-e6a1ac9c073e@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=jacob2.chen@rock-chips.com \
    --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

Linux-ARM-Kernel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-arm-kernel/0 linux-arm-kernel/git/0.git
	git clone --mirror https://lore.kernel.org/linux-arm-kernel/1 linux-arm-kernel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-arm-kernel linux-arm-kernel/ https://lore.kernel.org/linux-arm-kernel \
		linux-arm-kernel@lists.infradead.org infradead-linux-arm-kernel@archiver.kernel.org
	public-inbox-index linux-arm-kernel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-arm-kernel


AGPL code for this site: git clone https://public-inbox.org/ public-inbox