Skip to content

Commit

Permalink
iommu/vt-d: Store bus information in RMRR PCI device path
Browse files Browse the repository at this point in the history
This will be used later to match broken RMRR entries.

Signed-off-by: Joerg Roedel <[email protected]>
  • Loading branch information
joergroedel committed Oct 2, 2014
1 parent 1196c2f commit 5738459
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions drivers/iommu/dmar.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ dmar_alloc_pci_notify_info(struct pci_dev *dev, unsigned long event)
if (event == BUS_NOTIFY_ADD_DEVICE) {
for (tmp = dev; tmp; tmp = tmp->bus->self) {
level--;
info->path[level].bus = tmp->bus->number;
info->path[level].device = PCI_SLOT(tmp->devfn);
info->path[level].function = PCI_FUNC(tmp->devfn);
if (pci_is_root_bus(tmp->bus))
Expand Down
8 changes: 7 additions & 1 deletion include/linux/dmar.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,19 @@ struct dmar_drhd_unit {
struct intel_iommu *iommu;
};

struct dmar_pci_path {
u8 bus;
u8 device;
u8 function;
};

struct dmar_pci_notify_info {
struct pci_dev *dev;
unsigned long event;
int bus;
u16 seg;
u16 level;
struct acpi_dmar_pci_path path[];
struct dmar_pci_path path[];
} __attribute__((packed));

extern struct rw_semaphore dmar_global_lock;
Expand Down

0 comments on commit 5738459

Please sign in to comment.