cxgb3 - log adapter serial number
Log HW serial number when cxgb3 module is loaded. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
c64c2eaeaa
commit
167cdf5fbc
|
@ -97,6 +97,7 @@ enum {
|
||||||
MAX_NPORTS = 2, /* max # of ports */
|
MAX_NPORTS = 2, /* max # of ports */
|
||||||
MAX_FRAME_SIZE = 10240, /* max MAC frame size, including header + FCS */
|
MAX_FRAME_SIZE = 10240, /* max MAC frame size, including header + FCS */
|
||||||
EEPROMSIZE = 8192, /* Serial EEPROM size */
|
EEPROMSIZE = 8192, /* Serial EEPROM size */
|
||||||
|
SERNUM_LEN = 16, /* Serial # length */
|
||||||
RSS_TABLE_SIZE = 64, /* size of RSS lookup and mapping tables */
|
RSS_TABLE_SIZE = 64, /* size of RSS lookup and mapping tables */
|
||||||
TCB_SIZE = 128, /* TCB size */
|
TCB_SIZE = 128, /* TCB size */
|
||||||
NMTUS = 16, /* size of MTU table */
|
NMTUS = 16, /* size of MTU table */
|
||||||
|
@ -391,6 +392,7 @@ struct vpd_params {
|
||||||
unsigned int uclk;
|
unsigned int uclk;
|
||||||
unsigned int mdc;
|
unsigned int mdc;
|
||||||
unsigned int mem_timing;
|
unsigned int mem_timing;
|
||||||
|
u8 sn[SERNUM_LEN + 1];
|
||||||
u8 eth_base[6];
|
u8 eth_base[6];
|
||||||
u8 port_type[MAX_NPORTS];
|
u8 port_type[MAX_NPORTS];
|
||||||
unsigned short xauicfg[2];
|
unsigned short xauicfg[2];
|
||||||
|
|
|
@ -2360,10 +2360,12 @@ static void __devinit print_port_info(struct adapter *adap,
|
||||||
(adap->flags & USING_MSIX) ? " MSI-X" :
|
(adap->flags & USING_MSIX) ? " MSI-X" :
|
||||||
(adap->flags & USING_MSI) ? " MSI" : "");
|
(adap->flags & USING_MSI) ? " MSI" : "");
|
||||||
if (adap->name == dev->name && adap->params.vpd.mclk)
|
if (adap->name == dev->name && adap->params.vpd.mclk)
|
||||||
printk(KERN_INFO "%s: %uMB CM, %uMB PMTX, %uMB PMRX\n",
|
printk(KERN_INFO
|
||||||
|
"%s: %uMB CM, %uMB PMTX, %uMB PMRX, S/N: %s\n",
|
||||||
adap->name, t3_mc7_size(&adap->cm) >> 20,
|
adap->name, t3_mc7_size(&adap->cm) >> 20,
|
||||||
t3_mc7_size(&adap->pmtx) >> 20,
|
t3_mc7_size(&adap->pmtx) >> 20,
|
||||||
t3_mc7_size(&adap->pmrx) >> 20);
|
t3_mc7_size(&adap->pmrx) >> 20,
|
||||||
|
adap->params.vpd.sn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -505,7 +505,7 @@ struct t3_vpd {
|
||||||
u8 vpdr_len[2];
|
u8 vpdr_len[2];
|
||||||
VPD_ENTRY(pn, 16); /* part number */
|
VPD_ENTRY(pn, 16); /* part number */
|
||||||
VPD_ENTRY(ec, 16); /* EC level */
|
VPD_ENTRY(ec, 16); /* EC level */
|
||||||
VPD_ENTRY(sn, 16); /* serial number */
|
VPD_ENTRY(sn, SERNUM_LEN); /* serial number */
|
||||||
VPD_ENTRY(na, 12); /* MAC address base */
|
VPD_ENTRY(na, 12); /* MAC address base */
|
||||||
VPD_ENTRY(cclk, 6); /* core clock */
|
VPD_ENTRY(cclk, 6); /* core clock */
|
||||||
VPD_ENTRY(mclk, 6); /* mem clock */
|
VPD_ENTRY(mclk, 6); /* mem clock */
|
||||||
|
@ -648,6 +648,7 @@ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
|
||||||
p->uclk = simple_strtoul(vpd.uclk_data, NULL, 10);
|
p->uclk = simple_strtoul(vpd.uclk_data, NULL, 10);
|
||||||
p->mdc = simple_strtoul(vpd.mdc_data, NULL, 10);
|
p->mdc = simple_strtoul(vpd.mdc_data, NULL, 10);
|
||||||
p->mem_timing = simple_strtoul(vpd.mt_data, NULL, 10);
|
p->mem_timing = simple_strtoul(vpd.mt_data, NULL, 10);
|
||||||
|
memcpy(p->sn, vpd.sn_data, SERNUM_LEN);
|
||||||
|
|
||||||
/* Old eeproms didn't have port information */
|
/* Old eeproms didn't have port information */
|
||||||
if (adapter->params.rev == 0 && !vpd.port0_data[0]) {
|
if (adapter->params.rev == 0 && !vpd.port0_data[0]) {
|
||||||
|
|
Loading…
Reference in New Issue