diff mbox series

[6/7] tegra: enable VDE driver

Message ID 20240515171133.692414-7-tmn505@terefe.re
State Superseded
Headers show
Series tegra: kernel 6.6 introduction | expand

Commit Message

Tomasz Maciej Nowak May 15, 2024, 5:05 p.m. UTC
From: Tomasz Maciej Nowak <tmn505@gmail.com>

This drives power domain responsible for clean reboot on at least
Tegra 2 devices.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
---
 package/kernel/linux/modules/video.mk |  4 ++--
 target/linux/tegra/config-6.6         | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

Comments

Hauke Mehrtens May 17, 2024, 2:16 p.m. UTC | #1
On 5/15/24 8:05 PM, Tomasz Maciej Nowak wrote:
> From: Tomasz Maciej Nowak <tmn505@gmail.com>
> 
> This drives power domain responsible for clean reboot on at least
> Tegra 2 devices.
> 
> Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>

Hi,

Could you explain this change a bit more.

My do you deactivate the kmod-video-mem2mem and kmod-video-dma?
Do you build it into the kernel and it was not automatically deactivated?

Hauke

> ---
>   package/kernel/linux/modules/video.mk |  4 ++--
>   target/linux/tegra/config-6.6         | 20 ++++++++++++++++++++
>   2 files changed, 22 insertions(+), 2 deletions(-)
> 
> diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk
> index dc1953279e43..0fae20b7700c 100644
> --- a/package/kernel/linux/modules/video.mk
> +++ b/package/kernel/linux/modules/video.mk
> @@ -1157,7 +1157,7 @@ define KernelPackage/video-mem2mem
>     SUBMENU:=$(VIDEO_MENU)
>     TITLE:=Memory 2 Memory device support
>     HIDDEN:=1
> -  DEPENDS:=+kmod-video-videobuf2
> +  DEPENDS:=@!TARGET_tegra_generic +kmod-video-videobuf2
>     KCONFIG:= \
>       CONFIG_V4L_MEM2MEM_DRIVERS=y \
>       CONFIG_V4L2_MEM2MEM_DEV
> @@ -1176,7 +1176,7 @@ define KernelPackage/video-dma
>     SUBMENU:=$(VIDEO_MENU)
>     TITLE:=Video DMA support
>     HIDDEN:=1
> -  DEPENDS:=+kmod-video-videobuf2
> +  DEPENDS:=@!TARGET_tegra_generic +kmod-video-videobuf2
>     KCONFIG:= \
>   	CONFIG_VIDEOBUF2_DMA_CONTIG \
>   	CONFIG_VIDEOBUF2_DMA_SG
> diff --git a/target/linux/tegra/config-6.6 b/target/linux/tegra/config-6.6
> index 4326326d3c89..c3ffff01dc6f 100644
> --- a/target/linux/tegra/config-6.6
> +++ b/target/linux/tegra/config-6.6
> @@ -298,6 +298,12 @@ CONFIG_LZ4_COMPRESS=y
>   CONFIG_LZ4_DECOMPRESS=y
>   CONFIG_LZO_COMPRESS=y
>   CONFIG_LZO_DECOMPRESS=y
> +CONFIG_MEDIA_CONTROLLER=y
> +CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
> +CONFIG_MEDIA_PLATFORM_DRIVERS=y
> +CONFIG_MEDIA_PLATFORM_SUPPORT=y
> +CONFIG_MEDIA_SUPPORT=y
> +CONFIG_MEDIA_SUPPORT_FILTER=y
>   CONFIG_MEMORY=y
>   CONFIG_MEMORY_ISOLATION=y
>   # CONFIG_MFD_ACER_A500_EC is not set
> @@ -494,6 +500,8 @@ CONFIG_SPI_TEGRA20_SFLASH=y
>   CONFIG_SPI_TEGRA20_SLINK=y
>   # CONFIG_SPI_TEGRA210_QUAD is not set
>   CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
> +CONFIG_SRAM=y
> +CONFIG_SRAM_EXEC=y
>   CONFIG_SWP_EMULATE=y
>   CONFIG_SYNC_FILE=y
>   CONFIG_SYS_SUPPORTS_APM_EMULATION=y
> @@ -544,10 +552,22 @@ CONFIG_USB_ULPI_BUS=y
>   CONFIG_USB_ULPI_VIEWPORT=y
>   # CONFIG_USB_XHCI_TEGRA is not set
>   CONFIG_USE_OF=y
> +CONFIG_V4L2_H264=y
> +CONFIG_V4L2_MEM2MEM_DEV=y
> +CONFIG_V4L_MEM2MEM_DRIVERS=y
> +CONFIG_V4L_PLATFORM_DRIVERS=y
>   CONFIG_VFP=y
>   CONFIG_VFPv3=y
> +CONFIG_VIDEOBUF2_CORE=y
> +CONFIG_VIDEOBUF2_DMA_CONTIG=y
> +CONFIG_VIDEOBUF2_DMA_SG=y
> +CONFIG_VIDEOBUF2_MEMOPS=y
> +CONFIG_VIDEOBUF2_V4L2=y
>   CONFIG_VIDEO_CMDLINE=y
> +CONFIG_VIDEO_DEV=y
>   CONFIG_VIDEO_NOMODESET=y
> +CONFIG_VIDEO_TEGRA_VDE=y
> +CONFIG_VIDEO_V4L2_I2C=y
>   CONFIG_WATCHDOG_CORE=y
>   # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
>   CONFIG_XPS=y
Tomasz Maciej Nowak May 17, 2024, 2:56 p.m. UTC | #2
W dniu 17.05.2024 o 16:16, Hauke Mehrtens pisze:
> On 5/15/24 8:05 PM, Tomasz Maciej Nowak wrote:
>> From: Tomasz Maciej Nowak <tmn505@gmail.com>
>>
>> This drives power domain responsible for clean reboot on at least
>> Tegra 2 devices.
>>
>> Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
> 
> Hi,

