mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
sh: Kill off broken type 1 PCI config access checks.
The host controllers only support type 1, so there's not much else to test for. Some of the older controllers also supported type 2 accesses, but we've never supported those, and likely never will. Beyond that, the P1SEG test is meaningless for 32-bit mode, so rather than refactoring it, just kill the type 1 test off completely. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
320e68da59
commit
396c56a9c6
@ -102,34 +102,6 @@ struct pci_ops sh4_pci_ops = {
|
|||||||
.write = sh4_pci_write,
|
.write = sh4_pci_write,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Not really related to pci_ops, but it's common and not worth shoving
|
|
||||||
* somewhere else for now..
|
|
||||||
*/
|
|
||||||
int __init sh4_pci_check_direct(struct pci_channel *chan)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Check if configuration works.
|
|
||||||
*/
|
|
||||||
unsigned int tmp = pci_read_reg(chan, SH4_PCIPAR);
|
|
||||||
|
|
||||||
pci_write_reg(chan, P1SEG, SH4_PCIPAR);
|
|
||||||
|
|
||||||
if (pci_read_reg(chan, SH4_PCIPAR) == P1SEG) {
|
|
||||||
pci_write_reg(chan, tmp, SH4_PCIPAR);
|
|
||||||
printk(KERN_INFO "PCI: Using configuration type 1\n");
|
|
||||||
request_region(chan->reg_base + SH4_PCIPAR, 8,
|
|
||||||
"PCI conf1");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
pci_write_reg(chan, tmp, SH4_PCIPAR);
|
|
||||||
|
|
||||||
printk(KERN_ERR "PCI: %s failed\n", __func__);
|
|
||||||
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
int __attribute__((weak)) pci_fixup_pcic(struct pci_channel *chan)
|
int __attribute__((weak)) pci_fixup_pcic(struct pci_channel *chan)
|
||||||
{
|
{
|
||||||
/* Nothing to do. */
|
/* Nothing to do. */
|
||||||
|
@ -162,7 +162,6 @@
|
|||||||
|
|
||||||
/* arch/sh/kernel/drivers/pci/ops-sh4.c */
|
/* arch/sh/kernel/drivers/pci/ops-sh4.c */
|
||||||
extern struct pci_ops sh4_pci_ops;
|
extern struct pci_ops sh4_pci_ops;
|
||||||
int sh4_pci_check_direct(struct pci_channel *chan);
|
|
||||||
int pci_fixup_pcic(struct pci_channel *chan);
|
int pci_fixup_pcic(struct pci_channel *chan);
|
||||||
|
|
||||||
struct sh4_pci_address_space {
|
struct sh4_pci_address_space {
|
||||||
|
@ -79,7 +79,6 @@ static int __init sh7751_pci_init(void)
|
|||||||
struct pci_channel *chan = &sh7751_pci_controller;
|
struct pci_channel *chan = &sh7751_pci_controller;
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
u32 word, reg;
|
u32 word, reg;
|
||||||
int ret;
|
|
||||||
|
|
||||||
printk(KERN_NOTICE "PCI: Starting intialization.\n");
|
printk(KERN_NOTICE "PCI: Starting intialization.\n");
|
||||||
|
|
||||||
@ -93,9 +92,6 @@ static int __init sh7751_pci_init(void)
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ret = sh4_pci_check_direct(chan)) != 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
/* Set the BCR's to enable PCI access */
|
/* Set the BCR's to enable PCI access */
|
||||||
reg = __raw_readl(SH7751_BCR1);
|
reg = __raw_readl(SH7751_BCR1);
|
||||||
reg |= 0x80000;
|
reg |= 0x80000;
|
||||||
|
@ -47,7 +47,6 @@ static int __init sh7780_pci_init(void)
|
|||||||
size_t memsize;
|
size_t memsize;
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
const char *type;
|
const char *type;
|
||||||
int ret;
|
|
||||||
|
|
||||||
printk(KERN_NOTICE "PCI: Starting intialization.\n");
|
printk(KERN_NOTICE "PCI: Starting intialization.\n");
|
||||||
|
|
||||||
@ -85,9 +84,6 @@ static int __init sh7780_pci_init(void)
|
|||||||
"controller, revision %d.\n", type,
|
"controller, revision %d.\n", type,
|
||||||
__raw_readb(chan->reg_base + PCI_REVISION_ID));
|
__raw_readb(chan->reg_base + PCI_REVISION_ID));
|
||||||
|
|
||||||
if ((ret = sh4_pci_check_direct(chan)) != 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now throw it in to register initialization mode and
|
* Now throw it in to register initialization mode and
|
||||||
* start the real work.
|
* start the real work.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user