mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 21:20:52 +07: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,
|
||||
};
|
||||
|
||||
/*
|
||||
* 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)
|
||||
{
|
||||
/* Nothing to do. */
|
||||
|
@ -162,7 +162,6 @@
|
||||
|
||||
/* arch/sh/kernel/drivers/pci/ops-sh4.c */
|
||||
extern struct pci_ops sh4_pci_ops;
|
||||
int sh4_pci_check_direct(struct pci_channel *chan);
|
||||
int pci_fixup_pcic(struct pci_channel *chan);
|
||||
|
||||
struct sh4_pci_address_space {
|
||||
|
@ -79,7 +79,6 @@ static int __init sh7751_pci_init(void)
|
||||
struct pci_channel *chan = &sh7751_pci_controller;
|
||||
unsigned int id;
|
||||
u32 word, reg;
|
||||
int ret;
|
||||
|
||||
printk(KERN_NOTICE "PCI: Starting intialization.\n");
|
||||
|
||||
@ -93,9 +92,6 @@ static int __init sh7751_pci_init(void)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if ((ret = sh4_pci_check_direct(chan)) != 0)
|
||||
return ret;
|
||||
|
||||
/* Set the BCR's to enable PCI access */
|
||||
reg = __raw_readl(SH7751_BCR1);
|
||||
reg |= 0x80000;
|
||||
|
@ -47,7 +47,6 @@ static int __init sh7780_pci_init(void)
|
||||
size_t memsize;
|
||||
unsigned int id;
|
||||
const char *type;
|
||||
int ret;
|
||||
|
||||
printk(KERN_NOTICE "PCI: Starting intialization.\n");
|
||||
|
||||
@ -85,9 +84,6 @@ static int __init sh7780_pci_init(void)
|
||||
"controller, revision %d.\n", type,
|
||||
__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
|
||||
* start the real work.
|
||||
|
Loading…
Reference in New Issue
Block a user