mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 06:10:45 -04:00
drm/i915/gvt: devirtualize ->detach_vgpu
Just call the function directly. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20220411141403.86980-17-hch@lst.de Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Zhi Wang <zhi.a.wang@intel.com>
This commit is contained in:
committed by
Zhi Wang
parent
f9399b0e4a
commit
4c705ad0d7
@@ -581,6 +581,7 @@ void populate_pvinfo_page(struct intel_vgpu *vgpu);
|
||||
|
||||
int intel_gvt_scan_and_shadow_workload(struct intel_vgpu_workload *workload);
|
||||
void enter_failsafe_mode(struct intel_vgpu *vgpu, int reason);
|
||||
void intel_vgpu_detach_regions(struct intel_vgpu *vgpu);
|
||||
|
||||
enum {
|
||||
GVT_FAILSAFE_UNSUPPORTED_GUEST,
|
||||
|
||||
@@ -45,7 +45,6 @@ struct intel_vgpu;
|
||||
struct intel_gvt_mpt {
|
||||
int (*host_init)(struct device *dev, void *gvt);
|
||||
void (*host_exit)(struct device *dev, void *gvt);
|
||||
void (*detach_vgpu)(struct intel_vgpu *vgpu);
|
||||
int (*inject_msi)(struct intel_vgpu *vgpu, u32 addr, u16 data);
|
||||
int (*enable_page_track)(struct intel_vgpu *vgpu, u64 gfn);
|
||||
int (*disable_page_track)(struct intel_vgpu *vgpu, u64 gfn);
|
||||
|
||||
@@ -1858,7 +1858,7 @@ static bool kvmgt_guest_exit(struct intel_vgpu *info)
|
||||
return true;
|
||||
}
|
||||
|
||||
static void kvmgt_detach_vgpu(struct intel_vgpu *vgpu)
|
||||
void intel_vgpu_detach_regions(struct intel_vgpu *vgpu)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -2022,7 +2022,6 @@ static bool kvmgt_is_valid_gfn(struct intel_vgpu *vgpu, unsigned long gfn)
|
||||
static const struct intel_gvt_mpt kvmgt_mpt = {
|
||||
.host_init = kvmgt_host_init,
|
||||
.host_exit = kvmgt_host_exit,
|
||||
.detach_vgpu = kvmgt_detach_vgpu,
|
||||
.inject_msi = kvmgt_inject_msi,
|
||||
.enable_page_track = kvmgt_page_track_add,
|
||||
.disable_page_track = kvmgt_page_track_remove,
|
||||
|
||||
@@ -71,22 +71,6 @@ static inline void intel_gvt_hypervisor_host_exit(struct device *dev, void *gvt)
|
||||
intel_gvt_host.mpt->host_exit(dev, gvt);
|
||||
}
|
||||
|
||||
/**
|
||||
* intel_gvt_hypervisor_detach_vgpu - call hypervisor to release vGPU
|
||||
* related stuffs inside hypervisor.
|
||||
*
|
||||
* Returns:
|
||||
* Zero on success, negative error code if failed.
|
||||
*/
|
||||
static inline void intel_gvt_hypervisor_detach_vgpu(struct intel_vgpu *vgpu)
|
||||
{
|
||||
/* optional to provide */
|
||||
if (!intel_gvt_host.mpt->detach_vgpu)
|
||||
return;
|
||||
|
||||
intel_gvt_host.mpt->detach_vgpu(vgpu);
|
||||
}
|
||||
|
||||
#define MSI_CAP_CONTROL(offset) (offset + 2)
|
||||
#define MSI_CAP_ADDRESS(offset) (offset + 4)
|
||||
#define MSI_CAP_DATA(offset) (offset + 8)
|
||||
|
||||
@@ -293,7 +293,7 @@ void intel_gvt_destroy_vgpu(struct intel_vgpu *vgpu)
|
||||
intel_vgpu_clean_opregion(vgpu);
|
||||
intel_vgpu_reset_ggtt(vgpu, true);
|
||||
intel_vgpu_clean_gtt(vgpu);
|
||||
intel_gvt_hypervisor_detach_vgpu(vgpu);
|
||||
intel_vgpu_detach_regions(vgpu);
|
||||
intel_vgpu_free_resource(vgpu);
|
||||
intel_vgpu_clean_mmio(vgpu);
|
||||
intel_vgpu_dmabuf_cleanup(vgpu);
|
||||
|
||||
Reference in New Issue
Block a user