All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [arm:cex7 47/68] drivers/ata/ahci_qoriq.c:224:17: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Mon, 11 Jan 2021 04:18:55 +0800	[thread overview]
Message-ID: <202101110450.4PnjRNwt-lkp@intel.com> (raw)

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

tree:   git://git.armlinux.org.uk/~rmk/linux-arm.git cex7
head:   1b61ddd350658ee9d202584c4c9b67bd2f34a452
commit: 6f39faaa6225e3310788abf99a01ff1dd7353c54 [47/68] ahci: qoriq: workaround for errata A-379364 on lx2160a
config: openrisc-randconfig-s031-20210110 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-208-g46a52ca4-dirty
        git remote add arm git://git.armlinux.org.uk/~rmk/linux-arm.git
        git fetch --no-tags arm cex7
        git checkout 6f39faaa6225e3310788abf99a01ff1dd7353c54
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


"sparse warnings: (new ones prefixed by >>)"
>> drivers/ata/ahci_qoriq.c:224:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] __iomem *[assigned] rcw_base @@
   drivers/ata/ahci_qoriq.c:224:17: sparse:     expected void *addr
   drivers/ata/ahci_qoriq.c:224:17: sparse:     got void [noderef] __iomem *[assigned] rcw_base
>> drivers/ata/ahci_qoriq.c:226:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] __iomem *[assigned] serdes_base @@
   drivers/ata/ahci_qoriq.c:226:17: sparse:     expected void *addr
   drivers/ata/ahci_qoriq.c:226:17: sparse:     got void [noderef] __iomem *[assigned] serdes_base
>> drivers/ata/ahci_qoriq.c:228:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] __iomem *[assigned] dev_con_base @@
   drivers/ata/ahci_qoriq.c:228:17: sparse:     expected void *addr
   drivers/ata/ahci_qoriq.c:228:17: sparse:     got void [noderef] __iomem *[assigned] dev_con_base
   drivers/ata/ahci_qoriq.c:311:9: sparse: sparse: Initializer entry defined twice
   drivers/ata/ahci_qoriq.c:311:9: sparse:   also defined here

vim +224 drivers/ata/ahci_qoriq.c

   110	
   111	static void fsl_sata_errata_379364(bool select)
   112	{
   113		int val = 0;
   114		void __iomem *rcw_base = NULL;
   115		void __iomem *serdes_base = NULL;
   116		void __iomem *dev_con_base = NULL;
   117	
   118		if (select) {
   119			dev_con_base = ioremap(DEVICE_CONFIG_REG_BASE, PAGE_SIZE);
   120			if (!dev_con_base)
   121				return;
   122	
   123			val = (readl(dev_con_base + SYS_VER_REG) & GENMASK(7, 4)) >> 4;
   124			if (val != LX2160A_VER1)
   125				goto dev_unmap;
   126	
   127			/*
   128			 * Add few msec delay.
   129			 * Check for corresponding serdes lane RST_DONE .
   130			 * apply lane reset.
   131			 */
   132	
   133			serdes_base = ioremap(SERDES2_BASE, PAGE_SIZE);
   134			if (!serdes_base)
   135				goto dev_unmap;
   136	
   137			rcw_base = ioremap(RCWSR29_BASE, PAGE_SIZE);
   138			if (!rcw_base)
   139				goto serdes_unmap;
   140	
   141			msleep(20);
   142	
   143			val = (readl(rcw_base) & GENMASK(25, 21)) >> 21;
   144	
   145			switch (val) {
   146			case 1:
   147				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAC)) &
   148					LN_RX_MASK) != LN_RX_RST_DONE)
   149					writel(LN_RX_RST, serdes_base +
   150						SERDES2_LNAX_RX_CR(SERDES2_LNAC));
   151				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAD)) &
   152					LN_RX_MASK) != LN_RX_RST_DONE)
   153					writel(LN_RX_RST, serdes_base +
   154						SERDES2_LNAX_RX_CR(SERDES2_LNAD));
   155				break;
   156	
   157			case 4:
   158				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAG)) &
   159					LN_RX_MASK) != LN_RX_RST_DONE)
   160					writel(LN_RX_RST, serdes_base +
   161						SERDES2_LNAX_RX_CR(SERDES2_LNAG));
   162				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAH)) &
   163					LN_RX_MASK) != LN_RX_RST_DONE)
   164					writel(LN_RX_RST, serdes_base +
   165						SERDES2_LNAX_RX_CR(SERDES2_LNAH));
   166				break;
   167	
   168			case 5:
   169				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAE)) &
   170					LN_RX_MASK) != LN_RX_RST_DONE)
   171					writel(LN_RX_RST, serdes_base +
   172						SERDES2_LNAX_RX_CR(SERDES2_LNAE));
   173				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAF)) &
   174					LN_RX_MASK) != LN_RX_RST_DONE)
   175					writel(LN_RX_RST, serdes_base +
   176						SERDES2_LNAX_RX_CR(SERDES2_LNAF));
   177				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAG)) &
   178					LN_RX_MASK) != LN_RX_RST_DONE)
   179					writel(LN_RX_RST, serdes_base +
   180						SERDES2_LNAX_RX_CR(SERDES2_LNAG));
   181				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAH)) &
   182					LN_RX_MASK) != LN_RX_RST_DONE)
   183					writel(LN_RX_RST, serdes_base +
   184						SERDES2_LNAX_RX_CR(SERDES2_LNAH));
   185				break;
   186	
   187			case 8:
   188				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAC)) &
   189					LN_RX_MASK) != LN_RX_RST_DONE)
   190					writel(LN_RX_RST, serdes_base +
   191						SERDES2_LNAX_RX_CR(SERDES2_LNAC));
   192				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAD)) &
   193					LN_RX_MASK) != LN_RX_RST_DONE)
   194					writel(LN_RX_RST, serdes_base +
   195						SERDES2_LNAX_RX_CR(SERDES2_LNAD));
   196				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAE)) &
   197					LN_RX_MASK) != LN_RX_RST_DONE)
   198					writel(LN_RX_RST, serdes_base +
   199						SERDES2_LNAX_RX_CR(SERDES2_LNAE));
   200				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAF)) &
   201					LN_RX_MASK) != LN_RX_RST_DONE)
   202					writel(LN_RX_RST, serdes_base +
   203						SERDES2_LNAX_RX_CR(SERDES2_LNAF));
   204				break;
   205	
   206			case 12:
   207				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAG)) &
   208					LN_RX_MASK) != LN_RX_RST_DONE)
   209					writel(LN_RX_RST, serdes_base +
   210						SERDES2_LNAX_RX_CR(SERDES2_LNAG));
   211				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAH)) &
   212					LN_RX_MASK) != LN_RX_RST_DONE)
   213					writel(LN_RX_RST, serdes_base +
   214						SERDES2_LNAX_RX_CR(SERDES2_LNAH));
   215				break;
   216	
   217			default:
   218				break;
   219			}
   220		} else {
   221			return;
   222		}
   223	
 > 224		iounmap(rcw_base);
   225	serdes_unmap:
 > 226		iounmap(serdes_base);
   227	dev_unmap:
 > 228		iounmap(dev_con_base);
   229	}
   230	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 22081 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Peng Ma <peng.ma@nxp.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>,
	kbuild-all@lists.01.org, linux-arm-kernel@lists.infradead.org
