Hi Thomas, I love your patch! Perhaps something to improve: [auto build test WARNING on drm-tip/drm-tip] [also build test WARNING on next-20200623] [cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next linus/master v5.8-rc2] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-ast-Managed-modesetting/20200623-162238 base: git://anongit.freedesktop.org/drm/drm-tip drm-tip :::::: branch date: 19 hours ago :::::: commit date: 19 hours ago config: x86_64-randconfig-s021-20200623 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.2-dirty # save the attached .config to linux build tree make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/ast/ast_cursor.c:250:26: sparse: sparse: duplicate [noderef] >> drivers/gpu/drm/ast/ast_cursor.c:250:26: sparse: sparse: multiple address space given: __iomem & __iomem # https://github.com/0day-ci/linux/commit/f438d6b57853cfafd5057aef14de32086b93e43d git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout f438d6b57853cfafd5057aef14de32086b93e43d vim +250 drivers/gpu/drm/ast/ast_cursor.c 233fef619e5ac2 Thomas Zimmermann 2020-06-23 245 f438d6b57853cf Thomas Zimmermann 2020-06-23 246 void ast_cursor_show(struct ast_private *ast, int x, int y, 233fef619e5ac2 Thomas Zimmermann 2020-06-23 247 unsigned int offset_x, unsigned int offset_y) 30686a542ba2b5 Thomas Zimmermann 2020-06-23 248 { 233fef619e5ac2 Thomas Zimmermann 2020-06-23 249 u8 x_offset, y_offset; f438d6b57853cf Thomas Zimmermann 2020-06-23 @250 u8 __iomem *dst, __iomem *sig; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 251 u8 jreg; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 252 f438d6b57853cf Thomas Zimmermann 2020-06-23 253 dst = ast->cursor.vaddr[ast->cursor.next_index]; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 254 30686a542ba2b5 Thomas Zimmermann 2020-06-23 255 sig = dst + AST_HWC_SIZE; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 256 writel(x, sig + AST_HWC_SIGNATURE_X); 30686a542ba2b5 Thomas Zimmermann 2020-06-23 257 writel(y, sig + AST_HWC_SIGNATURE_Y); 30686a542ba2b5 Thomas Zimmermann 2020-06-23 258 30686a542ba2b5 Thomas Zimmermann 2020-06-23 259 if (x < 0) { 233fef619e5ac2 Thomas Zimmermann 2020-06-23 260 x_offset = (-x) + offset_x; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 261 x = 0; 233fef619e5ac2 Thomas Zimmermann 2020-06-23 262 } else { 233fef619e5ac2 Thomas Zimmermann 2020-06-23 263 x_offset = offset_x; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 264 } 30686a542ba2b5 Thomas Zimmermann 2020-06-23 265 if (y < 0) { 233fef619e5ac2 Thomas Zimmermann 2020-06-23 266 y_offset = (-y) + offset_y; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 267 y = 0; 233fef619e5ac2 Thomas Zimmermann 2020-06-23 268 } else { 233fef619e5ac2 Thomas Zimmermann 2020-06-23 269 y_offset = offset_y; 30686a542ba2b5 Thomas Zimmermann 2020-06-23 270 } 233fef619e5ac2 Thomas Zimmermann 2020-06-23 271 233fef619e5ac2 Thomas Zimmermann 2020-06-23 272 ast_cursor_set_location(ast, x, y, x_offset, y_offset); 30686a542ba2b5 Thomas Zimmermann 2020-06-23 273 30686a542ba2b5 Thomas Zimmermann 2020-06-23 274 /* dummy write to fire HWC */ 30686a542ba2b5 Thomas Zimmermann 2020-06-23 275 jreg = 0x02 | 30686a542ba2b5 Thomas Zimmermann 2020-06-23 276 0x01; /* enable ARGB4444 cursor */ 30686a542ba2b5 Thomas Zimmermann 2020-06-23 277 ast_set_index_reg_mask(ast, AST_IO_CRTC_PORT, 0xcb, 0xfc, jreg); 30686a542ba2b5 Thomas Zimmermann 2020-06-23 278 } 10536b22de4fbf Thomas Zimmermann 2020-06-23 279 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org