platform/kernel/linux-rpi.git
21 months agomedia: rockchip: rkisp1: Mask invalid bits in DPCC parameters
Laurent Pinchart [Thu, 9 Jun 2022 10:31:13 +0000 (12:31 +0200)]
media: rockchip: rkisp1: Mask invalid bits in DPCC parameters

Restrict the DPCC configuration that can be set by userspace to valid
register bits. To do so, reorganize the related register macros to
define valid bitmasks, as well as bits of the DPCC mode register.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
21 months agomedia: rockchip: rkisp1: Set DPCC methods enable bits inside loop
Laurent Pinchart [Thu, 9 Jun 2022 10:31:13 +0000 (12:31 +0200)]
media: rockchip: rkisp1: Set DPCC methods enable bits inside loop

The rkisp1_dpcc_config() function looks over methods sets to configure
them, but sets the RKISP1_CIF_ISP_DPCC_METHODS_SET_* registers outside
of the loop with hand-unrolled code. Move this to the loop to simplify
the code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
21 months agomedia: mceusb: set timeout to at least timeout provided
Sean Young [Fri, 2 Sep 2022 10:32:21 +0000 (12:32 +0200)]
media: mceusb: set timeout to at least timeout provided

By rounding down, the actual timeout can be lower than requested. As a
result, long spaces just below the requested timeout can be incorrectly
reported as timeout and truncated.

Fixes: 877f1a7cee3f ("media: rc: mceusb: allow the timeout to be configurable")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
21 months agomedia: imon: Remove the unneeded result variable
ye xingchen [Tue, 30 Aug 2022 08:30:27 +0000 (10:30 +0200)]
media: imon: Remove the unneeded result variable

Return the value send_packet() directly instead of storing it in another
redundant variable.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
21 months agomedia: mceusb: Use new usb_control_msg_*() routines
Alan Stern [Fri, 26 Aug 2022 19:31:40 +0000 (21:31 +0200)]
media: mceusb: Use new usb_control_msg_*() routines

Automatic kernel fuzzing led to a WARN about invalid pipe direction in
the mceusb driver:

------------[ cut here ]------------
usb 6-1: BOGUS control dir, pipe 80000380 doesn't match bRequestType 40
WARNING: CPU: 0 PID: 2465 at drivers/usb/core/urb.c:410
usb_submit_urb+0x1326/0x1820 drivers/usb/core/urb.c:410
Modules linked in:
CPU: 0 PID: 2465 Comm: kworker/0:2 Not tainted 5.19.0-rc4-00208-g69cb6c6556ad #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
Workqueue: usb_hub_wq hub_event
RIP: 0010:usb_submit_urb+0x1326/0x1820 drivers/usb/core/urb.c:410
Code: 7c 24 40 e8 ac 23 91 fd 48 8b 7c 24 40 e8 b2 70 1b ff 45 89 e8
44 89 f1 4c 89 e2 48 89 c6 48 c7 c7 a0 30 a9 86 e8 48 07 11 02 <0f> 0b
e9 1c f0 ff ff e8 7e 23 91 fd 0f b6 1d 63 22 83 05 31 ff 41
RSP: 0018:ffffc900032becf0 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff8881100f3058 RCX: 0000000000000000
RDX: ffffc90004961000 RSI: ffff888114c6d580 RDI: fffff52000657d90
RBP: ffff888105ad90f0 R08: ffffffff812c3638 R09: 0000000000000000
R10: 0000000000000005 R11: ffffed1023504ef1 R12: ffff888105ad9000
R13: 0000000000000040 R14: 0000000080000380 R15: ffff88810ba96500
FS: 0000000000000000(0000) GS:ffff88811a800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffe810bda58 CR3: 000000010b720000 CR4: 0000000000350ef0
Call Trace:
<TASK>
usb_start_wait_urb+0x101/0x4c0 drivers/usb/core/message.c:58
usb_internal_control_msg drivers/usb/core/message.c:102 [inline]
usb_control_msg+0x31c/0x4a0 drivers/usb/core/message.c:153
mceusb_gen1_init drivers/media/rc/mceusb.c:1431 [inline]
mceusb_dev_probe+0x258e/0x33f0 drivers/media/rc/mceusb.c:1807

The reason for the warning is clear enough; the driver sends an
unusual read request on endpoint 0 but does not set the USB_DIR_IN bit
in the bRequestType field.

More importantly, the whole situation can be avoided and the driver
simplified by converting it over to the relatively new
usb_control_msg_recv() and usb_control_msg_send() routines.  That's
what this fix does.

Reported-and-tested-by: Rondreis <linhaoguo86@gmail.com>
Link: https://lore.kernel.org/all/CAB7eexLLApHJwZfMQ=X-PtRhw0BgO+5KcSMS05FNUYejJXqtSA@mail.gmail.com/
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: remove reference to CONFIG_EMBEDDED in MEDIA_SUPPORT_FILTER
Lukas Bulwahn [Thu, 8 Sep 2022 10:43:34 +0000 (12:43 +0200)]
media: remove reference to CONFIG_EMBEDDED in MEDIA_SUPPORT_FILTER

The config EMBEDDED selects EXPERT, i.e., when EMBEDDED is enabled, EXPERT
is usually also enabled. Hence, it sufficient to have the option
MEDIA_SUPPORT_FILTER set to y if !EXPERT.

This way, MEDIA_SUPPORT_FILTER does not refer to CONFIG_EMBEDDED anymore
and allows us to remove CONFIG_EMBEDDED in the close future.

Remove the reference to CONFIG_EMBEDDED in MEDIA_SUPPORT_FILTER.

Link: https://lore.kernel.org/linux-media/20220908104337.11940-4-lukas.bulwahn@gmail.com
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: destage Hantro VPU driver
Ezequiel Garcia [Mon, 18 Jul 2022 21:41:21 +0000 (23:41 +0200)]
media: destage Hantro VPU driver

