Archived
14
0
Fork 0

sh: add io_base member to pci_channel

Store the io window base address in struct pci_channel and use that one
instead of SH77xx_PCI_IO_BASE.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Magnus Damm 2008-02-19 21:35:14 +09:00 committed by Paul Mundt
parent e4c6a3604e
commit ef53fdeb7e
3 changed files with 7 additions and 4 deletions

View file

@ -40,6 +40,7 @@ int __init sh7751_pci_init(struct pci_channel *chan)
pr_debug("PCI: Starting intialization.\n"); pr_debug("PCI: Starting intialization.\n");
chan->reg_base = 0xfe200000; chan->reg_base = 0xfe200000;
chan->io_base = 0xfe240000;
/* check for SH7751/SH7751R hardware */ /* check for SH7751/SH7751R hardware */
id = pci_read_reg(chan, SH7751_PCICONF0); id = pci_read_reg(chan, SH7751_PCICONF0);
@ -153,9 +154,9 @@ int __init sh7751_pcic_init(struct pci_channel *chan,
/* Map IO space into PCI IO window: /* Map IO space into PCI IO window:
* IO addresses will be translated to the PCI IO window base address * IO addresses will be translated to the PCI IO window base address
*/ */
pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%x\n", pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%lx\n",
chan->io_resource->start, chan->io_resource->end, chan->io_resource->start, chan->io_resource->end,
SH7751_PCI_IO_BASE + chan->io_resource->start); chan->io_base + chan->io_resource->start);
/* Make sure the MSB's of IO window are set to access PCI space /* Make sure the MSB's of IO window are set to access PCI space
* correctly */ * correctly */

View file

@ -53,6 +53,7 @@ int __init sh7780_pci_init(struct pci_channel *chan)
pr_debug("PCI: Starting intialization.\n"); pr_debug("PCI: Starting intialization.\n");
chan->reg_base = 0xfe040000; chan->reg_base = 0xfe040000;
chan->io_base = 0xfe200000;
ctrl_outl(0x00000001, SH7780_PCI_VCR2); /* Enable PCIC */ ctrl_outl(0x00000001, SH7780_PCI_VCR2); /* Enable PCIC */
@ -135,9 +136,9 @@ int __init sh7780_pcic_init(struct pci_channel *chan,
/* Map IO space into PCI IO window: /* Map IO space into PCI IO window:
* IO addresses will be translated to the PCI IO window base address * IO addresses will be translated to the PCI IO window base address
*/ */
pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%x\n", pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%lx\n",
chan->io_resource->start, chan->io_resource->end, chan->io_resource->start, chan->io_resource->end,
SH7780_PCI_IO_BASE + chan->io_resource->start); chan->io_base + chan->io_resource->start);
/* NOTE: I'm ignoring the PCI error IRQs for now.. /* NOTE: I'm ignoring the PCI error IRQs for now..
* TODO: add support for the internal error interrupts and * TODO: add support for the internal error interrupts and

View file

@ -25,6 +25,7 @@ struct pci_channel {
int last_devfn; int last_devfn;
int enabled; int enabled;
unsigned long reg_base; unsigned long reg_base;
unsigned long io_base;
}; };
/* /*