drivers/gpu/drm/ast/ast_cursor.c:250:26: sparse: sparse: multiple address spaces given: __iomem & __iomem

From: kernel test robot
Date: Thu Aug 20 2020 - 10:31:29 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: 0d384eec10ea723f39df9736a04966e047850cfb drm/ast: Keep cursor HW BOs mapped
date: 6 weeks ago
:::::: branch date: 16 hours ago
:::::: commit date: 6 weeks ago
config: i386-randconfig-s002-20200818 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-183-gaa6ede3b-dirty
git checkout 0d384eec10ea723f39df9736a04966e047850cfb
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386

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


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 spaces given: __iomem & __iomem

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0d384eec10ea723f39df9736a04966e047850cfb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 0d384eec10ea723f39df9736a04966e047850cfb
vim +250 drivers/gpu/drm/ast/ast_cursor.c

81039adc92cd7a Thomas Zimmermann 2020-07-02 245
0d384eec10ea72 Thomas Zimmermann 2020-07-02 246 void ast_cursor_show(struct ast_private *ast, int x, int y,
81039adc92cd7a Thomas Zimmermann 2020-07-02 247 unsigned int offset_x, unsigned int offset_y)
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 248 {
81039adc92cd7a Thomas Zimmermann 2020-07-02 249 u8 x_offset, y_offset;
0d384eec10ea72 Thomas Zimmermann 2020-07-02 @250 u8 __iomem *dst, __iomem *sig;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 251 u8 jreg;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 252
0d384eec10ea72 Thomas Zimmermann 2020-07-02 253 dst = ast->cursor.vaddr[ast->cursor.next_index];
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 254
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 255 sig = dst + AST_HWC_SIZE;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 256 writel(x, sig + AST_HWC_SIGNATURE_X);
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 257 writel(y, sig + AST_HWC_SIGNATURE_Y);
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 258
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 259 if (x < 0) {
81039adc92cd7a Thomas Zimmermann 2020-07-02 260 x_offset = (-x) + offset_x;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 261 x = 0;
81039adc92cd7a Thomas Zimmermann 2020-07-02 262 } else {
81039adc92cd7a Thomas Zimmermann 2020-07-02 263 x_offset = offset_x;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 264 }
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 265 if (y < 0) {
81039adc92cd7a Thomas Zimmermann 2020-07-02 266 y_offset = (-y) + offset_y;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 267 y = 0;
81039adc92cd7a Thomas Zimmermann 2020-07-02 268 } else {
81039adc92cd7a Thomas Zimmermann 2020-07-02 269 y_offset = offset_y;
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 270 }
81039adc92cd7a Thomas Zimmermann 2020-07-02 271
81039adc92cd7a Thomas Zimmermann 2020-07-02 272 ast_cursor_set_location(ast, x, y, x_offset, y_offset);
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 273
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 274 /* dummy write to fire HWC */
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 275 jreg = 0x02 |
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 276 0x01; /* enable ARGB4444 cursor */
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 277 ast_set_index_reg_mask(ast, AST_IO_CRTC_PORT, 0xcb, 0xfc, jreg);
2ccebf561e4a90 Thomas Zimmermann 2020-07-02 278 }
c91eadd110463f Thomas Zimmermann 2020-07-02 279

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

Attachment: .config.gz
Description: application/gzip