Commit 4d8cd002 authored by Divy Le Ray's avatar Divy Le Ray Committed by David S. Miller

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: default avatarDivy Le Ray <divy@chelsio.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6dd01480
...@@ -58,6 +58,8 @@ enum { ...@@ -58,6 +58,8 @@ enum {
GET_RX_PAGE_INFO = 50, GET_RX_PAGE_INFO = 50,
GET_ISCSI_IPV4ADDR = 51, GET_ISCSI_IPV4ADDR = 51,
GET_EMBEDDED_INFO = 70,
}; };
/* /*
...@@ -176,4 +178,12 @@ struct ofld_page_info { ...@@ -176,4 +178,12 @@ struct ofld_page_info {
unsigned int page_size; /* Page size, should be a power of 2 */ unsigned int page_size; /* Page size, should be a power of 2 */
unsigned int num; /* Number of pages */ 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 */ #endif /* _CXGB3_OFFLOAD_CTL_DEFS_H */
...@@ -438,6 +438,15 @@ static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data) ...@@ -438,6 +438,15 @@ static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data)
p->ipv4addr = pi->iscsi_ipv4addr; p->ipv4addr = pi->iscsi_ipv4addr;
break; 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: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment