Re: [PATCH] MIPS: pci-legacy: Override pci_address_to_pio

From: Mateusz Jończyk
Date: Sun Jan 19 2025 - 06:49:26 EST


W dniu 14.01.2025 o 19:42, Mateusz Jończyk pisze:
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@xxxxxxxxxxxxxxx
Fixes: 4bfb53e7d317 ("mips: add <asm-generic/io.h> including")
Reported-by: Mateusz Jończyk <mat.jonczyk@xxxxx>
Closes: https://lore.kernel.org/r/99f75c66-4c2d-45dc-a808-b5ba440c7551@xxxxxxxxxxxxxxxx/
Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>

Hello,

Tested on:

- mips64el, QEMU malta - RTC is working, no suspicious warnings in dmesg,

- mipsel, QEMU malta - RTC is working, no suspicious warnings in dmesg,

- fuloong2e_defconfig, in QEMU on Ubuntu 24.04 - kernel does not boot, with or without this patch:

        [...]
        pps_core: LinuxPPS API ver. 1 registered
        pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@xxxxxxxx>
        PTP clock support registered
        PCI host bridge to bus 0000:00
        pci_bus 0000:00: root bus resource [mem 0x14000000-0x1c000000]
        pci_bus 0000:00: root bus resource [io  0x4000-0xffff]
        pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
        pci 0000:00:00.0: [df53:00d5] type 00 class 0x060000 conventional PCI endpoint
        pci 0000:00:05.0: [1106:0686] type 00 class 0x060100 conventional PCI endpoint
        qemu-system-mips64el: hw/pci/pci.c:297: pci_bus_change_irq_level: Assertion `irq_num < bus->nirq' failed.

- loongson3_defconfig, in QEMU (target loongson3-virt) - no important differences in dmesg output, but this
  platform does not use RTC CMOS, but a Goldfish RTC,

Greetings,

Mateusz