tree: git://anongit.freedesktop.org/drm/drm-misc for-linux-next head: 247f2ee4498cfcaf18b3c3486dffd2302d56fc17 commit: 5e0c04c8c40b69ab165d52964433859d8b666376 [40/49] drm/print: make drm_err_printer() device specific by using drm_err() config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240213/202402130446.4SBrCdZH-lkp@xxxxxxxxx/config) compiler: alpha-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240213/202402130446.4SBrCdZH-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202402130446.4SBrCdZH-lkp@xxxxxxxxx/ Note: the drm-misc/for-linux-next HEAD 247f2ee4498cfcaf18b3c3486dffd2302d56fc17 builds fine. It only hurts bisectability. All errors (new ones prefixed by >>): drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c: In function 'xe_gt_tlb_invalidation_wait': >> drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c:317:48: error: passing argument 1 of 'drm_err_printer' from incompatible pointer type [-Werror=incompatible-pointer-types] 317 | struct drm_printer p = drm_err_printer(__func__); | ^~~~~~~~ | | | const char * In file included from include/drm/ttm/ttm_resource.h:34, from include/drm/ttm/ttm_device.h:30, from drivers/gpu/drm/xe/xe_device_types.h:13, from drivers/gpu/drm/xe/xe_device.h:15, from drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c:9: include/drm/drm_print.h:247:69: note: expected 'struct drm_device *' but argument is of type 'const char *' 247 | static inline struct drm_printer drm_err_printer(struct drm_device *drm, | ~~~~~~~~~~~~~~~~~~~^~~ >> drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c:317:32: error: too few arguments to function 'drm_err_printer' 317 | struct drm_printer p = drm_err_printer(__func__); | ^~~~~~~~~~~~~~~ include/drm/drm_print.h:247:34: note: declared here 247 | static inline struct drm_printer drm_err_printer(struct drm_device *drm, | ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/drm_err_printer +317 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c a9351846d94568 Matthew Brost 2023-01-17 302 c6b0948ff8d084 Matthew Brost 2023-01-20 303 /** c6b0948ff8d084 Matthew Brost 2023-01-20 304 * xe_gt_tlb_invalidation_wait - Wait for TLB to complete c6b0948ff8d084 Matthew Brost 2023-01-20 305 * @gt: graphics tile c6b0948ff8d084 Matthew Brost 2023-01-20 306 * @seqno: seqno to wait which was returned from xe_gt_tlb_invalidation c6b0948ff8d084 Matthew Brost 2023-01-20 307 * c6b0948ff8d084 Matthew Brost 2023-01-20 308 * Wait for 200ms for a TLB invalidation to complete, in practice we always c6b0948ff8d084 Matthew Brost 2023-01-20 309 * should receive the TLB invalidation within 200ms. c6b0948ff8d084 Matthew Brost 2023-01-20 310 * c6b0948ff8d084 Matthew Brost 2023-01-20 311 * Return: 0 on success, -ETIME on TLB invalidation timeout c6b0948ff8d084 Matthew Brost 2023-01-20 312 */ a9351846d94568 Matthew Brost 2023-01-17 313 int xe_gt_tlb_invalidation_wait(struct xe_gt *gt, int seqno) a9351846d94568 Matthew Brost 2023-01-17 314 { a9351846d94568 Matthew Brost 2023-01-17 315 struct xe_device *xe = gt_to_xe(gt); a9351846d94568 Matthew Brost 2023-01-17 316 struct xe_guc *guc = >->uc.guc; ebb00b285bef8b Pallavi Mishra 2023-11-01 @317 struct drm_printer p = drm_err_printer(__func__); a9351846d94568 Matthew Brost 2023-01-17 318 int ret; a9351846d94568 Matthew Brost 2023-01-17 319 a9351846d94568 Matthew Brost 2023-01-17 320 /* a9351846d94568 Matthew Brost 2023-01-17 321 * XXX: See above, this algorithm only works if seqno are always in a9351846d94568 Matthew Brost 2023-01-17 322 * order a9351846d94568 Matthew Brost 2023-01-17 323 */ a9351846d94568 Matthew Brost 2023-01-17 324 ret = wait_event_timeout(guc->ct.wq, a9351846d94568 Matthew Brost 2023-01-17 325 tlb_invalidation_seqno_past(gt, seqno), 38224c00d9c284 Matthew Brost 2023-01-24 326 TLB_TIMEOUT); a9351846d94568 Matthew Brost 2023-01-17 327 if (!ret) { a5cecbac92d5a5 Nirmoy Das 2023-05-05 328 drm_err(&xe->drm, "gt%d: TLB invalidation time'd out, seqno=%d, recv=%d\n", a5cecbac92d5a5 Nirmoy Das 2023-05-05 329 gt->info.id, seqno, gt->tlb_invalidation.seqno_recv); ebb00b285bef8b Pallavi Mishra 2023-11-01 330 xe_guc_ct_print(&guc->ct, &p, true); a9351846d94568 Matthew Brost 2023-01-17 331 return -ETIME; a9351846d94568 Matthew Brost 2023-01-17 332 } a9351846d94568 Matthew Brost 2023-01-17 333 a9351846d94568 Matthew Brost 2023-01-17 334 return 0; a9351846d94568 Matthew Brost 2023-01-17 335 } a9351846d94568 Matthew Brost 2023-01-17 336 :::::: The code at line 317 was first introduced by commit :::::: ebb00b285bef8bcdc46ac4e344d5748539bdd213 drm/xe: Dump CTB during TLB timeout :::::: TO: Pallavi Mishra <pallavi.mishra@xxxxxxxxx> :::::: CC: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki