Messages in this thread | | | Subject | Re: [PATCH 3/4] lib: logic_pio: Introduce MMIO_LOWER_RESERVED | From | John Garry <> | Date | Mon, 27 Apr 2020 11:43:09 +0100 |
| |
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.
Carving out a region of IO space is less than ideal.
Thanks, John
> > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.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; > >
| |