diff mbox series

riscv: Kconfig.errata: Add dependency for RISCV_SBI in ERRATA_ANDES config

Message ID 20230901110320.312674-1-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive)
State Accepted
Commit 005846ea72654b3989b024de44e25fb18d235360
Headers show
Series riscv: Kconfig.errata: Add dependency for RISCV_SBI in ERRATA_ANDES config | expand

Checks

Context Check Description
conchuod/cover_letter success Single patches do not need cover letters
conchuod/tree_selection success Guessed tree name to be for-next at HEAD 9a1d204f5c57
conchuod/fixes_present success Fixes tag not required for -next series
conchuod/maintainers_pattern success MAINTAINERS pattern errors before the patch: 2 and now 2
conchuod/verify_signedoff success Signed-off-by tag matches author and committer
conchuod/kdoc success Errors and warnings before: 0 this patch: 0
conchuod/build_rv64_clang_allmodconfig success Errors and warnings before: 9 this patch: 9
conchuod/module_param success Was 0 now: 0
conchuod/build_rv64_gcc_allmodconfig success Errors and warnings before: 9 this patch: 9
conchuod/build_rv32_defconfig success Build OK
conchuod/dtb_warn_rv64 success Errors and warnings before: 39 this patch: 39
conchuod/header_inline success No static functions without inline keyword in header files
conchuod/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
conchuod/build_rv64_nommu_k210_defconfig success Build OK
conchuod/verify_fixes success No Fixes tag
conchuod/build_rv64_nommu_virt_defconfig success Build OK

Commit Message

Lad, Prabhakar Sept. 1, 2023, 11:03 a.m. UTC
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
avoid any build failures.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
 arch/riscv/Kconfig.errata | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Geert Uytterhoeven Sept. 1, 2023, 11:47 a.m. UTC | #1
On Fri, Sep 1, 2023 at 1:03 PM Prabhakar <prabhakar.csengg@gmail.com> wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
> Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> avoid any build failures.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
Randy Dunlap Sept. 1, 2023, 8:27 p.m. UTC | #2
Hi,

On 9/1/23 04:03, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> avoid any build failures.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
>  arch/riscv/Kconfig.errata | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
> index bee5d838763b..566bcefeab50 100644
> --- a/arch/riscv/Kconfig.errata
> +++ b/arch/riscv/Kconfig.errata
> @@ -2,7 +2,7 @@ menu "CPU errata selection"
>  
>  config ERRATA_ANDES
>  	bool "Andes AX45MP errata"
> -	depends on RISCV_ALTERNATIVE
> +	depends on RISCV_ALTERNATIVE && RISCV_SBI
>  	help
>  	  All Andes errata Kconfig depend on this Kconfig. Disabling
>  	  this Kconfig will disable all Andes errata. Please say "Y"


I'm still seeing build warnings/errors after applying all 3 RISC-V
Kconfig patches from today (2023 SEP 01).

WARNING: unmet direct dependencies detected for ERRATA_ANDES
  Depends on [n]: RISCV_ALTERNATIVE [=y] && RISCV_SBI [=n]
  Selected by [y]:
  - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y]

../arch/riscv/errata/andes/errata.c: In function 'ax45mp_iocp_sw_workaround':
../arch/riscv/errata/andes/errata.c:29:23: error: storage size of 'ret' isn't known
   29 |         struct sbiret ret;
      |                       ^~~
