[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <42432F7C-D859-48B4-9547-A61BD22EFEEF@flygoat.com>
Date: Mon, 27 Apr 2020 19:03:40 +0800
From: Jiaxun Yang <jiaxun.yang@...goat.com>
To: John Garry <john.garry@...wei.com>, linux-mips@...r.kernel.org
CC: Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Huacai Chen <chenhc@...ote.com>,
Paul Burton <paulburton@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Stephen Kitt <steve@....org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Serge Semin <fancer.lancer@...il.com>,
Anshuman Khandual <anshuman.khandual@....com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Daniel Silsby <dansilsby@...il.com>,
Mike Rapoport <rppt@...ux.ibm.com>,
Paul Cercueil <paul@...pouillou.net>,
Mark Tomlinson <mark.tomlinson@...iedtelesis.co.nz>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Allison Randal <allison@...utok.net>,
Tiezhu Yang <yangtiezhu@...ngson.cn>,
Wei Xu <xuwei5@...ilicon.com>, linux-kernel@...r.kernel.org,
Arnd Bergmann <arnd@...db.de>, Linuxarm <linuxarm@...wei.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Rob Herring <robh@...nel.org>
Subject: Re: [PATCH 3/4] lib: logic_pio: Introduce MMIO_LOWER_RESERVED
于 2020年4月27日 GMT+08:00 下午6:43:09, John Garry <john.garry@...wei.com> 写到:
>On 26/04/2020 12:47, Jiaxun Yang wrote:
>> That would allow platforms reserve some lower address in PIO MMIO range
>> to deal with legacy drivers with hardcoded I/O ports that can't be
>> managed by logic_pio.
>
>Hi,
>
>Is there some reason why the logic_pio code cannot be improved to handle
>these devices at these "fixed" addresses? Or do you have a plan to
>improve it? We already support fixed bus address devices in the INDIRECT
>IO region.
Hi,
The issue about "Fixed Address" is we can't control the ioport
That driver used to operate devices.
So any attempt to resolve it in logic_pio seems impossible.
Currently we have i8259, i8042, piix4_smbus, mc146818 rely on this assumption.
My plan is after getting this part merged, I'm going to work on a ISA Host bridge driver,
then convert device drivers into logic_pio and Devicetree based driver step by step.
Finally when we nologner have any legacy driver, we can safely remove this reserved
range.
Thanks.
>
>Carving out a region of IO space is less than ideal.
>
>Thanks,
>John
>
>>
>> Signed-off-by: Jiaxun Yang <jiaxun.yang@...goat.com>
>> ---
>> lib/logic_pio.c | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/logic_pio.c b/lib/logic_pio.c
>> index f511a99bb389..57fff1cb7063 100644
>> --- a/lib/logic_pio.c
>> +++ b/lib/logic_pio.c
>> @@ -20,6 +20,10 @@
>> static LIST_HEAD(io_range_list);
>> static DEFINE_MUTEX(io_range_mutex);
>>
>> +#ifndef MMIO_LOWER_RESERVED
>> +#define MMIO_LOWER_RESERVED 0
>> +#endif
>> +
>> /* Consider a kernel general helper for this */
>> #define in_range(b, first, len) ((b) >= (first) && (b) < (first) + (len))
>>
>> @@ -36,7 +40,7 @@ int logic_pio_register_range(struct logic_pio_hwaddr *new_range)
>> struct logic_pio_hwaddr *range;
>> resource_size_t start;
>> resource_size_t end;
>> - resource_size_t mmio_end = 0;
>> + resource_size_t mmio_end = MMIO_LOWER_RESERVED;
>> resource_size_t iio_sz = MMIO_UPPER_LIMIT;
>> int ret = 0;
>>
>>
>
--
Jiaxun Yang
Powered by blists - more mailing lists