Skip to content

Commit 77cfe8f

Browse files
joezrobimarko
authored andcommitted
x86: make i915 as a kmod with required firmware
i915 driver requires to load correct firmware to work on latest x86 GPU, it is more reasonable to make it as a kernel module, so that initramfs is not required, and it can also save some space from the kernel image comparing being a built-in driver Signed-off-by: Joe Zheng <[email protected]> Link: openwrt/openwrt#16276 Signed-off-by: Robert Marko <[email protected]>
1 parent ca00baf commit 77cfe8f

File tree

4 files changed

+42
-72
lines changed

4 files changed

+42
-72
lines changed

package/kernel/linux/modules/video.mk

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,48 @@ endef
438438

439439
$(eval $(call KernelPackage,drm-amdgpu))
440440

441+
define KernelPackage/drm-i915
442+
SUBMENU:=$(VIDEO_MENU)
443+
TITLE:=Intel i915 DRM support
444+
DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-ttm \
445+
+kmod-drm-ttm-helper +kmod-drm-kms-helper +kmod-i2c-algo-bit +i915-firmware-dmc \
446+
+kmod-drm-display-helper +kmod-drm-buddy +kmod-acpi-video \
447+
+kmod-drm-exec +kmod-drm-suballoc-helper
448+
KCONFIG:=CONFIG_DRM_I915 \
449+
CONFIG_DRM_I915_CAPTURE_ERROR=y \
450+
CONFIG_DRM_I915_COMPRESS_ERROR=y \
451+
CONFIG_DRM_I915_DEBUG=n \
452+
CONFIG_DRM_I915_DEBUG_GUC=n \
453+
CONFIG_DRM_I915_DEBUG_MMIO=n \
454+
CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n \
455+
CONFIG_DRM_I915_DEBUG_VBLANK_EVADE=n \
456+
CONFIG_DRM_I915_FENCE_TIMEOUT=10000 \
457+
CONFIG_DRM_I915_FORCE_PROBE="" \
458+
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 \
459+
CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=n \
460+
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 \
461+
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640 \
462+
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500 \
463+
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 \
464+
CONFIG_DRM_I915_SELFTEST=n \
465+
CONFIG_DRM_I915_STOP_TIMEOUT=100 \
466+
CONFIG_DRM_I915_SW_FENCE_CHECK_DAG=n \
467+
CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS=n \
468+
CONFIG_DRM_I915_TIMESLICE_DURATION=1 \
469+
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 \
470+
CONFIG_DRM_I915_USERPTR=y \
471+
CONFIG_DRM_I915_WERROR=n \
472+
CONFIG_FB_INTEL=n
473+
FILES:=$(LINUX_DIR)/drivers/gpu/drm/i915/i915.ko
474+
AUTOLOAD:=$(call AutoProbe,i915)
475+
endef
476+
477+
define KernelPackage/drm-i915/description
478+
Direct Rendering Manager (DRM) support for Intel GPU
479+
endef
480+
481+
$(eval $(call KernelPackage,drm-i915))
482+
441483

442484
define KernelPackage/drm-imx
443485
SUBMENU:=$(VIDEO_MENU)

target/linux/x86/64/config-6.6

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -151,30 +151,6 @@ CONFIG_DRM_FBDEV_EMULATION=y
151151
CONFIG_DRM_FBDEV_OVERALLOC=100
152152
CONFIG_DRM_GEM_SHMEM_HELPER=y
153153
# CONFIG_DRM_HYPERV is not set
154-
CONFIG_DRM_I915=y
155-
CONFIG_DRM_I915_CAPTURE_ERROR=y
156-
CONFIG_DRM_I915_COMPRESS_ERROR=y
157-
# CONFIG_DRM_I915_DEBUG is not set
158-
# CONFIG_DRM_I915_DEBUG_GUC is not set
159-
# CONFIG_DRM_I915_DEBUG_MMIO is not set
160-
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
161-
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
162-
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
163-
CONFIG_DRM_I915_FORCE_PROBE=""
164-
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
165-
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
166-
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
167-
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
168-
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
169-
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
170-
# CONFIG_DRM_I915_SELFTEST is not set
171-
CONFIG_DRM_I915_STOP_TIMEOUT=100
172-
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
173-
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
174-
CONFIG_DRM_I915_TIMESLICE_DURATION=1
175-
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
176-
CONFIG_DRM_I915_USERPTR=y
177-
# CONFIG_DRM_I915_WERROR is not set
178154
CONFIG_DRM_KMS_HELPER=y
179155
CONFIG_DRM_MIPI_DSI=y
180156
CONFIG_DRM_PANEL=y

target/linux/x86/generic/config-6.6

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -86,30 +86,6 @@ CONFIG_DRM_FBDEV_EMULATION=y
8686
CONFIG_DRM_FBDEV_OVERALLOC=100
8787
CONFIG_DRM_GEM_SHMEM_HELPER=y
8888
# CONFIG_DRM_HYPERV is not set
89-
CONFIG_DRM_I915=y
90-
CONFIG_DRM_I915_CAPTURE_ERROR=y
91-
CONFIG_DRM_I915_COMPRESS_ERROR=y
92-
# CONFIG_DRM_I915_DEBUG is not set
93-
# CONFIG_DRM_I915_DEBUG_GUC is not set
94-
# CONFIG_DRM_I915_DEBUG_MMIO is not set
95-
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
96-
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
97-
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
98-
CONFIG_DRM_I915_FORCE_PROBE=""
99-
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
100-
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
101-
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
102-
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
103-
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
104-
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
105-
# CONFIG_DRM_I915_SELFTEST is not set
106-
CONFIG_DRM_I915_STOP_TIMEOUT=100
107-
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
108-
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
109-
CONFIG_DRM_I915_TIMESLICE_DURATION=1
110-
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
111-
CONFIG_DRM_I915_USERPTR=y
112-
# CONFIG_DRM_I915_WERROR is not set
11389
CONFIG_DRM_KMS_HELPER=y
11490
CONFIG_DRM_MIPI_DSI=y
11591
CONFIG_DRM_PANEL=y

target/linux/x86/legacy/config-6.6

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -67,30 +67,6 @@ CONFIG_DRM_DISPLAY_HELPER=y
6767
CONFIG_DRM_EXEC=y
6868
CONFIG_DRM_FBDEV_EMULATION=y
6969
CONFIG_DRM_FBDEV_OVERALLOC=100
70-
CONFIG_DRM_I915=y
71-
CONFIG_DRM_I915_CAPTURE_ERROR=y
72-
CONFIG_DRM_I915_COMPRESS_ERROR=y
73-
# CONFIG_DRM_I915_DEBUG is not set
74-
# CONFIG_DRM_I915_DEBUG_GUC is not set
75-
# CONFIG_DRM_I915_DEBUG_MMIO is not set
76-
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
77-
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
78-
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
79-
CONFIG_DRM_I915_FORCE_PROBE=""
80-
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
81-
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
82-
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
83-
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
84-
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
85-
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
86-
# CONFIG_DRM_I915_SELFTEST is not set
87-
CONFIG_DRM_I915_STOP_TIMEOUT=100
88-
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
89-
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
90-
CONFIG_DRM_I915_TIMESLICE_DURATION=1
91-
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
92-
CONFIG_DRM_I915_USERPTR=y
93-
# CONFIG_DRM_I915_WERROR is not set
9470
CONFIG_DRM_KMS_HELPER=y
9571
CONFIG_DRM_MIPI_DSI=y
9672
CONFIG_DRM_PANEL=y

0 commit comments

Comments
 (0)