All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Inki Dae <inki.dae@samsung.com>
Subject: drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse: sparse: incorrect type in argument 2 (different address spaces)
Date: Tue, 12 Dec 2023 05:53:11 +0800	[thread overview]
Message-ID: <202312120556.xUDl8cXT-lkp@intel.com> (raw)

Hi Sam,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a39b6ac3781d46ba18193c9dbb2110f31e9bffe9
commit: 156bdac99061b4013c8e47799c6e574f7f84e9f4 drm/exynos: trigger build of all modules
date:   4 years, 6 months ago
config: mips-randconfig-r122-20231108 (https://download.01.org/0day-ci/archive/20231212/202312120556.xUDl8cXT-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231212/202312120556.xUDl8cXT-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/202312120556.xUDl8cXT-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:458:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void *timing_base @@     got void [noderef] __iomem * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:458:39: sparse:     expected void *timing_base
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:458:39: sparse:     got void [noderef] __iomem *
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse:     got void *
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:473:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:473:39: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:473:39: sparse:     got void *
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:519:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:519:53: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:519:53: sparse:     got void *
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:945:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void *timing_base @@     got void [noderef] __iomem * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:945:39: sparse:     expected void *timing_base
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:945:39: sparse:     got void [noderef] __iomem *
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:958:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:958:33: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:958:33: sparse:     got void *
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:960:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:960:33: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/gpu/drm/exynos/exynos_drm_fimd.c:960:33: sparse:     got void *
   drivers/gpu/drm/exynos/exynos_drm_fimd.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/rwsem.h, ...):
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:464:1: sparse: sparse: cast to restricted __le32

vim +470 drivers/gpu/drm/exynos/exynos_drm_fimd.c

