Add V4L stateless video decoder API support to NVIDIA Tegra driver
Subsystems (4)
v4 cover Add V4L stateless video decoder API support to NVIDIA Tegra driver
Support V4L stateless video decoder API by NVIDIA Tegra decoder driver. Tested using GStreamer [1] and libvdpau-tegra [2][8].
[1] https://github.com/grate-driver/gstreamer/commit/b8509bdbb69b534e61419ea1798f32f9ad2f3597
[2] https://github.com/grate-driver/libvdpau-tegra/commit/f822e95911e5e0c39f8ba19f843ddc1e0138d5ce
[8] https://github.com/grate-driver/libvdpau-tegra/commit/80db4d02369f2a984ce3173d6bc305f32e9fdb97
Changelog:
v4: - Added r-b from Nicolas Dufresne to the
"V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags" patch.
- Added patches to de-stage driver, like was suggested by Hans Verkuil.
- Added patch to enable driver in ARM's multi-platform defconfig.
v3: - Added new decode_params flags [7] instead of V4L2_BUF_FLAG_*FRAME flags,
as was suggested by Nicolas Dufresne.
[7] https://github.com/grate-driver/gstreamer/commit/c5cd847f9c26b7669720ae58f9058de2515f51a2
- Added new patch that removes legacy UAPI.
v2: - Made V4L2_BUF_FLAG_*FRAME flags mandatory [3] and dropped reading
of raw bitstream from the driver code, as was suggested by Nicolas Dufresne.
[3] https://github.com/grate-driver/gstreamer/commit/aee292f0f2e84b7654a314dd7e63f916888ffaa5
- Ran v4l2-compliance [4] and fluster [5][6] tests, like was suggested by Nicolas Dufresne. Fixed minor v4l2-compliance errors that were related to a partial initialization of the coded format and were harmless in practice, but made compliance checker unhappy.
[4] https://gist.github.com/digetx/5d6bcdab633488f1dcc7c141ab90d30e
[5] https://gist.github.com/digetx/b06c5d779e9d25afa41d9f46946fe399
[6] https://gist.github.com/digetx/ac4198bc340e5065aa8ec3288bb21356
Dmitry Osipenko (8):
media: v4l2-ctrls: Add new V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags
media: staging: tegra-vde: Factor out H.264 code
media: staging: tegra-vde: Support V4L stateless video decoder API
media: staging: tegra-vde: Remove legacy UAPI support
media: staging: tegra-vde: Bump BSEV DMA timeout
media: staging: tegra-vde: De-stage driver
ARM: tegra_defconfig: Update CONFIG_TEGRA_VDE option
ARM: config: multi v7: Enable NVIDIA Tegra video decoder driver
.../media/v4l/ext-ctrls-codec-stateless.rst | 6 +
MAINTAINERS | 2 +-
arch/arm/configs/multi_v7_defconfig | 1 +
arch/arm/configs/tegra_defconfig | 3 +-
drivers/media/platform/Kconfig | 17 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/tegra/vde/Makefile | 3 +
.../platform/tegra/vde}/dmabuf-cache.c | 2 +-
drivers/media/platform/tegra/vde/h264.c | 946 ++++++++++++
.../platform/tegra/vde}/iommu.c | 2 +-
.../platform/tegra/vde}/trace.h | 2 +-
drivers/media/platform/tegra/vde/v4l2.c | 1018 ++++++++++++
drivers/media/platform/tegra/vde/vde.c | 551 +++++++
drivers/media/platform/tegra/vde/vde.h | 242 +++
drivers/staging/media/Kconfig | 2 -
drivers/staging/media/Makefile | 1 -
drivers/staging/media/tegra-vde/Kconfig | 10 -
drivers/staging/media/tegra-vde/Makefile | 3 -
drivers/staging/media/tegra-vde/TODO | 4 -
drivers/staging/media/tegra-vde/uapi.h | 73 -
drivers/staging/media/tegra-vde/vde.c | 1358 -----------------
drivers/staging/media/tegra-vde/vde.h | 125 --
include/uapi/linux/v4l2-controls.h | 2 +
23 files changed, 2794 insertions(+), 1581 deletions(-)
create mode 100644 drivers/media/platform/tegra/vde/Makefile
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/dmabuf-cache.c (99%)
create mode 100644 drivers/media/platform/tegra/vde/h264.c
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/iommu.c (98%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/trace.h (97%)
create mode 100644 drivers/media/platform/tegra/vde/v4l2.c
create mode 100644 drivers/media/platform/tegra/vde/vde.c
create mode 100644 drivers/media/platform/tegra/vde/vde.h
delete mode 100644 drivers/staging/media/tegra-vde/Kconfig
delete mode 100644 drivers/staging/media/tegra-vde/Makefile
delete mode 100644 drivers/staging/media/tegra-vde/TODO
delete mode 100644 drivers/staging/media/tegra-vde/uapi.h
delete mode 100644 drivers/staging/media/tegra-vde/vde.c
delete mode 100644 drivers/staging/media/tegra-vde/vde.hSignature · 1 line
2.34.1
PATCH v4 1/8 media: v4l2-ctrls: Add new V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags
Add new V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags that are needed by NVIDIA Tegra video decoder. Userspace will have to set these flags in accordance to the type of a decoded frame.
--- .../userspace-api/media/v4l/ext-ctrls-codec-stateless.rst | 6 ++++++ include/uapi/linux/v4l2-controls.h | 2 ++ 2 files changed, 8 insertions(+)
Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst +6 -0
@@ -616,6 +616,12 @@ Stateless Codec Control ID * - ``V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD`` - 0x00000004 - + * - ``V4L2_H264_DECODE_PARAM_FLAG_PFRAME`` + - 0x00000008 + - + * - ``V4L2_H264_DECODE_PARAM_FLAG_BFRAME`` + - 0x00000010 + - .. raw:: latex
include/uapi/linux/v4l2-controls.h +2 -0
@@ -1563,6 +1563,8 @@ struct v4l2_h264_dpb_entry {#define V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC 0x01#define V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC 0x02#define V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD 0x04 +#define V4L2_H264_DECODE_PARAM_FLAG_PFRAME 0x08 +#define V4L2_H264_DECODE_PARAM_FLAG_BFRAME 0x10#define V4L2_CID_STATELESS_H264_DECODE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 7)/**
Signature · 1 line
2.34.1
PATCH v4 2/8 media: staging: tegra-vde: Factor out H.264 code
In reply to Dmitry OsipenkoFactor out H.264 hardware programming code into separate source file in a preparation to support V4L API by the Tegra video decoder driver.
--- drivers/staging/media/tegra-vde/Makefile | 2 +- drivers/staging/media/tegra-vde/h264.c | 647 +++++++++++++++++++++++ drivers/staging/media/tegra-vde/vde.c | 626 +--------------------- drivers/staging/media/tegra-vde/vde.h | 42 ++ 4 files changed, 706 insertions(+), 611 deletions(-) create mode 100644 drivers/staging/media/tegra-vde/h264.c
drivers/staging/media/tegra-vde/Makefile +1 -1
@@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 -tegra-vde-y := vde.o iommu.o dmabuf-cache.o +tegra-vde-y := vde.o iommu.o dmabuf-cache.o h264.o obj-$(CONFIG_TEGRA_VDE) += tegra-vde.o
drivers/staging/media/tegra-vde/h264.c new file +647 -0
647 lines not on this page · raw message
drivers/staging/media/tegra-vde/vde.c +16 -610
709 lines not on this page · raw message
drivers/staging/media/tegra-vde/vde.h +42 -0
70 lines not on this page · raw message
Signature · 1 line
2.34.1
PATCH v4 3/8 media: staging: tegra-vde: Support V4L stateless video decoder API
In reply to Dmitry OsipenkoExpose Tegra video decoder as a generic V4L M2M stateless video decoder.
--- drivers/staging/media/tegra-vde/Kconfig | 7 + drivers/staging/media/tegra-vde/Makefile | 2 +- drivers/staging/media/tegra-vde/h264.c | 304 ++++++- drivers/staging/media/tegra-vde/v4l2.c | 1018 ++++++++++++++++++++++ drivers/staging/media/tegra-vde/vde.c | 74 +- drivers/staging/media/tegra-vde/vde.h | 86 ++ 6 files changed, 1483 insertions(+), 8 deletions(-) create mode 100644 drivers/staging/media/tegra-vde/v4l2.c
drivers/staging/media/tegra-vde/Kconfig +7 -0
@@ -2,9 +2,16 @@ config TEGRA_VDE tristate "NVIDIA Tegra Video Decoder Engine driver" depends on ARCH_TEGRA || COMPILE_TEST + depends on VIDEO_DEV && VIDEO_V4L2 select DMA_SHARED_BUFFER select IOMMU_IOVA + select MEDIA_CONTROLLER + select MEDIA_CONTROLLER_REQUEST_API select SRAM + select VIDEOBUF2_DMA_CONTIG + select VIDEOBUF2_DMA_SG + select V4L2_H264 + select V4L2_MEM2MEM_DEV help Say Y here to enable support for the NVIDIA Tegra video decoder driver.
drivers/staging/media/tegra-vde/Makefile +1 -1
@@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 -tegra-vde-y := vde.o iommu.o dmabuf-cache.o h264.o +tegra-vde-y := vde.o iommu.o dmabuf-cache.o h264.o v4l2.o obj-$(CONFIG_TEGRA_VDE) += tegra-vde.o
drivers/staging/media/tegra-vde/h264.c +302 -2
323 lines not on this page · raw message
drivers/staging/media/tegra-vde/v4l2.c new file +1018 -0
1,018 lines not on this page · raw message
drivers/staging/media/tegra-vde/vde.c +69 -5
126 lines not on this page · raw message
drivers/staging/media/tegra-vde/vde.h +86 -0
129 lines not on this page · raw message
Signature · 1 line
2.34.1
PATCH v4 4/8 media: staging: tegra-vde: Remove legacy UAPI support
In reply to Dmitry OsipenkoThe legacy UAPI became unnecessary with the V4L stateless decoder API support addition to the Tegra decoder driver. Remove legacy UAPI support.
--- .../staging/media/tegra-vde/dmabuf-cache.c | 2 +- drivers/staging/media/tegra-vde/h264.c | 61 ++-- drivers/staging/media/tegra-vde/iommu.c | 2 +- drivers/staging/media/tegra-vde/uapi.h | 73 ----- drivers/staging/media/tegra-vde/vde.c | 283 +----------------- drivers/staging/media/tegra-vde/vde.h | 11 - 6 files changed, 35 insertions(+), 397 deletions(-) delete mode 100644 drivers/staging/media/tegra-vde/uapi.h
drivers/staging/media/tegra-vde/dmabuf-cache.c +1 -1
@@ -66,9 +66,9 @@ int tegra_vde_dmabuf_cache_map(struct tegra_vde *vde,struct dma_buf_attachment **ap, dma_addr_t *addrp) { - struct device *dev = vde->miscdev.parent; struct dma_buf_attachment *attachment;struct tegra_vde_cache_entry *entry; +struct device *dev = vde->dev;struct sg_table *sgt;struct iova *iova;int err;
drivers/staging/media/tegra-vde/h264.c +30 -31
81 lines not on this page · raw message
drivers/staging/media/tegra-vde/iommu.c +1 -1
@@ -60,7 +60,7 @@ void tegra_vde_iommu_unmap(struct tegra_vde *vde, struct iova *iova)int tegra_vde_iommu_init (struct tegra_vde *vde) { -struct device *dev = vde->miscdev.parent; +struct device *dev = vde->dev;struct iova *iova;unsigned long order;unsigned long shift;
drivers/staging/media/tegra-vde/uapi.h deleted +0 -73
73 lines not on this page · raw message
drivers/staging/media/tegra-vde/vde.c +3 -280
338 lines not on this page · raw message
drivers/staging/media/tegra-vde/vde.h +0 -11
@@ -12,7 +12,6 @@#include <linux/dma-direction.h> #include <linux/iova.h> #include <linux/list.h> -#include <linux/miscdevice.h> #include <linux/mutex.h> #include <linux/types.h> #include <linux/workqueue.h>
@@ -107,7 +106,6 @@ struct tegra_vde {struct mutex lock;struct mutex map_lock;struct list_head map_list; -struct miscdevice miscdev;struct reset_control *rst;struct reset_control *rst_mc;struct gen_pool *iram_pool;
@@ -183,15 +181,6 @@ u32 tegra_vde_readl(struct tegra_vde *vde, void __iomem *base, u32 offset);void tegra_vde_set_bits (struct tegra_vde *vde,u32 mask,void __iomem *base,u32 offset); -int tegra_vde_validate_h264_frame (struct device *dev, -struct tegra_vde_h264_frame *frame); -int tegra_vde_validate_h264_ctx (struct device *dev, -struct tegra_vde_h264_decoder_ctx *ctx); -int tegra_vde_decode_h264 (struct tegra_vde *vde, -struct tegra_vde_h264_decoder_ctx *ctx, -struct tegra_video_frame *dpb_frames, -dma_addr_t bitstream_data_addr, -size_t bitstream_data_size);int tegra_vde_h264_decode_run (struct tegra_ctx *ctx);int tegra_vde_h264_decode_wait (struct tegra_ctx *ctx);
Signature · 1 line
2.34.1
PATCH v4 5/8 media: staging: tegra-vde: Bump BSEV DMA timeout
In reply to Dmitry OsipenkoBSEV DMA timeouts if VDE is downclocked by x10. Bump the timeout to allow DMA to complete. We don't support freq scaling yet, this is just a minor improvement which may become useful sometime later.
--- drivers/staging/media/tegra-vde/h264.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/media/tegra-vde/h264.c +1 -1
@@ -135,7 +135,7 @@ static int tegra_vde_wait_bsev(struct tegra_vde *vde, bool wait_dma)return 0 ; err =readl_relaxed_poll_timeout (vde->bsev +INTR_STATUS , value, - !(value &BSE_DMA_BUSY ),1 ,100 ); + !(value &BSE_DMA_BUSY ),1 ,1000 );if (err) {dev_err (dev,"BSEV DMA timeout\n" );return err;
Signature · 1 line
2.34.1
PATCH v4 6/8 media: staging: tegra-vde: De-stage driver
In reply to Dmitry OsipenkoThe TODO of tegra-vde driver has been completed, driver now supports V4L2 stateless video decoding API. Relocate driver to drivers/media.
---
MAINTAINERS | 2 +-
drivers/media/platform/Kconfig | 17 +++++++++++++++++
drivers/media/platform/Makefile | 2 ++
.../platform/tegra/vde}/Makefile | 2 +-
.../platform/tegra/vde}/dmabuf-cache.c | 0
.../platform/tegra/vde}/h264.c | 0
.../platform/tegra/vde}/iommu.c | 0
.../platform/tegra/vde}/trace.h | 2 +-
.../platform/tegra/vde}/v4l2.c | 0
.../platform/tegra/vde}/vde.c | 0
.../platform/tegra/vde}/vde.h | 0
drivers/staging/media/Kconfig | 2 --
drivers/staging/media/Makefile | 1 -
drivers/staging/media/tegra-vde/Kconfig | 17 -----------------
drivers/staging/media/tegra-vde/TODO | 4 ----
15 files changed, 22 insertions(+), 27 deletions(-)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/Makefile (67%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/dmabuf-cache.c (100%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/h264.c (100%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/iommu.c (100%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/trace.h (97%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/v4l2.c (100%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/vde.c (100%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/vde.h (100%)
delete mode 100644 drivers/staging/media/tegra-vde/Kconfig
delete mode 100644 drivers/staging/media/tegra-vde/TODOMAINTAINERS +1 -1
@@ -12071,7 +12071,7 @@ L: [email protected] S: Maintained T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt -F: drivers/staging/media/tegra-vde/ +F: drivers/media/platform/tegra/vde/ MEDIA DRIVERS FOR RENESAS - CEU M: Jacopo Mondi <[email protected]>
drivers/media/platform/Kconfig +17 -0
@@ -630,6 +630,23 @@ config VIDEO_SUN8I_ROTATE Support for the Allwinner DE2 rotation unit. To compile this driver as a module choose m here. +config VIDEO_TEGRA_VDE + tristate "NVIDIA Tegra Video Decoder Engine driver" + depends on ARCH_TEGRA || COMPILE_TEST + depends on VIDEO_DEV && VIDEO_V4L2 + select DMA_SHARED_BUFFER + select IOMMU_IOVA + select MEDIA_CONTROLLER + select MEDIA_CONTROLLER_REQUEST_API + select SRAM + select VIDEOBUF2_DMA_CONTIG + select VIDEOBUF2_DMA_SG + select V4L2_H264 + select V4L2_MEM2MEM_DEV + help + Support for the NVIDIA Tegra video decoder unit. + To compile this driver as a module choose m here. + endif # V4L_MEM2MEM_DRIVERS # TI VIDEO PORT Helper Modules
drivers/media/platform/Makefile +2 -0
@@ -89,3 +89,5 @@ obj-$(CONFIG_VIDEO_QCOM_VENUS) += qcom/venus/ obj-y += sunxi/ obj-$(CONFIG_VIDEO_MESON_GE2D) += meson/ge2d/ + +obj-$(CONFIG_VIDEO_TEGRA_VDE) += tegra/vde/
drivers/media/platform/tegra/vde/Makefile renamed from drivers/staging/media/tegra-vde/Makefile +1 -1
@@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 tegra-vde-y := vde.o iommu.o dmabuf-cache.o h264.o v4l2.o -obj-$(CONFIG_TEGRA_VDE) += tegra-vde.o +obj-$(CONFIG_VIDEO_TEGRA_VDE) += tegra-vde.o
drivers/media/platform/tegra/vde/dmabuf-cache.c renamed from drivers/staging/media/tegra-vde/dmabuf-cache.c +0 -0
drivers/media/platform/tegra/vde/h264.c renamed from drivers/staging/media/tegra-vde/h264.c +0 -0
drivers/media/platform/tegra/vde/iommu.c renamed from drivers/staging/media/tegra-vde/iommu.c +0 -0
drivers/media/platform/tegra/vde/trace.h renamed from drivers/staging/media/tegra-vde/trace.h +1 -1
@@ -90,6 +90,6 @@ TRACE_EVENT(vde_ref_l1,/* This part must be outside protection */ #undef TRACE_INCLUDE_PATH -#define TRACE_INCLUDE_PATH ../../drivers/staging/media/tegra-vde +#define TRACE_INCLUDE_PATH ../../drivers/media/platform/tegra/vde#define TRACE_INCLUDE_FILE trace#include <trace/define_trace.h>
drivers/media/platform/tegra/vde/v4l2.c renamed from drivers/staging/media/tegra-vde/v4l2.c +0 -0
drivers/media/platform/tegra/vde/vde.c renamed from drivers/staging/media/tegra-vde/vde.c +0 -0
drivers/media/platform/tegra/vde/vde.h renamed from drivers/staging/media/tegra-vde/vde.h +0 -0
drivers/staging/media/Kconfig +0 -2
@@ -36,8 +36,6 @@ source "drivers/staging/media/rkvdec/Kconfig" source "drivers/staging/media/sunxi/Kconfig" -source "drivers/staging/media/tegra-vde/Kconfig" - source "drivers/staging/media/zoran/Kconfig" source "drivers/staging/media/tegra-video/Kconfig"
drivers/staging/media/Makefile +0 -1
@@ -6,7 +6,6 @@ obj-$(CONFIG_VIDEO_MESON_VDEC) += meson/vdec/ obj-$(CONFIG_VIDEO_OMAP4) += omap4iss/ obj-$(CONFIG_VIDEO_ROCKCHIP_VDEC) += rkvdec/ obj-$(CONFIG_VIDEO_SUNXI) += sunxi/ -obj-$(CONFIG_VIDEO_TEGRA) += tegra-video/ obj-$(CONFIG_TEGRA_VDE) += tegra-vde/ obj-$(CONFIG_VIDEO_HANTRO) += hantro/ obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3/
drivers/staging/media/tegra-vde/Kconfig deleted +0 -17
@@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -config TEGRA_VDE - tristate "NVIDIA Tegra Video Decoder Engine driver" - depends on ARCH_TEGRA || COMPILE_TEST - depends on VIDEO_DEV && VIDEO_V4L2 - select DMA_SHARED_BUFFER - select IOMMU_IOVA - select MEDIA_CONTROLLER - select MEDIA_CONTROLLER_REQUEST_API - select SRAM - select VIDEOBUF2_DMA_CONTIG - select VIDEOBUF2_DMA_SG - select V4L2_H264 - select V4L2_MEM2MEM_DEV - help - Say Y here to enable support for the NVIDIA Tegra video decoder - driver.
drivers/staging/media/tegra-vde/TODO deleted +0 -4
@@ -1,4 +0,0 @@ -TODO: - - Implement V4L2 API once it gains support for stateless decoders. - -Contact: Dmitry Osipenko <[email protected]>
Signature · 1 line
2.34.1
kernel test robot
build botRe: [PATCH v4 6/8] media: staging: tegra-vde: De-stage driver
I love your patch! Yet something to improve:
Hi Dmitry,
I love your patch! Yet something to improve:
[auto build test ERROR on media-tree/master]
[also build test ERROR on tegra/for-next linus/master v5.17-rc4 next-20220217] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Dmitry-Osipenko/Add-V4L-stateless-video-decoder-API-support-to-NVIDIA-Tegra-driver/20220221-013333 base: git://linuxtv.org/media_tree.git master config: x86_64-randconfig-m001
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/dd010c4949a824dda7225b7074050b5736d3894a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dmitry-Osipenko/Add-V4L-stateless-video-decoder-API-support-to-NVIDIA-Tegra-driver/20220221-013333 git checkout dd010c4949a824dda7225b7074050b5736d3894a
make W=1 ARCH=x86_64 randconfig
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 distclean
If you fix the issue, kindly add following tag as appropriate
All errors (new ones prefixed by >>):
>> scripts/Makefile.clean:15: drivers/staging/media/tegra-vde/Makefile: No such file or directory >> make[5]: *** No rule to make target 'drivers/staging/media/tegra-vde/Makefile'.
make[5]: Failed to remake makefile 'drivers/staging/media/tegra-vde/Makefile'. make[4]: *** [scripts/Makefile.clean:68: drivers/staging/media/tegra-vde] Error 2 make[4]: Target '__clean' not remade because of errors.
make[3]: *** [scripts/Makefile.clean:68: drivers/staging/media] Error 2 make[3]: Target '__clean' not remade because of errors.
make[2]: *** [scripts/Makefile.clean:68: drivers/staging] Error 2 make[2]: Target '__clean' not remade because of errors.
make[1]: *** [Makefile:1838: _clean_drivers] Error 2
make[1]: Target 'distclean' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'distclean' not remade because of errors.
vim +15 scripts/Makefile.clean
2315c6e4227815 Sam Ravnborg 2005-07-25 12 2a691470345a00 Sam Ravnborg 2005-07-25 13 # The filename Kbuild has precedence over Makefile db8c1a7b2ca25f Sam Ravnborg 2005-07-27 14 kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) db8c1a7b2ca25f Sam Ravnborg 2005-07-27 @15 include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
^1da177e4c3f41 Linus Torvalds 2005-04-16 16
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
Re: [PATCH v4 6/8] media: staging: tegra-vde: De-stage driver
20.02.2022 23:19, kernel test robot пишет:
Quoted 22 lines
Hi Dmitry,
I love your patch! Yet something to improve:
[auto build test ERROR on media-tree/master]
[also build test ERROR on tegra/for-next linus/master v5.17-rc4 next-20220217] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]url: https://github.com/0day-ci/linux/commits/Dmitry-Osipenko/Add-V4L-stateless-video-decoder-API-support-to-NVIDIA-Tegra-driver/20220221-013333 base: git://linuxtv.org/media_tree.git master config: x86_64-randconfig-m001reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/dd010c4949a824dda7225b7074050b5736d3894a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dmitry-Osipenko/Add-V4L-stateless-video-decoder-API-support-to-NVIDIA-Tegra-driver/20220221-013333 git checkoutdd010c4949a824dda7225b7074050b5736d3894a
make W=1 ARCH=x86_64 randconfig
mkdirbuild_dir
make W=1 O=build_dir ARCH=x86_64 distclean
Quoted 6 lines
If you fix the issue, kindly add following tag as appropriate
Reported-by kernel test robot <[email protected]>All errors (new ones prefixed by >>):
Quoted 1 line
Quoted 1 line
scripts/Makefile.clean:15:drivers/staging/media/tegra-vde/Makefile: No such file or directory
I had a feeling that something is missed in v4.
PATCH v4 7/8 ARM: tegra_defconfig: Update CONFIG_TEGRA_VDE option
In reply to Dmitry OsipenkoThe CONFIG_TEGRA_VDE has been deprecated and replaced with the new V4L options after de-staging of the tegra-vde driver. Update the config entry.
--- arch/arm/configs/tegra_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm/configs/tegra_defconfig +2 -1
@@ -298,7 +298,8 @@ CONFIG_SERIO_NVEC_PS2=y CONFIG_NVEC_POWER=y CONFIG_NVEC_PAZ00=y CONFIG_STAGING_MEDIA=y -CONFIG_TEGRA_VDE=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_TEGRA_VDE=y CONFIG_CHROME_PLATFORMS=y CONFIG_CROS_EC=y CONFIG_CROS_EC_I2C=m
Signature · 1 line
2.34.1
PATCH v4 8/8 ARM: config: multi v7: Enable NVIDIA Tegra video decoder driver
In reply to Dmitry OsipenkoEnable NVIDIA Tegra V4L2 video decoder driver.
--- arch/arm/configs/multi_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/multi_v7_defconfig +1 -0
@@ -669,6 +669,7 @@ CONFIG_VIDEO_STI_DELTA=m CONFIG_VIDEO_RENESAS_FDP1=m CONFIG_VIDEO_RENESAS_JPU=m CONFIG_VIDEO_RENESAS_VSP1=m +CONFIG_VIDEO_TEGRA_VDE=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m CONFIG_VIDEO_ADV7180=m
Signature · 1 line
2.34.1