Compare commits

...

10 Commits

Author SHA1 Message Date
Liangbin Lian e2b6e2a3dd target/x86/64: support PSI
"Pressure stall information tracking" for android lmkd (low memory killer)
2023-09-12 21:43:29 +08:00
Liangbin Lian 0aa347c1ee target/x86/64: support SR-IOV 2023-09-12 21:42:27 +08:00
Liangbin Lian ae554d5394 package/i915-oot: update firmware depends 2023-09-11 21:03:52 +08:00
Liangbin Lian 623f815a10 package: add intel-gpu-firmware 2023-09-11 21:03:17 +08:00
Liangbin Lian 4f0b03440a package/i915-oot: update source 2023-09-11 20:16:54 +08:00
Liangbin Lian a012add6e1 package: add i915-oot 2023-09-11 20:15:50 +08:00
Liangbin Lian 48497c0aa5 target/linux: add more mhi devices 2023-09-10 02:09:20 +08:00
Liangbin Lian 701f13af97 target/x86: fix kernel config 2023-09-07 23:44:54 +08:00
Liangbin Lian 5008a2b9bc package/linux: add vfio-mdev module 2023-09-07 23:33:27 +08:00
Liangbin Lian 47c0db36dc package/linux: add fs-binfmt-misc module 2023-09-06 11:51:51 +08:00
14 changed files with 627 additions and 4 deletions

View File

@ -0,0 +1,55 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=intel-gpu-firmware
PKG_VERSION:=682.20
PKG_RELEASE:=1
I915_FW_TAG:=23WW35.5_682.20
PKG_SOURCE_URL_FILE:=$(I915_FW_TAG).tar.gz
PKG_SOURCE:=intel-gpu-firmware-$(PKG_SOURCE_URL_FILE)
PKG_SOURCE_URL:=https://github.com/intel-gpu/intel-gpu-firmware/archive/refs/tags/
PKG_HASH:=1ab6d68103b70b999a469f815156931463571cb1d2440e1041110b3cf9b18fc7
include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define Package/i915-oot-firmware
SECTION:=firmware
CATEGORY:=Firmware
URL:=$(PKG_SOURCE_URL)
DEPENDS:=@TARGET_x86 +i915-firmware
TITLE:=Intel GPU firmware for i915-oot
endef
define Build/Compile
endef
define Package/i915-oot-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/i915
# drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:INTEL_UC_FIRMWARE_DEFS
## guc
# ALDERLAKE_P
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/adlp_guc_70.7.0.bin $(1)/lib/firmware/i915/
# ALDERLAKE_S ALDERLAKE_P_N ROCKETLAKE TIGERLAKE
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/tgl_guc_70.7.0.bin $(1)/lib/firmware/i915/
# JASPERLAKE ELKHARTLAKE
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/ehl_guc_70.7.0.bin $(1)/lib/firmware/i915/
# ICELAKE
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/icl_guc_70.7.0.bin $(1)/lib/firmware/i915/
# COMETLAKE (REV >= 5)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/cml_guc_70.7.0.bin $(1)/lib/firmware/i915/
# COMETLAKE COFFEELAKE KABYLAKE
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/kbl_guc_70.7.0.bin $(1)/lib/firmware/i915/
# GEMINILAKE
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/glk_guc_70.7.0.bin $(1)/lib/firmware/i915/
# BROXTON
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/bxt_guc_70.7.0.bin $(1)/lib/firmware/i915/
# SKYLAKE
$(INSTALL_DATA) $(PKG_BUILD_DIR)/firmware/skl_guc_70.7.0.bin $(1)/lib/firmware/i915/
endef
$(eval $(call BuildPackage,i915-oot-firmware))

View File

