[PATCH v5 00/20] Add Tegra20 parallel video input capture

Hans Verkuil hverkuil-cisco at xs4all.nl
Wed Apr 12 09:21:47 UTC 2023


On 12/04/2023 11:16, Luca Ceresoli wrote:
> Hello Hans,
> 
> On Fri,  7 Apr 2023 15:38:32 +0200
> Luca Ceresoli <luca.ceresoli at bootlin.com> wrote:
> 
>> New in v5: dropped the patch that was removing lots of the logic behind
>> enum_format, after discussion with Hans. The rest is unmodified except for
>> rebasing and fixing a couple typos in comments.
>>
>> Full details follow.
>>
>> Tegra20 and other Tegra SoCs have a video input (VI) peripheral that can
>> receive from either MIPI CSI-2 or parallel video (called respectively "CSI"
>> and "VIP" in the documentation). The kernel currently has a staging driver
>> for Tegra210 CSI capture. This patch set adds support for Tegra20 VIP
>> capture.
>>
>> Unfortunately I had no real documentation available to base this work on.
>> I only had a working downstream 3.1 kernel, so I started with the driver
>> found there and heavily reworked it to fit into the mainline tegra-video
>> driver structure. The existing code appears written with the intent of
>> being modular and allow adding new input mechanisms and new SoCs while
>> keeping a unique VI core module. However its modularity and extensibility
>> was not enough to add Tegra20 VIP support, so I added some hooks to turn
>> hard-coded behaviour into per-SoC or per-bus customizable code. There are
>> also a fix, some generic cleanups and DT bindings.
>>
>> Quick tour of the patches:
>>
>>  * Device tree bindings
>>
>>    01. dt-bindings: display: tegra: add Tegra20 VIP
>>    02. dt-bindings: display: tegra: vi: add 'vip' property and example
>>
>>  * Minor improvements to logging, comments, cleanups
>>
>>    03. staging: media: tegra-video: improve documentation of tegra_video_format fields
>>    04. staging: media: tegra-video: document tegra_channel_get_remote_source_subdev
>>    05. staging: media: tegra-video: fix typos in comment
>>    06. staging: media: tegra-video: improve error messages
>>    07. staging: media: tegra-video: slightly simplify cleanup on errors
>>    08. staging: media: tegra-video: move private struct declaration to C file
>>    09. staging: media: tegra-video: move tegra210_csi_soc to C file
>>    10. staging: media: tegra-video: remove unneeded include
>>
>>  * Preparation to make the VI module generic enough to host Tegra20 and VIP
>>
>>    11. staging: media: tegra-video: Kconfig: allow TPG only on Tegra210
>>    12. staging: media: tegra-video: move tegra_channel_fmt_align to a per-soc op
>>    13. staging: media: tegra-video: move default format to soc-specific data
>>    14. staging: media: tegra-video: move MIPI calibration calls from VI to CSI
>>    15. staging: media: tegra-video: add a per-soc enable/disable op
>>    16. staging: media: tegra-video: move syncpt init/free to a per-soc op
>>    17. staging: media: tegra-video: add syncpts for Tegra20 to struct tegra_vi
>>    18. staging: media: tegra-video: add hooks for planar YUV and H/V flip
>>    19. staging: media: tegra-video: add H/V flip controls
>>
>>  * Implementation of VIP and Tegra20
>>
>>    20. staging: media: tegra-video: add support for Tegra20 parallel input
>>
>> Enjoy!
>>
>> Changed in v5:
>> - removed patch 3 as requested by Hans Verkuil; now the driver is kept
>>   video-node-centric and the enum_format logic is unchanged
>> - rebased on top of that
>> - trivial fixes (typos)
> 
> According to your review of v4, removing patch 3 was the only change
> required, and I didn't do anything else, and there have been no big
> changes since v1 anyway, so I was wondering whether this series has any
> hope to make it for 6.4...

It's borderline. I first need to test it again, and I can do that Friday
at the earliest (if I find the time). I'll try, but no promises...

Regards,

	Hans


More information about the dri-devel mailing list