media: platform: use (t,l)/wxh format for rectangleStandardize reporting of rectangles to (t,l)/wxh.Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>Signed-off-by: Mauro Carvalho Chehab <mchehab+
media: platform: use (t,l)/wxh format for rectangleStandardize reporting of rectangles to (t,l)/wxh.Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
show more ...
media: stm32: dcmipp: add has_csi2 & needs_mclk in match dataIntroduce two variable has_csi and has_mclk within thematch data of the driver in order to know, depending onthe compatible if CSI-2 i
media: stm32: dcmipp: add has_csi2 & needs_mclk in match dataIntroduce two variable has_csi and has_mclk within thematch data of the driver in order to know, depending onthe compatible if CSI-2 interface is available and ifthe mclk clk should be retrieved.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: correct ret type in dcmipp_graph_notify_boundThe ret variable used within the function dcmipp_graph_notify_bound iswrongly defined as unsigned int while it can also be signed
media: stm32: dcmipp: correct ret type in dcmipp_graph_notify_boundThe ret variable used within the function dcmipp_graph_notify_bound iswrongly defined as unsigned int while it can also be signed.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: add core support for the stm32mp25The stm32mp25 supports both parallel & csi inputs.An additional clock control is necessary.Skeleton of the subdev structures for the stm32m
media: stm32: dcmipp: add core support for the stm32mp25The stm32mp25 supports both parallel & csi inputs.An additional clock control is necessary.Skeleton of the subdev structures for the stm32mp25 is added,identical for the time being to the stm32mp13 however more subdeveswill be added in further commits.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: fill media ctl hw_revision fieldAdd hw_revision field information of the media controller so thatapplication can distinguish between variants of DCMIPP implementations.Sign
media: stm32: dcmipp: fill media ctl hw_revision fieldAdd hw_revision field information of the media controller so thatapplication can distinguish between variants of DCMIPP implementations.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: avoid duplicated format on enum in bytecapAvoid duplication of enumerated pixelformat on the bytecapvideo capture device. Indeed, since the bytecap format listcontains both
media: stm32: dcmipp: avoid duplicated format on enum in bytecapAvoid duplication of enumerated pixelformat on the bytecapvideo capture device. Indeed, since the bytecap format listcontains both CSI & parallel 16bits formats, ensure that samepixelformat are not reported twice when performing enumerationof supported formats.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: add 1X16 RGB / YUV formats supportAdd 1X16 RGB & YUV formats support within bytecap & byteproc.Slightly change the link_validate function to be able to validateagainst eithe
media: stm32: dcmipp: add 1X16 RGB / YUV formats supportAdd 1X16 RGB & YUV formats support within bytecap & byteproc.Slightly change the link_validate function to be able to validateagainst either 1X16 or 2X8 variant of a format.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: add bayer 10~14 bits formatsAdd support for bayer formats from 10 to 14 bits.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4
media: stm32: dcmipp: add bayer 10~14 bits formatsAdd support for bayer formats from 10 to 14 bits.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: add support for csi input into dcmipp-inputOn stm32mp25, the dcmipp can accept data coming from a CSI bus inaddition to the parallel interface. Add this support intodcmipp-
media: stm32: dcmipp: add support for csi input into dcmipp-inputOn stm32mp25, the dcmipp can accept data coming from a CSI bus inaddition to the parallel interface. Add this support intodcmipp-input subdev.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: rename dcmipp_parallel into dcmipp_inputIn preparation of the introduction of dcmipp csi input support, renamethe dcmipp_parallel subdev into a generic dcmipp_input which wil
media: stm32: dcmipp: rename dcmipp_parallel into dcmipp_inputIn preparation of the introduction of dcmipp csi input support, renamethe dcmipp_parallel subdev into a generic dcmipp_input which will be incharge of handling both parallel input & csi input.Only structures / variables / functions and file naming are changed withoutany functional modifications.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: replace s_stream with enable/disable_streamsReplace s_stream ops with enable_streams and disable_streams.At the same time, use v4l2_subdev_enable_streams andv4l2_subdev_disa
media: stm32: dcmipp: replace s_stream with enable/disable_streamsReplace s_stream ops with enable_streams and disable_streams.At the same time, use v4l2_subdev_enable_streams andv4l2_subdev_disable_streams functions instead ofdirect s_stream calls.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: use v4l2_subdev_is_streamingRely on v4l2_subdev_is_streaming in order to know if the subdevis streaming or not instead of relying on a local variable.Signed-off-by: Alain V
media: stm32: dcmipp: use v4l2_subdev_is_streamingRely on v4l2_subdev_is_streaming in order to know if the subdevis streaming or not instead of relying on a local variable.Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: stm32: dcmipp: correct dma_set_mask_and_coherent mask valueCorrect the call to dma_set_mask_and_coherent which should be setto DMA_BIT_MASK(32).Fixes: 28e0f3772296 ("media: stm32-dcmipp:
media: stm32: dcmipp: correct dma_set_mask_and_coherent mask valueCorrect the call to dma_set_mask_and_coherent which should be setto DMA_BIT_MASK(32).Fixes: 28e0f3772296 ("media: stm32-dcmipp: STM32 DCMIPP camera interface driver")Cc: stable@vger.kernel.orgSigned-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
media: platform: drop vb2_ops_wait_prepare/finishSince commit 88785982a19d ("media: vb2: use lock if wait_prepare/finishare NULL") it is no longer needed to set the wait_prepare/finishvb2_ops cal
media: platform: drop vb2_ops_wait_prepare/finishSince commit 88785982a19d ("media: vb2: use lock if wait_prepare/finishare NULL") it is no longer needed to set the wait_prepare/finishvb2_ops callbacks as long as the lock field in vb2_queue is set.Since the vb2_ops_wait_prepare/finish callbacks already rely on that field,we can safely drop these callbacks.This simplifies the code and this is a step towards the goal of deletingthese callbacks.Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> # for meson-ge2dAcked-by: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
media: Switch back to struct platform_driver::remove()After commit 0edb555a65d1 ("platform: Make platform_driver::remove()return void") .remove() is (again) the right callback to implement forpla
media: Switch back to struct platform_driver::remove()After commit 0edb555a65d1 ("platform: Make platform_driver::remove()return void") .remove() is (again) the right callback to implement forplatform drivers.Convert all platform drivers below drivers/media to use .remove(), withthe eventual goal to drop struct platform_driver::remove_new(). As.remove() and .remove_new() have the same prototypes, conversion is doneby just changing the structure member name in the driver initializer.Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
media: stm32: dcmipp: correct error handling in dcmipp_create_subdevsCorrect error handling within the dcmipp_create_subdevs by properlydecrementing the i counter when releasing the subdevs.Fixe
media: stm32: dcmipp: correct error handling in dcmipp_create_subdevsCorrect error handling within the dcmipp_create_subdevs by properlydecrementing the i counter when releasing the subdevs.Fixes: 28e0f3772296 ("media: stm32-dcmipp: STM32 DCMIPP camera interface driver")Cc: stable@vger.kernel.orgSigned-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>[hverkuil: correct the indices: it's [i], not [i - 1].]
Revert "media: stm32: dcmipp: correct error handling in dcmipp_create_subdevs"This reverts commit 77d32b7e2a7b2e5389b67363d25371b4b8cad140.This patch is obviously wrong (causes array accesses at
Revert "media: stm32: dcmipp: correct error handling in dcmipp_create_subdevs"This reverts commit 77d32b7e2a7b2e5389b67363d25371b4b8cad140.This patch is obviously wrong (causes array accesses at index -1),and I caught that just too late.
media: stm32: dcmipp: correct error handling in dcmipp_create_subdevsCorrect error handling within the dcmipp_create_subdevs by properlydecrementing the i counter when releasing the subdeves.Fix
media: stm32: dcmipp: correct error handling in dcmipp_create_subdevsCorrect error handling within the dcmipp_create_subdevs by properlydecrementing the i counter when releasing the subdeves.Fixes: 28e0f3772296 ("media: stm32-dcmipp: STM32 DCMIPP camera interface driver")Cc: stable@vger.kernel.orgSigned-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
media: stm32-dcmipp: Remove redundant printkplatform_get_irq() already prints an error message.Also platform_get_irq() can never return 0, so lets fix the conditionnow that we are at it.Found
media: stm32-dcmipp: Remove redundant printkplatform_get_irq() already prints an error message.Also platform_get_irq() can never return 0, so lets fix the conditionnow that we are at it.Found by cocci:drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:444:3-10: line 444 is redundant because platform_get_irq() already prints an errorLink: https://lore.kernel.org/linux-media/20240429-fix-cocci-v3-6-3c4865f5a4b0@chromium.orgSigned-off-by: Ricardo Ribalda <ribalda@chromium.org>Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
media: stm32-dcmipp: Convert to platform remove callback returning voidThe .remove() callback for a platform driver returns an int which makesmany driver authors wrongly assume it's possible to do
media: stm32-dcmipp: Convert to platform remove callback returning voidThe .remove() callback for a platform driver returns an int which makesmany driver authors wrongly assume it's possible to do error handling byreturning an error code. However the value returned is ignored (apartfrom emitting a warning) and this typically results in resource leaks.To improve here there is a quest to make the remove callback returnvoid. In the first step of this quest all drivers are converted to.remove_new(), which already returns void. Eventually after all driversare converted, .remove_new() will be renamed to .remove().Trivially convert this driver from always returning zero in the removecallback 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>
media: videobuf2: core: Rename min_buffers_needed field in vb2_queueRename min_buffers_needed into min_queued_buffers and updatethe documentation about it.Signed-off-by: Benjamin Gaignard <benja
media: videobuf2: core: Rename min_buffers_needed field in vb2_queueRename min_buffers_needed into min_queued_buffers and updatethe 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.]
media: stm32-dcmipp: STM32 DCMIPP camera interface driverThis V4L2 subdev driver enables Digital Camera Memory InterfacePixel Processor(DCMIPP) of STMicroelectronics STM32 SoC series.Signed-off-
media: stm32-dcmipp: STM32 DCMIPP camera interface driverThis V4L2 subdev driver enables Digital Camera Memory InterfacePixel Processor(DCMIPP) of STMicroelectronics STM32 SoC series.Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>[hverkuil: remove empty line at end of source]