Message ID | 20230404182037.863533-6-sunilvl@ventanamicro.com |
---|---|
State | Superseded |
Headers | show |
Series | Add basic ACPI support for RISC-V | expand |
Sunil V L <sunilvl@ventanamicro.com> writes: > Without this, if the tables are larger than 4K, > acpi_map() will fail. > > Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > drivers/acpi/osl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index 3269a888fb7a..f725813d0cce 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -276,7 +276,7 @@ acpi_map_lookup_virt(void __iomem *virt, acpi_size size) > return NULL; > } > > -#if defined(CONFIG_IA64) || defined(CONFIG_ARM64) > +#if defined(CONFIG_IA64) || defined(CONFIG_ARM64) || defined(CONFIG_RISCV) > /* ioremap will take care of cache attributes */ > #define should_use_kmap(pfn) 0 An observation, which can be addressed later; The acpi_os_ioremap() (called when the config above is enabled for RV), does not have an arch specific implementation for RISC-V. The generic one calls ioremap_cached(), which on RISC-V defaults to ioremap() -- caching disabled/_PAGE_IO. That is probably not what we want, but rather something similar that arm64 does. Björn
Hi Bjorn, On Wed, Apr 26, 2023 at 06:47:20PM +0200, Björn Töpel wrote: > Sunil V L <sunilvl@ventanamicro.com> writes: > > > Without this, if the tables are larger than 4K, > > acpi_map() will fail. > > > > Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> > > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > --- > > drivers/acpi/osl.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > > index 3269a888fb7a..f725813d0cce 100644 > > --- a/drivers/acpi/osl.c > > +++ b/drivers/acpi/osl.c > > @@ -276,7 +276,7 @@ acpi_map_lookup_virt(void __iomem *virt, acpi_size size) > > return NULL; > > } > > > > -#if defined(CONFIG_IA64) || defined(CONFIG_ARM64) > > +#if defined(CONFIG_IA64) || defined(CONFIG_ARM64) || defined(CONFIG_RISCV) > > /* ioremap will take care of cache attributes */ > > #define should_use_kmap(pfn) 0 > > An observation, which can be addressed later; The acpi_os_ioremap() > (called when the config above is enabled for RV), does not have an arch > specific implementation for RISC-V. The generic one calls > ioremap_cached(), which on RISC-V defaults to ioremap() -- caching > disabled/_PAGE_IO. > > That is probably not what we want, but rather something similar that > arm64 does. > Actually, for RISC-V acpi_os_ioremap() is currently a wrapper around memremap(). Sure, this can be enhanced in future if required. Thanks, Sunil
Sunil V L <sunilvl@ventanamicro.com> writes: >> An observation, which can be addressed later; The acpi_os_ioremap() >> (called when the config above is enabled for RV), does not have an arch >> specific implementation for RISC-V. The generic one calls >> ioremap_cached(), which on RISC-V defaults to ioremap() -- caching >> disabled/_PAGE_IO. >> >> That is probably not what we want, but rather something similar that >> arm64 does. >> > Actually, for RISC-V acpi_os_ioremap() is currently a wrapper around > memremap(). Sure, this can be enhanced in future if required. Yeah, realized that when I continued thru the series! Thanks for clearing it up!
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 3269a888fb7a..f725813d0cce 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -276,7 +276,7 @@ acpi_map_lookup_virt(void __iomem *virt, acpi_size size) return NULL; } -#if defined(CONFIG_IA64) || defined(CONFIG_ARM64) +#if defined(CONFIG_IA64) || defined(CONFIG_ARM64) || defined(CONFIG_RISCV) /* ioremap will take care of cache attributes */ #define should_use_kmap(pfn) 0 #else