Re: [PATCH v9 21/31] elx: efct: Hardware IO and SGL initialization
From: Nathan Chancellor <nathan@kernel.org>
Date: 2021-06-18 00:31:52
Hi James, On Tue, Jun 01, 2021 at 04:55:02PM -0700, James Smart wrote:
This patch continues the efct driver population. This patch adds driver definitions for: Routines to create IO interfaces (wqs, etc), SGL initialization, and configure hardware features. Co-developed-by: Ram Vegesna <ram.vegesna@broadcom.com> Signed-off-by: Ram Vegesna <ram.vegesna@broadcom.com> Signed-off-by: James Smart <redacted> Reviewed-by: Daniel Wagner <redacted>
The
if (cmpxchg(&io_to_abort->abort_in_progress, false, true)) {
in this patch causes ARCH=arm allmodconfig to fail because
CONFIG_CPU_V6=y and older do not support running cmpxchg() on bool
(anything less than int from what I can tell) when instrumentation is
enabled:
ERROR: modpost: "__bad_cmpxchg" [drivers/scsi/elx/efct.ko] undefined!
https://elixir.bootlin.com/linux/v5.13-rc6/source/arch/arm/include/asm/cmpxchg.h#L164
I guess this could be turned into an int, although the structure grows
slightly in size of the cmpxchg could be unrolled, similar to
commit f5f4c615982d ("drm: Convert cmpxchg(bool) back to a two step
operation").
Cheers,
Nathan