diff mbox series

[v2,11/11] platform: generic: Populate domains from FDT

Message ID 20201204155224.733188-12-anup.patel@wdc.com
State Accepted
Headers show
Series OpenSBI domain configuration using device tree | expand

Commit Message

Anup Patel Dec. 4, 2020, 3:52 p.m. UTC
The generic platform should populate domains from FDT using the
domain FDT helper routines.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
---
 platform/generic/platform.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Anup Patel Dec. 5, 2020, 9:51 a.m. UTC | #1
> -----Original Message-----
> From: Anup Patel <Anup.Patel@wdc.com>
> Sent: 04 December 2020 21:22
> To: Atish Patra <Atish.Patra@wdc.com>; Alistair Francis
> <Alistair.Francis@wdc.com>
> Cc: Anup Patel <anup@brainfault.org>; opensbi@lists.infradead.org; Anup
> Patel <Anup.Patel@wdc.com>
> Subject: [PATCH v2 11/11] platform: generic: Populate domains from FDT
> 
> The generic platform should populate domains from FDT using the domain
> FDT helper routines.
> 
> Signed-off-by: Anup Patel <anup.patel@wdc.com>
> Reviewed-by: Atish Patra <atish.patra@wdc.com>
> ---
>  platform/generic/platform.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/platform/generic/platform.c b/platform/generic/platform.c index
> abb696a..6c93a51 100644
> --- a/platform/generic/platform.c
> +++ b/platform/generic/platform.c
> @@ -13,6 +13,7 @@
>  #include <sbi/sbi_hartmask.h>
>  #include <sbi/sbi_platform.h>
>  #include <sbi/sbi_string.h>
> +#include <sbi_utils/fdt/fdt_domain.h>
>  #include <sbi_utils/fdt/fdt_fixup.h>
>  #include <sbi_utils/fdt/fdt_helper.h>
>  #include <sbi_utils/irqchip/fdt_irqchip.h> @@ -148,6 +149,7 @@ static int
> generic_final_init(bool cold_boot)
> 
>  	fdt_cpu_fixup(fdt);
>  	fdt_fixups(fdt);
> +	fdt_domain_fixup(fdt);
> 
>  	if (generic_plat && generic_plat->fdt_fixup) {
>  		rc = generic_plat->fdt_fixup(fdt, generic_plat_match); @@ -
> 170,6 +172,11 @@ static void generic_final_exit(void)
>  		generic_plat->final_exit(generic_plat_match);
>  }
> 
> +static int generic_domains_init(void)
> +{
> +	return fdt_domains_populate(sbi_scratch_thishart_arg1_ptr());
> +}
> +
>  static u64 generic_tlbr_flush_limit(void)  {
>  	if (generic_plat && generic_plat->tlbr_flush_limit) @@ -202,6 +209,8
> @@ const struct sbi_platform_operations platform_ops = {
>  	.final_init		= generic_final_init,
>  	.early_exit		= generic_early_exit,
>  	.final_exit		= generic_final_exit,
> +	.domains_init		= generic_domains_init,
> +	.domain_get		= fdt_domain_get,
>  	.console_putc		= fdt_serial_putc,
>  	.console_getc		= fdt_serial_getc,
>  	.console_init		= fdt_serial_init,
> --
> 2.25.1

Applied this patch to the riscv/opensbi repo.

Regards,
Anup
diff mbox series

Patch

diff --git a/platform/generic/platform.c b/platform/generic/platform.c
index abb696a..6c93a51 100644
--- a/platform/generic/platform.c
+++ b/platform/generic/platform.c
@@ -13,6 +13,7 @@ 
 #include <sbi/sbi_hartmask.h>
 #include <sbi/sbi_platform.h>
 #include <sbi/sbi_string.h>
+#include <sbi_utils/fdt/fdt_domain.h>
 #include <sbi_utils/fdt/fdt_fixup.h>
 #include <sbi_utils/fdt/fdt_helper.h>
 #include <sbi_utils/irqchip/fdt_irqchip.h>
@@ -148,6 +149,7 @@  static int generic_final_init(bool cold_boot)
 
 	fdt_cpu_fixup(fdt);
 	fdt_fixups(fdt);
+	fdt_domain_fixup(fdt);
 
 	if (generic_plat && generic_plat->fdt_fixup) {
 		rc = generic_plat->fdt_fixup(fdt, generic_plat_match);
@@ -170,6 +172,11 @@  static void generic_final_exit(void)
 		generic_plat->final_exit(generic_plat_match);
 }
 
+static int generic_domains_init(void)
+{
+	return fdt_domains_populate(sbi_scratch_thishart_arg1_ptr());
+}
+
 static u64 generic_tlbr_flush_limit(void)
 {
 	if (generic_plat && generic_plat->tlbr_flush_limit)
@@ -202,6 +209,8 @@  const struct sbi_platform_operations platform_ops = {
 	.final_init		= generic_final_init,
 	.early_exit		= generic_early_exit,
 	.final_exit		= generic_final_exit,
+	.domains_init		= generic_domains_init,
+	.domain_get		= fdt_domain_get,
 	.console_putc		= fdt_serial_putc,
 	.console_getc		= fdt_serial_getc,
 	.console_init		= fdt_serial_init,