Re: [PATCH] drm: Fix fbcon blank on QEMU graphics drivers

From: kernel test robot
Date: Fri Apr 16 2021 - 14:08:21 EST


Hi Takashi,

I love your patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next linus/master v5.12-rc7 next-20210416]
[cannot apply to drm/drm-next]
[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]

url: https://github.com/0day-ci/linux/commits/Takashi-Iwai/drm-Fix-fbcon-blank-on-QEMU-graphics-drivers/20210416-205539
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: mips-randconfig-r001-20210416 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/4b1a07505589e5f12ae52f249fa93b400e35e602
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Takashi-Iwai/drm-Fix-fbcon-blank-on-QEMU-graphics-drivers/20210416-205539
git checkout 4b1a07505589e5f12ae52f249fa93b400e35e602
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=mips

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

All errors (new ones prefixed by >>):

drivers/gpu/drm/qxl/qxl_drv.c: In function 'qxl_pci_probe':
>> drivers/gpu/drm/qxl/qxl_drv.c:123:10: error: 'struct qxl_device' has no member named 'fb_helper'
123 | if (qdev->fb_helper)
| ^~
drivers/gpu/drm/qxl/qxl_drv.c:124:7: error: 'struct qxl_device' has no member named 'fb_helper'
124 | qdev->fb_helper->no_dpms_blank = true;
| ^~


vim +123 drivers/gpu/drm/qxl/qxl_drv.c

71
72 static int
73 qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
74 {
75 struct qxl_device *qdev;
76 int ret;
77
78 if (pdev->revision < 4) {
79 DRM_ERROR("qxl too old, doesn't support client_monitors_config,"
80 " use xf86-video-qxl in user mode");
81 return -EINVAL; /* TODO: ENODEV ? */
82 }
83
84 qdev = devm_drm_dev_alloc(&pdev->dev, &qxl_driver,
85 struct qxl_device, ddev);
86 if (IS_ERR(qdev)) {
87 pr_err("Unable to init drm dev");
88 return -ENOMEM;
89 }
90
91 ret = pci_enable_device(pdev);
92 if (ret)
93 return ret;
94
95 ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "qxl");
96 if (ret)
97 goto disable_pci;
98
99 if (is_vga(pdev) && pdev->revision < 5) {
100 ret = vga_get_interruptible(pdev, VGA_RSRC_LEGACY_IO);
101 if (ret) {
102 DRM_ERROR("can't get legacy vga ioports\n");
103 goto disable_pci;
104 }
105 }
106
107 ret = qxl_device_init(qdev, pdev);
108 if (ret)
109 goto put_vga;
110
111 ret = qxl_modeset_init(qdev);
112 if (ret)
113 goto unload;
114
115 drm_kms_helper_poll_init(&qdev->ddev);
116
117 /* Complete initialization. */
118 ret = drm_dev_register(&qdev->ddev, ent->driver_data);
119 if (ret)
120 goto modeset_cleanup;
121
122 drm_fbdev_generic_setup(&qdev->ddev, 32);
> 123 if (qdev->fb_helper)
124 qdev->fb_helper->no_dpms_blank = true;
125
126 return 0;
127
128 modeset_cleanup:
129 qxl_modeset_fini(qdev);
130 unload:
131 qxl_device_fini(qdev);
132 put_vga:
133 if (is_vga(pdev) && pdev->revision < 5)
134 vga_put(pdev, VGA_RSRC_LEGACY_IO);
135 disable_pci:
136 pci_disable_device(pdev);
137
138 return ret;
139 }
140

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

Attachment: .config.gz
Description: application/gzip