[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0gnf6rDYtKLBNfKjC=g3W=2XUed_R=AO+GeGYuubP_zWw@mail.gmail.com>
Date: Tue, 6 Mar 2018 16:30:03 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: John Garry <john.garry@...wei.com>
Cc: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Hanjun Guo <hanjun.guo@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Arnd Bergmann <arnd@...db.de>,
Mark Rutland <mark.rutland@....com>,
Olof Johansson <olof@...om.net>,
Dann Frazier <dann.frazier@...onical.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Rob Herring <robh@...nel.org>, Joe Perches <joe@...ches.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Linux PCI <linux-pci@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Linuxarm <linuxarm@...wei.com>, Corey Minyard <minyard@....org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
linux-arch <linux-arch@...r.kernel.org>,
Randy Dunlap <rdunlap@...radead.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Frank Rowand <frowand.list@...il.com>,
Alexander Graf <agraf@...e.de>
Subject: Re: [PATCH v16 0/9] LPC: legacy ISA I/O support
On Tue, Mar 6, 2018 at 12:36 PM, John Garry <john.garry@...wei.com> wrote:
> On 06/03/2018 11:21, Andy Shevchenko wrote:
>>
>> On Tue, 2018-03-06 at 18:47 +0800, John Garry wrote:
>>>
>>> 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.
>>>
>>
>>> V15 thread here: https://lkml.org/lkml/2018/2/26/584
>>
>>
>> Thanks for an update.
>> Though I answered to previous thread.
>>
>> Summary: I'm fine with the series as long as maintainers are fine
>> (Rafael et al.). On personal side I think that the handler approach is
>> better. Details are in v15 thread.
>
>
> Hi Andy,
>
> Thanks for your input and continued support. As I mentioned in reply in v15,
> the handler support would (or has) faced issues. And Rafael seems fine with
> deferring the probe to the LLDD in Patch #7/9
Well, the only sort-of concern is that these devices may not be
"serial bus slaves" in general, so the naming is slightly confusing.
But overall this approach and the one based on a scan handler both
boil down to checking a (list of) device ID(s) and doing something
special in case of a match.
Powered by blists - more mailing lists