@ -0,0 +1,99 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=i915-oot
PKG_VERSION:=23.6.28
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://github.com/intel-gpu/intel-gpu-i915-backports/archive/refs/tags/
PKG_HASH:=0e962a0c656b365649262dbba317f8bbe9cad5357bc906a45b3a982600092321
I915_TAG:=I915_23WW35.5_682.20_23.6.28_230425.37
PKG_SOURCE_URL_FILE:=$(I915_TAG).tar.gz
PKG_SOURCE:=intel-gpu-i915-backports-$(PKG_SOURCE_URL_FILE)
PKG_BUILD_PARALLEL:=1
PKG_MAINTAINER:=jjm2473 <jjm2473@gmail.com>
include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
config_package=$(if $(CONFIG_PACKAGE_kmod-$(1)),m)
config-y:= \
DRM_I915_CAPTURE_ERROR \
DRM_I915_COMPRESS_ERROR \
DRM_I915_USERPTR \
DRM_I915_DEBUGGER \
DRM_I915_GVT \
DRM_I915_LOW_LEVEL_TRACEPOINTS \
config-$(call config_package,drm-i915-oot) += \
DRM_I915 \
DRM_I915_GVT_KVMGT \
DRM_I915_INTEL_FABRIC \
define KernelPackage/drm-i915-oot
SUBMENU:=Video Support
URL:=https://github.com/intel-gpu/intel-gpu-i915-backports
MAINTAINER:=jjm2473 <jjm2473@gmail.com>
TITLE:=Intel i915 backports
DEPENDS+=+i915-oot-firmware +kmod-drm-kms-helper +kmod-kvm-x86 +kmod-lib-crc32c +kmod-vfio-mdev
CONFLICTS:=kmod-drm-i915
ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
FILES:= \
$(PKG_BUILD_DIR)/compat/i915-compat.ko \
$(PKG_BUILD_DIR)/drivers/gpu/drm/i915/i915.ko \
$(PKG_BUILD_DIR)/drivers/gpu/drm/i915/gvt/kvmgt.ko \
$(PKG_BUILD_DIR)/drivers/gpu/drm/i915/fabric/iaf.ko
AUTOLOAD:=$(call AutoProbe,i915)
MODPARAMS.i915:=enable_guc=3 max_vfs=7 enable_gvt=1
endef
define KernelPackage/drm-i915-oot/description
Backported Intel i915 driver
endef
MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
$(KERNEL_MAKE_FLAGS) \
EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/include $(IREMAP_CFLAGS)" \
KLIB_BUILD="$(LINUX_DIR)" \
MODPROBE=true \
KLIB=$(TARGET_MODULES_DIR) \
KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER))) \
KBUILD_LDFLAGS_MODULE_PREREQ=
define ConfigVars
$(subst $(space),,$(foreach opt,$(config-$(1)),CPTCFG_$(opt)=$(1)
))
endef
define i915_config
$(call ConfigVars,m)$(call ConfigVars,y)
endef
$(eval $(call shexport,i915_config))
define Build/Configure
$(SH_FUNC) var2file "$(call shvar,i915_config)" $(PKG_BUILD_DIR)/.config
$(MAKE) $(MAKE_OPTS) olddefconfig
endef
define Build/Compile/kmod
rm -rf $(PKG_BUILD_DIR)/modules
+$(MAKE) $(PKG_JOBS) $(MAKE_OPTS) modules
endef
define Build/Compile
$(call Build/Compile/kmod)
endef
define KernelPackage/drm-i915-oot/install
endef
$(eval $(call KernelPackage,drm-i915-oot))

View File

