Subject: Re: [PATCH v2 2/2] pci_ids: Add the various Microsoft PCI device IDs

From: kernel test robot <[email-masked]>
Date: Sat, 10 Sep 2022 17:29:23 +0800

Hi Easwar,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20220909]
[cannot apply to drm-misc/drm-misc-next helgaas-pci/next linus/master v6.0-rc4 v6.0-rc3 v6.0-rc2 v6.0-rc4]
[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/Easwar-Hariharan/hv-Use-PCI_VENDOR_ID_MICROSOFT-for-better-discoverability/20220910-035101
base:    9a82ccda91ed2b40619cb3c10d446ae1f97bab6e
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220910/[email-masked]/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/68683df33cefc1108eaa8a0a2857e2f2148231d1
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Easwar-Hariharan/hv-Use-PCI_VENDOR_ID_MICROSOFT-for-better-discoverability/20220910-035101
        git checkout 68683df33cefc1108eaa8a0a2857e2f2148231d1
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email-masked]>

All errors (new ones prefixed by >>):

   drivers/hv/vmbus_drv.c: In function 'vmbus_reserve_fb':
>> drivers/hv/vmbus_drv.c:2278:39: error: 'PCI_DEVICE_ID_HYPERV_VIDEO' undeclared (first use in this function); did you mean 'PCI_DEVICE_ID_NS_GX_VIDEO'?
    2278 |                                       PCI_DEVICE_ID_HYPERV_VIDEO, NULL);
         |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                       PCI_DEVICE_ID_NS_GX_VIDEO
   drivers/hv/vmbus_drv.c:2278:39: note: each undeclared identifier is reported only once for each function it appears in

vim +2278 drivers/hv/vmbus_drv.c

7f163a6fd957a8 Jake Oshins      2015-08-05  2265  
6d146aefbaa5c5 Jake Oshins      2016-04-05  2266  static void vmbus_reserve_fb(void)
6d146aefbaa5c5 Jake Oshins      2016-04-05  2267  {
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2268  	resource_size_t start = 0, size;
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2269  	struct pci_dev *pdev;
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2270  
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2271  	if (efi_enabled(EFI_BOOT)) {
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2272  		/* Gen2 VM: get FB base from EFI framebuffer */
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2273  		start = screen_info.lfb_base;
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2274  		size = max_t(__u32, screen_info.lfb_size, 0x800000);
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2275  	} else {
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2276  		/* Gen1 VM: get FB base from PCI */
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2277  		pdev = pci_get_device(PCI_VENDOR_ID_MICROSOFT,
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27 @2278  				      PCI_DEVICE_ID_HYPERV_VIDEO, NULL);
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2279  		if (!pdev)
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2280  			return;
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2281  
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2282  		if (pdev->resource[0].flags & IORESOURCE_MEM) {
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2283  			start = pci_resource_start(pdev, 0);
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2284  			size = pci_resource_len(pdev, 0);
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2285  		}
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2286  
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2287  		/*
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2288  		 * Release the PCI device so hyperv_drm or hyperv_fb driver can
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2289  		 * grab it later.
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2290  		 */
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2291  		pci_dev_put(pdev);
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2292  	}
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2293  
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2294  	if (!start)
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2295  		return;
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2296  
6d146aefbaa5c5 Jake Oshins      2016-04-05  2297  	/*
6d146aefbaa5c5 Jake Oshins      2016-04-05  2298  	 * Make a claim for the frame buffer in the resource tree under the
6d146aefbaa5c5 Jake Oshins      2016-04-05  2299  	 * first node, which will be the one below 4GB.  The length seems to
6d146aefbaa5c5 Jake Oshins      2016-04-05  2300  	 * be underreported, particularly in a Generation 1 VM.  So start out
6d146aefbaa5c5 Jake Oshins      2016-04-05  2301  	 * reserving a larger area and make it smaller until it succeeds.
6d146aefbaa5c5 Jake Oshins      2016-04-05  2302  	 */
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2303  	for (; !fb_mmio && (size >= 0x100000); size >>= 1)
2a8a8afba0c305 Vitaly Kuznetsov 2022-08-27  2304  		fb_mmio = __request_region(hyperv_mmio, start, size, fb_mmio_name, 0);
6d146aefbaa5c5 Jake Oshins      2016-04-05  2305  }
6d146aefbaa5c5 Jake Oshins      2016-04-05  2306  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp