CC: [email protected] CC: [email protected] TO: Daniel Vetter <[email protected]> CC: Thomas Zimmermann <[email protected]>
Hi Daniel, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 729e3d091984487f7aa1ebfabfe594e5b317ed0f commit: b0548a245dd30bf448e2d4fc88edcb66d4fa668f drm/cirrus: Move to drm/tiny date: 5 months ago :::::: branch date: 13 hours ago :::::: commit date: 5 months ago config: riscv-randconfig-s032-20200912 (attached as .config) compiler: riscv64-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.2-191-g10164920-dirty git checkout b0548a245dd30bf448e2d4fc88edcb66d4fa668f # 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=riscv If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> sparse warnings: (new ones prefixed by >>) drivers/gpu/drm/tiny/cirrus.c:307:9: sparse: sparse: cast removes address space '<asn:2>' of expression drivers/gpu/drm/tiny/cirrus.c:307:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@ drivers/gpu/drm/tiny/cirrus.c:307:9: sparse: expected void volatile [noderef] <asn:2> *addr >> drivers/gpu/drm/tiny/cirrus.c:307:9: sparse: got void * # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b0548a245dd30bf448e2d4fc88edcb66d4fa668f git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout b0548a245dd30bf448e2d4fc88edcb66d4fa668f vim +307 drivers/gpu/drm/tiny/cirrus.c ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 181 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 182 static int cirrus_mode_set(struct cirrus_device *cirrus, ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 183 struct drm_display_mode *mode, ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 184 struct drm_framebuffer *fb) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 185 { ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 186 int hsyncstart, hsyncend, htotal, hdispend; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 187 int vtotal, vdispend; 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 188 int tmp, idx; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 189 int sr07 = 0, hdr = 0; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 190 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 191 if (!drm_dev_enter(&cirrus->dev, &idx)) 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 192 return -1; 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 193 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 194 htotal = mode->htotal / 8; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 195 hsyncend = mode->hsync_end / 8; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 196 hsyncstart = mode->hsync_start / 8; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 197 hdispend = mode->hdisplay / 8; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 198 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 199 vtotal = mode->vtotal; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 200 vdispend = mode->vdisplay; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 201 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 202 vdispend -= 1; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 203 vtotal -= 2; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 204 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 205 htotal -= 5; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 206 hdispend -= 1; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 207 hsyncstart += 1; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 208 hsyncend += 1; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 209 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 210 wreg_crt(cirrus, VGA_CRTC_V_SYNC_END, 0x20); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 211 wreg_crt(cirrus, VGA_CRTC_H_TOTAL, htotal); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 212 wreg_crt(cirrus, VGA_CRTC_H_DISP, hdispend); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 213 wreg_crt(cirrus, VGA_CRTC_H_SYNC_START, hsyncstart); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 214 wreg_crt(cirrus, VGA_CRTC_H_SYNC_END, hsyncend); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 215 wreg_crt(cirrus, VGA_CRTC_V_TOTAL, vtotal & 0xff); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 216 wreg_crt(cirrus, VGA_CRTC_V_DISP_END, vdispend & 0xff); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 217 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 218 tmp = 0x40; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 219 if ((vdispend + 1) & 512) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 220 tmp |= 0x20; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 221 wreg_crt(cirrus, VGA_CRTC_MAX_SCAN, tmp); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 222 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 223 /* ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 224 * Overflow bits for values that don't fit in the standard registers ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 225 */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 226 tmp = 0x10; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 227 if (vtotal & 0x100) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 228 tmp |= 0x01; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 229 if (vdispend & 0x100) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 230 tmp |= 0x02; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 231 if ((vdispend + 1) & 0x100) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 232 tmp |= 0x08; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 233 if (vtotal & 0x200) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 234 tmp |= 0x20; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 235 if (vdispend & 0x200) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 236 tmp |= 0x40; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 237 wreg_crt(cirrus, VGA_CRTC_OVERFLOW, tmp); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 238 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 239 tmp = 0; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 240 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 241 /* More overflow bits */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 242 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 243 if ((htotal + 5) & 0x40) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 244 tmp |= 0x10; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 245 if ((htotal + 5) & 0x80) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 246 tmp |= 0x20; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 247 if (vtotal & 0x100) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 248 tmp |= 0x40; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 249 if (vtotal & 0x200) ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 250 tmp |= 0x80; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 251 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 252 wreg_crt(cirrus, CL_CRT1A, tmp); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 253 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 254 /* Disable Hercules/CGA compatibility */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 255 wreg_crt(cirrus, VGA_CRTC_MODE, 0x03); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 256 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 257 sr07 = rreg_seq(cirrus, 0x07); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 258 sr07 &= 0xe0; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 259 hdr = 0; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 260 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 261 cirrus->cpp = cirrus_cpp(fb); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 262 switch (cirrus->cpp * 8) { ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 263 case 8: ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 264 sr07 |= 0x11; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 265 break; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 266 case 16: ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 267 sr07 |= 0x17; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 268 hdr = 0xc1; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 269 break; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 270 case 24: ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 271 sr07 |= 0x15; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 272 hdr = 0xc5; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 273 break; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 274 case 32: ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 275 sr07 |= 0x19; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 276 hdr = 0xc5; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 277 break; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 278 default: 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 279 drm_dev_exit(idx); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 280 return -1; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 281 } ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 282 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 283 wreg_seq(cirrus, 0x7, sr07); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 284 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 285 /* Program the pitch */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 286 cirrus->pitch = cirrus_pitch(fb); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 287 tmp = cirrus->pitch / 8; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 288 wreg_crt(cirrus, VGA_CRTC_OFFSET, tmp); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 289 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 290 /* Enable extended blanking and pitch bits, and enable full memory */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 291 tmp = 0x22; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 292 tmp |= (cirrus->pitch >> 7) & 0x10; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 293 tmp |= (cirrus->pitch >> 6) & 0x40; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 294 wreg_crt(cirrus, 0x1b, tmp); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 295 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 296 /* Enable high-colour modes */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 297 wreg_gfx(cirrus, VGA_GFX_MODE, 0x40); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 298 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 299 /* And set graphics mode */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 300 wreg_gfx(cirrus, VGA_GFX_MISC, 0x01); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 301 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 302 wreg_hdr(cirrus, hdr); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 303 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 304 cirrus_set_start_address(cirrus, 0); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 305 ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 306 /* Unblank (needed on S3 resume, vgabios doesn't do it then) */ ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 @307 outb(0x20, 0x3c0); 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 308 81e7301d7da3b7 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2020-02-11 309 drm_dev_exit(idx); ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 310 return 0; ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 311 } ab3e023b1b4c98 drivers/gpu/drm/cirrus/cirrus.c Gerd Hoffmann 2019-04-05 312 :::::: The code at line 307 was first introduced by commit :::::: ab3e023b1b4c9887c9f0f761b47f3f0516bd3434 drm/cirrus: rewrite and modernize driver. :::::: TO: Gerd Hoffmann <[email protected]> :::::: CC: Gerd Hoffmann <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
