Merge tag 'pci-v4.21-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[sfrench/cifs-2.6.git] / include / linux / pci.h
index 51a5a5217667f9b6eab49167d1872a9d41968e68..65f1d8c2f08202ea6683a596e67f252de95bea4e 100644 (file)
@@ -396,6 +396,14 @@ struct pci_dev {
        unsigned int    is_hotplug_bridge:1;
        unsigned int    shpc_managed:1;         /* SHPC owned by shpchp */
        unsigned int    is_thunderbolt:1;       /* Thunderbolt controller */
+       /*
+        * Devices marked being untrusted are the ones that can potentially
+        * execute DMA attacks and similar. They are typically connected
+        * through external ports such as Thunderbolt but not limited to
+        * that. When an IOMMU is enabled they should be getting full
+        * mappings to make sure they cannot access arbitrary memory.
+        */
+       unsigned int    untrusted:1;
        unsigned int    __aer_firmware_first_valid:1;
        unsigned int    __aer_firmware_first:1;
        unsigned int    broken_intx_masking:1;  /* INTx masking can't be used */
@@ -405,6 +413,7 @@ struct pci_dev {
        unsigned int    non_compliant_bars:1;   /* Broken BARs; ignore them */
        unsigned int    is_probed:1;            /* Device probing in progress */
        unsigned int    link_active_reporting:1;/* Device capable of reporting link active */
+       unsigned int    no_vf_scan:1;           /* Don't scan for VFs after IOV enablement */
        pci_dev_flags_t dev_flags;
        atomic_t        enable_cnt;     /* pci_enable_device has been called */
 
@@ -764,9 +773,9 @@ struct pci_driver {
        int  (*suspend)(struct pci_dev *dev, pm_message_t state);       /* Device suspended */
        int  (*suspend_late)(struct pci_dev *dev, pm_message_t state);
        int  (*resume_early)(struct pci_dev *dev);
-       int  (*resume) (struct pci_dev *dev);   /* Device woken up */
-       void (*shutdown) (struct pci_dev *dev);
-       int  (*sriov_configure) (struct pci_dev *dev, int num_vfs); /* On PF */
+       int  (*resume)(struct pci_dev *dev);    /* Device woken up */
+       void (*shutdown)(struct pci_dev *dev);
+       int  (*sriov_configure)(struct pci_dev *dev, int num_vfs); /* On PF */
        const struct pci_error_handlers *err_handler;
        const struct attribute_group **groups;
        struct device_driver    driver;