All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: kernel test robot <lkp@intel.com>,
	Marek Vasut <marek.vasut+renesas@gmail.com>,
	llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Geert Uytterhoeven <geert+renesas@glider.be>
Subject: Re: [lpieralisi-pci:pci/rcar 2/2] drivers/pci/controller/pcie-rcar-host.c:139:3: error: instruction requires: data-barriers
Date: Wed, 9 Mar 2022 17:18:51 -0700	[thread overview]
Message-ID: <YilD68QeKpgJG1W2@dev-arch.thelio-3990X> (raw)
In-Reply-To: <20220309230950.GA89632@bhelgaas>

Hi Bjorn,

On Wed, Mar 09, 2022 at 05:09:50PM -0600, Bjorn Helgaas wrote:
> On Wed, Mar 09, 2022 at 05:04:28PM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git pci/rcar
> > head:   9775965dbae50a04f12879179d6d6fb58f240d6b
> > commit: 9775965dbae50a04f12879179d6d6fb58f240d6b [2/2] PCI: rcar: Use PCI_SET_ERROR_RESPONSE after read which triggered an exception
> > config: arm-randconfig-c002-20220307 (https://download.01.org/0day-ci/archive/20220309/202203091741.IetDk7a7-lkp@intel.com/config)
> > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
> > reproduce (this is a W=1 build):
> >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         # install arm cross compiling tool for clang build
> >         # apt-get install binutils-arm-linux-gnueabi
> >         # https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/commit/?id=9775965dbae50a04f12879179d6d6fb58f240d6b
> >         git remote add lpieralisi-pci https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git
> >         git fetch --no-tags lpieralisi-pci pci/rcar
> >         git checkout 9775965dbae50a04f12879179d6d6fb58f240d6b
> >         # save the config file to linux build tree
> >         mkdir build_dir
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash
> > 
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> > 
> > All errors (new ones prefixed by >>):
> > 
> > >> drivers/pci/controller/pcie-rcar-host.c:139:3: error: instruction requires: data-barriers
> >                    __rcar_pci_rw_reg_workaround("str")
> >                    ^
> >    drivers/pci/controller/pcie-rcar-host.c:120:4: note: expanded from macro '__rcar_pci_rw_reg_workaround'
> >                    "2:     isb\n"                                          \
> >                     ^
> >    <inline asm>:2:4: note: instantiated into assembly here
> >    2:      isb
> >            ^
> >    drivers/pci/controller/pcie-rcar-host.c:153:3: error: instruction requires: data-barriers
> >                    __rcar_pci_rw_reg_workaround("ldr")
> >                    ^
> >    drivers/pci/controller/pcie-rcar-host.c:120:4: note: expanded from macro '__rcar_pci_rw_reg_workaround'
> >                    "2:     isb\n"                                          \
> >                     ^
> >    <inline asm>:2:4: note: instantiated into assembly here
> >    2:      isb
> >            ^
> >    2 errors generated.
> 
> I don't know how to fix this.  We currently have these on Lorenzo's
> pci/rcar branch:
> 
>   9775965dbae5 ("PCI: rcar: Use PCI_SET_ERROR_RESPONSE after read which triggered an exception")
>   de6b5097f58b ("PCI: rcar: Finish transition to L1 state in rcar_pcie_config_access()")
> 
> To avoid this error, for now I have cherry-picked de6b5097f58b to a
> local pci/host/rcar branch and dropped 9775965dbae5.

FWIW, this is not clang specific, the same configuration blows up with
GCC 11.2.0 as well:

$ make -skj"$(nproc)" \
       ARCH=arm \
       CROSS_COMPILE=arm-linux-gnueabi- \
       olddefconfig drivers/pci/controller/pcie-rcar-host.o
/tmp/ccz8ybtm.s: Assembler messages:
/tmp/ccz8ybtm.s:742: Error: selected processor does not support `isb' in ARM mode
/tmp/ccz8ybtm.s:812: Error: selected processor does not support `isb' in ARM mode
make[4]: *** [scripts/Makefile.build:288: drivers/pci/controller/pcie-rcar-host.o] Error 1

$ rg CONFIG_CPU_32 .config
289:CONFIG_CPU_32v4=y

It does not look like isb can be used with this configuration, at least
if I understand arch/arm/include/asm/barrier.h correctly.

Cheers,
Nathan

WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: kbuild-all@lists.01.org
Subject: Re: [lpieralisi-pci:pci/rcar 2/2] drivers/pci/controller/pcie-rcar-host.c:139:3: error: instruction requires: data-barriers
Date: Wed, 09 Mar 2022 17:18:51 -0700	[thread overview]
Message-ID: <YilD68QeKpgJG1W2@dev-arch.thelio-3990X> (raw)
In-Reply-To: <20220309230950.GA89632@bhelgaas>

[-- Attachment #1: Type: text/plain, Size: 3947 bytes --]

Hi Bjorn,

On Wed, Mar 09, 2022 at 05:09:50PM -0600, Bjorn Helgaas wrote:
> On Wed, Mar 09, 2022 at 05:04:28PM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git pci/rcar
> > head:   9775965dbae50a04f12879179d6d6fb58f240d6b
> > commit: 9775965dbae50a04f12879179d6d6fb58f240d6b [2/2] PCI: rcar: Use PCI_SET_ERROR_RESPONSE after read which triggered an exception
> > config: arm-randconfig-c002-20220307 (https://download.01.org/0day-ci/archive/20220309/202203091741.IetDk7a7-lkp(a)intel.com/config)
> > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
> > reproduce (this is a W=1 build):
> >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         # install arm cross compiling tool for clang build
> >         # apt-get install binutils-arm-linux-gnueabi
> >         # https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/commit/?id=9775965dbae50a04f12879179d6d6fb58f240d6b
> >         git remote add lpieralisi-pci https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git
> >         git fetch --no-tags lpieralisi-pci pci/rcar
> >         git checkout 9775965dbae50a04f12879179d6d6fb58f240d6b
> >         # save the config file to linux build tree
> >         mkdir build_dir
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash
> > 
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> > 
> > All errors (new ones prefixed by >>):
> > 
> > >> drivers/pci/controller/pcie-rcar-host.c:139:3: error: instruction requires: data-barriers
> >                    __rcar_pci_rw_reg_workaround("str")
> >                    ^
> >    drivers/pci/controller/pcie-rcar-host.c:120:4: note: expanded from macro '__rcar_pci_rw_reg_workaround'
> >                    "2:     isb\n"                                          \
> >                     ^
> >    <inline asm>:2:4: note: instantiated into assembly here
> >    2:      isb
> >            ^
> >    drivers/pci/controller/pcie-rcar-host.c:153:3: error: instruction requires: data-barriers
> >                    __rcar_pci_rw_reg_workaround("ldr")
> >                    ^
> >    drivers/pci/controller/pcie-rcar-host.c:120:4: note: expanded from macro '__rcar_pci_rw_reg_workaround'
> >                    "2:     isb\n"                                          \
> >                     ^
> >    <inline asm>:2:4: note: instantiated into assembly here
> >    2:      isb
> >            ^
> >    2 errors generated.
> 
> I don't know how to fix this.  We currently have these on Lorenzo's
> pci/rcar branch:
> 
>   9775965dbae5 ("PCI: rcar: Use PCI_SET_ERROR_RESPONSE after read which triggered an exception")
>   de6b5097f58b ("PCI: rcar: Finish transition to L1 state in rcar_pcie_config_access()")
> 
> To avoid this error, for now I have cherry-picked de6b5097f58b to a
> local pci/host/rcar branch and dropped 9775965dbae5.

FWIW, this is not clang specific, the same configuration blows up with
GCC 11.2.0 as well:

$ make -skj"$(nproc)" \
       ARCH=arm \
       CROSS_COMPILE=arm-linux-gnueabi- \
       olddefconfig drivers/pci/controller/pcie-rcar-host.o
/tmp/ccz8ybtm.s: Assembler messages:
/tmp/ccz8ybtm.s:742: Error: selected processor does not support `isb' in ARM mode
/tmp/ccz8ybtm.s:812: Error: selected processor does not support `isb' in ARM mode
make[4]: *** [scripts/Makefile.build:288: drivers/pci/controller/pcie-rcar-host.o] Error 1

$ rg CONFIG_CPU_32 .config
289:CONFIG_CPU_32v4=y

It does not look like isb can be used with this configuration, at least
if I understand arch/arm/include/asm/barrier.h correctly.

Cheers,
Nathan

  reply	other threads:[~2022-03-10  0:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-09  9:04 [lpieralisi-pci:pci/rcar 2/2] drivers/pci/controller/pcie-rcar-host.c:139:3: error: instruction requires: data-barriers kernel test robot
2022-03-09 23:09 ` Bjorn Helgaas
2022-03-09 23:09   ` Bjorn Helgaas
2022-03-10  0:18   ` Nathan Chancellor [this message]
2022-03-10  0:18     ` Nathan Chancellor
2022-03-10  7:39     ` Arnd Bergmann
2022-03-10  7:39       ` Arnd Bergmann

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=YilD68QeKpgJG1W2@dev-arch.thelio-3990X \
    --to=nathan@kernel.org \
    --cc=arnd@arndb.de \
    --cc=geert+renesas@glider.be \
    --cc=helgaas@kernel.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=marek.vasut+renesas@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.