- Apr 01, 2021
-
-
Benjamin Gaignard authored
Split VPU node in two: one for G1 and one for G2 since they are different hardware blocks. Add syscon for hardware control block. Remove reg-names property that is useless. Each VPU node only need one interrupt. Change G2 assigned clock to match to the specifications. In the both nodes all the clocks need to assigned to make sure that control block will be correctly clocked even if only one device node is enabled. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Add variant to IMX8M to enable G2/HEVC codec. Define the capabilities for the hardware up to 3840x2160. G2 doesn't have postprocessor, use the same clocks and got it own interruption. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
-
Benjamin Gaignard authored
Implement all the logic to get G2 hardware decoding HEVC frames. It support up level 5.1 HEVC stream. It doesn't support yet 10 bits formats or scaling feature. Add HANTRO HEVC dedicated control to skip some bits at the beginning of the slice header. That is very specific to this hardware so can't go into uapi structures. Compute the needed value is complex and require information from the stream that only the userland knows so let it provide the correct value to the driver. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Co-developed-by: Adrian Ratiu <adrian.ratiu@collabora.com> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> Co-developed-by: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
-
- Mar 29, 2021
-
-
Benjamin Gaignard authored
Make sure that V4L2_PIX_FMT_HEVC_SLICE is correctly handle by v4l2 of the driver. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
The HEVC HANTRO driver needs to know the number of bits to skip at the beginning of the slice header. That is a hardware specific requirement so create a dedicated control that this purpose. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
If the variant doesn't offert postprocessed formats make sure it will be ok. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Define which HEVC profiles (up to level 5.1) and features (no scaling, no 10 bits) are supported by the driver. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Change hantro_codec_ops run prototype from 'void' to 'int'. This allow to cancel the job if an error occur while configuring the hardware. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Add decode params control and it associated structure to regroup all the information that are needed to decode a reference frame as it is describe in ITU-T Rec. H.265 section "8.3.2 Decoding process for reference picture set". Adapt Cedrus driver to these changes. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Add fields and flags as they are defined in 7.4.3.3.1 "General picture parameter set RBSP semantics of the H.265 ITU specification. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
In order to be able to share the control hardware block between VPUs use a syscon instead a ioremap it in the driver. To keep the compatibility with older DT if 'nxp,imx8mq-vpu-ctrl' phandle is not found look at 'ctrl' reg-name. With the method it becomes useless to provide a list of register names so remove it. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
-
Benjamin Gaignard authored
Introducing G2 hevc video decoder lead to modify the bindings to allow to get one node per VPUs. VPUs share one hardware control block which is provided as a phandle on an syscon. Each node got now one reg and one interrupt. Add a compatible for G2 hardware block: nxp,imx8mq-vpu-g2. To be compatible with older DT the driver is still capable to use 'ctrl' reg-name even if it is deprecated now. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
-
Benjamin Gaignard authored
Add 'nxp,imx8mq-vpu-ctrl' in the list of possible syscon. It will used to access to the VPU control registers. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Acked-by: Rob Herring <robh@kernel.org>
-
- Mar 23, 2021
-
-
Arnd Bergmann authored
The atomisp_set_fmt() function has multiple copies of the large v4l2_format structure on its stack, resulting in a warning about excessive stack usage in some rare randconfig builds. drivers/staging/media/atomisp/pci/atomisp_cmd.c:5600:5: error: stack frame size of 1084 bytes in function 'atomisp_set_fmt' [-Werror,-Wframe-larger-than=] Of this structure, only three members in the 'fmt.pix' member are used, so simplify it by using the smaller v4l2_pix_format structure directly. This reduces the stack usage to 612 bytes, and it could be reduced further by only storing the three members that are used. Link: https://lore.kernel.org/linux-media/20210226140524.3478346-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Nikolay Kyx authored
This patch fixes the following checkpatch.pl check: CHECK: Macro argument 'i' may be better as '(i)' to avoid precedence issues in file iss_regs.h Link: https://lore.kernel.org/linux-media/20210221195308.1451-1-knv418@gmail.com Signed-off-by: Nikolay Kyx <knv418@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Nikolay Kyx authored
This patch fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations in file ipu3-css-fw.h Link: https://lore.kernel.org/linux-media/20210221081236.9758-2-knv418@gmail.com Signed-off-by: Nikolay Kyx <knv418@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
karthik alapati authored
currently the functions defined in ibuf_ctrl_rmgr.c file are only used by isys_init.c when CONFIG_VIDEO_ATOMISP_ISP2401 is selected so dont't compile it when not needed, also fixes some sparse warnings Link: https://lore.kernel.org/linux-media/YDEZu3oniT/vUMMY@karthik-strix-linux.karthek.com Signed-off-by: karthik alapati <mail@karthek.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Jiri Slaby authored
fw_minibuffer[i].buffer is allocated by kmalloc in sh_css_load_blob_info and by vmalloc in setup_binary. So use kvfree to decide which of those allocators to use for freeing. Also remove the useless cast. Link: https://lore.kernel.org/linux-media/20210219101216.28406-1-jslaby@suse.cz Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Tong Zhang authored
VIDEO_ATOMISP depends on VIDEO_V4L2_SUBDEV_API, if VIDEO_V4L2_SUBDEV_API is not selected, it will cause compilation error drivers/staging/media/atomisp/pci/atomisp_cmd.c:6079:42: error: ‘struct v4l2_subdev_fh’ has no member named ‘pad’ atomisp_subdev_set_ffmt (&asd->subdev, fh.pad, V4L2_SUBDEV_FORMAT_ACTIVE, add auto select VIDEO_V4L2_SUBDEV_API if VIDEO_ATOMISP is selected Link: https://lore.kernel.org/linux-media/20210210033830.961086-1-ztong0001@gmail.com Signed-off-by: Tong Zhang <ztong0001@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Yang Li authored
Fix below warnings reported by coccicheck: ./drivers/staging/media/atomisp/pci/atomisp_cmd.c:4269:2-8: WARNING: NULL check before some freeing functions is not needed. ./drivers/staging/media/atomisp/pci/atomisp_cmd.c:4626:2-8: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/1611220312-89384-3-git-send-email-abaci-bugfix@linux.alibaba.com Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <abaci-bugfix@linux.alibaba.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Yang Li authored
Fix below warnings reported by coccicheck: ./drivers/staging/media/atomisp/pci/sh_css_params.c:1575:2-8: WARNING: NULL check before some freeing functions is not needed. ./drivers/staging/media/atomisp/pci/sh_css_params.c:3006:2-8: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/1611217731-56866-1-git-send-email-abaci-bugfix@linux.alibaba.com Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <abaci-bugfix@linux.alibaba.com> Reviewed-by: Robert Foss <robert.foss@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Arnd Bergmann authored
Some randconfig builds include ia_css_firmware.h without first including linux/device.h: In file included from atomisp/pci/mmu/sh_mmu_mrfld.c:23: In file included from atomisp/pci/atomisp_compat.h:22: In file included from atomisp/pci/atomisp_compat_css20.h:24: In file included from atomisp/pci/ia_css.h:28: In file included from atomisp/pci/ia_css_control.h:25: drivers/staging/media/atomisp//pci/ia_css_firmware.h:52:29: error: declaration of 'struct device' will not be visible outside of this function [-Werror,-Wvisibility] Add a forward declaration to avoid the warning. Link: https://lore.kernel.org/linux-media/20210108082337.2305938-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Filip Kolev authored
checkpatch.pl emits the following warning: WARNING: Prefer using '"%s...", __func__' to using 'ov2722_remove', this function's name, in a string + dev_dbg(&client->dev, "ov2722_remove...\n"); This is just a "trace" call and therefore should be removed entirely; ftrace should be used instead. Link: https://lore.kernel.org/linux-media/20210106181158.2270-1-fil.kolev@gmail.com Signed-off-by: Filip Kolev <fil.kolev@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Nicolas Stuardo Diaz authored
The currently used functions for converting the transmission mode and guard interval from the internal values to the DVBv5 API values do not return correct values for ISDB broadcasts: - The raw (debugfs) transmission mode is an integer whose values can be 1, 2 or 3, that corresponds to 2K, 4K and 8K FFT modes respectively. However sms_to_mode() expects values 2, 4 or 8. - Guard interval, as defined by smscoreapi.h returns "1 divided by value" instead of 0, 1, 2, and 3 as defined in sms_to_guard_interval_table(). This commit implements ISDB-T specific methods for converting the internal values for the aforementioned parameters to the DVBv5 API values. It also adds support for reporting FEC and time interleaving values for each one of the layers. [mchehab: fix two coding style whitespace warnings] Link: https://lore.kernel.org/linux-media/20201222030522.28774-1-nicolasstuardodiaz@gmail.com Signed-off-by: Nicolas Stuardo Diaz <nicolasstuardodiaz@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Mauro Carvalho Chehab authored
The :c:function: tag evaluation depends on Sphinx version 2 or 3. Use a syntax that should work with both versions. Link: https://lore.kernel.org/linux-media/e4214991b7d59c0d7aa4e6e48833dc1809c47d47.1616484262.git.mchehab+huawei@kernel.org Fixes: c0e3bcb2 ("media: camera-sensor.rst: fix a doc build warning") Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- Mar 22, 2021
-
-
Peilin Ye authored
dvb_media_device_free() is leaking memory. Free `dvbdev->adapter->conn` before setting it to NULL, as documented in include/media/media-device.h: "The media_entity instance itself must be freed explicitly by the driver if required." Link: https://syzkaller.appspot.com/bug?id=9bbe4b842c98f0ed05c5eed77a226e9de33bf298 Link: https://lore.kernel.org/linux-media/20201211083039.521617-1-yepeilin.cs@gmail.com Cc: stable@vger.kernel.org Fixes: 0230d60e ("[media] dvbdev: Add RF connector if needed") Reported-by: <syzbot+7f09440acc069a0d38ac@syzkaller.appspotmail.com> Signed-off-by: Peilin Ye <yepeilin.cs@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Xu Wang authored
./drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.c:390:2-8: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/20201225084524.64839-1-vulab@iscas.ac.cn Signed-off-by: Xu Wang <vulab@iscas.ac.cn> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Xu Wang authored
Fix warnings reported by coccicheck: ./drivers/staging/media/atomisp/pci/runtime/isp_param/src/isp_param.c:159:4-10: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/20201225083818.64588-1-vulab@iscas.ac.cn Signed-off-by: Xu Wang <vulab@iscas.ac.cn> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Aditya Srivastava authored
There are certain expressions in a condition in atomisp, where a boolean variable is compared with true/false in forms such as (foo == true) or (false != bar), which does not comply with the coding style rule by checkpatch.pl (CHK: BOOL_COMPARISON), according to which the boolean variables should be themselves used in the condition, rather than comparing with true or false. E.g. In drivers/staging/media/atomisp/pci/atomisp_compat_css20.c: if (asd->stream_prepared == false) { Can be replaced with: if (!asd->stream_prepared) { Replace such expressions with boolean variables appropriately. Link: https://lore.kernel.org/linux-media/20201214132716.28157-1-yashsri421@gmail.com Signed-off-by: Aditya Srivastava <yashsri421@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Dan Carpenter authored
The "s3a_buf" is freed along with all the other items on the "asd->s3a_stats" list. It leads to a double free and a use after free. Link: https://lore.kernel.org/linux-media/X9dSO3RGf7r0pq2k@mwanda Fixes: ad85094b ("Revert "media: staging: atomisp: Remove driver"") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
CHECK:OPEN_ENDED_LINE: Lines should not end with a '(' WARNING:LEADING_SPACE: please, no spaces at the start of a line Avoid these errors by writing the function decleration in one line. Link: https://lore.kernel.org/linux-media/20201214110358.7102-12-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
Block comments should align the * on each line Link: https://lore.kernel.org/linux-media/20201214110156.6152-11-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
You can sum up the two lines, because the maximum line length of 100 columns is not exceeded. Link: https://lore.kernel.org/linux-media/20201214110156.6152-10-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
WARNING:BRACES: braces {} are not necessary for single statement blocks Link: https://lore.kernel.org/linux-media/20201214110156.6152-9-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
Write return_type, function_name and parameters in one line because lines should not end with a '(' [OPEN_ENDED_LINE] Write open brace ’{’ on the next line to fix OPEN_BRACE Error Link: https://lore.kernel.org/linux-media/20201214110156.6152-8-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
Line length of 105 exceeds 100 columns. Link: https://lore.kernel.org/linux-media/20201214110156.6152-6-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
Lines should not end with a '(' Link: https://lore.kernel.org/linux-media/20201214110156.6152-5-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
Use the automatically defined __func__ macro instead of the function name, so it stays correct when the function is renamed. Link: https://lore.kernel.org/linux-media/20201214110156.6152-4-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
Block comments should use * on subsequent lines and should use a trailing */ on a separate line. Link: https://lore.kernel.org/linux-media/20201214110156.6152-3-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
Philipp Gerlesberger authored
The struct initalizers have been changed as recommended on https://kernelnewbies.org/KernelJanitors/Todo Also remove all the false, 0, and NULL members. Link: https://lore.kernel.org/linux-media/20201214110156.6152-2-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-