../arch/riscv/errata/andes/errata.c:35:15: error: implicit declaration of function 'sbi_ecall' [-Werror=implicit-function-declaration]
   35 |         ret = sbi_ecall(ANDESTECH_SBI_EXT_ANDES, ANDES_SBI_EXT_IOCP_SW_WORKAROUND,
      |               ^~~~~~~~~
../arch/riscv/errata/andes/errata.c:29:23: warning: unused variable 'ret' [-Wunused-variable]
   29 |         struct sbiret ret;
      |                       ^~~

ARCH_R9A07G043 in drivers/soc/renesas/Kconfig selects ERRATA_ANDES and
ERRATA_ANDES_CMO even though RISCV_SBI is not set/enabled.
Lad, Prabhakar Sept. 1, 2023, 9:12 p.m. UTC | #3
Hi Randy,

On Fri, Sep 1, 2023 at 9:27 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>
> Hi,
>
> On 9/1/23 04:03, Prabhakar wrote:
> > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> >
> > Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> > enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> > avoid any build failures.
> >
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > ---
> >  arch/riscv/Kconfig.errata | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
> > index bee5d838763b..566bcefeab50 100644
> > --- a/arch/riscv/Kconfig.errata
> > +++ b/arch/riscv/Kconfig.errata
> > @@ -2,7 +2,7 @@ menu "CPU errata selection"
> >
> >  config ERRATA_ANDES
> >       bool "Andes AX45MP errata"
> > -     depends on RISCV_ALTERNATIVE
> > +     depends on RISCV_ALTERNATIVE && RISCV_SBI
> >       help
> >         All Andes errata Kconfig depend on this Kconfig. Disabling
> >         this Kconfig will disable all Andes errata. Please say "Y"
>
>
> I'm still seeing build warnings/errors after applying all 3 RISC-V
> Kconfig patches from today (2023 SEP 01).
>
> WARNING: unmet direct dependencies detected for ERRATA_ANDES
>   Depends on [n]: RISCV_ALTERNATIVE [=y] && RISCV_SBI [=n]
>   Selected by [y]:
>   - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y]
>
> ../arch/riscv/errata/andes/errata.c: In function 'ax45mp_iocp_sw_workaround':
> ../arch/riscv/errata/andes/errata.c:29:23: error: storage size of 'ret' isn't known
>    29 |         struct sbiret ret;
>       |                       ^~~
> ../arch/riscv/errata/andes/errata.c:35:15: error: implicit declaration of function 'sbi_ecall' [-Werror=implicit-function-declaration]
>    35 |         ret = sbi_ecall(ANDESTECH_SBI_EXT_ANDES, ANDES_SBI_EXT_IOCP_SW_WORKAROUND,
>       |               ^~~~~~~~~
> ../arch/riscv/errata/andes/errata.c:29:23: warning: unused variable 'ret' [-Wunused-variable]
>    29 |         struct sbiret ret;
>       |                       ^~~
>
> ARCH_R9A07G043 in drivers/soc/renesas/Kconfig selects ERRATA_ANDES and
> ERRATA_ANDES_CMO even though RISCV_SBI is not set/enabled.
>

You need to apply patch [1] aswell.

[1] https://patchwork.kernel.org/project/linux-riscv/patch/20230901110936.313171-1-prabhakar.mahadev-lad.rj@bp.renesas.com/

Cheers,
Prabhakar
Randy Dunlap Sept. 2, 2023, 12:47 a.m. UTC | #4
Hi,
Thanks for your help.

On 9/1/23 14:12, Lad, Prabhakar wrote:
> Hi Randy,
> 
> On Fri, Sep 1, 2023 at 9:27 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>>
>> Hi,
>>
>> On 9/1/23 04:03, Prabhakar wrote:
>>> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>>>
>>> Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
>>> enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
>>> avoid any build failures.
>>>
>>> Reported-by: kernel test robot <lkp@intel.com>
>>> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
>>> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>>> ---
>>>  arch/riscv/Kconfig.errata | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
>>> index bee5d838763b..566bcefeab50 100644
>>> --- a/arch/riscv/Kconfig.errata
>>> +++ b/arch/riscv/Kconfig.errata
>>> @@ -2,7 +2,7 @@ menu "CPU errata selection"
>>>
>>>  config ERRATA_ANDES
>>>       bool "Andes AX45MP errata"
>>> -     depends on RISCV_ALTERNATIVE
>>> +     depends on RISCV_ALTERNATIVE && RISCV_SBI
>>>       help
>>>         All Andes errata Kconfig depend on this Kconfig. Disabling
>>>         this Kconfig will disable all Andes errata. Please say "Y"
>>
>>
>> I'm still seeing build warnings/errors after applying all 3 RISC-V
>> Kconfig patches from today (2023 SEP 01).
>>
>> WARNING: unmet direct dependencies detected for ERRATA_ANDES
>>   Depends on [n]: RISCV_ALTERNATIVE [=y] && RISCV_SBI [=n]
>>   Selected by [y]:
>>   - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y]
>>
>> ../arch/riscv/errata/andes/errata.c: In function 'ax45mp_iocp_sw_workaround':
>> ../arch/riscv/errata/andes/errata.c:29:23: error: storage size of 'ret' isn't known
>>    29 |         struct sbiret ret;
>>       |                       ^~~
>> ../arch/riscv/errata/andes/errata.c:35:15: error: implicit declaration of function 'sbi_ecall' [-Werror=implicit-function-declaration]
>>    35 |         ret = sbi_ecall(ANDESTECH_SBI_EXT_ANDES, ANDES_SBI_EXT_IOCP_SW_WORKAROUND,
>>       |               ^~~~~~~~~
>> ../arch/riscv/errata/andes/errata.c:29:23: warning: unused variable 'ret' [-Wunused-variable]
>>    29 |         struct sbiret ret;
>>       |                       ^~~
>>
>> ARCH_R9A07G043 in drivers/soc/renesas/Kconfig selects ERRATA_ANDES and
>> ERRATA_ANDES_CMO even though RISCV_SBI is not set/enabled.
>>
> 
> You need to apply patch [1] aswell.
> 
> [1] https://patchwork.kernel.org/project/linux-riscv/patch/20230901110936.313171-1-prabhakar.mahadev-lad.rj@bp.renesas.com/

I tested the failing builds that I had - after applying all 4 patches only,
not each patch separately.

If that is satisfactory, you can add
Tested-by: Randy Dunlap <rdunlap@infradead.org>

Thanks.
Conor Dooley Sept. 2, 2023, 8:20 a.m. UTC | #5
On 1 September 2023 12:03:20 IST, Prabhakar <prabhakar.csengg@gmail.com> wrote:
>From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
>Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
>enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
>avoid any build failures.
>
>Reported-by: kernel test robot <lkp@intel.com>
>Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
>Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

This one needs to grow the same fixes tag.
Ideally the whole lot of kconfig bits would be in a series IMO.

>---
> arch/riscv/Kconfig.errata | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
>index bee5d838763b..566bcefeab50 100644
>--- a/arch/riscv/Kconfig.errata
>+++ b/arch/riscv/Kconfig.errata
>@@ -2,7 +2,7 @@ menu "CPU errata selection"
> 
> config ERRATA_ANDES
> 	bool "Andes AX45MP errata"
>-	depends on RISCV_ALTERNATIVE
>+	depends on RISCV_ALTERNATIVE && RISCV_SBI
> 	help
> 	  All Andes errata Kconfig depend on this Kconfig. Disabling
> 	  this Kconfig will disable all Andes errata. Please say "Y"
Conor Dooley Sept. 2, 2023, 11:02 a.m. UTC | #6
On Fri, Sep 01, 2023 at 12:03:20PM +0100, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> avoid any build failures.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Replied here earlier, but pressed the wrong key & it only went to the
list.
I think this patch probably also needs to grow a Fixes tag, for
commit f2863f30d1b0 ("riscv: errata: Add Andes alternative ports").

The 4 Kconfig patches ideally would've been in a series, since 3 of the
4 seem to be fixes & the 4th depends on one of the fixes being applied.

Thaks,
Conor.

> ---
>  arch/riscv/Kconfig.errata | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
> index bee5d838763b..566bcefeab50 100644
> --- a/arch/riscv/Kconfig.errata
> +++ b/arch/riscv/Kconfig.errata
> @@ -2,7 +2,7 @@ menu "CPU errata selection"
>  
>  config ERRATA_ANDES
>  	bool "Andes AX45MP errata"
> -	depends on RISCV_ALTERNATIVE
> +	depends on RISCV_ALTERNATIVE && RISCV_SBI
>  	help
>  	  All Andes errata Kconfig depend on this Kconfig. Disabling
>  	  this Kconfig will disable all Andes errata. Please say "Y"
> -- 
> 2.34.1
> 
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
Lad, Prabhakar Sept. 5, 2023, 7:52 a.m. UTC | #7
Hi Conor,

On Sat, Sep 2, 2023 at 12:02 PM Conor Dooley <conor@kernel.org> wrote:
>
> On Fri, Sep 01, 2023 at 12:03:20PM +0100, Prabhakar wrote:
> > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> >
> > Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> > enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> > avoid any build failures.
> >
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
> Replied here earlier, but pressed the wrong key & it only went to the
> list.
> I think this patch probably also needs to grow a Fixes tag, for
> commit f2863f30d1b0 ("riscv: errata: Add Andes alternative ports").
>
> The 4 Kconfig patches ideally would've been in a series, since 3 of the
> 4 seem to be fixes & the 4th depends on one of the fixes being applied.
>
My bad I should i've posted them as a series.

Cheers,
Prabhakar
patchwork-bot+linux-riscv@kernel.org Sept. 6, 2023, 2:50 a.m. UTC | #8
Hello:

This patch was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:

On Fri,  1 Sep 2023 12:03:20 +0100 you wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> avoid any build failures.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> [...]

Here is the summary with links:
  - riscv: Kconfig.errata: Add dependency for RISCV_SBI in ERRATA_ANDES config
    https://git.kernel.org/riscv/c/005846ea7265

You are awesome, thank you!
diff mbox series

Patch

diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
index bee5d838763b..566bcefeab50 100644
--- a/arch/riscv/Kconfig.errata
+++ b/arch/riscv/Kconfig.errata
@@ -2,7 +2,7 @@  menu "CPU errata selection"
 
 config ERRATA_ANDES
 	bool "Andes AX45MP errata"
-	depends on RISCV_ALTERNATIVE
+	depends on RISCV_ALTERNATIVE && RISCV_SBI
 	help
 	  All Andes errata Kconfig depend on this Kconfig. Disabling
 	  this Kconfig will disable all Andes errata. Please say "Y"