@ -0,0 +1,292 @@
--- a/compat/slub.c
+++ b/compat/slub.c
@@ -77,7 +77,7 @@ static inline unsigned int oo_objects(st
#define count_partial LINUX_I915_BACKPORT(count_partial)
-#if defined(CONFIG_SLUB_DEBUG) || defined(CONFIG_SYSFS)
+#if defined(CONFIG_SLUB_DEBUG)
#ifdef COUNT_STRUCT_PAGE_PRESENT
static unsigned long count_partial(struct kmem_cache_node *n,
--- a/Makefile
+++ b/Makefile
@@ -2,10 +2,10 @@
# Makefile for the output source package
#
-ifeq ($(KERNELRELEASE),)
+ifeq ($(KERNELVERSION),)
MAKEFLAGS += --no-print-directory
-SHELL := /bin/bash
+SHELL := /usr/bin/env bash
BACKPORT_DIR := $(shell pwd)
KMODDIR ?= updates
@@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/
KERNEL_CONFIG := $(KLIB_BUILD)/.config
KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile
CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//')
+STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5)
KBUILD_MODPOST_WARN := 1
DEB_PKG_DISTRO_TARGETS := i915dkmsdeb-pkg bindeb-pkg
RPM_PKG_DISTRO_TARGETS := i915dkmsrpm-pkg
@@ -43,7 +44,8 @@ mrproper:
@rm -f backport-include/backport/autoconf.h
@$(MAKE) -f Makefile.real mrproper
-.DEFAULT:
+.SILENT: $(STAMP_KERNEL_CONFIG)
+$(STAMP_KERNEL_CONFIG):
@set -e ; test -f local-symbols || ( \
echo "/--------------" ;\
echo "| You shouldn't run make in the backports tree, but only in" ;\
@@ -56,7 +58,6 @@ mrproper:
echo "| for more options." ;\
echo "\\--" ;\
false)
-ifeq (,$(filter $(PKG_DISTRO_TARGETS), $(MAKECMDGOALS)))
@set -e ; test -f $(KERNEL_CONFIG) || ( \
echo "/--------------" ;\
echo "| Your kernel headers are incomplete/not installed." ;\
@@ -68,7 +69,11 @@ ifeq (,$(filter $(PKG_DISTRO_TARGETS), $
echo "| (that isn't currently running.)" ;\
echo "\\--" ;\
false)
- @set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ] ;\
+ @rm -f .kernel_config_md5_*
+ @touch $@
+
+Kconfig.kernel: $(STAMP_KERNEL_CONFIG) local-symbols
+ @set -e ; if true ;\
then \
echo -n "Generating local configuration database from kernel ..." ;\
grep -v -f local-symbols $(KERNEL_CONFIG) | grep = | ( \
@@ -91,7 +96,13 @@ ifeq (,$(filter $(PKG_DISTRO_TARGETS), $
echo " default $$v" ;\
echo "" ;\
done \
- ) > Kconfig.kernel ;\
+ ) > $@ ;\
+ echo " done." ;\
+ fi
+
+Kconfig.versions: Kconfig.kernel
+ @set -e ; if true ;\
+ then \
kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \
sed 's/^\(\([3-5]\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
test "$$kver" != "" || echo "Kernel version parse failed!" ;\
@@ -116,11 +127,11 @@ ifeq (,$(filter $(PKG_DISTRO_TARGETS), $
for v in $$(seq 0 $$RHEL_MINOR) ; do \
echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
echo " def_bool y" ;\
- done >> Kconfig.versions ;\
- echo " done." ;\
- fi ;\
- echo "$(CONFIG_MD5)" > .kernel_config_md5
-endif
+ done >> $@ ;\
+ fi
+
+.DEFAULT:
+ @$(MAKE) Kconfig.versions
@$(MAKE) -f Makefile.real "$@"
.PHONY: defconfig-help
--- a/Makefile.backport
+++ b/Makefile.backport
@@ -196,7 +196,7 @@ endif
endif
-ifeq ($(KERNELRELEASE),)
+ifeq ($(KERNELVERSION),)
# disable built-in rules for this file
.SUFFIXES:
@@ -219,7 +219,12 @@ backport-include/backport/backport_path.
echo "#define BACKPORT_PATH $(shell pwd)" ;\
echo "" ;\
echo "#endif /* BACKPORTED_PATH_INCLUDED */" ;\
- ) > backport-include/backport/backport_path.h
+ ) > $@.new
+ @if cmp -s $@ $@.new; then \
+ rm -f $@.new; \
+ else \
+ mv $@.new $@; \
+ fi
@echo " done."
###
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -28,7 +28,6 @@ config DRM_I915
select CEC_CORE if CEC_NOTIFIER
depends on VMAP_PFN
depends on AUXILIARY_BUS || MFD_CORE
- depends on MTD
help
Choose this option if you have a system that has "Intel Graphics
Media Accelerator" or "HD Graphics" integrated graphics,
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -236,9 +236,6 @@ i915-y += gt/uc/intel_uc.o \
# graphics system controller (GSC) support
i915-y += gt/intel_gsc.o
-# graphics spi device (DGFX) support
-i915-y += spi/intel_spi.o
-
# Virtualization support
iov-y += \
i915_sriov.o \
@@ -409,9 +406,6 @@ obj-$(CPTCFG_DRM_I915) += i915.o
obj-$(CPTCFG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
obj-$(CPTCFG_DRM_I915_INTEL_FABRIC) += fabric/
-obj-m += i915_spi.o
-i915_spi-y := spi/intel_spi_drv.o
-
# header test
# exclude some broken headers from the test coverage
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -84,8 +84,6 @@
#include "pxp/intel_pxp_pm.h"
-#include "spi/intel_spi.h"
-
#include "i915_debugfs.h"
#include "i915_driver.h"
#include "i915_drm_client.h"
@@ -1258,9 +1256,6 @@ void i915_driver_register(struct drm_i91
i915_setup_sysfs(dev_priv);
i915_register_sysrq(dev_priv);
-
- intel_spi_init(&dev_priv->spi, dev_priv);
-
for_each_gt(gt, dev_priv, i)
intel_gt_driver_register(gt);
@@ -1313,8 +1308,6 @@ static void i915_driver_unregister(struc
intel_iaf_remove(dev_priv);
- intel_spi_fini(&dev_priv->spi);
-
i915_perf_unregister(dev_priv);
/* GT should be available until PMU is gone */
i915_pmu_unregister(dev_priv);
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -66,8 +66,6 @@
#include "gt/intel_workarounds.h"
#include "gt/uc/intel_uc.h"
-#include "spi/intel_spi.h"
-
#include "i915_drm_client.h"
#include "i915_gem.h"
#include "i915_gem_gtt.h"
@@ -822,8 +820,6 @@ struct drm_i915_private {
struct i915_perf perf;
- struct intel_spi spi;
-
struct i915_hwmon *hwmon;
/* Abstract the submission mechanism (legacy ringbuffer or execlists) away */
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -31,6 +31,7 @@
#include <linux/circ_buf.h>
#include <linux/irq.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <linux/sysrq.h>
#include <drm/drm_drv.h>
@@ -3662,11 +3663,11 @@ gen12_gt_hw_error_handler(struct intel_g
}
raw_reg_write(regs, ERR_STAT_GT_COR_VCTR_REG(i), vctr);
- if (!strcmp(name, "Undefined"))
+ if (!strncmp(name, "Undefined", 9))
intel_gt_log_driver_error(gt, INTEL_GT_DRIVER_ERROR_INTERRUPT,
"%s CORRECTABLE error, ERR_VECT_GT_CORRECTABLE_%d:0x%08lx\n",
name, i, vctr);
- else if (strcmp(name, "SUBSLICE"))
+ else if (strncmp(name, "SUBSLICE", 8))
log_gt_hw_err(gt, "%s CORRECTABLE error, ERR_VECT_GT_CORRECTABLE_%d:0x%08lx\n",
name, i, vctr);
error = true;
@@ -3745,11 +3746,11 @@ gen12_gt_hw_error_handler(struct intel_g
}
raw_reg_write(regs, ERR_STAT_GT_FATAL_VCTR_REG(i), vctr);
- if (!strcmp(name, "Undefined"))
+ if (!strncmp(name, "Undefined", 9))
intel_gt_log_driver_error(gt, INTEL_GT_DRIVER_ERROR_INTERRUPT,
"%s FATAL error, ERR_VECT_GT_FATAL_%d:0x%08lx\n",
name, i, vctr);
- else if (strcmp(name, "SUBSLICE"))
+ else if (strncmp(name, "SUBSLICE", 8))
log_gt_hw_err(gt, "%s FATAL error, ERR_VECT_GT_FATAL_%d:0x%08lx\n",
name, i, vctr);
error = true;
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -586,6 +586,6 @@ TRACE_EVENT(intel_frontbuffer_flush,
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
#undef TRACE_INCLUDE_FILE
-#define TRACE_INCLUDE_PATH BACKPORT_PATH/drivers/gpu/drm/i915/display
+#define TRACE_INCLUDE_PATH ./display
#define TRACE_INCLUDE_FILE intel_display_trace
#include <trace/define_trace.h>
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -1068,6 +1068,6 @@ TRACE_EVENT(i915_vm_prefetch,
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
#undef TRACE_INCLUDE_FILE
-#define TRACE_INCLUDE_PATH BACKPORT_PATH/drivers/gpu/drm/i915
+#define TRACE_INCLUDE_PATH .
#define TRACE_INCLUDE_FILE i915_trace
#include <trace/define_trace.h>
--- a/Makefile.real
+++ b/Makefile.real
@@ -80,7 +80,12 @@ backport-include/backport/autoconf.h: .c
esac ;\
done ;\
echo "#endif /* COMPAT_AUTOCONF_INCLUDED */" ;\
- ) > backport-include/backport/autoconf.h
+ ) > $@.new
+ @if cmp -s $@ $@.new; then \
+ rm -f $@.new; \
+ else \
+ mv $@.new $@; \
+ fi
@echo " done."
backport-include/backport/backport_path.h: .config Kconfig.versions Kconfig.kernel
@@ -96,7 +101,12 @@ backport-include/backport/backport_path.
echo "#define BACKPORT_PATH $(shell pwd)" ;\
echo "" ;\
echo "#endif /* BACKPORTED_PATH_INCLUDED */" ;\
- ) > backport-include/backport/backport_path.h
+ ) > $@.new
+ @if cmp -s $@ $@.new; then \
+ rm -f $@.new; \
+ else \
+ mv $@.new $@; \
+ fi
@echo " done."
.PHONY: modules

View File

@ -0,0 +1,15 @@
--- a/compat/Makefile
+++ b/compat/Makefile
@@ -1,6 +1,6 @@
ccflags-y += -I$(src) -Wframe-larger-than=1280
ifeq ($(CONFIG_BACKPORT_INTEGRATE),)
-obj-m += compat.o
+obj-m += i915-compat.o
else
obj-y += compat.o
endif
@@ -42,3 +42,4 @@ compat-$(CPTCFG_KERNEL_5_5) += backport-
compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o
compat-y += backport-5.10.o backport-5.19.o
compat-y += slub.o slab.o ptrace.o
+i915-compat-y += $(compat-y)

View File

@ -0,0 +1,18 @@
--- a/drivers/gpu/drm/i915/intel_vsec.c
+++ b/drivers/gpu/drm/i915/intel_vsec.c
@@ -2,6 +2,7 @@
/*
* Copyright © 2022 Intel Corporation
*/
+#if IS_ENABLED(CPTCFG_INTEL_VSEC)
#include <linux/intel_vsec.h>
#include "i915_drv.h"
@@ -97,3 +98,7 @@ void intel_vsec_init(struct drm_i915_pri
intel_vsec_register(pdev, &dg2_info);
}
MODULE_IMPORT_NS(INTEL_VSEC);
+#else
+#include "i915_drv.h"
+void intel_vsec_init(struct drm_i915_private *dev_priv){}
+#endif

View File

@ -0,0 +1,54 @@
--- a/drivers/gpu/drm/i915/fabric/fw.c
+++ b/drivers/gpu/drm/i915/fabric/fw.c
@@ -869,6 +869,7 @@ end:
return err;
}
+#ifdef CONFIG_MTD
static int read_spi_data(struct fdev *dev, loff_t offset, size_t size, void *buf, const char *desc)
{
size_t bytes_read = 0;
@@ -886,6 +887,12 @@ static int read_spi_data(struct fdev *de
return err;
}
+#else
+static int read_spi_data(struct fdev *dev, loff_t offset, size_t size, void *buf, const char *desc)
+{
+ return -ENODEV;
+}
+#endif
/**
* check_and_extract_ini_data() - Check and if necessary extract INIBIN data for subdevice
@@ -1507,6 +1514,7 @@ end:
return err;
}
+#ifdef CONFIG_MTD
static int spi_driver_match_fn(struct device *dev, void *data)
{
return strcmp(dev_driver_string(dev), I915_SPI_DRIVER_NAME_AUX) == 0 ||
@@ -1617,6 +1625,12 @@ cleanup:
return err;
}
+#else
+static int request_pscdata_from_spi(struct fdev *dev)
+{
+ return -ENODEV;
+}
+#endif
static void release_pscdata(struct fdev *dev)
{
@@ -1884,7 +1898,9 @@ static void fetch_platform_specific_conf
end:
if (dev->psc.mtd) {
+#ifdef CONFIG_MTD
put_mtd_device(dev->psc.mtd);
+#endif
dev->psc.mtd = NULL;
}

View File

@ -133,6 +133,20 @@ endef
$(eval $(call KernelPackage,fs-cifs))
define KernelPackage/fs-binfmt-misc
SUBMENU:=$(FS_MENU)
TITLE:=MISC binaries support
KCONFIG:= \
CONFIG_BINFMT_MISC
FILES:=$(LINUX_DIR)/fs/binfmt_misc.ko
AUTOLOAD:=$(call AutoLoad,30,binfmt_misc)
endef
define KernelPackage/fs-binfmt-misc/description
Kernel module for MISC binaries support
endef
$(eval $(call KernelPackage,fs-binfmt-misc))
define KernelPackage/fs-configfs
SUBMENU:=$(FS_MENU)

View File

@ -80,8 +80,7 @@ define KernelPackage/vfio
DEPENDS:=@TARGET_x86_64
KCONFIG:= \
CONFIG_VFIO \
CONFIG_VFIO_NOIOMMU=n \
CONFIG_VFIO_MDEV=n
CONFIG_VFIO_NOIOMMU=n
MODPARAMS.vfio:=\
enable_unsafe_noiommu_mode=n
FILES:= \
@ -97,6 +96,22 @@ endef
$(eval $(call KernelPackage,vfio))
define KernelPackage/vfio-mdev
SUBMENU:=Virtualization
TITLE:=Mediated device driver framework
DEPENDS:=@TARGET_x86_64 +kmod-vfio
KCONFIG:= \
CONFIG_VFIO_MDEV
FILES:= \
$(LINUX_DIR)/drivers/vfio/mdev/mdev.ko
AUTOLOAD:=$(call AutoProbe,mdev)
endef
define KernelPackage/vfio-mdev/description
VFIO Mediated device provides a framework to virtualize devices.
endef
$(eval $(call KernelPackage,vfio-mdev))
define KernelPackage/vfio-pci
SUBMENU:=Virtualization

View File

@ -7205,6 +7205,7 @@ CONFIG_VDSO=y
# CONFIG_VF610_DAC is not set
# CONFIG_VFAT_FS is not set
# CONFIG_VFIO is not set
# CONFIG_VFIO_MDEV is not set
# CONFIG_VGASTATE is not set
# CONFIG_VGA_ARB is not set
# CONFIG_VGA_CONSOLE is not set

View File

@ -0,0 +1,25 @@
From 3709219aea8138c7ff6b6646b92fba30ecb5fa46 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Sun, 10 Sep 2023 01:48:03 +0800
Subject: [PATCH] bus: mhi: pci_generic: add devices [1/2]
---
drivers/bus/mhi/host/pci_generic.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index 336dba7..b874ad9 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -520,6 +520,8 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = {
};
static const struct pci_device_id mhi_pci_id_table[] = {
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info },
/* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200),
.driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },
--
2.31.0

View File

@ -0,0 +1,26 @@
From 9cbe7f6be39afd4adb7d9afa0de9888c99953ba0 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Sun, 10 Sep 2023 01:48:17 +0800
Subject: [PATCH] bus: mhi: pci_generic: add devices [2/2]
---
drivers/bus/mhi/host/pci_generic.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index b874ad9..1d32a92 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -528,6 +528,9 @@ static const struct pci_device_id mhi_pci_id_table[] = {
/* Telit FN980 hardware revision v1 */
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x1C5D, 0x2000),
.driver_data = (kernel_ulong_t) &mhi_telit_fn980_hw_v1_info },
+ /* Fibocom FM150-AE */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x1cf8, 0x5502),
+ .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx55_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
--
2.31.0

View File

@ -117,6 +117,7 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GEM_SHMEM_HELPER=y
# CONFIG_DRM_HYPERV is not set
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
@ -135,6 +136,10 @@ CONFIG_DRM_TTM=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VRAM_HELPER=y
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_EFI=y
CONFIG_EFIVAR_FS=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
@ -245,7 +250,7 @@ CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
# CONFIG_INTEL_IOMMU_SVM is not set
CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_MEI_HDCP is not set
# CONFIG_INTEL_MENLOW is not set
@ -345,7 +350,7 @@ CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_PME=y
CONFIG_PCI_HYPERV=y
CONFIG_PCI_HYPERV_INTERFACE=y
# CONFIG_PCI_MMCONFIG is not set
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_PHYSICAL_ALIGN=0x1000000
@ -376,6 +381,8 @@ CONFIG_PNP=y
CONFIG_PNPACPI=y
CONFIG_PNP_DEBUG_MESSAGES=y
CONFIG_PROC_EVENTS=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_PVH=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y

View File

@ -74,6 +74,7 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GEM_SHMEM_HELPER=y
# CONFIG_DRM_HYPERV is not set
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500

View File

@ -57,6 +57,7 @@ CONFIG_DRM_BOCHS=y
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500