Intel_gpu.patch 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. diff --git a/package/firmware/linux-firmware/intel.mk b/package/firmware/linux-firmware/intel.mk
  2. index 923701c703d..7f60014ea6c 100644
  3. --- a/package/firmware/linux-firmware/intel.mk
  4. +++ b/package/firmware/linux-firmware/intel.mk
  5. @@ -176,3 +176,95 @@ define Package/e100-firmware/install
  6. $(INSTALL_DATA) $(PKG_BUILD_DIR)/e100/d102e_ucode.bin $(1)/lib/firmware/e100/
  7. endef
  8. $(eval $(call BuildPackage,e100-firmware))
  9. +
  10. +Package/i915-firmware = $(call Package/firmware-default,Intel GPU firmware)
  11. +define Package/i915-firmware/install
  12. + $(INSTALL_DIR) $(1)/lib/firmware/i915
  13. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_dmc_ver1_09.bin $(1)/lib/firmware/i915/
  14. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/adlp_dmc_ver2_09.bin $(1)/lib/firmware/i915/
  15. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/adlp_dmc_ver2_10.bin $(1)/lib/firmware/i915/
  16. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/adlp_dmc_ver2_12.bin $(1)/lib/firmware/i915/
  17. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/adlp_guc_62.0.3.bin $(1)/lib/firmware/i915/
  18. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/adls_dmc_ver2_01.bin $(1)/lib/firmware/i915/
  19. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_dmc_ver1_07.bin $(1)/lib/firmware/i915/
  20. + ln -s /lib/firmware/i915/bxt_dmc_ver1_07.bin $(1)/lib/firmware/i915/bxt_dmc_ver1.bin
  21. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_guc_32.0.3.bin $(1)/lib/firmware/i915/
  22. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_guc_33.0.0.bin $(1)/lib/firmware/i915/
  23. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_guc_49.0.1.bin $(1)/lib/firmware/i915/
  24. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_guc_62.0.0.bin $(1)/lib/firmware/i915/
  25. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_guc_ver8_7.bin $(1)/lib/firmware/i915/
  26. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_guc_ver9_29.bin $(1)/lib/firmware/i915/
  27. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_huc_2.0.0.bin $(1)/lib/firmware/i915/
  28. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_huc_ver01_07_1398.bin $(1)/lib/firmware/i915/
  29. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/bxt_huc_ver01_8_2893.bin $(1)/lib/firmware/i915/
  30. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/cml_guc_33.0.0.bin $(1)/lib/firmware/i915/
  31. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/cml_guc_49.0.1.bin $(1)/lib/firmware/i915/
  32. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/cml_guc_62.0.0.bin $(1)/lib/firmware/i915/
  33. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/cml_huc_4.0.0.bin $(1)/lib/firmware/i915/
  34. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/cnl_dmc_ver1_06.bin $(1)/lib/firmware/i915/
  35. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/cnl_dmc_ver1_07.bin $(1)/lib/firmware/i915/
  36. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/dg1_dmc_ver2_02.bin $(1)/lib/firmware/i915/
  37. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/dg1_guc_49.0.1.bin $(1)/lib/firmware/i915/
  38. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/dg1_guc_62.0.0.bin $(1)/lib/firmware/i915/
  39. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/dg1_huc_7.7.1.bin $(1)/lib/firmware/i915/
  40. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/dg1_huc_7.9.3.bin $(1)/lib/firmware/i915/
  41. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/ehl_guc_33.0.4.bin $(1)/lib/firmware/i915/
  42. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/ehl_guc_49.0.1.bin $(1)/lib/firmware/i915/
  43. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/ehl_guc_62.0.0.bin $(1)/lib/firmware/i915/
  44. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/ehl_huc_9.0.0.bin $(1)/lib/firmware/i915/
  45. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_dmc_ver1_04.bin $(1)/lib/firmware/i915/
  46. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_guc_32.0.3.bin $(1)/lib/firmware/i915/
  47. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_guc_33.0.0.bin $(1)/lib/firmware/i915/
  48. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_guc_49.0.1.bin $(1)/lib/firmware/i915/
  49. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_guc_62.0.0.bin $(1)/lib/firmware/i915/
  50. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_huc_4.0.0.bin $(1)/lib/firmware/i915/
  51. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/glk_huc_ver03_01_2893.bin $(1)/lib/firmware/i915/
  52. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_dmc_ver1_07.bin $(1)/lib/firmware/i915/
  53. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_dmc_ver1_09.bin $(1)/lib/firmware/i915/
  54. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_guc_32.0.3.bin $(1)/lib/firmware/i915/
  55. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_guc_33.0.0.bin $(1)/lib/firmware/i915/
  56. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_guc_49.0.1.bin $(1)/lib/firmware/i915/
  57. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_guc_62.0.0.bin $(1)/lib/firmware/i915/
  58. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_huc_9.0.0.bin $(1)/lib/firmware/i915/
  59. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/icl_huc_ver8_4_3238.bin $(1)/lib/firmware/i915/
  60. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_dmc_ver1_01.bin $(1)/lib/firmware/i915/
  61. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_dmc_ver1_04.bin $(1)/lib/firmware/i915/
  62. + ln -s /lib/firmware/i915/kbl_dmc_ver1_04.bin $(1)/lib/firmware/i915/kbl_dmc_ver1.bin
  63. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_guc_32.0.3.bin $(1)/lib/firmware/i915/
  64. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_guc_33.0.0.bin $(1)/lib/firmware/i915/
  65. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_guc_49.0.1.bin $(1)/lib/firmware/i915/
  66. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_guc_62.0.0.bin $(1)/lib/firmware/i915/
  67. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_guc_ver9_14.bin $(1)/lib/firmware/i915/
  68. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_guc_ver9_39.bin $(1)/lib/firmware/i915/
  69. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_huc_4.0.0.bin $(1)/lib/firmware/i915/
  70. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/kbl_huc_ver02_00_1810.bin $(1)/lib/firmware/i915/
  71. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/rkl_dmc_ver2_02.bin $(1)/lib/firmware/i915/
  72. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/rkl_dmc_ver2_03.bin $(1)/lib/firmware/i915/
  73. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_dmc_ver1_23.bin $(1)/lib/firmware/i915/
  74. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_dmc_ver1_26.bin $(1)/lib/firmware/i915/
  75. + ln -s /lib/firmware/i915/skl_dmc_ver1_26.bin $(1)/lib/firmware/i915/skl_dmc_ver1.bin
  76. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_dmc_ver1_27.bin $(1)/lib/firmware/i915/
  77. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_32.0.3.bin $(1)/lib/firmware/i915/
  78. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_33.0.0.bin $(1)/lib/firmware/i915/
  79. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_49.0.1.bin $(1)/lib/firmware/i915/
  80. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_62.0.0.bin $(1)/lib/firmware/i915/
  81. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_ver1.bin $(1)/lib/firmware/i915/
  82. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_ver4.bin $(1)/lib/firmware/i915/
  83. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_ver6_1.bin $(1)/lib/firmware/i915/
  84. + ln -s /lib/firmware/i915/skl_guc_ver6_1.bin $(1)/lib/firmware/i915/skl_guc_ver6.bin
  85. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_guc_ver9_33.bin $(1)/lib/firmware/i915/
  86. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_huc_2.0.0.bin $(1)/lib/firmware/i915/
  87. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/skl_huc_ver01_07_1398.bin $(1)/lib/firmware/i915/
  88. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_dmc_ver2_04.bin $(1)/lib/firmware/i915/
  89. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_dmc_ver2_06.bin $(1)/lib/firmware/i915/
  90. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_dmc_ver2_08.bin $(1)/lib/firmware/i915/
  91. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_dmc_ver2_12.bin $(1)/lib/firmware/i915/
  92. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_guc_35.2.0.bin $(1)/lib/firmware/i915/
  93. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_guc_49.0.1.bin $(1)/lib/firmware/i915/
  94. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_guc_62.0.0.bin $(1)/lib/firmware/i915/
  95. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_huc_7.0.12.bin $(1)/lib/firmware/i915/
  96. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_huc_7.0.3.bin $(1)/lib/firmware/i915/
  97. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_huc_7.5.0.bin $(1)/lib/firmware/i915/
  98. + $(INSTALL_DATA) $(PKG_BUILD_DIR)/i915/tgl_huc_7.9.3.bin $(1)/lib/firmware/i915/
  99. +endef
  100. +$(eval $(call BuildPackage,i915-firmware))
  101. diff --git a/package/kernel/linux/modules/virt.mk b/package/kernel/linux/modules/virt.mk
  102. index 5ed0d5dbbf2..a853a8c7980 100644
  103. --- a/package/kernel/linux/modules/virt.mk
  104. +++ b/package/kernel/linux/modules/virt.mk
  105. @@ -4,6 +4,50 @@
  106. # This is free software, licensed under the GNU General Public License v2.
  107. # See /LICENSE for more information.
  108. #
  109. +define KernelPackage/vfio-mdev
  110. + SUBMENU:=Virtualization
  111. + TITLE:=VFIO driver support to to virtualize devices
  112. + DEPENDS:=@TARGET_x86_64
  113. + KCONFIG:= \
  114. + CONFIG_IOMMU_API=y \
  115. + CONFIG_MMU=y \
  116. + CONFIG_VFIO=y \
  117. + CONFIG_VFIO_MDEV \
  118. + CONFIG_VFIO_MDEV_DEVICE \
  119. + CONFIG_VFIO_NOIOMMU=y \
  120. + CONFIG_VFIO_PCI=y \
  121. + CONFIG_VFIO_PCI_IGD=y
  122. + FILES:= \
  123. + $(LINUX_DIR)/drivers/vfio/mdev/mdev.ko \
  124. + $(LINUX_DIR)/drivers/vfio/mdev/[email protected]
  125. + AUTOLOAD:=$(call AutoProbe,mdev vfio_mdev)
  126. +endef
  127. +
  128. +define KernelPackage/vfio-mdev/description
  129. + Provides a framework to virtualize devices.
  130. +endef
  131. +
  132. +$(eval $(call KernelPackage,vfio-mdev))
  133. +
  134. +define KernelPackage/i915-gvt
  135. + SUBMENU:=Virtualization
  136. + TITLE:=Enable KVM/VFIO support for Intel GVT-g
  137. + DEPENDS:=@TARGET_x86_64 +kmod-kvm-intel +kmod-drm-i915 +kmod-vfio-mdev
  138. + KCONFIG:= CONFIG_DRM_I915_GVT_KVMGT
  139. + FILES:= \
  140. + $(LINUX_DIR)/drivers/gpu/drm/i915/gvt/[email protected] \
  141. + $(LINUX_DIR)/drivers/gpu/drm/i915/[email protected]
  142. + AUTOLOAD:=$(call AutoProbe,kvmgt)
  143. +endef
  144. +
  145. +define KernelPackage/i915-gvt/description
  146. + Enable Intel GVT-g graphics virtualization technology host support with
  147. + integrated graphics. With GVT-g, it's possible to have one integrated
  148. + graphics device shared by multiple VMs under KVM.
  149. +endef
  150. +
  151. +$(eval $(call KernelPackage,i915-gvt))
  152. +
  153. define KernelPackage/irqbypass
  154. SUBMENU:=Virtualization
  155. TITLE:=IRQ offload/bypass manager
  156. --- a/target/linux/x86/64/config-5.15
  157. +++ b/target/linux/x86/64/config-5.15
  158. @@ -117,30 +117,12 @@ CONFIG_DRM_FBDEV_EMULATION=y
  159. CONFIG_DRM_FBDEV_OVERALLOC=100
  160. CONFIG_DRM_GEM_SHMEM_HELPER=y
  161. # CONFIG_DRM_HYPERV is not set
  162. -CONFIG_DRM_I915=y
  163. -CONFIG_DRM_I915_CAPTURE_ERROR=y
  164. -CONFIG_DRM_I915_COMPRESS_ERROR=y
  165. -# CONFIG_DRM_I915_DEBUG is not set
  166. -# CONFIG_DRM_I915_DEBUG_GUC is not set
  167. -# CONFIG_DRM_I915_DEBUG_MMIO is not set
  168. -# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
  169. -# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
  170. -CONFIG_DRM_I915_FENCE_TIMEOUT=10000
  171. CONFIG_DRM_I915_FORCE_PROBE=""
  172. -CONFIG_DRM_I915_GVT=y
  173. CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
  174. -# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
  175. -CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
  176. CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
  177. CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
  178. -# CONFIG_DRM_I915_SELFTEST is not set
  179. CONFIG_DRM_I915_STOP_TIMEOUT=100
  180. -# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
  181. -# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
  182. CONFIG_DRM_I915_TIMESLICE_DURATION=1
  183. -CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
  184. -CONFIG_DRM_I915_USERPTR=y
  185. -# CONFIG_DRM_I915_WERROR is not set
  186. CONFIG_DRM_KMS_HELPER=y
  187. CONFIG_DRM_MIPI_DSI=y
  188. CONFIG_DRM_PANEL=y
  189. @@ -178,6 +160,7 @@ CONFIG_FB_CMDLINE=y
  190. CONFIG_FB_DEFERRED_IO=y
  191. CONFIG_FB_EFI=y
  192. CONFIG_FB_HYPERV=y
  193. +# CONFIG_FB_INTEL is not set
  194. CONFIG_FB_MODE_HELPERS=y
  195. CONFIG_FB_SIMPLE=y
  196. CONFIG_FB_SYS_COPYAREA=y