Re: [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Tony Camuso
Date: Tuesday, January 29, 2008 - 7:30 pm

Matthew Wilcox wrote:

Not exactly.
:)

The interface is the same, ia64_sal_pci_config_write() and ia64_sal_pci_config_read(),
but a flag bit in the mode argument is used to tell the SAL interface whether to
translate the offset component of the config address as having 8 or 12 bits of
of displacement.

In my estimation, Ivan's patch, in his implementation of Loic's suggestion, is even
more elegant, since there is no need to flag whether the access is for offsets below
256. Ivan's code automatically uses Port IO (or equivalent with Matthew's patch) for
offsets below 256 and MMCONFIG for offsets from 256 to 4096.

And even better, it removes the bitmap that tracks MMCONFIG-unfriendly devices for
the first 16 buses, a solution that assumes systems with bus numbers higher than 16
will get MMCONFIG right, which turned out to be a very wrong assumption. Furthermore,
the config address is translated by the Northbridge. The delivery mechanism to
the Northbridge, whether Port IO or MMCONFIG, is utterly opaque to the devices on the
bus, since all they see is PCI config cycles, not Port IO or MMCONFIG cycles. The test
only needed to be made at the Northbridge level, not at the device level. Ivan's patch
removes all this cruft.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Fri Jan 11, 12:09 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Fri Jan 11, 12:40 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Fri Jan 11, 12:54 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sat Jan 12, 10:45 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Benjamin Herrenschmidt, (Sun Jan 13, 12:08 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 10:01 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 10:03 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 11:41 am)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Arjan van de Ven, (Sun Jan 13, 10:05 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Øyvind Vågen Jægtnes, (Tue Jan 15, 5:58 am)
[PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Mon Jan 28, 8:03 pm)
Re: [Patch v2] Make PCI extended config space (MMCONFIG) a ..., Tony Camuso, (Tue Jan 29, 7:30 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 3, 12:30 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Tony Camuso, (Thu Feb 7, 8:54 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Arjan van de Ven, (Thu Feb 7, 9:28 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Tony Camuso, (Thu Feb 7, 9:36 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Grant Grundler, (Thu Feb 7, 7:28 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sat Feb 9, 5:41 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sat Feb 9, 11:25 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 7:51 am)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Grant Grundler, (Sun Feb 10, 12:13 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 12:37 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 1:16 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 1:19 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Linus Torvalds, (Sun Feb 10, 1:24 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 1:25 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 1:32 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Matthew Wilcox, (Sun Feb 10, 1:45 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 1:47 pm)
raw_pci_read in quirk_intel_irqbalance, Matthew Wilcox, (Sun Feb 10, 4:02 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 6:49 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Robert Hancock, (Sun Feb 10, 7:53 pm)
Re: raw_pci_read in quirk_intel_irqbalance, Matthew Wilcox, (Sun Feb 10, 10:04 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Yinghai Lu, (Sun Feb 10, 10:59 pm)
Re: raw_pci_read in quirk_intel_irqbalance, Grant Grundler, (Mon Feb 11, 12:49 am)
Re: raw_pci_read in quirk_intel_irqbalance, Matthew Wilcox, (Mon Feb 11, 9:15 am)
Re: raw_pci_read in quirk_intel_irqbalance, Linus Torvalds, (Mon Feb 11, 10:18 am)
Re: raw_pci_read in quirk_intel_irqbalance, Grant Grundler, (Mon Feb 11, 12:38 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Andrew Morton, (Mon Feb 11, 3:10 pm)
Re: [PATCH] Change pci_raw_ops to pci_raw_read/write, Ingo Molnar, (Mon Feb 11, 3:38 pm)