History log of /arch/sh/drivers/pci/ops-sh4.c
Revision Date Author Comments
39a90865f07f05343c450e91a56578bb8f69c5e8 20-Sep-2010 Paul Mundt <lethal@linux-sh.org> sh: pci: Use a generic raw spinlock for PCI config access locking.

This copies the pci_config_lock idea from x86 over, allowing us to kill
off a couple of existing private locks. At the same time, these need to
be converted to raw spinlocks for -rt kernels, so we make that change at
the same time. This should make it easier for future parts to get the
locking right instead of inevitable ending up with lock type mismatches.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
ef407beefbd9928792ccc93857e408e0057bc17b 01-Feb-2010 Paul Mundt <lethal@linux-sh.org> sh: Hook up ERR/PERR/SERR detection for SH7780 PCI host controllers.

These were never handled before, so implement some common infrastructure
to support them, then make use of that in the SH7780-specific code. In
practice there is little here that can not be generalized for SH4 parts,
which will be an incremental change as the 7780/7751 code is gradually
unified.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
396c56a9c69ebb0baf9171a6365ac9fda322728d 29-Jan-2010 Paul Mundt <lethal@linux-sh.org> 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>
0db38cea69fc478a5c25b3c915ec680cc5538783 20-Apr-2009 Paul Mundt <lethal@linux-sh.org> sh: pci: Kill off legacy ide quirks.

These fixups seem to have bitrotted a bit since their introduction in the
2.4 days. As we never had much use for them in the first place, and
nothing is using them any more, kill them off the rest of the way.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
0e75148108914062cb46ad3dc8f054a628018df7 20-Apr-2009 Paul Mundt <lethal@linux-sh.org> sh: pci: Consolidate pcibios_setup() in pci-lib.

This wasn't really being used for anything useful, so just stub it in
pci-lib.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7e4ba0d77c96d328ba968ddff4a464d4d2fa7abc 17-Apr-2009 Paul Mundt <lethal@linux-sh.org> sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD.

P1SEGADDR is obsolete and will be killed off completely in the future,
so transition off of it and reference P1SEG explicitly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
e4c6a3604e07185046e2ce4be82a201f4447d788 19-Feb-2008 Magnus Damm <magnus.damm@gmail.com> sh: add reg_base member to pci_channel

Store the base address of the pci host controller registers in struct
pci_channel and use the address in pci_read_reg() and pci_write_reg().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
b6706ef10f75921733d7275fd45d268f2f6254c8 19-Feb-2008 Magnus Damm <magnus.damm@gmail.com> sh: hook in struct pci_channel in sysdata

Store a struct pci_channel pointer in bus->sysdata. This makes whatever
struct pci_channel assigned to a bus available for sh4_pci_read() and
sh4_pci_write(). We also modify PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to
use bus->sysdata - this to gives us support for multiple pci channels.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
b8b47bfbe4eb1ae0e6891e49c86a5f4fb00413be 11-Mar-2009 Magnus Damm <damm@igel.co.jp> sh: pass along struct pci_channel

These patches rework the pci code for the sh architecture.

Currently each board implements some kind of ioport to address mapping.
Some boards use generic_io_base others try passing addresses as io ports.
This is the first set of patches that try to unify the pci code as much
as possible to avoid duplicated code. This will in the end lead to fewer
lines board specific code and more generic code.

This patch makes sure a struct pci_channel pointer is passed along to
various pci functions such as pci_read_reg(), pci_write_reg(),
pci_fixup_pcic(), sh7751_pcic_init() and sh7780_pcic_init().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
bd5f0d1c256fdf286fab358a04e87476e3535075 20-Jul-2007 Paul Mundt <lethal@linux-sh.org> sh: Fix up PCI section mismatch warnings.

Flag pcibios_setup() and pcibios_fixup_bus() as __devinit.
Follows the sh64 change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
cd6c7ea234dc8a8607283e056d8010b2bd3c6369 28-Mar-2007 Paul Mundt <lethal@linux-sh.org> sh: Add a dummy SH-4 PCIC fixup.

By default we don't have anything to fix up for the SH-4 PCIC, boards can
overload this as necessary.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
959f85f8a3223c116bbe95dd8a9b207790b5d4d3 27-Sep-2006 Paul Mundt <lethal@linux-sh.org> sh: Consolidated SH7751/SH7780 PCI support.

This cleans up quite a lot of the PCI mess that we
currently have, and attempts to consolidate the
duplication in the SH7780 and SH7751 PCI controllers.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>