aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-27media: i2c: imx335: Drop check for reentrant .s_stream()Laurent Pinchart1-9/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. The streaming field of the driver's private structure is now unused, drop it as well. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx334: Drop check for reentrant .s_stream()Laurent Pinchart1-9/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. The streaming field of the driver's private structure is now unused, drop it as well. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx319: Drop check for reentrant .s_stream()Laurent Pinchart1-4/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx258: Drop check for reentrant .s_stream()Laurent Pinchart1-4/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx219: Drop check for reentrant .s_stream()Laurent Pinchart1-3/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Dave Stevenson <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx214: Drop check for reentrant .s_stream()Laurent Pinchart1-3/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Ricardo Ribalda <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx208: Drop check for reentrant .s_stream()Laurent Pinchart1-4/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: hi846: Drop check for reentrant .s_stream()Laurent Pinchart1-3/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: hi556: Drop check for reentrant .s_stream()Laurent Pinchart1-3/+0
The subdev .s_stream() operation shall not be called to start streaming on an already started subdev, or stop streaming on a stopped subdev. Remove the check that guards against that condition. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: v4l2-subdev: Document and enforce .s_stream() requirementsLaurent Pinchart2-2/+19
The subdev .s_stream() operation must not be called to start an already started subdev, or stop an already stopped one. This requirement has never been formally documented. Fix it, and catch possible offenders with a WARN_ON() in the call_s_stream() wrapper. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ov13b10: Add 1364x768 register settingsHao Yao1-1/+57
This commit adds support for: - 1364x768 at 120 FPS Signed-off-by: Hao Yao <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: dt-bindings: Add OV5642Fabio Estevam2-2/+141
As explained in the description text from trivial-devices.yaml: "This is a list of trivial I2C and SPI devices that have simple device tree bindings, consisting only of a compatible field, an address and possibly an interrupt line." A camera device does not fall into this category as it needs other properties such as regulators, reset and powerdown GPIOs, clocks, media endpoint. Remove the OV5642 entry from trivial-devices.yaml and add its own ovti,ov5642.yaml. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: Documentation: Mention CCS toolsSakari Ailus1-0/+8
CCS tools is a useful set of programs and libraries for working with CCS static data. Do mention that in context of the CCS driver. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx296: Replace streaming flag with runtime PM checkLaurent Pinchart1-13/+3
The streaming flag in the driver private structure is used for the sole purpose of gating register writes when setting a V4L2 control. This is better handled by checking if the sensor is powered up using the runtime PM API. Do so and drop the streaming flag. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tommaso Merciai <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx415: Replace streaming flag with runtime PM checkLaurent Pinchart1-18/+16
The streaming flag in the driver private structure is used for the sole purpose of gating register writes when setting a V4L2 control. This is better handled by checking if the sensor is powered up using the runtime PM API. Do so and drop the streaming flag. Signed-off-by: Laurent Pinchart <[email protected]> [Sakari Ailus: Runtime PM put when setting analgue gain.] Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: ov5693: Drop the unused streaming flagLaurent Pinchart1-3/+0
The streaming flag in the driver's private structure is set but never used. Drop it. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Daniel Scally <[email protected]> Reviewed-by: Tommaso Merciai <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: Use pm_runtime_resume_and_get()Laurent Pinchart8-33/+26
Simplify error handling by using pm_runtime_resume_and_get() instead of pm_runtime_get_sync() with a put call in the error path. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Benjamin Mugnier <[email protected]> (st-vgxy61) Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ov5640: Fix a memory leak when ov5640_probe failsXiaolei Wang1-2/+3
sensor->ctrls.handler is initialized in ov5640_init_controls(), so when the sensor is not connected and ov5640_sensor_resume() fails, sensor->ctrls.handler should be released, otherwise a memory leak will be detected: unreferenced object 0xc674ca80 (size 64): comm "swapper/0", pid 1, jiffies 4294938337 (age 204.880s) hex dump (first 32 bytes): 80 55 75 c6 80 54 75 c6 00 55 75 c6 80 52 75 c6 .Uu..Tu..Uu..Ru. 00 53 75 c6 00 00 00 00 00 00 00 00 00 00 00 00 .Su.......... Fixes: 85644a9b37ec ("media: ov5640: Use runtime PM") Signed-off-by: Xiaolei Wang <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx334: add support for test pattern generatorShravan Chippa1-1/+56
Add support for the imx334's test pattern generator. By default the test pattern generator is disabled, so add support for enabling and disabling horizontal and vertical colour bars. Signed-off-by: Shravan Chippa <[email protected]> Acked-by: Daniele Alessandrelli <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: ov7670: Drop CONFIG_OF ifdefferyBiju Das1-3/+2
Drop of_match_ptr() from ov7670_driver and get rid of ugly CONFIG_OF if check. This slightly increases the size of ov7670_driver on non-OF system and shouldn't be an issue. Add mod_devicetable.h include. It also allows, in case if needed, to enumerate this device via ACPI with PRP0001 magic. Signed-off-by: Biju Das <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: ov7670: Extend match support for OF tablesBiju Das1-27/+20
The driver has an OF match table, still, it uses an ID lookup table for retrieving match data. Currently, the driver is working on the assumption that an I2C device registered via OF will always match a legacy I2C device ID. The correct approach is to have an OF device ID table using i2c_get_match_data() if the devices are registered via OF/ID. Unify the OF/ID table by using struct ov7670_devtype as match data for both these tables and replace the ID lookup table for the match data by i2c_get_match_data(). Split the array ov7670_devdata[] as individual variables, and make lines shorter by referring to e.g. &ov7670_devdata instead of &ov7670_devdata[MODEL_OV7670]. Drop enum ov7670_model as there is no user. While at it, remove the trailing comma in the terminator entry for the OF table making code robust against (theoretical) misrebases or other similar things where the new entry goes _after_ the termination without the compiler noticing. Signed-off-by: Biju Das <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: mt9v032: Drop CONFIG_OF ifdefferyBiju Das1-3/+2
Drop of_match_ptr() from mt9v032_driver and get rid of ugly CONFIG_OF if check. This slightly increases the size of mt9v032_driver on non-OF system and shouldn't be an issue. Add mod_devicetable.h include. It also allows, in case if needed, to enumerate this device via ACPI with PRP0001 magic. Signed-off-by: Biju Das <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: mt9v032: Extend match support for OF tablesBiju Das1-11/+10
The driver has an OF match table, still, it uses an ID lookup table for retrieving match data. Currently, the driver is working on the assumption that an I2C device registered via OF will always match a legacy I2C device ID. The correct approach is to have an OF device ID table using i2c_get_match_data() if the devices are registered via OF/ID. Unify the OF/ID table by using mt9v032_model_info as match data for both these tables and replace the ID lookup table for the match data by i2c_get_match_data() and simplifly probe(). Signed-off-by: Biju Das <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: Drop ifdeffery from sensor driversJacopo Mondi10-133/+5
Since commit 7d3c7d2a2914 ("media: i2c: Add a camera sensor top level menu") the CONFIG_MEDIA_CONTROLLER and CONFIG_VIDEO_V4L2_SUBDEV_API are selected by the top-level VIDEO_CAMERA_SENSOR menu. Remove all ifdefferies from camera sensor drivers to simplify the code. Compile-tested only. Signed-off-by: Jacopo Mondi <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: video-i2c: Convert enum->pointer for data in the match tablesBiju Das1-8/+4
Convert enum->pointer for data in the match tables, so that device_get_match_data() can do match against OF/ACPI/I2C tables, once i2c bus type match support added to it. Replace enum->struct *video_i2c_chip for data in the match table. Simplify the probe() by replacing device_get_match_data() and ID lookup for retrieving data by i2c_get_match_data(). Signed-off-by: Biju Das <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: platform: use capital "OR" for multiple licenses in SPDXKrzysztof Kozlowski1-1/+1
Documentation/process/license-rules.rst and checkpatch expect the SPDX identifier syntax for multiple licenses to use capital "OR". Correct it to keep consistent format and avoid copy-paste issues. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: v4l2-subdev: Document that routing support depends on streamsLaurent Pinchart1-2/+3
Routing support, through the subdev .set_routing() operation, requires the subdev to support streams. This is however not clearly documented anywhere. Fix it by expanding the operation's documentation to indicate that subdevs must set the V4L2_SUBDEV_FL_STREAMS flag. Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: imx415: Use v4l2_subdev_get_fmt()Umang Jain1-10/+1
The imx415 driver uses the subdev active state, there's no need to implement the .get_fmt() operation manually. Use the v4l2_subdev_get_fmt() helper instead. Signed-off-by: Umang Jain <[email protected]> Reviewed-by: Michael Riesch <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: i2c: max9286: Fix some redundant of_node_put() callsChristophe JAILLET1-2/+0
This is odd to have a of_node_put() just after a for_each_child_of_node() or a for_each_endpoint_of_node() loop. It should already be called during the last iteration. Remove these calls. Fixes: 66d8c9d2422d ("media: i2c: Add MAX9286 driver") Signed-off-by: Christophe JAILLET <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Kieran Bingham <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ivsc: ace: probe ace device after IPU bridge is initialized.Wentong Wu1-0/+3
During probe ivsc ace device, acpi_dev_clear_dependencies() will be called to clear the consumer and supplier relationship between camera sensor device and ivsc device. But IPU bridge will setup the connection swnodes for ivsc device and camera sensor device based on this consumer and supplier relationship. This patch defers ivsc ace's probe to make sure IPU bridge is initialized before this consumer and supplier relationship between camera sensor device and IVSC device is cleared. Signed-off-by: Wentong Wu <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ivsc: ace: remove name identifierWentong Wu1-4/+2
Remove name identifier to match the device with the defined UUID when load driver module. Signed-off-by: Wentong Wu <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ivsc: csi: remove name identifierWentong Wu1-3/+2
Remove name identifier to match the device with the defined UUID when load driver module. Signed-off-by: Wentong Wu <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: v4l2-mc: Make v4l2_pipeline_pm_{get,put} deprecatedSakari Ailus1-0/+6
The v4l2_pipeline_pm_get() and v4l2_pipeline_pm_put() functions were needed to control sub-devices' power states before runtime PM. These functions should no longer be used, and instead sub-device drivers should use runtime PM. Signed-off-by: Sakari Ailus <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ov2640: Use the devm_clk_get_enabled() helper functionRuan Jinjie1-8/+2
With devm_clk_get_enabled() the call to clk_disable_unprepare() can be dropped from the error path and the remove callback. Signed-off-by: Ruan Jinjie <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: v4l: Fix documentation for 12-bit packed BayerSuhrid Subramaniam1-2/+2
Fix documentation for R13 and R33 low bits. Signed-off-by: Suhrid Subramaniam <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: staging: ipu3-imgu: Initialise height_per_slice in the stripesJean-Michel Hautbois1-22/+22
While playing with low resolutions for the grid, it appeared that height_per_slice is not initialised if we are not using both stripes for the calculations. This pattern occurs three times: - for the awb_fr processing block - for the af processing block - for the awb processing block The idea of this small portion of code is to reduce complexity in loading the statistics, it could be done also when only one stripe is used. Fix it by getting this initialisation code outside of the else() test case. Signed-off-by: Jean-Michel Hautbois <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: dt-bindings: ov5693: fix maintainer email addressTommaso Merciai1-1/+1
Switch my mail address from a company mail to a personal one. Signed-off-by: Tommaso Merciai <[email protected]> Acked-by: Conor Dooley <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ivsc: Improve Kconfig help textSakari Ailus1-3/+9
Improve the Kconfig help text to convey the ACE is for changing camera sensor ownership and CSI for configuring the CSI-2 rx and tx. Suggested-by: Laurent Pinchart <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ov5640: fix vblank unchange issue when work at dvp modeGuoniu.zhou1-5/+14
The value of V4L2_CID_VBLANK control is initialized to default vblank value of 640x480 when driver probe. When OV5640 work at DVP mode, the control value won't update and lead to sensor can't output data if the resolution remain the same as last time since incorrect total vertical size. So update it when there is a new value applied. Fixes: bce93b827de6 ("media: ov5640: Add VBLANK control") Signed-off-by: Guoniu.zhou <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: ov13b10: Fix some error checking in probeDan Carpenter1-1/+1
The "ret = " assignment was missing, so ov13b10_power_on() is not checked for errors. Add the assignment. Fixes: 6e28afd15228 ("media: ov13b10: add PM control support based on power resources") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Bingbu Cao <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27MAINTAINERS: fix file path for Omnvision OV4689Mikhail Rudenko1-1/+1
Correct the driver source path specified in the MAINTAINERS file, which was mistakenly set due to an oversight during the driver's initial addition. Signed-off-by: Mikhail Rudenko <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: cx231xx: Add EP5_BUF_SIZE and EP5_TIMEOUT_MS macrosJinjie Ruan2-2/+5
Define EP5_BUF_SIZE and EP5_TIMEOUT_MS macros to make the code more readable. Signed-off-by: Jinjie Ruan <[email protected]> Suggested-by: Andrzej Pietrasiewicz <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: cx231xx: Switch to use kmemdup() helperJinjie Ruan1-2/+1
Use kmemdup() helper instead of open-coding to simplify the code. Signed-off-by: Jinjie Ruan <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: videobuf2: fix typo: vb2_dbuf -> vb2_qbufHans Verkuil1-1/+1
Fix a small typo in the debug message: vb2_dbuf -> vb2_qbuf Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Andrzej Pietrasiewicz <[email protected]>
2023-09-27media: gspca: cpia1: shift-out-of-bounds in set_flickerRajeshwar R Shinde1-0/+3
Syzkaller reported the following issue: UBSAN: shift-out-of-bounds in drivers/media/usb/gspca/cpia1.c:1031:27 shift exponent 245 is too large for 32-bit type 'int' When the value of the variable "sd->params.exposure.gain" exceeds the number of bits in an integer, a shift-out-of-bounds error is reported. It is triggered because the variable "currentexp" cannot be left-shifted by more than the number of bits in an integer. In order to avoid invalid range during left-shift, the conditional expression is added. Reported-by: [email protected] Closes: https://lore.kernel.org/all/[email protected] Link: https://syzkaller.appspot.com/bug?extid=e27f3dbdab04e43b9f73 Signed-off-by: Rajeshwar R Shinde <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: verisilicon: Do not enable G2 postproc downscale if source is ↵Marek Vasut1-1/+1
narrower than destination In case of encoded input VP9 data width that is not multiple of macroblock size, which is 16 (e.g. 1080x1920 frames, where 1080 is multiple of 8), the width is padded to be a multiple of macroblock size (for 1080x1920 frames, that is 1088x1920). The hantro_postproc_g2_enable() checks whether the encoded data width is equal to decoded frame width, and if not, enables down-scale mode. For a frame where input is 1080x1920 and output is 1088x1920, this is incorrect as no down-scale happens, the frame is only padded. Enabling the down-scale mode in this case results in corrupted frames. Fix this by adjusting the check to test whether encoded data width is greater than decoded frame width, and only in that case enable the down-scale mode. To generate input test data to trigger this bug, use e.g.: $ gst-launch-1.0 videotestsrc ! video/x-raw,width=272,height=256,format=I420 ! \ vp9enc ! matroskamux ! filesink location=/tmp/test.vp9 To trigger the bug upon decoding (note that the NV12 must be forced, as that assures the output data would pass the G2 postproc): $ gst-launch-1.0 filesrc location=/tmp/test.vp9 ! matroskademux ! vp9parse ! \ v4l2slvp9dec ! video/x-raw,format=NV12 ! videoconvert ! fbdevsink Fixes: 79c987de8b35 ("media: hantro: Use post processor scaling capacities") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Benjamin Gaignard <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: hantro: Check whether reset op is defined before useMarek Vasut1-1/+2
The i.MX8MM/N/P does not define the .reset op since reset of the VPU is done by genpd. Check whether the .reset op is defined before calling it to avoid NULL pointer dereference. Note that the Fixes tag is set to the commit which removed the reset op from i.MX8M Hantro G2 implementation, this is because before this commit all the implementations did define the .reset op. Fixes: 6971efb70ac3 ("media: hantro: Allow i.MX8MQ G1 and G2 to run independently") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Chen-Yu Tsai <[email protected]> Tested-by: Chen-Yu Tsai <[email protected]> Reviewed-by: Adam Ford <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: cobalt: Use list_for_each_entry() helperJinjie Ruan1-6/+2
Convert list_for_each() to list_for_each_entry() so that the p list_head pointer and list_entry() call are no longer needed, which can reduce a few lines of code. No functional changed. Signed-off-by: Jinjie Ruan <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: imx-jpeg: initiate a drain of the capture queue in dynamic resolution ↵Ming Qian1-3/+24
change The last buffer from before the change must be marked, with the V4L2_BUF_FLAG_LAST flag, similarly to the Drain sequence above. Meanwhile if V4L2_DEC_CMD_STOP is sent before the source change triggered, we need to restore the is_draing flag after the draining in dynamic resolution change. Fixes: b4e1fb8643da ("media: imx-jpeg: Support dynamic resolution change") Signed-off-by: Ming Qian <[email protected]> Reviewed-by: Nicolas Dufresne <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2023-09-27media: c8sectpfe: Use the devm_clk_get_enabled() helper functionRuan Jinjie1-19/+7
With devm_clk_get_enabled() the call to clk_disable_unprepare() can be dropped from the error path and the remove callback. Signed-off-by: Ruan Jinjie <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>