Hi

> Could you explain this change a bit more.

Will do.

> My do you deactivate the kmod-video-mem2mem and kmod-video-dma?
> Do you build it into the kernel and it was not automatically deactivated?

I didn't investigate it thoroughly, but when I built it with CONFIG_ALL_KMODS
the build system always complained about missing .ko files. It might be that some
kmod depends on these packages and HIDDEN attribute forces them to be created?
Normally the faulty packages should end up empty.
I'll try to get to the bottom of this or try to build VDE driver as module, since
the issue is with reboot we can load VDE later (unless something unloads it
earlier).

> Hauke
> 
>> ---
>>   package/kernel/linux/modules/video.mk |  4 ++--
>>   target/linux/tegra/config-6.6         | 20 ++++++++++++++++++++
>>   2 files changed, 22 insertions(+), 2 deletions(-)
>>
>> diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk
>> index dc1953279e43..0fae20b7700c 100644
>> --- a/package/kernel/linux/modules/video.mk
>> +++ b/package/kernel/linux/modules/video.mk
>> @@ -1157,7 +1157,7 @@ define KernelPackage/video-mem2mem
>>     SUBMENU:=$(VIDEO_MENU)
>>     TITLE:=Memory 2 Memory device support
>>     HIDDEN:=1
>> -  DEPENDS:=+kmod-video-videobuf2
>> +  DEPENDS:=@!TARGET_tegra_generic +kmod-video-videobuf2
>>     KCONFIG:= \
>>       CONFIG_V4L_MEM2MEM_DRIVERS=y \
>>       CONFIG_V4L2_MEM2MEM_DEV
>> @@ -1176,7 +1176,7 @@ define KernelPackage/video-dma
>>     SUBMENU:=$(VIDEO_MENU)
>>     TITLE:=Video DMA support
>>     HIDDEN:=1
>> -  DEPENDS:=+kmod-video-videobuf2
>> +  DEPENDS:=@!TARGET_tegra_generic +kmod-video-videobuf2
>>     KCONFIG:= \
>>       CONFIG_VIDEOBUF2_DMA_CONTIG \
>>       CONFIG_VIDEOBUF2_DMA_SG
>> diff --git a/target/linux/tegra/config-6.6 b/target/linux/tegra/config-6.6
>> index 4326326d3c89..c3ffff01dc6f 100644
>> --- a/target/linux/tegra/config-6.6
>> +++ b/target/linux/tegra/config-6.6
>> @@ -298,6 +298,12 @@ CONFIG_LZ4_COMPRESS=y
>>   CONFIG_LZ4_DECOMPRESS=y
>>   CONFIG_LZO_COMPRESS=y
>>   CONFIG_LZO_DECOMPRESS=y
>> +CONFIG_MEDIA_CONTROLLER=y
>> +CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
>> +CONFIG_MEDIA_PLATFORM_DRIVERS=y
>> +CONFIG_MEDIA_PLATFORM_SUPPORT=y
>> +CONFIG_MEDIA_SUPPORT=y
>> +CONFIG_MEDIA_SUPPORT_FILTER=y
>>   CONFIG_MEMORY=y
>>   CONFIG_MEMORY_ISOLATION=y
>>   # CONFIG_MFD_ACER_A500_EC is not set
>> @@ -494,6 +500,8 @@ CONFIG_SPI_TEGRA20_SFLASH=y
>>   CONFIG_SPI_TEGRA20_SLINK=y
>>   # CONFIG_SPI_TEGRA210_QUAD is not set
>>   CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
>> +CONFIG_SRAM=y
>> +CONFIG_SRAM_EXEC=y
>>   CONFIG_SWP_EMULATE=y
>>   CONFIG_SYNC_FILE=y
>>   CONFIG_SYS_SUPPORTS_APM_EMULATION=y
>> @@ -544,10 +552,22 @@ CONFIG_USB_ULPI_BUS=y
>>   CONFIG_USB_ULPI_VIEWPORT=y
>>   # CONFIG_USB_XHCI_TEGRA is not set
>>   CONFIG_USE_OF=y
>> +CONFIG_V4L2_H264=y
>> +CONFIG_V4L2_MEM2MEM_DEV=y
>> +CONFIG_V4L_MEM2MEM_DRIVERS=y
>> +CONFIG_V4L_PLATFORM_DRIVERS=y
>>   CONFIG_VFP=y
>>   CONFIG_VFPv3=y
>> +CONFIG_VIDEOBUF2_CORE=y
>> +CONFIG_VIDEOBUF2_DMA_CONTIG=y
>> +CONFIG_VIDEOBUF2_DMA_SG=y
>> +CONFIG_VIDEOBUF2_MEMOPS=y
>> +CONFIG_VIDEOBUF2_V4L2=y
>>   CONFIG_VIDEO_CMDLINE=y
>> +CONFIG_VIDEO_DEV=y
>>   CONFIG_VIDEO_NOMODESET=y
>> +CONFIG_VIDEO_TEGRA_VDE=y
>> +CONFIG_VIDEO_V4L2_I2C=y
>>   CONFIG_WATCHDOG_CORE=y
>>   # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
>>   CONFIG_XPS=y
>
diff mbox series