Subject: [arm:cex7 47/68] drivers/ata/ahci_qoriq.c:224:17: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Mon, 11 Jan 2021 04:18:55 +0800	[thread overview]
Message-ID: <202101110450.4PnjRNwt-lkp@intel.com> (raw)

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

tree:   git://git.armlinux.org.uk/~rmk/linux-arm.git cex7
head:   1b61ddd350658ee9d202584c4c9b67bd2f34a452
commit: 6f39faaa6225e3310788abf99a01ff1dd7353c54 [47/68] ahci: qoriq: workaround for errata A-379364 on lx2160a
config: openrisc-randconfig-s031-20210110 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-208-g46a52ca4-dirty
        git remote add arm git://git.armlinux.org.uk/~rmk/linux-arm.git
        git fetch --no-tags arm cex7
        git checkout 6f39faaa6225e3310788abf99a01ff1dd7353c54
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


"sparse warnings: (new ones prefixed by >>)"
>> drivers/ata/ahci_qoriq.c:224:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] __iomem *[assigned] rcw_base @@
   drivers/ata/ahci_qoriq.c:224:17: sparse:     expected void *addr
   drivers/ata/ahci_qoriq.c:224:17: sparse:     got void [noderef] __iomem *[assigned] rcw_base
>> drivers/ata/ahci_qoriq.c:226:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] __iomem *[assigned] serdes_base @@
   drivers/ata/ahci_qoriq.c:226:17: sparse:     expected void *addr
   drivers/ata/ahci_qoriq.c:226:17: sparse:     got void [noderef] __iomem *[assigned] serdes_base
>> drivers/ata/ahci_qoriq.c:228:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] __iomem *[assigned] dev_con_base @@
   drivers/ata/ahci_qoriq.c:228:17: sparse:     expected void *addr
   drivers/ata/ahci_qoriq.c:228:17: sparse:     got void [noderef] __iomem *[assigned] dev_con_base
   drivers/ata/ahci_qoriq.c:311:9: sparse: sparse: Initializer entry defined twice
   drivers/ata/ahci_qoriq.c:311:9: sparse:   also defined here

