From: Geert Uytterhoeven <geert@linux-m68k.org>
To: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
Cc: Conor Dooley <conor.dooley@microchip.com>,
kernel test robot <lkp@intel.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Palmer Dabbelt <palmer@rivosinc.com>
Subject: Re: [WARNING: ATTACHMENT UNSCANNED]Re: [linux-next:master 13230/13643] arch/riscv/errata/andes/errata.c:29:23: error: storage size of 'ret' isn't known
Date: Thu, 31 Aug 2023 15:24:04 +0200 [thread overview]
Message-ID: <CAMuHMdWkjtH0JJ6xOLBSUd7J-Jsd-vALtqmxiXrhtaQRO6cTHQ@mail.gmail.com> (raw)
In-Reply-To: <CA+V-a8s67RrfpfpJd_tqBtk1d_zanbCLVWqCHhUirBYs1zey9A@mail.gmail.com>
Hi Prabhakar,
On Thu, Aug 31, 2023 at 3:02 PM Lad, Prabhakar
<prabhakar.csengg@gmail.com> wrote:
> On Thu, Aug 31, 2023 at 1:01 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Thu, Aug 31, 2023 at 1:54 PM Lad, Prabhakar
> > <prabhakar.csengg@gmail.com> wrote:
> > > On Thu, Aug 31, 2023 at 12:34 PM Conor Dooley
> > > <conor.dooley@microchip.com> wrote:
> > > > On Thu, Aug 31, 2023 at 12:22:50PM +0100, Lad, Prabhakar wrote:
> > > > > On Thu, Aug 31, 2023 at 10:44 AM Conor Dooley
> > > > > <conor.dooley@microchip.com> wrote:
> > > > > >
> > > > > > On Thu, Aug 31, 2023 at 04:52:00PM +0800, kernel test robot wrote:
> > > > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > > > > > > head: a47fc304d2b678db1a5d760a7d644dac9b067752
> > > > > > > commit: f2863f30d1b05e5ecf61c063609cb974954d47f8 [13230/13643] riscv: errata: Add Andes alternative ports
> > > > > > > config: riscv-randconfig-001-20230831 (https://download.01.org/0day-ci/archive/20230831/202308311610.ec6bm2G8-lkp@intel.com/config)
> > > > > > > compiler: riscv64-linux-gcc (GCC) 13.2.0
> > > > > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230831/202308311610.ec6bm2G8-lkp@intel.com/reproduce)
> > > > > > >
> > > > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > > > > > the same patch/commit), kindly add following tags
> > > > > > > | Reported-by: kernel test robot <lkp@intel.com>
> > > > > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
> > > > > > >
> > > > > > > All error/warnings (new ones prefixed by >>):
> > > > > > >
> > > > > > > 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;
> > > > > > > | ^~~
> > > > > > > cc1: some warnings being treated as errors
> > > > > > >
> > > > > > >
> > > > > > > vim +29 arch/riscv/errata/andes/errata.c
> > > > > > >
> > > > > > > 26
> > > > > > > 27 static long ax45mp_iocp_sw_workaround(void)
> > > > > > > 28 {
> > > > > > > > 29 struct sbiret ret;
> > > > > > > 30
> > > > > > > 31 /*
> > > > > > > 32 * ANDES_SBI_EXT_IOCP_SW_WORKAROUND SBI EXT checks if the IOCP is missing and
> > > > > > > 33 * cache is controllable only then CMO will be applied to the platform.
> > > > > > > 34 */
> > > > > > > > 35 ret = sbi_ecall(ANDESTECH_SBI_EXT_ANDES, ANDES_SBI_EXT_IOCP_SW_WORKAROUND,
> > > > > > > 36 0, 0, 0, 0, 0, 0);
> > > > > > > 37
> > > > > > > 38 return ret.error ? 0 : ret.value;
> > > > > > > 39 }
> > > > > > > 40
> > > > > >
> > > > > > Looks like the config doesn't enable SBI, so ERRATA_ANDES_CMO will need
> > > > > > to grow a dependency on RISCV_SBI.
> > > > > I think adding dependency for RISCV_SBI on ERRATA_ANDES would be a good idea.
> > > > >
> > > > > While at it I am seeing below warnings with this randconfig:
> > > > > WARNING: unmet direct dependencies detected for ERRATA_ANDES_CMO
> > > > > Depends on [n]: ERRATA_ANDES [=y] && MMU [=n] && ARCH_R9A07G043 [=y]
> >
> > So the issue is that CONFIG_MMU=n.
> >
> > > --- a/arch/riscv/Kconfig.errata
> > > +++ b/arch/riscv/Kconfig.errata
> > > @@ -3,6 +3,7 @@ menu "CPU errata selection"
> > > config ERRATA_ANDES
> > > bool "Andes AX45MP errata"
> > > depends on RISCV_ALTERNATIVE
> > > + depends on RISCV_SBI
> > > help
> > > All Andes errata Kconfig depend on this Kconfig. Disabling
> > > this Kconfig will disable all Andes errata. Please say "Y"
> > > @@ -12,7 +13,7 @@ config ERRATA_ANDES
> > >
> > > config ERRATA_ANDES_CMO
> > > bool "Apply Andes cache management errata"
> > > - depends on ERRATA_ANDES && MMU && ARCH_R9A07G043
> >
> > Why does this depend on MMU?
> >
> Currently ARCH_R9A07G043 selects DMA_GLOBAL_POOL and we have
> RISCV_DMA_NONCOHERENT selecting DMA_DIRECT_REMAP which causes below
> build issue when MMU is disabled:
>
> kernel/dma/pool.c: In function 'atomic_pool_expand':
> kernel/dma/pool.c:105:44: error: implicit declaration of function
> 'pgprot_dmacoherent' [-Werror=implicit-function-declaration]
> 105 |
> pgprot_dmacoherent(PAGE_KERNEL),
> | ^~~~~~~~~~~~~~~~~~
> kernel/dma/pool.c:105:44: error: incompatible type for argument 3 of
> 'dma_common_contiguous_remap'
> 105 |
> pgprot_dmacoherent(PAGE_KERNEL),
> |
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | int
> In file included from kernel/dma/pool.c:8:
Hmm, kernel/dma/mapping.c has its use of pgprot_dmacoherent() inside
an #ifdef CONFIG_MMU block.
kernel/dma/pool.c has it inside an #ifdef CONFIG_DMA_DIRECT_REMAP block.
I guess that select should get a dependency on MMU:
config RISCV_DMA_NONCOHERENT
select DMA_DIRECT_REMAP if MMU
For comparison, m68k does take that into account:
select DMA_DIRECT_REMAP if HAS_DMA && MMU && !COLDFIRE
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2023-08-31 13:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-31 8:52 kernel test robot
2023-08-31 9:16 ` [WARNING: ATTACHMENT UNSCANNED]Re: " Conor Dooley
2023-08-31 11:22 ` Lad, Prabhakar
2023-08-31 11:33 ` Conor Dooley
2023-08-31 11:53 ` Lad, Prabhakar
2023-08-31 12:01 ` Geert Uytterhoeven
2023-08-31 13:01 ` Lad, Prabhakar
2023-08-31 13:24 ` Geert Uytterhoeven [this message]
2023-08-31 14:59 ` Lad, Prabhakar
2023-08-31 16:36 ` Conor Dooley
2023-09-01 8:34 ` Lad, Prabhakar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMuHMdWkjtH0JJ6xOLBSUd7J-Jsd-vALtqmxiXrhtaQRO6cTHQ@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=conor.dooley@microchip.com \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=palmer@rivosinc.com \
--cc=prabhakar.csengg@gmail.com \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox