summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Truschnigg2024-08-04 19:21:13 +0000
committerHauke Mehrtens2024-08-24 12:46:28 +0000
commitb6ac37110f19d130f608707b0bfcf8c1df60fbdf (patch)
treed8f89c298e197f73e6ce756a408424aabc714417
parentfc31261c3307458e38c9a676211a25c99c044ece (diff)
downloadopenwrt-b6ac37110f19d130f608707b0bfcf8c1df60fbdf.tar.gz
linux-firmware: add Intel CPU-integrated GPU (iGPU) firmware
On latest Intel x86 CPUs, DMC firmware is required for the iGPU to reach its lowest power states. If the driver cannot load it, it will print a warning and unnecessarily make the iGPU draw a bit more power when idle. GUC firmware (various "offload" mechanisms that deal with scheduling GPU workloads) and HUC firmware (required for accelerated media codec operations for HEVC/H.265) are probably more niche, but could also provde useful for some - for example, when building an Intel/OpenWrt-based security camera. Signed-off-by: Johannes Truschnigg <johannes@truschnigg.info> Link: https://github.com/openwrt/openwrt/pull/16069 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/firmware/linux-firmware/intel.mk27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/firmware/linux-firmware/intel.mk b/package/firmware/linux-firmware/intel.mk
index f6acb45d48..b686a4caf8 100644
--- a/package/firmware/linux-firmware/intel.mk
+++ b/package/firmware/linux-firmware/intel.mk
@@ -215,3 +215,30 @@ define Package/e100-firmware/install
$(INSTALL_DATA) $(PKG_BUILD_DIR)/e100/d102e_ucode.bin $(1)/lib/firmware/e100/
endef
$(eval $(call BuildPackage,e100-firmware))
+
+Package/intel-igpu-firmware-dmc = $(call Package/firmware-default,Intel iGPU DMC Display MC firmware)
+define Package/intel-igpu-firmware-dmc/install
+ $(INSTALL_DIR) $(1)/lib/firmware/i915
+ $(CP) \
+ $(PKG_BUILD_DIR)/i915/*_dmc_*.bin* \
+ $(1)/lib/firmware/i915/
+endef
+$(eval $(call BuildPackage,intel-igpu-firmware-dmc))
+
+Package/intel-igpu-firmware-guc = $(call Package/firmware-default,Intel iGPU GUC Graphics MC firmware)
+define Package/intel-igpu-firmware-guc/install
+ $(INSTALL_DIR) $(1)/lib/firmware/i915
+ $(CP) \
+ $(PKG_BUILD_DIR)/i915/*_guc_*.bin* \
+ $(1)/lib/firmware/i915/
+endef
+$(eval $(call BuildPackage,intel-igpu-firmware-guc))
+
+Package/intel-igpu-firmware-huc = $(call Package/firmware-default,Intel iGPU HUC H.265 MC firmware)
+define Package/intel-igpu-firmware-huc/install
+ $(INSTALL_DIR) $(1)/lib/firmware/i915
+ $(CP) \
+ $(PKG_BUILD_DIR)/i915/*_huc_*.bin* \
+ $(1)/lib/firmware/i915/
+endef
+$(eval $(call BuildPackage,intel-igpu-firmware-huc))