The Hantro mainline driver has been used in production
since several years and was only kept as a staging driver
due the stateless CODEC controls.

Now that all the stateless CODEC controls have been moved
out of staging, graduate the driver as well.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: platform: mtk-mdp3: add MediaTek MDP3 driver
Moudy Ho [Tue, 23 Aug 2022 02:38:03 +0000 (04:38 +0200)]
media: platform: mtk-mdp3: add MediaTek MDP3 driver

This patch adds driver for MediaTek's Media Data Path ver.3 (MDP3).
It provides the following functions:
  color transform, format conversion, resize, crop, rotate, flip
  and additional image quality enhancement.

The MDP3 driver is mainly used for Google Chromebook products to
import the new architecture to set the HW settings as shown below:
  User -> V4L2 framework
    -> MDP3 driver -> SCP (setting calculations)
      -> MDP3 driver -> CMDQ (GCE driver) -> HW

Each modules' related operation control is sited in mtk-mdp3-comp.c
Each modules' register table is defined in file with "mdp_reg_" prefix
GCE related API, operation control  sited in mtk-mdp3-cmdq.c
V4L2 m2m device functions are implemented in mtk-mdp3-m2m.c
Probe, power, suspend/resume, system level functions are defined in
mtk-mdp3-core.c

[hverkuil: add 'depends on REMOTEPROC']

Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
Signed-off-by: daoyuan huang <daoyuan.huang@mediatek.com>
Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dt-binding: mediatek: add bindings for MediaTek CCORR and WDMA
Moudy Ho [Tue, 23 Aug 2022 02:38:01 +0000 (04:38 +0200)]
media: dt-binding: mediatek: add bindings for MediaTek CCORR and WDMA

This patch adds DT binding documentation for MediaTek's CCORR and
WDMA components.
These components exist in both MediaTek's Media Data Path 3(MDP3) and DRM,
and the bindings are placed under the folder "./soc/mediatek" to prevent
duplicate builds.

Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dt-binding: mediatek: add bindings for MediaTek MDP3 components
Moudy Ho [Tue, 23 Aug 2022 02:38:00 +0000 (04:38 +0200)]
media: dt-binding: mediatek: add bindings for MediaTek MDP3 components

This patch adds DT binding documents for Media Data Path 3 (MDP3)
a unit in multimedia system combined with several components and
used for scaling and color format convert.

Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init
Miaoqian Lin [Wed, 1 Jun 2022 04:25:14 +0000 (06:25 +0200)]
media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init

of_get_child_by_name() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: df3305156f98 ("[media] v4l: xilinx: Add Xilinx Video IP core")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: xilinx: video: Add 1X12 greyscale format
Volodymyr Kharuk [Thu, 14 Jul 2022 08:34:44 +0000 (10:34 +0200)]
media: xilinx: video: Add 1X12 greyscale format

Extend the xilinx video driver with Y12_1X12 greyscale format

Signed-off-by: Volodymyr Kharuk <vkh@melexis.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: xilinx: csi2rxss: Add 1X12 greyscale format
Volodymyr Kharuk [Thu, 14 Jul 2022 08:34:43 +0000 (10:34 +0200)]
media: xilinx: csi2rxss: Add 1X12 greyscale format

Extend the csi2rxss with Y12_1X12 greyscale format

Signed-off-by: Volodymyr Kharuk <vkh@melexis.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: staging: media: imx: imx7-media-csi: Increase video mem limit
Petko Manolov [Sat, 9 Jul 2022 07:31:00 +0000 (09:31 +0200)]
media: staging: media: imx: imx7-media-csi: Increase video mem limit

Some high resolution (like Sony IMX492 47Mpix) sensors requre large amount space
for buffering.  64MB is far from sufficient so this patch increases the limit to
512MB.

Signed-off-by: Petko Manolov <petko.manolov@konsulko.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: uvcvideo: Limit power line control for Sonix Technology
huanglei [Sat, 20 Aug 2022 00:56:58 +0000 (02:56 +0200)]
media: uvcvideo: Limit power line control for Sonix Technology

The device does not implement the power line control correctly. Add a
corresponding control mapping override.

Bus 003 Device 003: ID 3277:0072 Sonix Technology Co., Ltd. USB 2.0 Camera
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x3277
  idProduct          0x0072
  bcdDevice            1.00
  iManufacturer           2 Sonix Technology Co., Ltd.
  iProduct                1 USB 2.0 Camera
  iSerial                 3 REV0001
  bNumConfigurations      1

Signed-off-by: huanglei <huanglei@kylinos.cn>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: uvcvideo: Use entity get_cur in uvc_ctrl_set
Yunke Cao [Thu, 7 Jul 2022 08:53:31 +0000 (10:53 +0200)]
media: uvcvideo: Use entity get_cur in uvc_ctrl_set

Entity controls should get_cur using an entity-defined function
instead of via a query. Fix this in uvc_ctrl_set.

Fixes: 65900c581d01 ("media: uvcvideo: Allow entity-defined get_info and get_cur")
Signed-off-by: Yunke Cao <yunkec@google.com>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: uvcvideo: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 07:13:43 +0000 (09:13 +0200)]
media: uvcvideo: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: uvcvideo: Use indexed loops in uvc_ctrl_init_ctrl()
Laurent Pinchart [Mon, 18 Jul 2022 11:56:54 +0000 (13:56 +0200)]
media: uvcvideo: Use indexed loops in uvc_ctrl_init_ctrl()

