2022-02-20 21:51:24

by Dmitry Osipenko

[permalink] [raw]
Subject: [PATCH v4 6/8] media: staging: tegra-vde: De-stage driver

The TODO of tegra-vde driver has been completed, driver now supports
V4L2 stateless video decoding API. Relocate driver to drivers/media.

Signed-off-by: Dmitry Osipenko <[email protected]>
---
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/TODO

diff --git a/MAINTAINERS b/MAINTAINERS
index aa0f6cbb634e..1f210d2227f1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -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]>
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 9fbdba0fd1e7..97a191a3c0a1 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -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
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
index 28eb4aadbf45..4c6fdca75b9f 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
@@ -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/
diff --git a/drivers/staging/media/tegra-vde/Makefile b/drivers/media/platform/tegra/vde/Makefile
similarity index 67%
rename from drivers/staging/media/tegra-vde/Makefile
rename to drivers/media/platform/tegra/vde/Makefile
index 1758aa201baa..4e96f3305567 100644
--- a/drivers/staging/media/tegra-vde/Makefile
+++ b/drivers/media/platform/tegra/vde/Makefile
@@ -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
diff --git a/drivers/staging/media/tegra-vde/dmabuf-cache.c b/drivers/media/platform/tegra/vde/dmabuf-cache.c
similarity index 100%
rename from drivers/staging/media/tegra-vde/dmabuf-cache.c
rename to drivers/media/platform/tegra/vde/dmabuf-cache.c
diff --git a/drivers/staging/media/tegra-vde/h264.c b/drivers/media/platform/tegra/vde/h264.c
similarity index 100%
rename from drivers/staging/media/tegra-vde/h264.c
rename to drivers/media/platform/tegra/vde/h264.c
diff --git a/drivers/staging/media/tegra-vde/iommu.c b/drivers/media/platform/tegra/vde/iommu.c
similarity index 100%
rename from drivers/staging/media/tegra-vde/iommu.c
rename to drivers/media/platform/tegra/vde/iommu.c
diff --git a/drivers/staging/media/tegra-vde/trace.h b/drivers/media/platform/tegra/vde/trace.h
similarity index 97%
rename from drivers/staging/media/tegra-vde/trace.h
rename to drivers/media/platform/tegra/vde/trace.h
index e5714107db58..77358ddfdb8f 100644
--- a/drivers/staging/media/tegra-vde/trace.h
+++ b/drivers/media/platform/tegra/vde/trace.h
@@ -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>
diff --git a/drivers/staging/media/tegra-vde/v4l2.c b/drivers/media/platform/tegra/vde/v4l2.c
similarity index 100%
rename from drivers/staging/media/tegra-vde/v4l2.c
rename to drivers/media/platform/tegra/vde/v4l2.c
diff --git a/drivers/staging/media/tegra-vde/vde.c b/drivers/media/platform/tegra/vde/vde.c
similarity index 100%
rename from drivers/staging/media/tegra-vde/vde.c
rename to drivers/media/platform/tegra/vde/vde.c
diff --git a/drivers/staging/media/tegra-vde/vde.h b/drivers/media/platform/tegra/vde/vde.h
similarity index 100%
rename from drivers/staging/media/tegra-vde/vde.h
rename to drivers/media/platform/tegra/vde/vde.h
diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig
index b81cfa74edb7..1fd6a0c6e1d8 100644
--- a/drivers/staging/media/Kconfig
+++ b/drivers/staging/media/Kconfig
@@ -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"
diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile
index 7e2c86e3695d..91be8370cad0 100644
--- a/drivers/staging/media/Makefile
+++ b/drivers/staging/media/Makefile
@@ -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/
diff --git a/drivers/staging/media/tegra-vde/Kconfig b/drivers/staging/media/tegra-vde/Kconfig
deleted file mode 100644
index 07dbc1f44ca8..000000000000
--- a/drivers/staging/media/tegra-vde/Kconfig
+++ /dev/null
@@ -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.
diff --git a/drivers/staging/media/tegra-vde/TODO b/drivers/staging/media/tegra-vde/TODO
deleted file mode 100644
index 31aaa3e66d80..000000000000
--- a/drivers/staging/media/tegra-vde/TODO
+++ /dev/null
@@ -1,4 +0,0 @@
-TODO:
- - Implement V4L2 API once it gains support for stateless decoders.
-
-Contact: Dmitry Osipenko <[email protected]>
--
2.34.1


2022-02-21 02:24:48

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [PATCH v4 6/8] media: staging: tegra-vde: De-stage driver

20.02.2022 23:19, kernel test robot пишет:
> 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
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
>>> 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.

2022-02-21 09:32:08

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v4 6/8] media: staging: tegra-vde: De-stage driver

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
Reported-by: kernel test robot <[email protected]>

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]