From: kernel test robot <lkp@intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>,
robdclark@gmail.com, quic_abhinavk@quicinc.com,
dmitry.baryshkov@linaro.org, sean@poorly.run, javierm@redhat.com,
airlied@gmail.com, daniel@ffwll.ch
Cc: oe-kbuild-all@lists.linux.dev, linux-arm-msm@vger.kernel.org,
freedreno@lists.freedesktop.org,
Thomas Zimmermann <tzimmermann@suse.de>,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 6/6] drm/msm: Implement fbdev emulation as in-kernel client
Date: Thu, 30 Mar 2023 18:22:44 +0800 [thread overview]
Message-ID: <202303301849.HjMnKXNi-lkp@intel.com> (raw)
In-Reply-To: <20230330074150.7637-7-tzimmermann@suse.de>
Hi Thomas,
I love your patch! Yet something to improve:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.3-rc4]
[cannot apply to next-20230330]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/drm-msm-Clear-aperture-ownership-outside-of-fbdev-code/20230330-154729
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230330074150.7637-7-tzimmermann%40suse.de
patch subject: [PATCH 6/6] drm/msm: Implement fbdev emulation as in-kernel client
config: csky-randconfig-r011-20230329 (https://download.01.org/0day-ci/archive/20230330/202303301849.HjMnKXNi-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/ec39cb11cf72fb01ada6fe51c7c572a31dcc805d
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-msm-Clear-aperture-ownership-outside-of-fbdev-code/20230330-154729
git checkout ec39cb11cf72fb01ada6fe51c7c572a31dcc805d
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=csky olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=csky SHELL=/bin/bash drivers/gpu/drm/msm/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303301849.HjMnKXNi-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/msm/msm_drv.c: In function 'msm_drm_init':
>> drivers/gpu/drm/msm/msm_drv.c:538:20: error: 'fbdev' undeclared (first use in this function)
538 | if (kms && fbdev)
| ^~~~~
drivers/gpu/drm/msm/msm_drv.c:538:20: note: each undeclared identifier is reported only once for each function it appears in
vim +/fbdev +538 drivers/gpu/drm/msm/msm_drv.c
398
399 static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
400 {
401 struct msm_drm_private *priv = dev_get_drvdata(dev);
402 struct drm_device *ddev;
403 struct msm_kms *kms;
404 int ret, i;
405
406 if (drm_firmware_drivers_only())
407 return -ENODEV;
408
409 /* the fw fb could be anywhere in memory */
410 ret = drm_aperture_remove_framebuffers(false, drv);
411 if (ret)
412 return ret;
413
414 ddev = drm_dev_alloc(drv, dev);
415 if (IS_ERR(ddev)) {
416 DRM_DEV_ERROR(dev, "failed to allocate drm_device\n");
417 return PTR_ERR(ddev);
418 }
419 ddev->dev_private = priv;
420 priv->dev = ddev;
421
422 priv->wq = alloc_ordered_workqueue("msm", 0);
423 if (!priv->wq)
424 return -ENOMEM;
425
426 INIT_LIST_HEAD(&priv->objects);
427 mutex_init(&priv->obj_lock);
428
429 /*
430 * Initialize the LRUs:
431 */
432 mutex_init(&priv->lru.lock);
433 drm_gem_lru_init(&priv->lru.unbacked, &priv->lru.lock);
434 drm_gem_lru_init(&priv->lru.pinned, &priv->lru.lock);
435 drm_gem_lru_init(&priv->lru.willneed, &priv->lru.lock);
436 drm_gem_lru_init(&priv->lru.dontneed, &priv->lru.lock);
437
438 /* Teach lockdep about lock ordering wrt. shrinker: */
439 fs_reclaim_acquire(GFP_KERNEL);
440 might_lock(&priv->lru.lock);
441 fs_reclaim_release(GFP_KERNEL);
442
443 drm_mode_config_init(ddev);
444
445 ret = msm_init_vram(ddev);
446 if (ret)
447 goto err_drm_dev_put;
448
449 /* Bind all our sub-components: */
450 ret = component_bind_all(dev, ddev);
451 if (ret)
452 goto err_drm_dev_put;
453
454 dma_set_max_seg_size(dev, UINT_MAX);
455
456 msm_gem_shrinker_init(ddev);
457
458 if (priv->kms_init) {
459 ret = priv->kms_init(ddev);
460 if (ret) {
461 DRM_DEV_ERROR(dev, "failed to load kms\n");
462 priv->kms = NULL;
463 goto err_msm_uninit;
464 }
465 kms = priv->kms;
466 } else {
467 /* valid only for the dummy headless case, where of_node=NULL */
468 WARN_ON(dev->of_node);
469 kms = NULL;
470 }
471
472 /* Enable normalization of plane zpos */
473 ddev->mode_config.normalize_zpos = true;
474
475 if (kms) {
476 kms->dev = ddev;
477 ret = kms->funcs->hw_init(kms);
478 if (ret) {
479 DRM_DEV_ERROR(dev, "kms hw init failed: %d\n", ret);
480 goto err_msm_uninit;
481 }
482 }
483
484 drm_helper_move_panel_connectors_to_head(ddev);
485
486 ddev->mode_config.funcs = &mode_config_funcs;
487 ddev->mode_config.helper_private = &mode_config_helper_funcs;
488
489 for (i = 0; i < priv->num_crtcs; i++) {
490 /* initialize event thread */
491 priv->event_thread[i].crtc_id = priv->crtcs[i]->base.id;
492 priv->event_thread[i].dev = ddev;
493 priv->event_thread[i].worker = kthread_create_worker(0,
494 "crtc_event:%d", priv->event_thread[i].crtc_id);
495 if (IS_ERR(priv->event_thread[i].worker)) {
496 ret = PTR_ERR(priv->event_thread[i].worker);
497 DRM_DEV_ERROR(dev, "failed to create crtc_event kthread\n");
498 priv->event_thread[i].worker = NULL;
499 goto err_msm_uninit;
500 }
501
502 sched_set_fifo(priv->event_thread[i].worker->task);
503 }
504
505 ret = drm_vblank_init(ddev, priv->num_crtcs);
506 if (ret < 0) {
507 DRM_DEV_ERROR(dev, "failed to initialize vblank\n");
508 goto err_msm_uninit;
509 }
510
511 if (kms) {
512 pm_runtime_get_sync(dev);
513 ret = msm_irq_install(ddev, kms->irq);
514 pm_runtime_put_sync(dev);
515 if (ret < 0) {
516 DRM_DEV_ERROR(dev, "failed to install IRQ handler\n");
517 goto err_msm_uninit;
518 }
519 }
520
521 ret = drm_dev_register(ddev, 0);
522 if (ret)
523 goto err_msm_uninit;
524
525 if (kms) {
526 ret = msm_disp_snapshot_init(ddev);
527 if (ret)
528 DRM_DEV_ERROR(dev, "msm_disp_snapshot_init failed ret = %d\n", ret);
529 }
530 drm_mode_config_reset(ddev);
531
532 ret = msm_debugfs_late_init(ddev);
533 if (ret)
534 goto err_msm_uninit;
535
536 drm_kms_helper_poll_init(ddev);
537
> 538 if (kms && fbdev)
539 msm_fbdev_setup(ddev);
540
541 return 0;
542
543 err_msm_uninit:
544 msm_drm_uninit(dev);
545 err_drm_dev_put:
546 drm_dev_put(ddev);
547 return ret;
548 }
549
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-03-30 10:23 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-30 7:41 [PATCH 0/6] drm/msm: Convert fbdev to DRM client Thomas Zimmermann
2023-03-30 7:41 ` [PATCH 1/6] drm/msm: Clear aperture ownership outside of fbdev code Thomas Zimmermann
2023-03-30 9:51 ` Dmitry Baryshkov
2023-04-03 11:19 ` Thomas Zimmermann
2023-03-30 7:41 ` [PATCH 2/6] drm/msm: Remove fb from struct msm_fbdev Thomas Zimmermann
2023-03-30 9:56 ` Dmitry Baryshkov
2023-03-30 7:41 ` [PATCH 3/6] drm/msm: Remove " Thomas Zimmermann
2023-03-30 9:57 ` Dmitry Baryshkov
2023-03-30 7:41 ` [PATCH 4/6] drm/msm: Remove fbdev from struct msm_drm_private Thomas Zimmermann
2023-03-30 10:01 ` Dmitry Baryshkov
2023-03-30 7:41 ` [PATCH 5/6] drm/msm: Initialize fbdev DRM client Thomas Zimmermann
2023-03-30 10:05 ` Dmitry Baryshkov
2023-03-30 7:41 ` [PATCH 6/6] drm/msm: Implement fbdev emulation as in-kernel client Thomas Zimmermann
2023-03-30 10:22 ` kernel test robot [this message]
2023-03-30 10:33 ` kernel test robot
2023-03-30 9:46 ` [PATCH 0/6] drm/msm: Convert fbdev to DRM client Dmitry Baryshkov
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=202303301849.HjMnKXNi-lkp@intel.com \
--to=lkp@intel.com \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=javierm@redhat.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=tzimmermann@suse.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox