mirror of https://github.com/torvalds/linux.git
drm/xe/pci: Introduce a helper to allow VF access to PF xe_device
In certain scenarios (such as VF migration), VF driver needs to interact with PF driver. Add a helper to allow VF driver access to PF xe_device. Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://patch.msgid.link/20251127093934.1462188-3-michal.winiarski@intel.com Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> (cherry picked from commit 8b3cce3ad9c78ce3dae1c178f99352d50e12a3c0) Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
This commit is contained in:
parent
73834d03a5
commit
5be29ebe9f
|
|
@ -1223,6 +1223,23 @@ static struct pci_driver xe_pci_driver = {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xe_pci_to_pf_device() - Get PF &xe_device.
|
||||||
|
* @pdev: the VF &pci_dev device
|
||||||
|
*
|
||||||
|
* Return: pointer to PF &xe_device, NULL otherwise.
|
||||||
|
*/
|
||||||
|
struct xe_device *xe_pci_to_pf_device(struct pci_dev *pdev)
|
||||||
|
{
|
||||||
|
struct drm_device *drm;
|
||||||
|
|
||||||
|
drm = pci_iov_get_pf_drvdata(pdev, &xe_pci_driver);
|
||||||
|
if (IS_ERR(drm))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return to_xe_device(drm);
|
||||||
|
}
|
||||||
|
|
||||||
int xe_register_pci_driver(void)
|
int xe_register_pci_driver(void)
|
||||||
{
|
{
|
||||||
return pci_register_driver(&xe_pci_driver);
|
return pci_register_driver(&xe_pci_driver);
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,10 @@
|
||||||
#ifndef _XE_PCI_H_
|
#ifndef _XE_PCI_H_
|
||||||
#define _XE_PCI_H_
|
#define _XE_PCI_H_
|
||||||
|
|
||||||
|
struct pci_dev;
|
||||||
|
|
||||||
int xe_register_pci_driver(void);
|
int xe_register_pci_driver(void);
|
||||||
void xe_unregister_pci_driver(void);
|
void xe_unregister_pci_driver(void);
|
||||||
|
struct xe_device *xe_pci_to_pf_device(struct pci_dev *pdev);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue