aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/chelsio
diff options
context:
space:
mode:
authorKumar Sanghvi <kumaras@chelsio.com>2014-02-18 07:26:09 -0500
committerDavid S. Miller <davem@davemloft.net>2014-02-18 16:23:00 -0500
commita94cd70521151d107bb069f0c15d1bb7acf302b5 (patch)
tree5c4899ae7576b103d5f7333522acaf8e3ce7559e /drivers/net/ethernet/chelsio
parent72aca4bfce3a39be98e40ce0b18776b9f91022f4 (diff)
cxgb4: Print adapter VPD Part Number instead of Engineering Change field
When we attach to adapter, print VPD Part Number instead of Engineering Change field. Based on original work by Casey Leedom <leedom@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4.h2
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c4
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/t4_hw.c5
3 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
index 0c4edd1db761..028b5e540130 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
@@ -66,6 +66,7 @@ enum {
66 SERNUM_LEN = 24, /* Serial # length */ 66 SERNUM_LEN = 24, /* Serial # length */
67 EC_LEN = 16, /* E/C length */ 67 EC_LEN = 16, /* E/C length */
68 ID_LEN = 16, /* ID length */ 68 ID_LEN = 16, /* ID length */
69 PN_LEN = 16, /* Part Number length */
69}; 70};
70 71
71enum { 72enum {
@@ -254,6 +255,7 @@ struct vpd_params {
254 u8 ec[EC_LEN + 1]; 255 u8 ec[EC_LEN + 1];
255 u8 sn[SERNUM_LEN + 1]; 256 u8 sn[SERNUM_LEN + 1];
256 u8 id[ID_LEN + 1]; 257 u8 id[ID_LEN + 1];
258 u8 pn[PN_LEN + 1];
257}; 259};
258 260
259struct pci_params { 261struct pci_params {
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 1da4adb013b3..809685d748f2 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -5839,8 +5839,8 @@ static void print_port_info(const struct net_device *dev)
5839 is_offload(adap) ? "R" : "", adap->params.pci.width, spd, 5839 is_offload(adap) ? "R" : "", adap->params.pci.width, spd,
5840 (adap->flags & USING_MSIX) ? " MSI-X" : 5840 (adap->flags & USING_MSIX) ? " MSI-X" :
5841 (adap->flags & USING_MSI) ? " MSI" : ""); 5841 (adap->flags & USING_MSI) ? " MSI" : "");
5842 netdev_info(dev, "S/N: %s, E/C: %s\n", 5842 netdev_info(dev, "S/N: %s, P/N: %s\n",
5843 adap->params.vpd.sn, adap->params.vpd.ec); 5843 adap->params.vpd.sn, adap->params.vpd.pn);
5844} 5844}
5845 5845
5846static void enable_pcie_relaxed_ordering(struct pci_dev *dev) 5846static void enable_pcie_relaxed_ordering(struct pci_dev *dev)
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
index 514c525e99cf..7ae756defc95 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
@@ -573,7 +573,7 @@ int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
573{ 573{
574 u32 cclk_param, cclk_val; 574 u32 cclk_param, cclk_val;
575 int i, ret, addr; 575 int i, ret, addr;
576 int ec, sn; 576 int ec, sn, pn;
577 u8 *vpd, csum; 577 u8 *vpd, csum;
578 unsigned int vpdr_len, kw_offset, id_len; 578 unsigned int vpdr_len, kw_offset, id_len;
579 579
@@ -638,6 +638,7 @@ int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
638 638
639 FIND_VPD_KW(ec, "EC"); 639 FIND_VPD_KW(ec, "EC");
640 FIND_VPD_KW(sn, "SN"); 640 FIND_VPD_KW(sn, "SN");
641 FIND_VPD_KW(pn, "PN");
641#undef FIND_VPD_KW 642#undef FIND_VPD_KW
642 643
643 memcpy(p->id, vpd + PCI_VPD_LRDT_TAG_SIZE, id_len); 644 memcpy(p->id, vpd + PCI_VPD_LRDT_TAG_SIZE, id_len);
@@ -647,6 +648,8 @@ int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
647 i = pci_vpd_info_field_size(vpd + sn - PCI_VPD_INFO_FLD_HDR_SIZE); 648 i = pci_vpd_info_field_size(vpd + sn - PCI_VPD_INFO_FLD_HDR_SIZE);
648 memcpy(p->sn, vpd + sn, min(i, SERNUM_LEN)); 649 memcpy(p->sn, vpd + sn, min(i, SERNUM_LEN));
649 strim(p->sn); 650 strim(p->sn);
651 memcpy(p->pn, vpd + pn, min(i, PN_LEN));
652 strim(p->pn);
650 653
651 /* 654 /*
652 * Ask firmware for the Core Clock since it knows how to translate the 655 * Ask firmware for the Core Clock since it knows how to translate the