mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-27 10:34:13 +00:00

The PF driver might be resumed just to configure VFs, but since
it is doing some asynchronous GuC reconfigurations after fresh
reset, we should wait until all pending works are completed.
This is especially important in case of LMEM provisioning, since
we also need to update the LMTT and send invalidation requests
to all GuCs, which are expected to be already in the VGT mode.
Fixes: 68ae022278
("drm/xe/pf: Force GuC virtualization mode")
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://lore.kernel.org/r/20250801142822.180530-3-michal.wajdeczko@intel.com
(cherry picked from commit c6c86441c465ea440dfb5039f1c26e629a6fd64c)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
38 lines
825 B
C
38 lines
825 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2023-2024 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_SRIOV_PF_H_
|
|
#define _XE_SRIOV_PF_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct dentry;
|
|
struct drm_printer;
|
|
struct xe_device;
|
|
|
|
#ifdef CONFIG_PCI_IOV
|
|
bool xe_sriov_pf_readiness(struct xe_device *xe);
|
|
int xe_sriov_pf_init_early(struct xe_device *xe);
|
|
int xe_sriov_pf_wait_ready(struct xe_device *xe);
|
|
void xe_sriov_pf_debugfs_register(struct xe_device *xe, struct dentry *root);
|
|
void xe_sriov_pf_print_vfs_summary(struct xe_device *xe, struct drm_printer *p);
|
|
#else
|
|
static inline bool xe_sriov_pf_readiness(struct xe_device *xe)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
static inline int xe_sriov_pf_init_early(struct xe_device *xe)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline void xe_sriov_pf_debugfs_register(struct xe_device *xe, struct dentry *root)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
#endif
|