Re: [PATCH v14 0/9] LPC: legacy ISA I/O support
From: John Garry <hidden>
Date: 2018-02-20 15:41:47
Also in:
linux-arch, linux-pci, lkml
On 20/02/2018 14:54, Andy Shevchenko wrote:
On Mon, Feb 19, 2018 at 7:48 PM, John Garry [off-list ref] wrote:quoted
quoted
This patchset supports the IPMI-bt device attached to the Low-Pin-Count interface implemented on Hisilicon Hip06/Hip07 SoC. ----------- | LPC host| | | ----------- | _____________V_______________LPC | | V V ------------ | BT(ipmi)| ------------ When master accesses those peripherals beneath the Hip06/Hip07 LPC, a specific LPC driver is needed to make LPC host generate the standard LPC I/O cycles with the target peripherals'I/O port addresses. But on curent arm64 world, there is no real I/O accesses. All the I/O operations through in/out accessors are based on MMIO ranges; on Hip06/Hip07 LPC the I/O accesses are performed through driver specific accessors rather than MMIO. To solve this issue and keep the relevant existing peripherals' drivers untouched, this patchset: - introduces a generic I/O space management framework, logical PIO, to support I/O operations on host controllers operating either on MMIO buses or on buses requiring specific driver I/O accessors; - redefines the in/out accessors to provide a unified interface for both MMIO and driver specific I/O operations. Using logical PIO, th call of in/out() from the host children drivers, such as ipmi-si, will be redirected to the corresponding device-specific I/O hooks to perform the I/O accesses. Based on this patch-set, all the I/O accesses to Hip06/Hip07 LPC peripherals can be supported without any changes on the existing ipmi-si driver. The whole patchset has been tested on Hip07 D05 board both using DTB and ACPI. Differences to v13: - dropped ACPI scan handler and added patch to not enumerate children of indirect IO hosts in ACPI code - tidied up logic_pio.c a bit for kerneldoc and made some APIs clearer to understand - tided (and simplified) hisi_lpc.c and added new ACPI probe code (same as previous ACPI scan handler code, so comments from Rafael and Andy included) - reinstated PCI range upper limit check in pci_pio_to_address() - dropped Dann Frazier's "tested-by" tag in light of changes - rebase to linuxnext 20180219 (had to fix locally arm64 build issue)Some minor comments per patches, otherwise FWIW Reviewed-by: Andy Shevchenko <redacted>
Thanks, the comments in the other 2 patches I did not reply to are ok. John