Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2017 23:23:58 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r324038 - in head/sys: dev/bnxt dev/drm dev/drm2/i915 dev/drm2/radeon dev/e1000 net
Message-ID:  <201709262323.v8QNNw34009531@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cem
Date: Tue Sep 26 23:23:58 2017
New Revision: 324038
URL: https://svnweb.freebsd.org/changeset/base/324038

Log:
  Add PNP metadata to more drivers
  
  GPUs: radeonkms, i915kms
  NICs: if_em, if_igb, if_bnxt
  
  This metadata isn't used yet, but it will be handy to have later to
  implement automatic module loading.
  
  Reviewed by:	imp, mmacy
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D12488

Modified:
  head/sys/dev/bnxt/if_bnxt.c
  head/sys/dev/drm/drmP.h
  head/sys/dev/drm2/i915/i915_drv.c
  head/sys/dev/drm2/radeon/radeon_drv.c
  head/sys/dev/e1000/if_em.c
  head/sys/net/iflib.h

Modified: head/sys/dev/bnxt/if_bnxt.c
==============================================================================
--- head/sys/dev/bnxt/if_bnxt.c	Tue Sep 26 23:12:32 2017	(r324037)
+++ head/sys/dev/bnxt/if_bnxt.c	Tue Sep 26 23:23:58 2017	(r324038)
@@ -243,6 +243,8 @@ MODULE_DEPEND(bnxt, pci, 1, 1, 1);
 MODULE_DEPEND(bnxt, ether, 1, 1, 1);
 MODULE_DEPEND(bnxt, iflib, 1, 1, 1);
 
+IFLIB_PNP_INFO(pci, bnxt, bnxt_vendor_info_array);
+
 static device_method_t bnxt_iflib_methods[] = {
 	DEVMETHOD(ifdi_tx_queues_alloc, bnxt_tx_queues_alloc),
 	DEVMETHOD(ifdi_rx_queues_alloc, bnxt_rx_queues_alloc),

Modified: head/sys/dev/drm/drmP.h
==============================================================================
--- head/sys/dev/drm/drmP.h	Tue Sep 26 23:12:32 2017	(r324037)
+++ head/sys/dev/drm/drmP.h	Tue Sep 26 23:23:58 2017	(r324038)
@@ -321,7 +321,7 @@ typedef struct drm_pci_id_list
 {
 	int vendor;
 	int device;
-	long driver_private;
+	intptr_t driver_private;
 	char *name;
 } drm_pci_id_list_t;
 

Modified: head/sys/dev/drm2/i915/i915_drv.c
==============================================================================
--- head/sys/dev/drm2/i915/i915_drv.c	Tue Sep 26 23:12:32 2017	(r324037)
+++ head/sys/dev/drm2/i915/i915_drv.c	Tue Sep 26 23:23:58 2017	(r324038)
@@ -1236,6 +1236,8 @@ MODULE_DEPEND(i915kms, agp, 1, 1, 1);
 MODULE_DEPEND(i915kms, iicbus, 1, 1, 1);
 MODULE_DEPEND(i915kms, iic, 1, 1, 1);
 MODULE_DEPEND(i915kms, iicbb, 1, 1, 1);
+MODULE_PNP_INFO("U32:vendor;U32:device;P;D:human", vgapci, i915, pciidlist,
+    sizeof(pciidlist[0]), nitems(pciidlist));
 
 /* We give fast paths for the really cool registers */
 #define NEEDS_FORCE_WAKE(dev_priv, reg) \

Modified: head/sys/dev/drm2/radeon/radeon_drv.c
==============================================================================
--- head/sys/dev/drm2/radeon/radeon_drv.c	Tue Sep 26 23:12:32 2017	(r324037)
+++ head/sys/dev/drm2/radeon/radeon_drv.c	Tue Sep 26 23:23:58 2017	(r324038)
@@ -401,3 +401,5 @@ MODULE_DEPEND(radeonkms, iicbus, 1, 1, 1);
 MODULE_DEPEND(radeonkms, iic, 1, 1, 1);
 MODULE_DEPEND(radeonkms, iicbb, 1, 1, 1);
 MODULE_DEPEND(radeonkms, firmware, 1, 1, 1);
+MODULE_PNP_INFO("U32:vendor;U32:device;P;D:human", vgapci, radeonkms,
+    pciidlist, sizeof(pciidlist[0]), nitems(pciidlist));

Modified: head/sys/dev/e1000/if_em.c
==============================================================================
--- head/sys/dev/e1000/if_em.c	Tue Sep 26 23:12:32 2017	(r324037)
+++ head/sys/dev/e1000/if_em.c	Tue Sep 26 23:23:58 2017	(r324038)
@@ -339,6 +339,8 @@ MODULE_DEPEND(em, pci, 1, 1, 1);
 MODULE_DEPEND(em, ether, 1, 1, 1);
 MODULE_DEPEND(em, iflib, 1, 1, 1);
 
+IFLIB_PNP_INFO(pci, em, em_vendor_info_array);
+
 static driver_t igb_driver = {
 	"igb", igb_methods, sizeof(struct adapter),
 };
@@ -350,6 +352,7 @@ MODULE_DEPEND(igb, pci, 1, 1, 1);
 MODULE_DEPEND(igb, ether, 1, 1, 1);
 MODULE_DEPEND(igb, iflib, 1, 1, 1);
 
+IFLIB_PNP_INFO(pci, igb, igb_vendor_info_array);
 
 static device_method_t em_if_methods[] = {
 	DEVMETHOD(ifdi_attach_pre, em_if_attach_pre),

Modified: head/sys/net/iflib.h
==============================================================================
--- head/sys/net/iflib.h	Tue Sep 26 23:12:32 2017	(r324037)
+++ head/sys/net/iflib.h	Tue Sep 26 23:23:58 2017	(r324038)
@@ -173,6 +173,11 @@ typedef struct pci_vendor_info {
 #define PVID_OEM(vendor, devid, svid, sdevid, revid, name) {vendor, devid, svid, sdevid, revid, 0, name}
 #define PVID_END {0, 0, 0, 0, 0, 0, NULL}
 
+#define IFLIB_PNP_DESCR "U32:vendor;U32:device;U32:subvendor;U32:subdevice;" \
+    "U32:revision;U32:class;D:human"
+#define IFLIB_PNP_INFO(b, u, t) \
+    MODULE_PNP_INFO(IFLIB_PNP_DESCR, b, u, t, sizeof(t[0]), nitems(t))
+
 typedef struct if_txrx {
 	int (*ift_txd_encap) (void *, if_pkt_info_t);
 	void (*ift_txd_flush) (void *, uint16_t, qidx_t pidx);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201709262323.v8QNNw34009531>