Commit Graph

109 Commits

Author SHA1 Message Date
Tianling Shen
1f6113a9e9
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-03-26 00:55:00 +08:00
Tim Harvey
ae8bf1a26e imx: add imx8m support
Add imx8m support:
 - add a cortexa53 subtarget to imx
 - move ARCH and KERNELNAME to subtargets
 - account for kernel modules that are not used for cortexa53

No device-specific targets or firmware images are created yet but all
imx8m* dtbs will be built.

enabling CONFIG_TARGET_ROOTFS_INITRAMFS results in
openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin which has been
successfully booted on an imx8mm-evk using the following:

u-boot=> tftpboot $fdt_addr_r image-imx8mm-evk.dtb && \
tftpboot $kernel_addr_r openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin && \
booti $kernel_addr_r - $fdt_addr_r

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-03-24 21:19:10 +01:00
Tianling Shen
259611692d
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
2024-03-16 13:57:23 +08:00
Robert Marko
8fb23465ca kernel: modules: video: select drm-exec and drm-suballoc-helper for AMDGPU
drm-amdgpu and drm-radeon require drm-exec and/or drm-suballoc-helper in
6.6, so since we have them packaged separately include them when required.

Fixes: 5b08b56007 ("kernel: modules: video: adapt for kernel 6.6")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Robert Marko
08f1c36d00 kernel: modules: video: package DRM suballocation helper
Linux 6.4 has split out the previously AMDGPU specific suballocation
helper into a generic one and it has its own symbol now.

So, lets package it as a separate helper as AMDGPU still requires it
for 6.6.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Robert Marko
a6b3cc95f2 kernel: modules: video: package DRM EXEC
Linux 6.6 has added DRM EXEC as a separate symbol, so package it separately
as AMDGPU requires it.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Robert Marko
5c7400e932 kernel: modules: video: drm: remove DRM_EXEC and DRM_SUBALLOC_HELPER
As part of adding kernel 6.6 support, DRM_EXEC and DRM_SUBALLOC_HELPER were
added to the kmod-drm, however these are only used by drm-amdgpu and
drm-radeon which are only supported on x86.

So, lets start fixing building of other targets by removing these from the
main kmod-drm, in follow-up commits they will be packaged separately and
selected when required.

Fixes: 5b08b56007 ("kernel: modules: video: adapt for kernel 6.6")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Tianling Shen
54d15151ac
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
2024-03-15 14:46:40 +08:00
Hauke Mehrtens
9c6cf8e77c kernel: kmod-video-cpia2: Depend on kernel 5.15
This driver was moved to staging in kernel 6.1 and then removed in
kernel 6.3, see these commits:
https://git.kernel.org/linus/be8cebc46d9d38166a1b3fda22a018ae52b0928e
https://git.kernel.org/linus/9ea8a9c72a9b4d24e6045ee25f5e465dc22f9f55

Build it only on older kernel versions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:56:18 +01:00
ZiMing Mo
f761272538
Merge Official Source
Signed-off-by: ZiMing Mo <msylgj@immortalwrt.org>
2024-03-14 21:41:17 +08:00
Weijie Gao
5b08b56007 kernel: modules: video: adapt for kernel 6.6
Adapt video kmods for building under kernel 6.6:
* Add drm_exec.ko and drm_suballoc_helper.ko for kmod-drm as they
are added since 6.6 and 6.4
* Add uvc.ko for kmod-video-uvc as related contents was split as a
new module since 6.3

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Tianling Shen
585fdb1c4b
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-08 13:21:54 +08:00
Álvaro Fernández Rojas
c9e6045032 kernel: modules: video: add missing video-mem2mem symbol
v4l2-mem2mem.ko needs CONFIG_V4L2_MEM2MEM_DEV symbol.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-05 18:25:16 +01:00
Álvaro Fernández Rojas
ee79da92dc kernel: modules: video: add missing video-videobuf2 symbol
videobuf2-v4l2.ko needs CONFIG_VIDEOBUF2_V4L2 symbol.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-05 18:25:16 +01:00
Álvaro Fernández Rojas
5c48b65738 kernel: modules: video: remove v4l2-common from video-core
v4l2-common.ko was merged into videodev.ko and no longer exists.

Fixes: ac5671f46c ("kernel: remove obsolete kernel version switches for 4.19")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-05 18:25:16 +01:00
Tianling Shen
15abaecdce
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-03 19:39:48 +08:00
Tim Harvey
dd53aeaaa2
kernel: modules: video: fix video-coda for 6.1
The coda kernel modules were moved between 5.15 and 6.1.
Adapt the coda-vpu and imx-vdoa modules for that.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-02-02 17:31:44 +01:00
Tim Harvey
f91286a436
kernel: modules: video: fix drm-imx for 6.1
Linux 6.1 changed DRM_GEM_DMA_HELPER to a module (drm_dma_helper.ko).

Add this to the drm-imx to fix module dependencies.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-02-02 17:31:44 +01:00
Lech Perczak
93cc4f784d
kernel: modules: video: fix kmod-imx-pxp build for 6.1
Location of the module file was changed between 5.15 and 6.1. Adapt the
recipe for that.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2024-02-02 17:31:44 +01:00
Tim Harvey
76b0d24157
kernel: modules: video: fix video-core for 6.1
Linux 6.1 wraps core video drivers in a MEDIA_PLATFORM_DRIVERS submenu.
Enable that for 6.1 and add some new necessary undefines to
target/linux/generic/config-6.1 to avoid build failures.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-02-02 17:31:44 +01:00
Lech Perczak
6a78fb0a9e
kernel: modules: video: fix kmod-video-imx-ldb build under 6.1
drm_dp_aux_bus.ko isn't built or required anymore under kernel 6.1. Mark
that in the recipe.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2024-02-02 17:31:43 +01:00
Lech Perczak
92fb853bd7
kernel: modules: video: fix deps for kmod-drm-imx-hdmi for 6.1
kmod-drm-imx-hdmi depends on kmod-drm-display-helper since 6.1. Include
that in OpenWrt's recipes.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2024-02-02 17:31:43 +01:00
Tianling Shen
b5b88f9faa
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-12-10 02:46:34 +08:00
Pascal Coudurier
00256d86dc
x86: kernel: modules: clean makefiles
Signed-off-by: Pascal Coudurier <coudu@gmx.com>
2023-12-09 16:52:08 +01:00
Tianling Shen
c7cf30e208
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-20 10:41:08 +08:00
Pascal Coudurier
dc471652fe
kernel: modules: video: adapt drm-amdgpu and drm-radeon for kernel 6.1
Package and add dependencies to drm-amdgpu and drm-radeon for 6.1
 * package acpi-video, drm-display-helper and drm-buddy
 * add acpi-video, drm-display-helper and drm-buddy as dependencies for
   drm-amdgpu
 * add acpi-video and drm-display-helper as dependencies for drm-radeon

Signed-off-by: Pascal Coudurier <coudu@gmx.com>
2023-09-19 11:38:37 +02:00
Tianling Shen
1abf539b41
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-08 16:21:58 +08:00
Koen Vandeputte
bc91784f26 kernel: add support for tw686x frame grabbers
Adds support for Intersil/Techwell tw686x frame grabbers.

By default, this module uses MEMCPY to transfer data.
Let's switch to "Contiguous DMA" which is the fastest
performing method available.

[   10.074349] tw6869: PCI 0000:07:00.0, IRQ 33, MMIO 0x1200000 (contig mode)
[   10.081381] tw686x 0000:07:00.0: enabling device (0140 -> 0142)

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-07-07 08:20:59 +02:00
Koen Vandeputte
a9a872b9d4 kernel: add support for imx pxp
This adds support for the i.MX Pixel Pipeline IP block
which is available on some imx6 flavours [1]

This allows to use hardware offloading for operations like:
- Colour conversion
- Scaling
- Rotation

[1] https://en.wikipedia.org/wiki/I.MX#i.MX_6_series

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-07-07 08:20:59 +02:00
Koen Vandeputte
7a726297a7 kernel: add support for imx vpu
This adds support for the Video Processing Unit IP block
which is present in certain i.MX SOC's.

The vpu used in imx6 is the coda960 which supports:
- h264 enc
- h264 dec
- jpeg enc
- jpeg dec

Please note that the required firmware needs to be added
by yourself as it's not available currently in linux-firmware upstream.

The firmware package can be found on the internet
and it will decompress itself exposing all binaries
after accepting the EULA.

The binaries should be placed at exactly these paths:

- /lib/firmware/vpu_fw_imx6d.bin
- /lib/firmware/vpu_fw_imx6q.bin

Following output will be printed at boottime if all is well:

[    9.769638] coda 2040000.vpu: Firmware code revision: 46076
[    9.775277] coda 2040000.vpu: Initialized CODA960.
[    9.780082] coda 2040000.vpu: Firmware version: 3.1.1
[    9.785312] coda 2040000.vpu: coda-jpeg-encoder registered as video0
[    9.791859] coda 2040000.vpu: coda-jpeg-decoder registered as video1
[    9.798375] coda 2040000.vpu: coda-video-encoder registered as video2
[    9.805013] coda 2040000.vpu: coda-video-decoder registered as video3

gstreamer will automatically detect and use all encoders/decoders.

Please note that a FILES catch-all is required for the videobuf-dma objects
as some modules enabling this could require (and thus generating) only 1 of them.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-07-07 08:20:59 +02:00
Koen Vandeputte
f1a9240f0b kernel: add support for videobuf-dma
This adds support for videobuf2-dma driver.

This module contains following flavors:
- Contiguous
- Scatter/Gather

Drivers using this can enable 1 of the, or both, depending on their needs.

Due to this, a FILES catch-all is required for the videobuf-dma objects
as depending on requirements, only 1 of them could get generated.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-07-07 08:20:59 +02:00
Koen Vandeputte
0295a29f1d kernel: add support for mem2mem devices
This allows addition of devices which use these kernel
modules.

This also adds a package for handling dma within video2buf.
These are only build when selected by a caller

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-07-07 08:20:59 +02:00
Tianling Shen
84037ac884 rockchip: fix kernel dependencies
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-29 13:51:08 +08:00
Tianling Shen
7f8ce9648c rockchip: fix drm dependencies
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-26 12:24:28 +08:00
Tianling Shen
43399ceadf kernel: video: drm-gem-shmem-helper: build for kernel 6.1 only
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-25 18:50:52 +08:00
Tianling Shen
908c44df99 kernel: video: add drm-gem-shmem-helper
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-23 14:13:12 +08:00
Tianling Shen
d42a0b57db kernel: video: add drm-display-helper
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-23 12:45:13 +08:00
Tianling Shen
85d11b468b
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-12 19:20:08 +08:00
Nick Hainke
047361dee4
treewide: cleanup kernel symbol references
We only use 5.15 kernel. So remove all those unnecessary symbols
referencing 5.10 or 5.15 kernel.

Can be found with:
  git grep -E 'LINUX_5_1(0|5)'

Note that we remove the dependency from "sound-soc-chipdip-dac" instead
of removing the complete kernel package. The 5.15 version bump forgot to
delete the "@LINUX_5_10" dependency. The kernel package is still needed
in 5.15 kernel.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-05-12 13:02:44 +02:00
Nick Hainke
d798617d4a
treewide: remove all @{lt,gt,ge,le} appearances affecting 5.10 kernel
We only use 5.15 kernel. So remove all those unnecessary appearances.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-05-12 13:02:43 +02:00
Tianling Shen
74852bfd02
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-11-05 16:56:37 +08:00
Hauke Mehrtens
633f3e1118 kernel: Add kmod-drm-ttm-helper
Add a package for drm_ttm_helper.ko. CONFIG_DRM_TTM_HELPER is compiled
into the kernel on armvirt/64, x86/64, x86/generic and x86/legacy
because also some DRM drivers are compiled into the kernel. On x86/geode
it is not compiled into the kernel, but kmod-drm-amdgpu and
kmod-drm-radeon depend on it.

This fixes the x86/geode build.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-11-01 14:47:14 +01:00
Tianling Shen
e2097a58b4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-04-01 02:10:24 +08:00
Petr Štetiar
f389831db6 kernel: modules: fix kmod-drm-imx-ldb dependency for 5.15
Fixes following issue:

 Package kmod-drm-imx-ldb is missing dependencies for the following libraries:
 drm_dp_aux_bus.ko

Introduced upstream in commit aeb33699fc2c ("drm: Introduce the DP AUX
bus") in kernel version 5.15.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2022-03-31 17:30:17 +02:00
Petr Štetiar
f5a54716a4 kernel: modules: fix kmod-drm dependency for 5.15
Fixes following issue:

 Package kmod-drm is missing dependencies for the following libraries:
 fb.ko

Introduced upstream in commit f611b1e7624c ("drm: Avoid circular
dependencies for CONFIG_FB") in 5.14.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2022-03-30 23:39:08 +02:00
Tianling Shen
c019d2a8c4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-12-24 23:40:51 +08:00
Stijn Tintel
7e54e9f860 kernel: drop obsolete kmod-video-core dependencies
These dependencies do not exist in any of the supported kernel versions.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-12-20 19:57:01 +02:00
Stijn Tintel
a47c82b556 kernel: drop obsolete symbols from kmod-video-core
These symbols don't exist in any of the supported kernel versions.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-12-20 19:57:01 +02:00
Tianling Shen
bd0bd2af71
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-12-14 01:07:17 +08:00
Josef Schlehofer
362695acdf kernel: add kmod-video-gspca-sq930x
This module adds support for USB WebCams, which uses SQ930X chip [1].

[1] https://cateee.net/lkddb/web-lkddb/USB_GSPCA_SQ930X.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2021-12-05 18:49:14 +01:00