Re: svn commit: r324038 - in head/sys: dev/bnxt dev/drm dev/drm2/i915 dev/drm2/radeon dev/e1000 net

2017-09-27 Thread Pintér , Olivér
On Wed, Sep 27, 2017 at 1:23 AM, Conrad Meyer  wrote:

> 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.hTue Sep 26 23:12:32 2017(r324037)
> +++ head/sys/net/iflib.hTue 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"
>
This will be MODULE_PNP_INFO.



> +#define IFLIB_PNP_INFO(b, u, t) \
> +MODULE_PNP_INFO(IFLIB_PNP_DESCR, b, u, t, sizeof(t[0]), nitems(t))
>
And this IFLIB_PNP_DESCR.


> +
>  typedef struct if_txrx {
> int (*ift_txd_encap) (void *, 

svn commit: r324038 - in head/sys: dev/bnxt dev/drm dev/drm2/i915 dev/drm2/radeon dev/e1000 net

2017-09-26 Thread Conrad Meyer
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.hTue Sep 26 23:12:32 2017(r324037)
+++ head/sys/net/iflib.hTue 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);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"