mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
PCI/IA64: SN: remove sn_pci_window_fixup()
Currently, pcibios_bus_to_resource() and pcibios_resource_to_bus() functions use pci_host_bridge_window in pci_host_bridge to translate bus side to/from cpu side addresses. Pci_window in pci_controller under IA64 is no used again, so it's no need to use sn_pci_window_fixup() to setup pci_window again, remove it. Signed-off-by: Yijing Wang <wangyijing@huawei.com> Cc: John Keller <jpk@sgi.com> Cc: Jay Lan <jlan@engr.sgi.com> Cc: Jack Steiner <steiner@sgi.com> Cc: Mark Maule <maule@sgi.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: linux-ia64@vger.kernel.org Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
7d13205581
commit
c60fb074c0
@ -148,48 +148,6 @@ sn_legacy_pci_window_fixup(struct pci_controller *controller,
|
||||
controller->windows = 2;
|
||||
}
|
||||
|
||||
/*
|
||||
* sn_pci_window_fixup() - Create a pci_window for each device resource.
|
||||
* It will setup pci_windows for use by
|
||||
* pcibios_bus_to_resource(), pcibios_resource_to_bus(),
|
||||
* etc.
|
||||
*/
|
||||
static void
|
||||
sn_pci_window_fixup(struct pci_dev *dev, unsigned int count,
|
||||
s64 * pci_addrs)
|
||||
{
|
||||
struct pci_controller *controller = PCI_CONTROLLER(dev->bus);
|
||||
unsigned int i;
|
||||
unsigned int idx;
|
||||
unsigned int new_count;
|
||||
struct pci_window *new_window;
|
||||
|
||||
if (count == 0)
|
||||
return;
|
||||
idx = controller->windows;
|
||||
new_count = controller->windows + count;
|
||||
new_window = kcalloc(new_count, sizeof(struct pci_window), GFP_KERNEL);
|
||||
BUG_ON(new_window == NULL);
|
||||
if (controller->window) {
|
||||
memcpy(new_window, controller->window,
|
||||
sizeof(struct pci_window) * controller->windows);
|
||||
kfree(controller->window);
|
||||
}
|
||||
|
||||
/* Setup a pci_window for each device resource. */
|
||||
for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
|
||||
if (pci_addrs[i] == -1)
|
||||
continue;
|
||||
|
||||
new_window[idx].offset = dev->resource[i].start - pci_addrs[i];
|
||||
new_window[idx].resource = dev->resource[i];
|
||||
idx++;
|
||||
}
|
||||
|
||||
controller->windows = new_count;
|
||||
controller->window = new_window;
|
||||
}
|
||||
|
||||
/*
|
||||
* sn_io_slot_fixup() - We are not running with an ACPI capable PROM,
|
||||
* and need to convert the pci_dev->resource
|
||||
@ -199,9 +157,7 @@ sn_pci_window_fixup(struct pci_dev *dev, unsigned int count,
|
||||
void
|
||||
sn_io_slot_fixup(struct pci_dev *dev)
|
||||
{
|
||||
unsigned int count = 0;
|
||||
int idx;
|
||||
s64 pci_addrs[PCI_ROM_RESOURCE + 1];
|
||||
unsigned long addr, end, size, start;
|
||||
struct pcidev_info *pcidev_info;
|
||||
struct sn_irq_info *sn_irq_info;
|
||||
@ -229,7 +185,6 @@ sn_io_slot_fixup(struct pci_dev *dev)
|
||||
for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) {
|
||||
|
||||
if (!pcidev_info->pdi_pio_mapped_addr[idx]) {
|
||||
pci_addrs[idx] = -1;
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -237,11 +192,8 @@ sn_io_slot_fixup(struct pci_dev *dev)
|
||||
end = dev->resource[idx].end;
|
||||
size = end - start;
|
||||
if (size == 0) {
|
||||
pci_addrs[idx] = -1;
|
||||
continue;
|
||||
}
|
||||
pci_addrs[idx] = start;
|
||||
count++;
|
||||
addr = pcidev_info->pdi_pio_mapped_addr[idx];
|
||||
addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET;
|
||||
dev->resource[idx].start = addr;
|
||||
@ -276,11 +228,6 @@ sn_io_slot_fixup(struct pci_dev *dev)
|
||||
IORESOURCE_ROM_BIOS_COPY;
|
||||
}
|
||||
}
|
||||
/* Create a pci_window in the pci_controller struct for
|
||||
* each device resource.
|
||||
*/
|
||||
if (count > 0)
|
||||
sn_pci_window_fixup(dev, count, pci_addrs);
|
||||
|
||||
sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user