[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251224102027.3343361-1-y-abhilashchandra@ti.com>
Date: Wed, 24 Dec 2025 15:50:23 +0530
From: Yemike Abhilash Chandra <y-abhilashchandra@...com>
To: <mchehab@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>, <hverkuil+cisco@...nel.org>
CC: <sakari.ailus@...ux.intel.com>, <bparrot@...com>,
<jai.luthra@...asonboard.com>, <dale@...nsworth.org>,
<sbellary@...libre.com>, <linux-media@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<u-kumar1@...com>, <y-abhilashchandra@...com>
Subject: [PATCH V7 0/4] Add support for TI VIP
This patch series adds support for the TI VIP. VIP stands for Video
Input Port, it can be found on devices such as DRA7xx and provides
a parallel interface to a video source such as a sensor or TV decoder.
Each VIP can support two inputs (slices) and a SoC can be configured
with a variable number of VIP's. Each slice can support two ports
each connected to its own sub-device.
Note: The main intention behind updating this series is to address
the warnings reported by Media CI at [1].
[1]: https://linux-media.pages.freedesktop.org/-/users/patchwork/-/jobs/88224108/artifacts/report.htm
Changelog:
Changes in v7:
- Fix overflow warning by casting to u32 while doing reg_write in enable_irqs(). (Media CI)
- In function add_out_dtd(), initialize max_width and max_height by replacing else if
with else to avoid possible use of uninitialized variables warning. (Media CI)
- Add missing error code when video_device_alloc() fails in alloc_stream(). (Media CI)
- Fix inconsistent indentation in switch-case block in vip_probe_complete(). (Media CI)
- Correct pm_runtime_get_sync() handling in vip_probe() by checking ret < 0 instead of ret. (Media CI)
- Add missing goto path when we fail to ioremap in vip_probe() for proper error handling. (Media CI)
- Avoid passing zero to PTR_ERR() in vip_probe_slice() by using PTR_ERR_OR_ZERO(). (Media CI)
- Prevent possible NULL dereference in vip_process_buffer_complete() by using list_first_entry_or_null(). (Media CI)
v4l2-compliance output: https://gist.github.com/Yemike-Abhilash-Chandra/37fe86055f5f754d825dd18f739ee4c4
v4l2-compliance output with -s: https://gist.github.com/Yemike-Abhilash-Chandra/f53334765660eaa2fcb3b880596d4878
Test logs: https://gist.github.com/Yemike-Abhilash-Chandra/c95bd8aab9d8a43aa91286aab885f87c
Link for v6: https://lore.kernel.org/all/20251120091030.2081594-1-y-abhilashchandra@ti.com/
Note: The original author of the VIP is Dale. Benoit and Sukruth have also contributed to this
driver in various capacities in our downstream tree. Before starting the upstreaming effort,
I reached out to Dale, Benoit, and Sukruth and obtained their consent to retain their respective
Signed-off-by tags.
Dale Farnsworth (2):
dt-bindings: media: ti: vpe: Add support for Video Input Port
media: ti: vpe: Add the VIP driver
Yemike Abhilash Chandra (2):
media: ti: vpe: Re-introduce multi-instance and multi-client support
media: ti: vpe: Export vpdma_load_firmware() function
.../devicetree/bindings/media/ti,vip.yaml | 152 +
MAINTAINERS | 1 +
drivers/media/platform/ti/Kconfig | 13 +
drivers/media/platform/ti/vpe/Makefile | 2 +
drivers/media/platform/ti/vpe/vip.c | 3673 +++++++++++++++++
drivers/media/platform/ti/vpe/vip.h | 717 ++++
drivers/media/platform/ti/vpe/vpdma.c | 51 +-
drivers/media/platform/ti/vpe/vpdma.h | 6 +
8 files changed, 4614 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/media/ti,vip.yaml
create mode 100644 drivers/media/platform/ti/vpe/vip.c
create mode 100644 drivers/media/platform/ti/vpe/vip.h
--
2.34.1
Powered by blists - more mailing lists