ACPICA: Update DMAR table definitions.
authorLv Zheng <lv.zheng@intel.com>
Thu, 31 Oct 2013 01:30:22 +0000 (09:30 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 31 Oct 2013 13:37:32 +0000 (14:37 +0100)
This patch updates DMAR table header definitions as such enhancement
has been made in ACPICA upstream already.  It ports that change to
the Linux source to reduce source code differences between Linux and
ACPICA upstream.

Build test done on x86-64 machine with the following configs enabled:
  CONFIG_DMAR_TABLE
  CONFIG_IRQ_REMAP
  CONFIG_INTEL_IOMMU

This patch does not affect the generation of the Linux kernel binary.

[rjw: Changelog]
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/iommu/dmar.c
drivers/iommu/intel_irq_remapping.c
include/acpi/actbl2.h

index 785675a..9009469 100644 (file)
@@ -88,7 +88,7 @@ static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope,
                        pr_warn("Device scope bus [%d] not found\n", scope->bus);
                        break;
                }
-               pdev = pci_get_slot(bus, PCI_DEVFN(path->dev, path->fn));
+               pdev = pci_get_slot(bus, PCI_DEVFN(path->device, path->function));
                if (!pdev) {
                        /* warning will be printed below */
                        break;
@@ -99,7 +99,7 @@ static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope,
        }
        if (!pdev) {
                pr_warn("Device scope device [%04x:%02x:%02x.%02x] not found\n",
-                       segment, scope->bus, path->dev, path->fn);
+                       segment, scope->bus, path->device, path->function);
                *dev = NULL;
                return 0;
        }
index f71673d..ab86902 100644 (file)
@@ -686,12 +686,12 @@ static void ir_parse_one_hpet_scope(struct acpi_dmar_device_scope *scope,
                 * Access PCI directly due to the PCI
                 * subsystem isn't initialized yet.
                 */
-               bus = read_pci_config_byte(bus, path->dev, path->fn,
+               bus = read_pci_config_byte(bus, path->device, path->function,
                                           PCI_SECONDARY_BUS);
                path++;
        }
        ir_hpet[ir_hpet_num].bus   = bus;
-       ir_hpet[ir_hpet_num].devfn = PCI_DEVFN(path->dev, path->fn);
+       ir_hpet[ir_hpet_num].devfn = PCI_DEVFN(path->device, path->function);
        ir_hpet[ir_hpet_num].iommu = iommu;
        ir_hpet[ir_hpet_num].id    = scope->enumeration_id;
        ir_hpet_num++;
@@ -714,13 +714,13 @@ static void ir_parse_one_ioapic_scope(struct acpi_dmar_device_scope *scope,
                 * Access PCI directly due to the PCI
                 * subsystem isn't initialized yet.
                 */
-               bus = read_pci_config_byte(bus, path->dev, path->fn,
+               bus = read_pci_config_byte(bus, path->device, path->function,
                                           PCI_SECONDARY_BUS);
                path++;
        }
 
        ir_ioapic[ir_ioapic_num].bus   = bus;
-       ir_ioapic[ir_ioapic_num].devfn = PCI_DEVFN(path->dev, path->fn);
+       ir_ioapic[ir_ioapic_num].devfn = PCI_DEVFN(path->device, path->function);
        ir_ioapic[ir_ioapic_num].iommu = iommu;
        ir_ioapic[ir_ioapic_num].id    = scope->enumeration_id;
        ir_ioapic_num++;
index ffaac0e..40f7ed1 100644 (file)
@@ -444,8 +444,8 @@ enum acpi_dmar_scope_type {
 };
 
 struct acpi_dmar_pci_path {
-       u8 dev;
-       u8 fn;
+       u8 device;
+       u8 function;
 };
 
 /*