As shown by the bug introduced in commit 86f7ef773156 ("media: uvcvideo:
Add support for per-device control mapping overrides"), the loop style
used by uvc_ctrl_init_ctrl() is error-prone. Rewrite the loops to use
indices instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: uvcvideo: Fix memory leak in uvc_gpio_parse
José Expósito [Sat, 8 Jan 2022 17:04:39 +0000 (18:04 +0100)]
media: uvcvideo: Fix memory leak in uvc_gpio_parse

Previously the unit buffer was allocated before checking the IRQ for
privacy GPIO. In case of error, the unit buffer was leaked.

Allocate the unit buffer after the IRQ to avoid it.

Addresses-Coverity-ID: 1474639 ("Resource leak")

Fixes: 2886477ff987 ("media: uvcvideo: Implement UVC_EXT_GPIO_UNIT")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: renesas: vsp1: Add support for RZ/G2L VSPD
Biju Das [Sun, 28 Aug 2022 08:13:34 +0000 (10:13 +0200)]
media: renesas: vsp1: Add support for RZ/G2L VSPD

The RZ/G2L VSPD provides a single VSPD instance. It has the following
sub modules MAU, CTU, RPF, DPR, LUT, BRS, WPF and LIF.

The VSPD block on RZ/G2L SoCs does not have a version register, so
added a new compatible string "renesas,r9a07g044-vsp2" with a data
pointer containing the info structure. Also the reset line is shared
with the DU module.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: renesas: vsp1: Add VSP1_HAS_NON_ZERO_LBA feature bit
Biju Das [Sun, 28 Aug 2022 08:13:33 +0000 (10:13 +0200)]
media: renesas: vsp1: Add VSP1_HAS_NON_ZERO_LBA feature bit

As per HW manual V3M and RZ/G2L SoCs has nonzero LIF buffer
attributes. So, introduce a feature bit for handling the same.

This patch also adds separate device info structure for V3M and V3H
SoCs, as both these SoCs share the same model ID, but V3H does not
have VSP1_HAS_NON_ZERO_LBA feature bit.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: renesas: vsp1: Add support for VSP software version
Biju Das [Sun, 28 Aug 2022 08:13:32 +0000 (10:13 +0200)]
media: renesas: vsp1: Add support for VSP software version

The VSPD block on RZ/G2L SoCs does not have a version register.

This patch adds support for adding VSP software version based on
device match.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: renesas: vsp1: Add support to deassert/assert reset line
Biju Das [Sun, 28 Aug 2022 08:13:31 +0000 (10:13 +0200)]
media: renesas: vsp1: Add support to deassert/assert reset line

As the resets DT property is mandatory, and is present in all .dtsi
in mainline, add support to perform deassert/assert using reference
counted reset handle.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dt-bindings: media: renesas,vsp1: Document RZ/G2L VSPD bindings
Biju Das [Sun, 28 Aug 2022 08:13:30 +0000 (10:13 +0200)]
media: dt-bindings: media: renesas,vsp1: Document RZ/G2L VSPD bindings

Document VSPD found in RZ/G2L SoC. VSPD block is similar to VSP2-D
found on R-Car SoC's, but it does not have a version register and
it has 3 clocks compared to 1 clock on vsp1 and vsp2.

This patch introduces a new compatible 'renesas,r9a07g044-vsp2' to
handle these differences.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: meson: vdec: add missing clk_disable_unprepare on error in vdec_hevc_start()
Xu Qiang [Thu, 18 Aug 2022 06:57:53 +0000 (08:57 +0200)]
media: meson: vdec: add missing clk_disable_unprepare on error in vdec_hevc_start()

Add the missing clk_disable_unprepare() before return
from vdec_hevc_start() in the error handling case.

Fixes: 823a7300340e (“media: meson: vdec: add common HEVC decoder support”)
Signed-off-by: Xu Qiang <xuqiang36@huawei.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: amphion: fix a bug that vpu core may not resume after suspend
Ming Qian [Thu, 18 Aug 2022 03:18:21 +0000 (05:18 +0200)]
media: amphion: fix a bug that vpu core may not resume after suspend

driver will enable the vpu core when request the first instance
on the core.
one vpu core can only support 8 streaming instances in the same
time, the instance won't be added to core's list before streamon.

so the actual instance count may be greater then the number in
the core's list.

in pm resume callback, driver will resume the core immediately if
core's list is not empty.
but this check is not accurate,
if suspend during one instance is requested, but not streamon,
then after suspend, the core won't be resume, and led to instance failure.

use the request_count instead of the core's list to check
whether is the core needed to resume immediately after suspend.

And it can make the pm suspend and resume callback more clear.

Fixes: 9f599f351e86 ("media: amphion: add vpu core driver")
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: platform: fix some double free in meson-ge2d and mtk-jpeg and s5p-mfc
Hangyu Hua [Tue, 16 Aug 2022 08:58:19 +0000 (10:58 +0200)]
media: platform: fix some double free in meson-ge2d and mtk-jpeg and s5p-mfc

video_unregister_device will release device internally. There is no need to
call video_device_release after video_unregister_device.

Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: amphion: don't change the colorspace reported by decoder.
Ming Qian [Tue, 26 Jul 2022 03:02:29 +0000 (05:02 +0200)]
media: amphion: don't change the colorspace reported by decoder.

decoder will report the colorspace information
which is parsed from the sequence header,
if they are unspecified, just let application to determine it,
don't change it in driver.

Fixes: 6de8d628df6ef ("media: amphion: add v4l2 m2m vpu decoder stateful driver")
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: amphion: adjust the encoder's value range of gop size
Ming Qian [Fri, 15 Jul 2022 07:38:00 +0000 (09:38 +0200)]
media: amphion: adjust the encoder's value range of gop size

adjust the value range of gop size from [0, 65535] to [1, 8000].
when the gop size is set to a too large value,
it may affect the encoded picture quality.
so constrain it to a reasonable range.

Fixes: 0401e659c1f92 ("media: amphion: add v4l2 m2m vpu encoder stateful driver")
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: amphion: insert picture startcode after seek for vc1g format
Ming Qian [Fri, 15 Jul 2022 07:15:49 +0000 (09:15 +0200)]
media: amphion: insert picture startcode after seek for vc1g format

For format vc1, the amphion vpu requires driver to
help insert some custom startcode before sequence and frame.
the startcode is different for vc1l and vc1g format.

But the sequence startcode is only needed at the beginning,
and it's not expected after seek.
driver need to treat the codec header and the first frame after seek
as a normal frame, and insert picture startcode for it.

In previous patch, I just fix it for vc1l format,
and should fix the similar issue for vc1g too.

Fixes: e670f5d672ef (media: amphion: only insert the first sequence startcode for vc1l format)
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cedrus: Fix endless loop in cedrus_h265_skip_bits()
Dmitry Osipenko [Thu, 18 Aug 2022 20:33:08 +0000 (22:33 +0200)]
media: cedrus: Fix endless loop in cedrus_h265_skip_bits()

The busy status bit may never de-assert if number of programmed skip
bits is incorrect, resulting in a kernel hang because the bit is polled
endlessly in the code. Fix it by adding timeout for the bit-polling.
This problem is reproducible by setting the data_bit_offset field of
the HEVC slice params to a wrong value by userspace.

Cc: stable@vger.kernel.org
Fixes: 7678c5462680 (media: cedrus: Fix decoding for some HEVC videos)
Reported-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cedrus: Set the platform driver data earlier
Dmitry Osipenko [Thu, 18 Aug 2022 20:33:07 +0000 (22:33 +0200)]
media: cedrus: Set the platform driver data earlier

The cedrus_hw_resume() crashes with NULL deference on driver probe if
runtime PM is disabled because it uses platform data that hasn't been
set up yet. Fix this by setting the platform data earlier during probe.

Cc: stable@vger.kernel.org
Fixes: 50e761516f2b (media: platform: Add Cedrus VPU decoder driver)
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>
Acked-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cedrus: Fix watchdog race condition
Nicolas Dufresne [Thu, 18 Aug 2022 20:33:06 +0000 (22:33 +0200)]
media: cedrus: Fix watchdog race condition

The watchdog needs to be scheduled before we trigger the decode
operation, otherwise there is a risk that the decoder IRQ will be
called before we have schedule the watchdog. As a side effect, the
watchdog would never be cancelled and its function would be called
at an inappropriate time.

This was observed while running Fluster with GStreamer as a backend.
Some programming error would cause the decoder IRQ to be call very
quickly after the trigger. Later calls into the driver would deadlock
due to the unbalanced state.

Cc: stable@vger.kernel.org
Fixes: 7c38a551bda1 ("media: cedrus: Add watchdog for job completion")
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: videobuf2: Remove vb2_find_timestamp()
Ezequiel Garcia [Mon, 18 Jul 2022 22:02:11 +0000 (00:02 +0200)]
media: videobuf2: Remove vb2_find_timestamp()

Now that we've transitioned all users to vb2_find_buffer API,
remove the unused vb2_find_timestamp().

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Acked-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cedrus: Use vb2_find_buffer
Ezequiel Garcia [Mon, 18 Jul 2022 22:02:10 +0000 (00:02 +0200)]
media: cedrus: Use vb2_find_buffer

Use the newly introduced vb2_find_buffer API to get a vb2_buffer
given a buffer timestamp.

Cc: Maxime Ripard <mripard@kernel.org>
Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Acked-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Skip non CBR bitrate mode
Hirokazu Honda [Tue, 2 Aug 2022 04:42:42 +0000 (06:42 +0200)]
media: mediatek: vcodec: Skip non CBR bitrate mode

V4L2_MPEG_VIDEO_BITRATE_MODE_CBR is the only bitrate mode supported
by the mediatek driver. The other bitrates must be skipped in
QUERY_MENU.

Fixes: d8e8aa866ed8 ("media: mediatek: vcodec: Report supported bitrate modes")
Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Add mt8188 encoder's chip name
Yunfei Dong [Wed, 27 Jul 2022 02:37:21 +0000 (04:37 +0200)]
media: mediatek: vcodec: Add mt8188 encoder's chip name

Getting mt8188's chip name according to encoder compatible name.

Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: add decoder compatible to support mt8188
Yunfei Dong [Wed, 27 Jul 2022 02:37:20 +0000 (04:37 +0200)]
media: mediatek: vcodec: add decoder compatible to support mt8188

1: add mt8188's compatible name: mediatek,mt8188-vcodec-dec.
2: mt8188 is lat single core architecture, using mtk_lat_sig_core_pdata to
   initialize private data.
3: Getting mt8188's chip name according to decoder compatible name.

Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dt-bindings: media: mediatek: vcodec: add decoder dt-bindings for mt8188
Yunfei Dong [Wed, 27 Jul 2022 02:37:19 +0000 (04:37 +0200)]
media: dt-bindings: media: mediatek: vcodec: add decoder dt-bindings for mt8188

Add decoder document in dt-bindings yaml file for mt8188 platform.

Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Use ctx vb2_queue mutex instead of device mutex
Irui Wang [Wed, 20 Jul 2022 08:57:31 +0000 (10:57 +0200)]
media: mediatek: vcodec: Use ctx vb2_queue mutex instead of device mutex

There is only one device mutex to lock vb2_queue when running
multi-instance encoding, it can be set by each encoder context.

[hverkuil: fix q_mutex documentation in the header]

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Fix bitstream crop information error
Irui Wang [Wed, 20 Jul 2022 08:57:30 +0000 (10:57 +0200)]
media: mediatek: vcodec: Fix bitstream crop information error

Usually, the real bitstream width and height will set to driver
by vidioc_s_fmt, and vidioc_try_fmt() does align to get the
buffer width and height, driver calculate the encoded bitstream
crop information through them. The aligned resolution will be set
as real resolution now if user didn't set crop info by
V4L2_SEL_TGT_CROP, and the encoded bitstream may exist green line
because of crop information error.

Fixs: 'b6c57d313f5f8 ("media: mtk-vcodec: venc: remove redundant code")'

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Remove encoder driver get IRQ resource
Irui Wang [Wed, 20 Jul 2022 08:57:29 +0000 (10:57 +0200)]
media: mediatek: vcodec: Remove encoder driver get IRQ resource

The "platform_get_resource(pdev, IORESOURCE_IRQ, 0)" is no longer
used after commit a1a2b7125e107("of/platform: Drop static setup of
IRQ resource from DT core"), so just remove the function in
encoder driver to avoid driver probe failed.

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Add mt8188 encoder driver
Irui Wang [Wed, 20 Jul 2022 08:57:28 +0000 (10:57 +0200)]
media: mediatek: vcodec: Add mt8188 encoder driver

Add mt8188's compatible "mediatek,mt8188-vcodec-enc".
Add mt8188's device private data "mt8188_pdata".

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dt-bindings: media: mediatek: vcodec: Add encoder dt-bindings for mt8188
Irui Wang [Wed, 20 Jul 2022 08:57:27 +0000 (10:57 +0200)]
media: dt-bindings: media: mediatek: vcodec: Add encoder dt-bindings for mt8188

Add encoder dt-bindings for mt8188.

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: mediatek: vcodec: Add encoder driver support for 34-bit iova
Irui Wang [Wed, 20 Jul 2022 08:57:26 +0000 (10:57 +0200)]
media: mediatek: vcodec: Add encoder driver support for 34-bit iova

Encoder driver got iova from IOMMU is 34-bit, for example:

Here is the sample code:
encoder input frame buffer dma address is:
frm_buf =
    vb2_dma_contig_plane_dma_addr(&vb2_v4l2_buffer->vb2_buf, 0);
the value of frm_buf is 0x1_ff30_0000.

encoder driver got the frm_buf and send the iova to SCP firmware
through SCP IPI message, then write to encoder hardware in SCP.
The iova is stored in IPI message as uint32_t data type, so the
value will be truncated from *0x1_ff30_0000* to *0xff30_0000*,
and then *0xff30_0000* will be written to encoder hardware, but
IOMMU will help to add the high *0x1_* bit back, so IOMMU can
translate the iova to PA correctly, encoder hardware can access
the correct memory for encoding.
Another reason to do this is the encoder hardware can't access
the 34-bit iova, IOMMU will help to add the remaining high bits
of iova. But for mt8188, encoder hardware can access 34-bit iova
directly, and encoder driver need write all 34 bits because
IOMMU can't help driver do this if the hardware support access
34-bit iova.
For the reasons above, this patch is added to support transfer
34-bit iova between kernel and SCP encoder driver. Use uint64_t
data type to store the iova, for compatibility with old chipsets,
add some new struct definitions for 34-bit.

[hverkuil: initialize wb and wb_34 to NULL]

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ti: cal: fix wdma irq for metadata
Tomi Valkeinen [Tue, 26 Apr 2022 07:06:18 +0000 (09:06 +0200)]
media: ti: cal: fix wdma irq for metadata

CAL HW interrupts are inherently racy. If we get both start and end
interrupts, we don't know what has happened: did the DMA for a single
frame start and end, or did one frame end and a new frame start?

Usually for normal pixel frames we get the interrupts separately. If
we do get both, we have to guess. The assumption in the code is that the
active vertical area is larger than the blanking vertical area, and thus
it is more likely that we get the end of the old frame and the start of
a new frame.

However, for embedded data, which is only a few lines high, we always
get both interrupts. Here the assumption is that we get both for the
same frame.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ti: cal: combine wdma irq handling
Tomi Valkeinen [Tue, 26 Apr 2022 07:06:17 +0000 (09:06 +0200)]
media: ti: cal: combine wdma irq handling

Instead of handling the WDMA START and END interrupts separately, we
need to handle both at the same time to better manage the inherent race
conditions related to CAL interrupts.

Change the code so that we have a single function,
cal_irq_handle_wdma(), which gets two booleans, start and end, as
parameters, which allows us to manage the race conditions in the
following patch.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ti: cal: use CSI-2 frame number for seq number
Tomi Valkeinen [Tue, 26 Apr 2022 07:06:16 +0000 (09:06 +0200)]
media: ti: cal: use CSI-2 frame number for seq number

The userspace needs a way to match received metadata buffers to pixel
data buffers. The obvious way to do this is to use the CSI-2 frame
number, as both the metadata and the pixel data have the same frame
number as they come from the same frame.

However, we don't have means to convey the frame number to userspace. We
do have the 'sequence' field, which with a few tricks can be used for
this purpose.

To achieve this, track the frame number for each virtual channel and
increase the sequence for each virtual channel by frame-number -
previous-frame-number, also taking into account the eventual wrap of the
CSI-2 frame number. If the CSI-2 peripheral does not support frame
numbers, CAL increases the frame number register by one each frame.

This way we get a monotonically increasing sequence number which is
common to all streams using the same virtual channel.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ti: cal: rename sd_state to state
Tomi Valkeinen [Tue, 26 Apr 2022 07:06:15 +0000 (09:06 +0200)]
media: ti: cal: rename sd_state to state

Rename 'sd_state' parameters to 'state'. There are no other states, so
there is no ambiguity.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ti: cal: fix useless variable init
Tomi Valkeinen [Tue, 26 Apr 2022 07:06:14 +0000 (09:06 +0200)]
media: ti: cal: fix useless variable init

'ret' is initialized needlessly in cal_legacy_try_fmt_vid_cap(). We can
also move the variable to the for block, which is the only place where
it is used.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: tc358743: limit msg.len to CEC_MAX_MSG_SIZE
Hans Verkuil [Wed, 24 Aug 2022 07:00:24 +0000 (09:00 +0200)]
media: tc358743: limit msg.len to CEC_MAX_MSG_SIZE

I expect that the hardware will have limited this to 16, but just in
case it hasn't, check for this corner case.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: media/cec: use CEC_MAX_MSG_SIZE instead of hardcoded 16
Hans Verkuil [Wed, 24 Aug 2022 06:57:26 +0000 (08:57 +0200)]
media: media/cec: use CEC_MAX_MSG_SIZE instead of hardcoded 16

Use the proper define for the maximum CEC message length instead of
hardcoding it.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: MAINTAINERS: change tc358743 maintainer
Hans Verkuil [Wed, 24 Aug 2022 06:20:46 +0000 (08:20 +0200)]
media: MAINTAINERS: change tc358743 maintainer

Move maintainer from Mats to Hans.

Add bindings file to the list of maintained files while we're at it.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dw100: Fix an error handling path in dw100_probe()
Christophe JAILLET [Mon, 22 Aug 2022 09:40:43 +0000 (11:40 +0200)]
media: dw100: Fix an error handling path in dw100_probe()

After a successful call to media_device_init() it is safer to call
media_device_cleanup().

Add the missing call in the error handling path of the probe, as already
done in the remove function.

[hverkuil: fixed a typo in the commit log]

Fixes: bd090d4d995a ("media: dw100: Add i.MX8MP dw100 dewarper driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cx23885: reset DMA on AMD Renior/Cezanne IOMMU due to RiSC engine stall
Daniel Lee Kruse [Fri, 19 Aug 2022 03:59:18 +0000 (05:59 +0200)]
media: cx23885: reset DMA on AMD Renior/Cezanne IOMMU due to RiSC engine stall

MythTv is unable to scan channels with APUs with the Renior IOMMU
that is also contained in the Cezanne line of APUs.  This issue
was discovered on the 5.15 version the kernel.  This patch adds
the IOMMU PCI ID to the broken_dev_id array.

This patch was developed with 5.19 of the media_tree repo.

[hverkuil: cleaned up the commit log a bit]

Signed-off-by: Daniel Lee Kruse <daniel.lee.kruse@proton.me>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: videodev2.h: drop V4L2_CAP_ASYNCIO
Hans Verkuil [Thu, 18 Aug 2022 07:51:40 +0000 (09:51 +0200)]
media: videodev2.h: drop V4L2_CAP_ASYNCIO

The V4L2_CAP_ASYNCIO capability was never implemented (and in fact
it isn't clear what it was supposed to do in the first place).

Drop it from the capabilities list. Keep it in videodev2.h with the
other defines under ifndef __KERNEL__ for backwards compatibility.

This will free up a capability bit for other future uses. And having
an unused and undefined I/O method is just plain confusing.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: rockchip: rga: Fix probe rga_parse_dt bugs
Ondrej Jirman [Mon, 15 Aug 2022 10:36:22 +0000 (12:36 +0200)]
media: rockchip: rga: Fix probe rga_parse_dt bugs

rga_parse_dt is missing a error return, so if some of the resources
return DEFER_PROBE, probe will succeed without these resources.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
Co-developed-by: Jarrah Gosbell <kernel@undef.tools>
Signed-off-by: Jarrah Gosbell <kernel@undef.tools>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: v4l2-ctrls: Fix typo in VP8 comment
Deborah Brouwer [Thu, 11 Aug 2022 20:37:56 +0000 (22:37 +0200)]
media: v4l2-ctrls: Fix typo in VP8 comment

The comment for the VP8 loop filter flags uses the partially wrong name
for the flags. Unlike the other VP8 flag names, the loop filter flag names
don't have "_FLAG" in them. Change the comment so that it matches the
actual flag definitions in the header.

Signed-off-by: Deborah Brouwer <deborah.brouwer@collabora.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: airspy: fix memory leak in airspy probe
Dongliang Mu [Thu, 11 Aug 2022 04:57:00 +0000 (06:57 +0200)]
media: airspy: fix memory leak in airspy probe

The commit ca9dc8d06ab6 ("media: airspy: respect the DMA coherency
 rules") moves variable buf from stack to heap, however, it only frees
buf in the error handling code, missing deallocation in the success
path.

Fix this by freeing buf in the success path since this variable does not
have any references in other code.

Fixes: ca9dc8d06ab6 ("media: airspy: respect the DMA coherency rules")
Reported-by: syzbot+bb25f85e5aa482864dc0@syzkaller.appspotmail.com
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
Reviewed-by: Tommaso Merciai <tommaso.merciai@amarulasolution.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: tm6000: Fix unused value in vidioc_try_fmt_vid_cap()
Zeng Jingxiang [Thu, 28 Jul 2022 10:12:36 +0000 (18:12 +0800)]
media: tm6000: Fix unused value in vidioc_try_fmt_vid_cap()

Coverity warns of an unused value:

assigned_value: Assign the value of the variable f->fmt.pix.field
to field here,  but that stored value is overwritten.
before it can be used.
919 field = f->fmt.pix.field;
920

value_overwrite: Overwriting previous write to field with
the value of V4L2_FIELD_INTERLACED.
921 field = V4L2_FIELD_INTERLACED;

Fixes: ed57256f6fe8 ("[media] tm6000: fix G/TRY_FMT")
Signed-off-by: Zeng Jingxiang <linuszeng@tencent.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cx88: Fix a null-ptr-deref bug in buffer_prepare()
Zheyu Ma [Thu, 28 Jul 2022 02:23:38 +0000 (04:23 +0200)]
media: cx88: Fix a null-ptr-deref bug in buffer_prepare()

When the driver calls cx88_risc_buffer() to prepare the buffer, the
function call may fail, resulting in a empty buffer and null-ptr-deref
later in buffer_queue().

The following log can reveal it:

[   41.822762] general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN PTI
[   41.824488] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
[   41.828027] RIP: 0010:buffer_queue+0xc2/0x500
[   41.836311] Call Trace:
[   41.836945]  __enqueue_in_driver+0x141/0x360
[   41.837262]  vb2_start_streaming+0x62/0x4a0
[   41.838216]  vb2_core_streamon+0x1da/0x2c0
[   41.838516]  __vb2_init_fileio+0x981/0xbc0
[   41.839141]  __vb2_perform_fileio+0xbf9/0x1120
[   41.840072]  vb2_fop_read+0x20e/0x400
[   41.840346]  v4l2_read+0x215/0x290
[   41.840603]  vfs_read+0x162/0x4c0

Fix this by checking the return value of cx88_risc_buffer()

[hverkuil: fix coding style issues]

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop
Liang He [Wed, 20 Jul 2022 14:30:03 +0000 (16:30 +0200)]
media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop

In fimc_is_register_subdevs(), we need to call of_node_put() for
the reference 'i2c_bus' when breaking out of the
for_each_compatible_node() which has increased the refcount.

Fixes: 9a761e436843 ("[media] exynos4-is: Add Exynos4x12 FIMC-IS driver")
Signed-off-by: Liang He <windhl@126.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: av7110: move to staging/media/deprecated/saa7146
Hans Verkuil [Thu, 11 Aug 2022 09:17:49 +0000 (11:17 +0200)]
media: av7110: move to staging/media/deprecated/saa7146

The av7110 driver depends on saa7146, so move it there.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: saa7146: deprecate hexium_gemini/orion, mxb and ttpci
Hans Verkuil [Thu, 11 Aug 2022 09:17:48 +0000 (11:17 +0200)]
media: saa7146: deprecate hexium_gemini/orion, mxb and ttpci

Deprecate the hexium_gemini, hexium_orion, mxb and ttpci saa7146-based
drivers: these drivers do not use the vb2 framework for video streaming,
instead it uses the old videobuf framework.

We want to get rid of these old drivers, so deprecated these for future
removal.

[hverkuil: update MAINTAINERS file]

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: davinci: deprecate dm644x_ccdc, dm355_cddc and dm365_isif
Hans Verkuil [Thu, 11 Aug 2022 09:17:47 +0000 (11:17 +0200)]
media: davinci: deprecate dm644x_ccdc, dm355_cddc and dm365_isif

Deprecate the dm644x_ccdc, dm355_cddc and dm365_isif davinci drivers:
all three depend on the vpfe_capture driver, and that driver does not
use the vb2 framework for video streaming, instead it uses the old
videobuf framework.

We want to get rid of these old drivers, so deprecated these for future
removal.

Note that include/media/davinci/vpfe_capture.h can't be moved to staging
since it is used in arch/arm/mach-davinci/davinci.h.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: fsl-viu: deprecate this driver
Hans Verkuil [Thu, 11 Aug 2022 09:17:46 +0000 (11:17 +0200)]
media: fsl-viu: deprecate this driver

Deprecate the fsl-viu driver. This driver does not use the vb2 framework
for video streaming, instead it uses the old videobuf framework.

We want to get rid of these old drivers, so deprecated it for future
removal.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: tm6000: deprecate this driver
Hans Verkuil [Thu, 11 Aug 2022 09:17:45 +0000 (11:17 +0200)]
media: tm6000: deprecate this driver

Deprecate the tm6000 driver. This driver does not use the vb2 framework
for video streaming, instead it uses the old videobuf framework.

We want to get rid of these old drivers, so deprecated it for future
removal.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: zr364xx: deprecate this driver
Hans Verkuil [Thu, 11 Aug 2022 09:17:44 +0000 (11:17 +0200)]
media: zr364xx: deprecate this driver

Deprecate the zr364xx driver. This driver does not use the vb2 framework
for video streaming, instead it uses the old videobuf framework.

We want to get rid of these old drivers, so deprecated it for future
removal.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: meye: deprecate this driver
Hans Verkuil [Thu, 11 Aug 2022 09:17:43 +0000 (11:17 +0200)]
media: meye: deprecate this driver

Deprecate the meye driver. This driver does not use the vb2 framework
for video streaming, instead it implements its own version.

We want to get rid of these old drivers, so deprecated it for future
removal.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cpia2: deprecate this driver
Hans Verkuil [Thu, 11 Aug 2022 09:17:42 +0000 (11:17 +0200)]
media: cpia2: deprecate this driver

Deprecate the cpia2 driver. This driver does not use the vb2 framework
for video streaming, instead it implements its own version.

We want to get rid of these old drivers, so deprecated it for future
removal.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: staging/media: add a STAGING_MEDIA_DEPRECATED option
Hans Verkuil [Wed, 10 Aug 2022 11:54:45 +0000 (13:54 +0200)]
media: staging/media: add a STAGING_MEDIA_DEPRECATED option

Add a kernel config option to build deprecated media drivers
that are scheduled for removal. Move stkwebcam to the deprecated
directory to make it clear that this driver is deprecated.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: avoid use of 'videobuf'
Hans Verkuil [Wed, 10 Aug 2022 13:01:27 +0000 (15:01 +0200)]
media: avoid use of 'videobuf'

The term 'videobuf' typically refers to the old videobuf version 1
framework. Avoid using this word in drivers that are converted to
vb2.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: staging/media/omap4iss/iss_video.c: videobuf -> vb2
Hans Verkuil [Wed, 10 Aug 2022 13:01:26 +0000 (15:01 +0200)]
media: staging/media/omap4iss/iss_video.c: videobuf -> vb2

Rename 'videobuf' to 'vb2' in the comment. This avoids confusing
terminology since 'videobuf' typically refers to the old vb1
framework.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: platform: ti: avoid using 'videobuf' or 'video-buf'
Hans Verkuil [Wed, 10 Aug 2022 13:01:25 +0000 (15:01 +0200)]
media: platform: ti: avoid using 'videobuf' or 'video-buf'

These terms typically refer to the old version 1 videobuf framework.
It is confusing to use them for the vb2 framework, so reword these
comments.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: Lad Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: media/v4l2-mem2mem.h: rename 'videobuf' to 'vb2'
Hans Verkuil [Wed, 10 Aug 2022 13:01:24 +0000 (15:01 +0200)]
media: media/v4l2-mem2mem.h: rename 'videobuf' to 'vb2'

It is confusing to refer to vb2 structures with 'videobuf', since
that typically is used to refer to the old videobuf version 1
framework.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: vb2: videobuf -> videobuf2
Hans Verkuil [Wed, 10 Aug 2022 13:01:23 +0000 (15:01 +0200)]
media: vb2: videobuf -> videobuf2

It is confusing to use the term 'videobuf' or 'video-buf' since that
usually refers to the old videobuf version 1 framework. Rename to
'videobuf2' or vb2.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: media/pci/ngene/ngene.h: remove #ifdef NGENE_V4L
Hans Verkuil [Wed, 10 Aug 2022 13:01:22 +0000 (15:01 +0200)]
media: media/pci/ngene/ngene.h: remove #ifdef NGENE_V4L

Remove the dead code under NGENE_V4L.

Among others, this removes references to the old videobuf framework
that isn't actually used by this driver.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: zoran: move to mainline
Hans Verkuil [Wed, 10 Aug 2022 11:54:45 +0000 (13:54 +0200)]
media: zoran: move to mainline

The zoran driver can be moved back to mainline after it has been
converted by Corentin Labbe to vb2.

Note that the zoran driver no longer supports video output, but
video capture is working fine now.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: zoran: from VB2_READ/WRITE: read/write isn't supported
Hans Verkuil [Wed, 10 Aug 2022 11:54:44 +0000 (13:54 +0200)]
media: zoran: from VB2_READ/WRITE: read/write isn't supported

The read/write file operations are not implemented, so no
need to set VB2_READ and VB2_WRITE flags.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: zoran: the video device is video capture only, not M2M
Hans Verkuil [Wed, 10 Aug 2022 11:54:43 +0000 (13:54 +0200)]
media: zoran: the video device is video capture only, not M2M

Set vfl_dir correctly as a capture device instead of as
a M2M device.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: zoran: fix checkpatch --strict issues
Hans Verkuil [Wed, 10 Aug 2022 11:54:42 +0000 (13:54 +0200)]
media: zoran: fix checkpatch --strict issues

Prepare for moving this driver to mainline by fixing the remaining
checkpatch issues.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ti/omap: fix repeated words in comments
wangjianli [Tue, 23 Aug 2022 14:42:19 +0000 (16:42 +0200)]
media: ti/omap: fix repeated words in comments

Delete the redundant word 'the'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: pci/cx23885: fix repeated words in comments
wangjianli [Sun, 21 Aug 2022 15:25:04 +0000 (17:25 +0200)]
media: pci/cx23885: fix repeated words in comments

Delete the redundant word 'of'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: pci/cx18: fix repeated words in comments
wangjianli [Sun, 21 Aug 2022 15:21:38 +0000 (17:21 +0200)]
media: pci/cx18: fix repeated words in comments

Delete the redundant word 'of'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: pci/cx18: fix repeated words in comments
wangjianli [Sun, 21 Aug 2022 15:17:41 +0000 (17:17 +0200)]
media: pci/cx18: fix repeated words in comments

Delete the redundant word 'of'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: i2c/cx25840: fix repeated words in comments
wangjianli [Sun, 21 Aug 2022 15:15:52 +0000 (17:15 +0200)]
media: i2c/cx25840: fix repeated words in comments

Delete the redundant word 'of'.

Signed-off-by: wangjianli <wangjianli@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: v4l2-flash: Fix comment typo
Jason Wang [Thu, 4 Aug 2022 12:01:48 +0000 (14:01 +0200)]
media: v4l2-flash: Fix comment typo

The double `the' is duplicated in the comment, remove one.

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: technisat-usb2: Fix comment typo
Jason Wang [Thu, 4 Aug 2022 11:58:25 +0000 (13:58 +0200)]
media: technisat-usb2: Fix comment typo

The double `is' is duplicated in the comment, remove one.

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: drxk: Fix comment typo
Jason Wang [Thu, 4 Aug 2022 11:51:38 +0000 (13:51 +0200)]
media: drxk: Fix comment typo

The double `for' is duplicated in the comment, remove one.

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: v4l2-ioctl: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 07:18:50 +0000 (09:18 +0200)]
media: v4l2-ioctl: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

[hverkuil: the the -> that the]

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: tm6000: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 06:41:05 +0000 (08:41 +0200)]
media: tm6000: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: gspca: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 06:36:43 +0000 (08:36 +0200)]
media: gspca: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: platform: ti: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 06:33:41 +0000 (08:33 +0200)]
media: platform: ti: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: saa7164: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 02:19:18 +0000 (04:19 +0200)]
media: saa7164: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: ivtv: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 02:04:59 +0000 (04:04 +0200)]
media: ivtv: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: cx88: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 01:57:07 +0000 (03:57 +0200)]
media: cx88: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dvb-frontends: Fix typo 'the the' in comment
Slark Xiao [Fri, 22 Jul 2022 01:47:55 +0000 (03:47 +0200)]
media: dvb-frontends: Fix typo 'the the' in comment

Replace 'the the' with 'the' in the comment.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: sun6i-csi: Fix comment typo
Jason Wang [Sat, 16 Jul 2022 04:31:02 +0000 (06:31 +0200)]
media: sun6i-csi: Fix comment typo

The double `the' is duplicated in the comment, remove one.

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: dib8000: Fix comment typo
Jason Wang [Fri, 15 Jul 2022 05:16:16 +0000 (07:16 +0200)]
media: dib8000: Fix comment typo

The double `this' is duplicated in line 3215, remove one.

[hverkuil: while we're at it, fix the 'succedeed' typo as well]

Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 months agomedia: staging/media/av7110/av7110: Fix typo in string
Li zeming [Mon, 4 Jul 2022 02:24:10 +0000 (04:24 +0200)]
media: staging/media/av7110/av7110: Fix typo in string

Remove the repeated ',' from string

Signed-off-by: Li zeming <zeming@nfschina.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>