From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
To: tsbogend@alpha.franken.de
Cc: robh@kernel.org, arnd@arndb.de, catalin.marinas@arm.com,
Liviu.Dudau@arm.com, bhelgaas@google.com, matthias.bgg@gmail.com,
gregkh@linuxfoundation.org, linux-mips@vger.kernel.org,
linux-pci@vger.kernel.org, linux-staging@lists.linux.dev,
neil@brown.name, linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/6] MIPS: ralink: fix PCI IO resources
Date: Sat, 25 Sep 2021 10:46:35 +0200 [thread overview]
Message-ID: <20210925084642.5642-1-sergio.paracuellos@gmail.com> (raw)
MIPs ralink need a special tratement regarding the way it handles PCI IO |6
resources. On MIPS I/O ports are memory mapped, so we access them using normal | 1
load/store instructions. MIPS 'plat_mem_setup()' function does a call to | 2 Sergio Paracuellos (6):
'set_io_port_base(KSEG1)'. There, variable 'mips_io_port_base' | 3 Revert "MIPS: ralink: don't define PC_IOBASE but increase
is set then using this address which is a virtual address to which all | 4 IO_SPACE_LIMIT"
ports are being mapped. Ralink I/O space has a mapping of bus address | 5 Revert "staging: mt7621-pci: set end limit for 'ioport_resource'"
equal to the window into the mmio space, with an offset of IO start range | 6 MIPS: ralink: set PCI_IOBASE to 'mips_io_port_base'
cpu address. This means that to have this working we need: | 7 PCI: Allow architecture-specific pci_remap_iospace()
- linux port numbers in the range 0-0xffff. | 8 MIPS: implement architecture-specific 'pci_remap_iospace()'
- pci port numbers in the range 0-0xffff. | 9 staging: mt7621-pci: properly adjust base address for the IO window
- io_offset being zero. | 10
These means at the end to have bus address 0 mapped to IO range cpu address. | 12 arch/mips/include/asm/pci.h | 2 ++
We need a way of properly set 'mips_io_port_base' with a virtually mapped | 13 arch/mips/pci/pci-generic.c | 9 +++++++++
value of the IO cpu address. | 14 drivers/pci/pci.c | 2 ++
This series do the following approach: | 16 5 files changed, 17 insertions(+), 4 deletions(-)
1) Revert two bad commit from a previous attempt of make this work [0]. | 17
2) Set PCI_IOBASE to mips 'mips_io_port_base'. | 18 --
3) Allow architecture dependent 'pci_remap_iospace'. | 19 2.25.1
4) Implement 'pci_remap_iospace' for MIPS. | 20
5) Be sure IOBASE address for IO window is set with correct value. |~
More context about this series appoach in this mail thread [1]. |~
Patches related with reverts are from this merge cycle so they are only
added to the staging git tree. So to have all stuff together I'd like to
get everybody Ack's to get all of this series through staging tree if
possible :).
Thanks in advance for your time. |~
Changes in v2:
- re-do commit messages for PCI patch as Bjorn pointed out in previous series.
- Add Bjorn's Acked-by for PCI subsystem patch.
- Re-do commit message of MIPS 'pci_remap_iospace()' patch to align with changes
in the PCI patch (s/architecture dependent/architecture-specific/)
- Add Fixes-by tag for MIPS set PCI_IOBASE patch.
[0]: https://www.spinics.net/lists/kernel/msg4051474.html |~
[1]: https://lkml.org/lkml/2021/9/22/6
Sergio Paracuellos (6):
Revert "MIPS: ralink: don't define PC_IOBASE but increase
IO_SPACE_LIMIT"
Revert "staging: mt7621-pci: set end limit for 'ioport_resource'"
MIPS: ralink: set PCI_IOBASE to 'mips_io_port_base'
PCI: Allow architecture-specific pci_remap_iospace()
MIPS: implement architecture-specific 'pci_remap_iospace()'
staging: mt7621-pci: properly adjust base address for the IO window
arch/mips/include/asm/mach-ralink/spaces.h | 4 +++-
arch/mips/include/asm/pci.h | 2 ++
arch/mips/pci/pci-generic.c | 9 +++++++++
drivers/pci/pci.c | 2 ++
drivers/staging/mt7621-pci/pci-mt7621.c | 4 +---
5 files changed, 17 insertions(+), 4 deletions(-)
--
2.25.1
next reply other threads:[~2021-09-25 8:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-25 8:46 Sergio Paracuellos [this message]
2021-09-25 8:46 ` [PATCH v2 1/6] Revert "MIPS: ralink: don't define PC_IOBASE but increase IO_SPACE_LIMIT" Sergio Paracuellos
2021-09-25 8:46 ` [PATCH v2 2/6] Revert "staging: mt7621-pci: set end limit for 'ioport_resource'" Sergio Paracuellos
2021-09-25 8:46 ` [PATCH v2 3/6] MIPS: ralink: set PCI_IOBASE to 'mips_io_port_base' Sergio Paracuellos
2021-09-25 8:46 ` [PATCH v2 4/6] PCI: Allow architecture-specific pci_remap_iospace() Sergio Paracuellos
2021-09-25 8:46 ` [PATCH v2 5/6] MIPS: implement architecture-specific 'pci_remap_iospace()' Sergio Paracuellos
2021-09-25 8:46 ` [PATCH v2 6/6] staging: mt7621-pci: properly adjust base address for the IO window Sergio Paracuellos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210925084642.5642-1-sergio.paracuellos@gmail.com \
--to=sergio.paracuellos@gmail.com \
--cc=Liviu.Dudau@arm.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=matthias.bgg@gmail.com \
--cc=neil@brown.name \
--cc=robh@kernel.org \
--cc=tsbogend@alpha.franken.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®