Lines Matching refs:gvt
35 #include "gvt.h"
69 static int mmio_snapshot_handler(struct intel_gvt *gvt, u32 offset, void *data)
71 *(u32 *)(data + offset) = intel_uncore_read_notrace(gvt->gt->uncore,
76 static int expose_firmware_sysfs(struct intel_gvt *gvt)
78 struct intel_gvt_device_info *info = &gvt->device_info;
79 struct pci_dev *pdev = gvt->gt->i915->drm.pdev;
105 memcpy(gvt->firmware.cfg_space, p, info->cfg_space_size);
110 intel_gvt_for_each_tracked_mmio(gvt, mmio_snapshot_handler, p);
112 memcpy(gvt->firmware.mmio, p, info->mmio_size);
128 static void clean_firmware_sysfs(struct intel_gvt *gvt)
130 struct pci_dev *pdev = gvt->gt->i915->drm.pdev;
138 * @gvt: intel gvt device
141 void intel_gvt_free_firmware(struct intel_gvt *gvt)
143 if (!gvt->firmware.firmware_loaded)
144 clean_firmware_sysfs(gvt);
146 kfree(gvt->firmware.cfg_space);
147 vfree(gvt->firmware.mmio);
150 static int verify_firmware(struct intel_gvt *gvt,
153 struct intel_gvt_device_info *info = &gvt->device_info;
154 struct pci_dev *pdev = gvt->gt->i915->drm.pdev;
198 #define GVT_FIRMWARE_PATH "i915/gvt"
202 * @gvt: intel gvt device
205 int intel_gvt_load_firmware(struct intel_gvt *gvt)
207 struct intel_gvt_device_info *info = &gvt->device_info;
208 struct pci_dev *pdev = gvt->gt->i915->drm.pdev;
209 struct intel_gvt_firmware *firmware = &gvt->firmware;
243 ret = request_firmware(&fw, path, &gvt->gt->i915->drm.pdev->dev);
251 ret = verify_firmware(gvt, fw);
271 expose_firmware_sysfs(gvt);