vim +224 drivers/ata/ahci_qoriq.c

   110	
   111	static void fsl_sata_errata_379364(bool select)
   112	{
   113		int val = 0;
   114		void __iomem *rcw_base = NULL;
   115		void __iomem *serdes_base = NULL;
   116		void __iomem *dev_con_base = NULL;
   117	
   118		if (select) {
   119			dev_con_base = ioremap(DEVICE_CONFIG_REG_BASE, PAGE_SIZE);
   120			if (!dev_con_base)
   121				return;
   122	
   123			val = (readl(dev_con_base + SYS_VER_REG) & GENMASK(7, 4)) >> 4;
   124			if (val != LX2160A_VER1)
   125				goto dev_unmap;
   126	
   127			/*
   128			 * Add few msec delay.
   129			 * Check for corresponding serdes lane RST_DONE .
   130			 * apply lane reset.
   131			 */
   132	
   133			serdes_base = ioremap(SERDES2_BASE, PAGE_SIZE);
   134			if (!serdes_base)
   135				goto dev_unmap;
   136	
   137			rcw_base = ioremap(RCWSR29_BASE, PAGE_SIZE);
   138			if (!rcw_base)
   139				goto serdes_unmap;
   140	
   141			msleep(20);
   142	
   143			val = (readl(rcw_base) & GENMASK(25, 21)) >> 21;
   144	
   145			switch (val) {
   146			case 1:
   147				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAC)) &
   148					LN_RX_MASK) != LN_RX_RST_DONE)
   149					writel(LN_RX_RST, serdes_base +
   150						SERDES2_LNAX_RX_CR(SERDES2_LNAC));
   151				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAD)) &
   152					LN_RX_MASK) != LN_RX_RST_DONE)
   153					writel(LN_RX_RST, serdes_base +
   154						SERDES2_LNAX_RX_CR(SERDES2_LNAD));
   155				break;
   156	
   157			case 4:
   158				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAG)) &
   159					LN_RX_MASK) != LN_RX_RST_DONE)
   160					writel(LN_RX_RST, serdes_base +
   161						SERDES2_LNAX_RX_CR(SERDES2_LNAG));
   162				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAH)) &
   163					LN_RX_MASK) != LN_RX_RST_DONE)
   164					writel(LN_RX_RST, serdes_base +
   165						SERDES2_LNAX_RX_CR(SERDES2_LNAH));
   166				break;
   167	
   168			case 5:
   169				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAE)) &
   170					LN_RX_MASK) != LN_RX_RST_DONE)
   171					writel(LN_RX_RST, serdes_base +
   172						SERDES2_LNAX_RX_CR(SERDES2_LNAE));
   173				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAF)) &
   174					LN_RX_MASK) != LN_RX_RST_DONE)
   175					writel(LN_RX_RST, serdes_base +
   176						SERDES2_LNAX_RX_CR(SERDES2_LNAF));
   177				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAG)) &
   178					LN_RX_MASK) != LN_RX_RST_DONE)
   179					writel(LN_RX_RST, serdes_base +
   180						SERDES2_LNAX_RX_CR(SERDES2_LNAG));
   181				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAH)) &
   182					LN_RX_MASK) != LN_RX_RST_DONE)
   183					writel(LN_RX_RST, serdes_base +
   184						SERDES2_LNAX_RX_CR(SERDES2_LNAH));
   185				break;
   186	
   187			case 8:
   188				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAC)) &
   189					LN_RX_MASK) != LN_RX_RST_DONE)
   190					writel(LN_RX_RST, serdes_base +
   191						SERDES2_LNAX_RX_CR(SERDES2_LNAC));
   192				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAD)) &
   193					LN_RX_MASK) != LN_RX_RST_DONE)
   194					writel(LN_RX_RST, serdes_base +
   195						SERDES2_LNAX_RX_CR(SERDES2_LNAD));
   196				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAE)) &
   197					LN_RX_MASK) != LN_RX_RST_DONE)
   198					writel(LN_RX_RST, serdes_base +
   199						SERDES2_LNAX_RX_CR(SERDES2_LNAE));
   200				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAF)) &
   201					LN_RX_MASK) != LN_RX_RST_DONE)
   202					writel(LN_RX_RST, serdes_base +
   203						SERDES2_LNAX_RX_CR(SERDES2_LNAF));
   204				break;
   205	
   206			case 12:
   207				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAG)) &
   208					LN_RX_MASK) != LN_RX_RST_DONE)
   209					writel(LN_RX_RST, serdes_base +
   210						SERDES2_LNAX_RX_CR(SERDES2_LNAG));
   211				if ((readl(serdes_base + SERDES2_LNAX_RX_CBR(SERDES2_LNAH)) &
   212					LN_RX_MASK) != LN_RX_RST_DONE)
   213					writel(LN_RX_RST, serdes_base +
   214						SERDES2_LNAX_RX_CR(SERDES2_LNAH));
   215				break;
   216	
   217			default:
   218				break;
   219			}
   220		} else {
   221			return;
   222		}
   223	
 > 224		iounmap(rcw_base);
   225	serdes_unmap:
 > 226		iounmap(serdes_base);
   227	dev_unmap:
 > 228		iounmap(dev_con_base);
   229	}
   230	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 22081 bytes --]

[-- Attachment #3: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2021-01-10 20:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-10 20:18 kernel test robot [this message]
2021-01-10 20:18 ` [arm:cex7 47/68] drivers/ata/ahci_qoriq.c:224:17: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot

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=202101110450.4PnjRNwt-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.