a6f75aa161c5a5 Inki Dae              2016-04-18  452  
93bca243ec96f0 Gustavo Padovan       2015-01-18  453  static void fimd_commit(struct exynos_drm_crtc *crtc)
1c248b7d2960fa Inki Dae              2011-10-04  454  {
93bca243ec96f0 Gustavo Padovan       2015-01-18  455  	struct fimd_context *ctx = crtc->ctx;
020e79de265996 Joonyoung Shim        2015-06-02  456  	struct drm_display_mode *mode = &crtc->base.state->adjusted_mode;
e1a7b9b40d1c0c Marek Szyprowski      2016-04-18  457  	const struct fimd_driver_data *driver_data = ctx->driver_data;
3854fab24e899c YoungJun Cho          2014-07-17  458  	void *timing_base = ctx->regs + driver_data->timing_base;
c96fdfdeca5657 Andrzej Hajda         2016-09-23  459  	u32 val;
1c248b7d2960fa Inki Dae              2011-10-04  460  
e30d4bcf79b6a3 Inki Dae              2011-12-12  461  	if (ctx->suspended)
e30d4bcf79b6a3 Inki Dae              2011-12-12  462  		return;
e30d4bcf79b6a3 Inki Dae              2011-12-12  463  
a968e72771ea19 Sean Paul             2014-01-30  464  	/* nothing to do if we haven't set the mode yet */
a968e72771ea19 Sean Paul             2014-01-30  465  	if (mode->htotal == 0 || mode->vtotal == 0)
a968e72771ea19 Sean Paul             2014-01-30  466  		return;
a968e72771ea19 Sean Paul             2014-01-30  467  
3854fab24e899c YoungJun Cho          2014-07-17  468  	if (ctx->i80_if) {
3854fab24e899c YoungJun Cho          2014-07-17  469  		val = ctx->i80ifcon | I80IFEN_ENABLE;
3854fab24e899c YoungJun Cho          2014-07-17 @470  		writel(val, timing_base + I80IFCONFAx(0));
3854fab24e899c YoungJun Cho          2014-07-17  471  
3854fab24e899c YoungJun Cho          2014-07-17  472  		/* disable auto frame rate */
3854fab24e899c YoungJun Cho          2014-07-17  473  		writel(0, timing_base + I80IFCONFBx(0));
3854fab24e899c YoungJun Cho          2014-07-17  474  
3854fab24e899c YoungJun Cho          2014-07-17  475  		/* set video type selection to I80 interface */
3c3c9c1d904dca Joonyoung Shim        2014-11-14  476  		if (driver_data->has_vtsel && ctx->sysreg &&
3c3c9c1d904dca Joonyoung Shim        2014-11-14  477  				regmap_update_bits(ctx->sysreg,
3854fab24e899c YoungJun Cho          2014-07-17  478  					driver_data->lcdblk_offset,
3854fab24e899c YoungJun Cho          2014-07-17  479  					0x3 << driver_data->lcdblk_vt_shift,
3854fab24e899c YoungJun Cho          2014-07-17  480  					0x1 << driver_data->lcdblk_vt_shift)) {
6f83d20838c099 Inki Dae              2019-04-15  481  			DRM_DEV_ERROR(ctx->dev,
6f83d20838c099 Inki Dae              2019-04-15  482  				      "Failed to update sysreg for I80 i/f.\n");
3854fab24e899c YoungJun Cho          2014-07-17  483  			return;
3854fab24e899c YoungJun Cho          2014-07-17  484  		}
3854fab24e899c YoungJun Cho          2014-07-17  485  	} else {
3854fab24e899c YoungJun Cho          2014-07-17  486  		int vsync_len, vbpd, vfpd, hsync_len, hbpd, hfpd;
3854fab24e899c YoungJun Cho          2014-07-17  487  		u32 vidcon1;
3854fab24e899c YoungJun Cho          2014-07-17  488  
1417f109a82f8a Sean Paul             2014-01-30  489  		/* setup polarity values */
1417f109a82f8a Sean Paul             2014-01-30  490  		vidcon1 = ctx->vidcon1;
1417f109a82f8a Sean Paul             2014-01-30  491  		if (mode->flags & DRM_MODE_FLAG_NVSYNC)
1417f109a82f8a Sean Paul             2014-01-30  492  			vidcon1 |= VIDCON1_INV_VSYNC;
1417f109a82f8a Sean Paul             2014-01-30  493  		if (mode->flags & DRM_MODE_FLAG_NHSYNC)
1417f109a82f8a Sean Paul             2014-01-30  494  			vidcon1 |= VIDCON1_INV_HSYNC;
1417f109a82f8a Sean Paul             2014-01-30  495  		writel(vidcon1, ctx->regs + driver_data->timing_base + VIDCON1);
1c248b7d2960fa Inki Dae              2011-10-04  496  
1c248b7d2960fa Inki Dae              2011-10-04  497  		/* setup vertical timing values. */
a968e72771ea19 Sean Paul             2014-01-30  498  		vsync_len = mode->crtc_vsync_end - mode->crtc_vsync_start;
8b4cad23531da4 Andrzej Hajda         2014-03-17  499  		vbpd = mode->crtc_vtotal - mode->crtc_vsync_end;
8b4cad23531da4 Andrzej Hajda         2014-03-17  500  		vfpd = mode->crtc_vsync_start - mode->crtc_vdisplay;
a968e72771ea19 Sean Paul             2014-01-30  501  
a968e72771ea19 Sean Paul             2014-01-30  502  		val = VIDTCON0_VBPD(vbpd - 1) |
a968e72771ea19 Sean Paul             2014-01-30  503  			VIDTCON0_VFPD(vfpd - 1) |
a968e72771ea19 Sean Paul             2014-01-30  504  			VIDTCON0_VSPW(vsync_len - 1);
e2e1338900208a Leela Krishna Amudala 2012-09-21  505  		writel(val, ctx->regs + driver_data->timing_base + VIDTCON0);
1c248b7d2960fa Inki Dae              2011-10-04  506  
1c248b7d2960fa Inki Dae              2011-10-04  507  		/* setup horizontal timing values.  */
a968e72771ea19 Sean Paul             2014-01-30  508  		hsync_len = mode->crtc_hsync_end - mode->crtc_hsync_start;
8b4cad23531da4 Andrzej Hajda         2014-03-17  509  		hbpd = mode->crtc_htotal - mode->crtc_hsync_end;
8b4cad23531da4 Andrzej Hajda         2014-03-17  510  		hfpd = mode->crtc_hsync_start - mode->crtc_hdisplay;
a968e72771ea19 Sean Paul             2014-01-30  511  
a968e72771ea19 Sean Paul             2014-01-30  512  		val = VIDTCON1_HBPD(hbpd - 1) |
a968e72771ea19 Sean Paul             2014-01-30  513  			VIDTCON1_HFPD(hfpd - 1) |
a968e72771ea19 Sean Paul             2014-01-30  514  			VIDTCON1_HSPW(hsync_len - 1);
e2e1338900208a Leela Krishna Amudala 2012-09-21  515  		writel(val, ctx->regs + driver_data->timing_base + VIDTCON1);
3854fab24e899c YoungJun Cho          2014-07-17  516  	}
3854fab24e899c YoungJun Cho          2014-07-17  517  
3854fab24e899c YoungJun Cho          2014-07-17  518  	if (driver_data->has_vidoutcon)
3854fab24e899c YoungJun Cho          2014-07-17  519  		writel(ctx->vidout_con, timing_base + VIDOUT_CON);
3854fab24e899c YoungJun Cho          2014-07-17  520  
3854fab24e899c YoungJun Cho          2014-07-17  521  	/* set bypass selection */
3854fab24e899c YoungJun Cho          2014-07-17  522  	if (ctx->sysreg && regmap_update_bits(ctx->sysreg,
3854fab24e899c YoungJun Cho          2014-07-17  523  				driver_data->lcdblk_offset,
3854fab24e899c YoungJun Cho          2014-07-17  524  				0x1 << driver_data->lcdblk_bypass_shift,
3854fab24e899c YoungJun Cho          2014-07-17  525  				0x1 << driver_data->lcdblk_bypass_shift)) {
6f83d20838c099 Inki Dae              2019-04-15  526  		DRM_DEV_ERROR(ctx->dev,
6f83d20838c099 Inki Dae              2019-04-15  527  			      "Failed to update sysreg for bypass setting.\n");
3854fab24e899c YoungJun Cho          2014-07-17  528  		return;
3854fab24e899c YoungJun Cho          2014-07-17  529  	}
1c248b7d2960fa Inki Dae              2011-10-04  530  
1feafd3afd294b Chanho Park           2016-02-12  531  	/* TODO: When MIC is enabled for display path, the lcdblk_mic_bypass
1feafd3afd294b Chanho Park           2016-02-12  532  	 * bit should be cleared.
1feafd3afd294b Chanho Park           2016-02-12  533  	 */
1feafd3afd294b Chanho Park           2016-02-12  534  	if (driver_data->has_mic_bypass && ctx->sysreg &&
1feafd3afd294b Chanho Park           2016-02-12  535  	    regmap_update_bits(ctx->sysreg,
1feafd3afd294b Chanho Park           2016-02-12  536  				driver_data->lcdblk_offset,
1feafd3afd294b Chanho Park           2016-02-12  537  				0x1 << driver_data->lcdblk_mic_bypass_shift,
1feafd3afd294b Chanho Park           2016-02-12  538  				0x1 << driver_data->lcdblk_mic_bypass_shift)) {
6f83d20838c099 Inki Dae              2019-04-15  539  		DRM_DEV_ERROR(ctx->dev,
6f83d20838c099 Inki Dae              2019-04-15  540  			      "Failed to update sysreg for bypass mic.\n");
1feafd3afd294b Chanho Park           2016-02-12  541  		return;
1feafd3afd294b Chanho Park           2016-02-12  542  	}
1feafd3afd294b Chanho Park           2016-02-12  543  
1c248b7d2960fa Inki Dae              2011-10-04  544  	/* setup horizontal and vertical display size. */
a968e72771ea19 Sean Paul             2014-01-30  545  	val = VIDTCON2_LINEVAL(mode->vdisplay - 1) |
a968e72771ea19 Sean Paul             2014-01-30  546  	       VIDTCON2_HOZVAL(mode->hdisplay - 1) |
a968e72771ea19 Sean Paul             2014-01-30  547  	       VIDTCON2_LINEVAL_E(mode->vdisplay - 1) |
a968e72771ea19 Sean Paul             2014-01-30  548  	       VIDTCON2_HOZVAL_E(mode->hdisplay - 1);
e2e1338900208a Leela Krishna Amudala 2012-09-21  549  	writel(val, ctx->regs + driver_data->timing_base + VIDTCON2);
1c248b7d2960fa Inki Dae              2011-10-04  550  
a6f75aa161c5a5 Inki Dae              2016-04-18  551  	fimd_setup_trigger(ctx);
a6f75aa161c5a5 Inki Dae              2016-04-18  552  
1d531062cdc5fc Andrzej Hajda         2014-03-20  553  	/*
1d531062cdc5fc Andrzej Hajda         2014-03-20  554  	 * fields of register with prefix '_F' would be updated
1d531062cdc5fc Andrzej Hajda         2014-03-20  555  	 * at vsync(same as dma start)
1d531062cdc5fc Andrzej Hajda         2014-03-20  556  	 */
3854fab24e899c YoungJun Cho          2014-07-17  557  	val = ctx->vidcon0;
3854fab24e899c YoungJun Cho          2014-07-17  558  	val |= VIDCON0_ENVID | VIDCON0_ENVID_F;
1c248b7d2960fa Inki Dae              2011-10-04  559  
1d531062cdc5fc Andrzej Hajda         2014-03-20  560  	if (ctx->driver_data->has_clksel)
411d9ed4486a4e Tomasz Figa           2013-05-01  561  		val |= VIDCON0_CLKSEL_LCD;
411d9ed4486a4e Tomasz Figa           2013-05-01  562  
c96fdfdeca5657 Andrzej Hajda         2016-09-23  563  	if (ctx->clkdiv > 1)
c96fdfdeca5657 Andrzej Hajda         2016-09-23  564  		val |= VIDCON0_CLKVAL_F(ctx->clkdiv - 1) | VIDCON0_CLKDIR;
1c248b7d2960fa Inki Dae              2011-10-04  565  
1c248b7d2960fa Inki Dae              2011-10-04  566  	writel(val, ctx->regs + VIDCON0);
1c248b7d2960fa Inki Dae              2011-10-04  567  }
1c248b7d2960fa Inki Dae              2011-10-04  568  

:::::: The code at line 470 was first introduced by commit
:::::: 3854fab24e899c02439657956ab1d2c85001958c drm/exynos: fimd: support LCD I80 interface

:::::: TO: YoungJun Cho <yj44.cho@samsung.com>
:::::: CC: Inki Dae <daeinki@gmail.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2023-12-11 21:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-11 21:53 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-12-14  1:46 drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse: sparse: incorrect type in argument 2 (different address spaces) kernel test robot
2021-07-25 17:01 kernel test robot
2021-07-25 17:01 ` 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=202312120556.xUDl8cXT-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=inki.dae@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=sam@ravnborg.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.