Commit 5be29ebe authored by Michał Winiarski's avatar Michał Winiarski Committed by Thomas Hellström
Browse files

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: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20251127093934.1462188-3-michal.winiarski@intel.com


Signed-off-by: default avatarMichał Winiarski <michal.winiarski@intel.com>
(cherry picked from commit 8b3cce3a)
Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
parent 73834d03
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -1223,6 +1223,23 @@ static struct pci_driver xe_pci_driver = {
#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)
{
	return pci_register_driver(&xe_pci_driver);
+3 −0
Original line number Diff line number Diff line
@@ -6,7 +6,10 @@
#ifndef _XE_PCI_H_
#define _XE_PCI_H_

struct pci_dev;

int xe_register_pci_driver(void);
void xe_unregister_pci_driver(void);
struct xe_device *xe_pci_to_pf_device(struct pci_dev *pdev);

#endif