2022-09-09 19:14:59

by Easwar Hariharan

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

From: Easwar Hariharan <[email protected]>

Signed-off-by: Easwar Hariharan <[email protected]>
---
drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 2 +-
drivers/net/ethernet/microsoft/mana/gdma.h | 3 ---
drivers/net/ethernet/microsoft/mana/gdma_main.c | 6 +++---
drivers/video/fbdev/hyperv_fb.c | 4 ++--
include/linux/pci_ids.h | 4 +++-
5 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
index f84d397..24c2def 100644
--- a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
+++ b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
@@ -51,7 +51,7 @@ static void hyperv_pci_remove(struct pci_dev *pdev)
static const struct pci_device_id hyperv_pci_tbl[] = {
{
.vendor = PCI_VENDOR_ID_MICROSOFT,
- .device = PCI_DEVICE_ID_HYPERV_VIDEO,
+ .device = PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO,
},
{ /* end of list */ }
};
diff --git a/drivers/net/ethernet/microsoft/mana/gdma.h b/drivers/net/ethernet/microsoft/mana/gdma.h
index 4a6efe6..9d3a9f7 100644
--- a/drivers/net/ethernet/microsoft/mana/gdma.h
+++ b/drivers/net/ethernet/microsoft/mana/gdma.h
@@ -476,9 +476,6 @@ struct gdma_eqe {

#define GDMA_SRIOV_REG_CFG_BASE_OFF 0x108

-#define MANA_PF_DEVICE_ID 0x00B9
-#define MANA_VF_DEVICE_ID 0x00BA
-
struct gdma_posted_wqe_info {
u32 wqe_size_in_bu;
};
diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
index 00d8198..18cf168 100644
--- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
+++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
@@ -1333,7 +1333,7 @@ static void mana_gd_cleanup(struct pci_dev *pdev)

static bool mana_is_pf(unsigned short dev_id)
{
- return dev_id == MANA_PF_DEVICE_ID;
+ return dev_id == PCI_DEVICE_ID_MICROSOFT_MANA_PF;
}

static int mana_gd_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
@@ -1466,8 +1466,8 @@ static void mana_gd_shutdown(struct pci_dev *pdev)
}

static const struct pci_device_id mana_id_table[] = {
- { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, MANA_PF_DEVICE_ID) },
- { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, MANA_VF_DEVICE_ID) },
+ { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, PCI_DEVICE_ID_MICROSOFT_MANA_PF) },
+ { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, PCI_DEVICE_ID_MICROSOFT_MANA_VF) },
{ }
};

diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
index b58b445..118e244 100644
--- a/drivers/video/fbdev/hyperv_fb.c
+++ b/drivers/video/fbdev/hyperv_fb.c
@@ -997,7 +997,7 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)

