* [linux-next:master 4991/7526] drivers/gpu/drm/i915/gvt/kvmgt.c:595:10: error: implicit declaration of function 'drm_edid_block_valid'
@ 2022-02-23 22:20 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-02-23 22:20 UTC (permalink / raw)
To: Jani Nikula; +Cc: kbuild-all, Linux Memory Management List
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 196d330d7fb1e7cc0d85641c89ce4602cb36f12e
commit: 01b94a9361680d6582dcc2a73a9eb464e0e40888 [4991/7526] drm/i915: include some drm headers only where needed
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220224/202202240620.tqMKhkvP-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=01b94a9361680d6582dcc2a73a9eb464e0e40888
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 01b94a9361680d6582dcc2a73a9eb464e0e40888
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Note: the linux-next/master HEAD 196d330d7fb1e7cc0d85641c89ce4602cb36f12e builds fine.
It may have been fixed somewhere.
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'handle_edid_regs':
>> drivers/gpu/drm/i915/gvt/kvmgt.c:595:10: error: implicit declaration of function 'drm_edid_block_valid' [-Werror=implicit-function-declaration]
595 | if (!drm_edid_block_valid(
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/drm_edid_block_valid +595 drivers/gpu/drm/i915/gvt/kvmgt.c
b851adeac0858c Tina Zhang 2017-11-20 576
39c68e87bc50a7 Hang Yuan 2019-01-30 577 static int handle_edid_regs(struct intel_vgpu *vgpu,
39c68e87bc50a7 Hang Yuan 2019-01-30 578 struct vfio_edid_region *region, char *buf,
39c68e87bc50a7 Hang Yuan 2019-01-30 579 size_t count, u16 offset, bool is_write)
39c68e87bc50a7 Hang Yuan 2019-01-30 580 {
39c68e87bc50a7 Hang Yuan 2019-01-30 581 struct vfio_region_gfx_edid *regs = ®ion->vfio_edid_regs;
39c68e87bc50a7 Hang Yuan 2019-01-30 582 unsigned int data;
39c68e87bc50a7 Hang Yuan 2019-01-30 583
39c68e87bc50a7 Hang Yuan 2019-01-30 584 if (offset + count > sizeof(*regs))
39c68e87bc50a7 Hang Yuan 2019-01-30 585 return -EINVAL;
39c68e87bc50a7 Hang Yuan 2019-01-30 586
39c68e87bc50a7 Hang Yuan 2019-01-30 587 if (count != 4)
39c68e87bc50a7 Hang Yuan 2019-01-30 588 return -EINVAL;
39c68e87bc50a7 Hang Yuan 2019-01-30 589
39c68e87bc50a7 Hang Yuan 2019-01-30 590 if (is_write) {
39c68e87bc50a7 Hang Yuan 2019-01-30 591 data = *((unsigned int *)buf);
39c68e87bc50a7 Hang Yuan 2019-01-30 592 switch (offset) {
39c68e87bc50a7 Hang Yuan 2019-01-30 593 case offsetof(struct vfio_region_gfx_edid, link_state):
39c68e87bc50a7 Hang Yuan 2019-01-30 594 if (data == VFIO_DEVICE_GFX_LINK_STATE_UP) {
39c68e87bc50a7 Hang Yuan 2019-01-30 @595 if (!drm_edid_block_valid(
39c68e87bc50a7 Hang Yuan 2019-01-30 596 (u8 *)region->edid_blob,
39c68e87bc50a7 Hang Yuan 2019-01-30 597 0,
39c68e87bc50a7 Hang Yuan 2019-01-30 598 true,
39c68e87bc50a7 Hang Yuan 2019-01-30 599 NULL)) {
39c68e87bc50a7 Hang Yuan 2019-01-30 600 gvt_vgpu_err("invalid EDID blob\n");
39c68e87bc50a7 Hang Yuan 2019-01-30 601 return -EINVAL;
39c68e87bc50a7 Hang Yuan 2019-01-30 602 }
39c68e87bc50a7 Hang Yuan 2019-01-30 603 intel_gvt_ops->emulate_hotplug(vgpu, true);
39c68e87bc50a7 Hang Yuan 2019-01-30 604 } else if (data == VFIO_DEVICE_GFX_LINK_STATE_DOWN)
39c68e87bc50a7 Hang Yuan 2019-01-30 605 intel_gvt_ops->emulate_hotplug(vgpu, false);
39c68e87bc50a7 Hang Yuan 2019-01-30 606 else {
39c68e87bc50a7 Hang Yuan 2019-01-30 607 gvt_vgpu_err("invalid EDID link state %d\n",
39c68e87bc50a7 Hang Yuan 2019-01-30 608 regs->link_state);
39c68e87bc50a7 Hang Yuan 2019-01-30 609 return -EINVAL;
39c68e87bc50a7 Hang Yuan 2019-01-30 610 }
39c68e87bc50a7 Hang Yuan 2019-01-30 611 regs->link_state = data;
39c68e87bc50a7 Hang Yuan 2019-01-30 612 break;
39c68e87bc50a7 Hang Yuan 2019-01-30 613 case offsetof(struct vfio_region_gfx_edid, edid_size):
39c68e87bc50a7 Hang Yuan 2019-01-30 614 if (data > regs->edid_max_size) {
39c68e87bc50a7 Hang Yuan 2019-01-30 615 gvt_vgpu_err("EDID size is bigger than %d!\n",
39c68e87bc50a7 Hang Yuan 2019-01-30 616 regs->edid_max_size);
39c68e87bc50a7 Hang Yuan 2019-01-30 617 return -EINVAL;
39c68e87bc50a7 Hang Yuan 2019-01-30 618 }
39c68e87bc50a7 Hang Yuan 2019-01-30 619 regs->edid_size = data;
39c68e87bc50a7 Hang Yuan 2019-01-30 620 break;
39c68e87bc50a7 Hang Yuan 2019-01-30 621 default:
39c68e87bc50a7 Hang Yuan 2019-01-30 622 /* read-only regs */
39c68e87bc50a7 Hang Yuan 2019-01-30 623 gvt_vgpu_err("write read-only EDID region at offset %d\n",
39c68e87bc50a7 Hang Yuan 2019-01-30 624 offset);
39c68e87bc50a7 Hang Yuan 2019-01-30 625 return -EPERM;
39c68e87bc50a7 Hang Yuan 2019-01-30 626 }
39c68e87bc50a7 Hang Yuan 2019-01-30 627 } else {
39c68e87bc50a7 Hang Yuan 2019-01-30 628 memcpy(buf, (char *)regs + offset, count);
39c68e87bc50a7 Hang Yuan 2019-01-30 629 }
39c68e87bc50a7 Hang Yuan 2019-01-30 630
39c68e87bc50a7 Hang Yuan 2019-01-30 631 return count;
39c68e87bc50a7 Hang Yuan 2019-01-30 632 }
39c68e87bc50a7 Hang Yuan 2019-01-30 633
:::::: The code at line 595 was first introduced by commit
:::::: 39c68e87bc50a71bcfe93582d9b0673ef30db418 drm/i915/gvt: add VFIO EDID region
:::::: TO: Hang Yuan <hang.yuan@linux.intel.com>
:::::: CC: Zhenyu Wang <zhenyuw@linux.intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-02-23 22:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-23 22:20 [linux-next:master 4991/7526] drivers/gpu/drm/i915/gvt/kvmgt.c:595:10: error: implicit declaration of function 'drm_edid_block_valid' kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox