diff options
author | Divy Le Ray <divy@chelsio.com> | 2008-12-26 01:16:39 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-26 01:16:39 -0800 |
commit | 4d8cd002602987ddc9507b5390800343f820ac92 (patch) | |
tree | 8762b66347fe7fdecaedc7be50d8599fe763d768 | |
parent | 6dd014808f91ad99d4d794cf7c7c69610c10f904 (diff) |
cxgb3: add control to access embedded images
Update contol path between cxgb3 and ULP modules (iWARP, iSCSI)
to provide access to firware and protocol engine info.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/cxgb3/cxgb3_ctl_defs.h | 10 | ||||
-rw-r--r-- | drivers/net/cxgb3/cxgb3_offload.c | 9 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/cxgb3/cxgb3_ctl_defs.h b/drivers/net/cxgb3/cxgb3_ctl_defs.h index 55099eb3c70..369fe711fd7 100644 --- a/drivers/net/cxgb3/cxgb3_ctl_defs.h +++ b/drivers/net/cxgb3/cxgb3_ctl_defs.h @@ -58,6 +58,8 @@ enum { GET_RX_PAGE_INFO = 50, GET_ISCSI_IPV4ADDR = 51, + + GET_EMBEDDED_INFO = 70, }; /* @@ -176,4 +178,12 @@ struct ofld_page_info { unsigned int page_size; /* Page size, should be a power of 2 */ unsigned int num; /* Number of pages */ }; + +/* + * Structure used to get firmware and protocol engine versions. + */ +struct ch_embedded_info { + u32 fw_vers; + u32 tp_vers; +}; #endif /* _CXGB3_OFFLOAD_CTL_DEFS_H */ diff --git a/drivers/net/cxgb3/cxgb3_offload.c b/drivers/net/cxgb3/cxgb3_offload.c index 1ce69b74280..2d7f69aff1d 100644 --- a/drivers/net/cxgb3/cxgb3_offload.c +++ b/drivers/net/cxgb3/cxgb3_offload.c @@ -438,6 +438,15 @@ static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data) p->ipv4addr = pi->iscsi_ipv4addr; break; } + case GET_EMBEDDED_INFO: { + struct ch_embedded_info *e = data; + + spin_lock(&adapter->stats_lock); + t3_get_fw_version(adapter, &e->fw_vers); + t3_get_tp_version(adapter, &e->tp_vers); + spin_unlock(&adapter->stats_lock); + break; + } default: return -EOPNOTSUPP; } |