[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6946ae6b-814c-4916-9428-e823c83aed3d@o2.pl>
Date: Tue, 14 Jan 2025 19:42:42 +0100
From: Mateusz Jończyk <mat.jonczyk@...pl>
To: Jiaxun Yang <jiaxun.yang@...goat.com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Arnd Bergmann <arnd@...db.de>, Baoquan He <bhe@...hat.com>
Cc: linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [PATCH] MIPS: pci-legacy: Override pci_address_to_pio
W dniu 14.01.2025 o 19:11, Jiaxun Yang pisze:
> pci-legacy systems are not using logic_pio to managed PIO
> allocations, thus the generic pci_address_to_pio won't work
> when PCI_IOBASE is defined.
>
> Override the function to use architecture implementation to
> fix the problem.
>
> Cc: stable@...r.kernel.org
> Fixes: 4bfb53e7d317 ("mips: add <asm-generic/io.h> including")
> Reported-by: Mateusz Jończyk <mat.jonczyk@...pl>
> Closes: https://lore.kernel.org/r/99f75c66-4c2d-45dc-a808-b5ba440c7551@app.fastmail.com/
> Signed-off-by: Jiaxun Yang <jiaxun.yang@...goat.com>
> ---
> This is a quick fix for fixes tree and stable backporting.
> In long term, we should get logic_pio accept fixed mapping,
> and make PCI core code aware of platforms not using vmap
> for PCI_IOBASE.
> ---
> arch/mips/pci/pci-legacy.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/mips/pci/pci-legacy.c b/arch/mips/pci/pci-legacy.c
> index ec2567f8efd83bff7b106cbbd9ec7a6de0308c4c..66898fd182dc1fec1d1e9ae4c908873d59777182 100644
> --- a/arch/mips/pci/pci-legacy.c
> +++ b/arch/mips/pci/pci-legacy.c
> @@ -29,6 +29,14 @@ static LIST_HEAD(controllers);
>
> static int pci_initialized;
>
> +unsigned long pci_address_to_pio(phys_addr_t address)
> +{
> + if (address > IO_SPACE_LIMIT)
> + return (unsigned long)-1;
> +
> + return (unsigned long) address;
> +}
> +
Hello,
Thank you for this patch, I'm testing it right now.
Shouldn't this be #ifndef-ed CONFIG_MACH_LOONGSON64 and perhaps
CONFIG_RALINK?
Loongson64 explicitly calls logic_pio_register_range(), so seems not to
need this. Ralink also
defined PCI_IOBASE a long time ago.
Greetings,
Mateusz
Powered by blists - more mailing lists