Patch

diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk
index dc1953279e43..0fae20b7700c 100644
--- a/package/kernel/linux/modules/video.mk
+++ b/package/kernel/linux/modules/video.mk
@@ -1157,7 +1157,7 @@  define KernelPackage/video-mem2mem
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Memory 2 Memory device support
   HIDDEN:=1
-  DEPENDS:=+kmod-video-videobuf2
+  DEPENDS:=@!TARGET_tegra_generic +kmod-video-videobuf2
   KCONFIG:= \
     CONFIG_V4L_MEM2MEM_DRIVERS=y \
     CONFIG_V4L2_MEM2MEM_DEV
@@ -1176,7 +1176,7 @@  define KernelPackage/video-dma
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Video DMA support
   HIDDEN:=1
-  DEPENDS:=+kmod-video-videobuf2
+  DEPENDS:=@!TARGET_tegra_generic +kmod-video-videobuf2
   KCONFIG:= \
 	CONFIG_VIDEOBUF2_DMA_CONTIG \
 	CONFIG_VIDEOBUF2_DMA_SG
diff --git a/target/linux/tegra/config-6.6 b/target/linux/tegra/config-6.6
index 4326326d3c89..c3ffff01dc6f 100644
--- a/target/linux/tegra/config-6.6
+++ b/target/linux/tegra/config-6.6
@@ -298,6 +298,12 @@  CONFIG_LZ4_COMPRESS=y
 CONFIG_LZ4_DECOMPRESS=y
 CONFIG_LZO_COMPRESS=y
 CONFIG_LZO_DECOMPRESS=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_SUPPORT_FILTER=y
 CONFIG_MEMORY=y
 CONFIG_MEMORY_ISOLATION=y
 # CONFIG_MFD_ACER_A500_EC is not set
@@ -494,6 +500,8 @@  CONFIG_SPI_TEGRA20_SFLASH=y
 CONFIG_SPI_TEGRA20_SLINK=y
 # CONFIG_SPI_TEGRA210_QUAD is not set
 CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+CONFIG_SRAM=y
+CONFIG_SRAM_EXEC=y
 CONFIG_SWP_EMULATE=y
 CONFIG_SYNC_FILE=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -544,10 +552,22 @@  CONFIG_USB_ULPI_BUS=y
 CONFIG_USB_ULPI_VIEWPORT=y
 # CONFIG_USB_XHCI_TEGRA is not set
 CONFIG_USE_OF=y
+CONFIG_V4L2_H264=y
+CONFIG_V4L2_MEM2MEM_DEV=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
 CONFIG_VFP=y
 CONFIG_VFPv3=y
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_DMA_CONTIG=y
+CONFIG_VIDEOBUF2_DMA_SG=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_V4L2=y
 CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_DEV=y
 CONFIG_VIDEO_NOMODESET=y
+CONFIG_VIDEO_TEGRA_VDE=y
+CONFIG_VIDEO_V4L2_I2C=y
 CONFIG_WATCHDOG_CORE=y
 # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
 CONFIG_XPS=y