#
ad79c9ec |
| 23-Feb-2024 |
Jai Luthra <j-luthra@ti.com> |
media: ti: j721e-csi2rx: Fix races while restarting DMA
After the frame is submitted to DMA, it may happen that the submitted list is not updated soon enough, and the DMA callback is triggered befor
media: ti: j721e-csi2rx: Fix races while restarting DMA
After the frame is submitted to DMA, it may happen that the submitted list is not updated soon enough, and the DMA callback is triggered before that.
This can lead to kernel crashes, so move everything in a single lock/unlock section to prevent such races.
Fixes: b4a3d877dc92 ("media: ti: Add CSI2RX support for J721E") Signed-off-by: Jai Luthra <j-luthra@ti.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
8796f335 |
| 23-Feb-2024 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
media: ti: j721e-csi2rx: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible t
media: ti: j721e-csi2rx: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new(), which already returns void. Eventually after all drivers are converted, .remove_new() will be renamed to .remove().
Trivially convert this driver from always returning zero in the remove callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
619200d5 |
| 06-Feb-2024 |
Markus Elfring <elfring@users.sourceforge.net> |
media: ti: Use devm_platform_ioremap_resource() in ti_csi2rx_probe()
A wrapper function is available since the commit 7945f929f1a7 ("drivers: provide devm_platform_ioremap_resource()").
* Thus reus
media: ti: Use devm_platform_ioremap_resource() in ti_csi2rx_probe()
A wrapper function is available since the commit 7945f929f1a7 ("drivers: provide devm_platform_ioremap_resource()").
* Thus reuse existing functionality instead of keeping duplicate source code.
* Delete a local variable which became unnecessary with this refactoring.
This issue was transformed by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Reviewed-by: Jai Luthra <j-luthra@ti.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
5eb0ad46 |
| 05-Jan-2024 |
Jai Luthra <j-luthra@ti.com> |
media: ti: j721e-csi2rx: add support for RGB formats
Add support for RGB565, RGB888 and BGR888 media bus formats.
The pixel formats for these have a different byte-order than the MIPI bus formats,
media: ti: j721e-csi2rx: add support for RGB formats
Add support for RGB565, RGB888 and BGR888 media bus formats.
The pixel formats for these have a different byte-order than the MIPI bus formats, given the SHIM IP [1] unpacks them into memory as follows:
MIPI RGB888 unpacks to: BYTE3 BYTE2 BYTE1 BYTE0 00000000 RRRRRRRR GGGGGGGG BBBBBBBB
MIPI RGB565 unpacks to: BIT 15-11 BIT 10-5 BIT 4-0 RRRRR GGGGGG BBBBB
[1]: AM62x TRM: 12.6.1.4.5 "CSI_RX_IF Data Memory Organization Details"
Link: https://www.ti.com/lit/pdf/spruiv7 Signed-off-by: Jai Luthra <j-luthra@ti.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
24a4e402 |
| 05-Jan-2024 |
Julien Massot <julien.massot@collabora.com> |
media: ti: j721e-csi2rx: add GREY format
Add Grey format to properly select RAW8 data type.
Tested with a ST VG5661 sensor.
Signed-off-by: Julien Massot <julien.massot@collabora.com> Acked-by: Jai
media: ti: j721e-csi2rx: add GREY format
Add Grey format to properly select RAW8 data type.
Tested with a ST VG5661 sensor.
Signed-off-by: Julien Massot <julien.massot@collabora.com> Acked-by: Jai Luthra <j-luthra@ti.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
80c2b40a |
| 11-Dec-2023 |
Benjamin Gaignard <benjamin.gaignard@collabora.com> |
media: videobuf2: core: Rename min_buffers_needed field in vb2_queue
Rename min_buffers_needed into min_queued_buffers and update the documentation about it.
Signed-off-by: Benjamin Gaignard <benja
media: videobuf2: core: Rename min_buffers_needed field in vb2_queue
Rename min_buffers_needed into min_queued_buffers and update the documentation about it.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> [hverkuil: Drop the change where min_queued_buffers + 1 buffers would be] [hverkuil: allocated. Now this patch only renames this field instead of making] [hverkuil: a functional change as well.] [hverkuil: Renamed 3 remaining min_buffers_needed occurrences.]
show more ...
|
#
b4a3d877 |
| 09-Oct-2023 |
Jai Luthra <j-luthra@ti.com> |
media: ti: Add CSI2RX support for J721E
TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate capture over a CSI-2 bus.
The Cadence CSI2RX IP acts as a bridge between the TI specifi
media: ti: Add CSI2RX support for J721E
TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate capture over a CSI-2 bus.
The Cadence CSI2RX IP acts as a bridge between the TI specific parts and the CSI-2 protocol parts. TI then has a wrapper on top of this bridge called the SHIM layer. It takes in data from stream 0, repacks it, and sends it to memory over PSI-L DMA.
This driver acts as the "front end" to V4L2 client applications. It implements the required ioctls and buffer operations, passes the necessary calls on to the bridge, programs the SHIM layer, and performs DMA via the dmaengine API to finally return the data to a buffer supplied by the application.
Co-developed-by: Pratyush Yadav <p.yadav@ti.com> Signed-off-by: Pratyush Yadav <p.yadav@ti.com> Co-developed-by: Vaishnav Achath <vaishnav.a@ti.com> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com> Tested-by: Vaishnav Achath <vaishnav.a@ti.com> Tested-by: Julien Massot <julien.massot@collabora.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Signed-off-by: Jai Luthra <j-luthra@ti.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|