if (!gen2vm) {
pdev = pci_get_device(PCI_VENDOR_ID_MICROSOFT,
- PCI_DEVICE_ID_HYPERV_VIDEO, NULL);
+ PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO, NULL);
if (!pdev) {
pr_err("Unable to find PCI Hyper-V video\n");
return -ENODEV;
@@ -1311,7 +1311,7 @@ static int hvfb_resume(struct hv_device *hdev)
static const struct pci_device_id pci_stub_id_table[] = {
{
.vendor = PCI_VENDOR_ID_MICROSOFT,
- .device = PCI_DEVICE_ID_HYPERV_VIDEO,
+ .device = PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO,
},
{ /* end of list */ }
};
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 15b49e6..fe3517f 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -2080,7 +2080,9 @@
#define PCI_DEVICE_ID_VT1724 0x1724

#define PCI_VENDOR_ID_MICROSOFT 0x1414
-#define PCI_DEVICE_ID_HYPERV_VIDEO 0x5353
+#define PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO 0x5353
+#define PCI_DEVICE_ID_MICROSOFT_MANA_PF 0x00B9
+#define PCI_DEVICE_ID_MICROSOFT_MANA_VF 0x00BA

#define PCI_VENDOR_ID_OXSEMI 0x1415
#define PCI_DEVICE_ID_OXSEMI_12PCI840 0x8403
--
1.8.3.1


2022-09-09 20:27:45

by Bjorn Helgaas

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

Please follow the PCI subject line conventions. Discover it with
"git log --oneline include/linux/pci_ids.h".

On Fri, Sep 09, 2022 at 11:50:25AM -0700, Easwar Hariharan wrote:
> From: Easwar Hariharan <[email protected]>
>

Needs a commit log, even if it is nothing more than the subject line.

Also read the top of include/linux/pci_ids.h, because it looks like
some of these are only used in one driver and hence do not need to be
in pci_ids.h.

> Signed-off-by: Easwar Hariharan <[email protected]>
> ---
> drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 2 +-
> drivers/net/ethernet/microsoft/mana/gdma.h | 3 ---
> drivers/net/ethernet/microsoft/mana/gdma_main.c | 6 +++---
> drivers/video/fbdev/hyperv_fb.c | 4 ++--
> include/linux/pci_ids.h | 4 +++-
> 5 files changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> index f84d397..24c2def 100644
> --- a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> +++ b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> @@ -51,7 +51,7 @@ static void hyperv_pci_remove(struct pci_dev *pdev)
> static const struct pci_device_id hyperv_pci_tbl[] = {
> {
> .vendor = PCI_VENDOR_ID_MICROSOFT,
> - .device = PCI_DEVICE_ID_HYPERV_VIDEO,
> + .device = PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO,
> },
> { /* end of list */ }
> };
> diff --git a/drivers/net/ethernet/microsoft/mana/gdma.h b/drivers/net/ethernet/microsoft/mana/gdma.h
> index 4a6efe6..9d3a9f7 100644
> --- a/drivers/net/ethernet/microsoft/mana/gdma.h
> +++ b/drivers/net/ethernet/microsoft/mana/gdma.h
> @@ -476,9 +476,6 @@ struct gdma_eqe {
>
> #define GDMA_SRIOV_REG_CFG_BASE_OFF 0x108
>
> -#define MANA_PF_DEVICE_ID 0x00B9
> -#define MANA_VF_DEVICE_ID 0x00BA
> -
> struct gdma_posted_wqe_info {
> u32 wqe_size_in_bu;
> };
> diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> index 00d8198..18cf168 100644
> --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> @@ -1333,7 +1333,7 @@ static void mana_gd_cleanup(struct pci_dev *pdev)
>
> static bool mana_is_pf(unsigned short dev_id)
> {
> - return dev_id == MANA_PF_DEVICE_ID;
> + return dev_id == PCI_DEVICE_ID_MICROSOFT_MANA_PF;
> }
>
> static int mana_gd_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> @@ -1466,8 +1466,8 @@ static void mana_gd_shutdown(struct pci_dev *pdev)
> }
>
> static const struct pci_device_id mana_id_table[] = {
> - { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, MANA_PF_DEVICE_ID) },
> - { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, MANA_VF_DEVICE_ID) },
> + { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, PCI_DEVICE_ID_MICROSOFT_MANA_PF) },
> + { PCI_DEVICE(PCI_VENDOR_ID_MICROSOFT, PCI_DEVICE_ID_MICROSOFT_MANA_VF) },
> { }
> };
>
> diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
> index b58b445..118e244 100644
> --- a/drivers/video/fbdev/hyperv_fb.c
> +++ b/drivers/video/fbdev/hyperv_fb.c
> @@ -997,7 +997,7 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
>
> if (!gen2vm) {
> pdev = pci_get_device(PCI_VENDOR_ID_MICROSOFT,
> - PCI_DEVICE_ID_HYPERV_VIDEO, NULL);
> + PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO, NULL);
> if (!pdev) {
> pr_err("Unable to find PCI Hyper-V video\n");
> return -ENODEV;
> @@ -1311,7 +1311,7 @@ static int hvfb_resume(struct hv_device *hdev)
> static const struct pci_device_id pci_stub_id_table[] = {
> {
> .vendor = PCI_VENDOR_ID_MICROSOFT,
> - .device = PCI_DEVICE_ID_HYPERV_VIDEO,
> + .device = PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO,
> },
> { /* end of list */ }
> };
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index 15b49e6..fe3517f 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2080,7 +2080,9 @@
> #define PCI_DEVICE_ID_VT1724 0x1724
>
> #define PCI_VENDOR_ID_MICROSOFT 0x1414
> -#define PCI_DEVICE_ID_HYPERV_VIDEO 0x5353
> +#define PCI_DEVICE_ID_MICROSOFT_HYPERV_VIDEO 0x5353
> +#define PCI_DEVICE_ID_MICROSOFT_MANA_PF 0x00B9
> +#define PCI_DEVICE_ID_MICROSOFT_MANA_VF 0x00BA
>
> #define PCI_VENDOR_ID_OXSEMI 0x1415
> #define PCI_DEVICE_ID_OXSEMI_12PCI840 0x8403
> --
> 1.8.3.1
>

2022-09-10 09:57:56

by kernel test robot

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

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 protected]/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 protected]>

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