aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
diff options
context:
space:
mode:
authorAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>2019-02-28 18:24:22 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2019-04-18 11:38:47 -0400
commit37b6f6469f75070e4fb2e32995eb858e79b8860a (patch)
treec382e12efce222342d5f55407007c7da332f7da7 /drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
parent802abbb44a251a753ad56fcda1e35daf0138ab29 (diff)
ice: Add code for DCB initialization part 1/4
This patch introduces a skeleton for ice_init_pf_dcb, the top level function for DCB initialization. Subsequent patches will add to this DCB init flow. In this patch, ice_init_pf_dcb checks if DCB is a supported capability. If so, an admin queue call to start the LLDP and DCBx in firmware is issued. If not, an error is reported. Note that we don't fail the driver init if DCB init fails. Reviewed-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_adminq_cmd.h')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_adminq_cmd.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h b/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
index 757848f85072..4809e5ac55f4 100644
--- a/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
@@ -1132,6 +1132,27 @@ struct ice_aqc_pf_vf_msg {
1132 __le32 addr_low; 1132 __le32 addr_low;
1133}; 1133};
1134 1134
1135/* Start LLDP (direct 0x0A06) */
1136struct ice_aqc_lldp_start {
1137 u8 command;
1138#define ICE_AQ_LLDP_AGENT_START BIT(0)
1139#define ICE_AQ_LLDP_AGENT_PERSIST_ENA BIT(1)
1140 u8 reserved[15];
1141};
1142
1143/* Stop/Start LLDP Agent (direct 0x0A09)
1144 * Used for stopping/starting specific LLDP agent. e.g. DCBx.
1145 * The same structure is used for the response, with the command field
1146 * being used as the status field.
1147 */
1148struct ice_aqc_lldp_stop_start_specific_agent {
1149 u8 command;
1150#define ICE_AQC_START_STOP_AGENT_M BIT(0)
1151#define ICE_AQC_START_STOP_AGENT_STOP_DCBX 0
1152#define ICE_AQC_START_STOP_AGENT_START_DCBX ICE_AQC_START_STOP_AGENT_M
1153 u8 reserved[15];
1154};
1155
1135/* Get/Set RSS key (indirect 0x0B04/0x0B02) */ 1156/* Get/Set RSS key (indirect 0x0B04/0x0B02) */
1136struct ice_aqc_get_set_rss_key { 1157struct ice_aqc_get_set_rss_key {
1137#define ICE_AQC_GSET_RSS_KEY_VSI_VALID BIT(15) 1158#define ICE_AQC_GSET_RSS_KEY_VSI_VALID BIT(15)
@@ -1390,6 +1411,8 @@ struct ice_aq_desc {
1390 struct ice_aqc_query_txsched_res query_sched_res; 1411 struct ice_aqc_query_txsched_res query_sched_res;
1391 struct ice_aqc_nvm nvm; 1412 struct ice_aqc_nvm nvm;
1392 struct ice_aqc_pf_vf_msg virt; 1413 struct ice_aqc_pf_vf_msg virt;
1414 struct ice_aqc_lldp_start lldp_start;
1415 struct ice_aqc_lldp_stop_start_specific_agent lldp_agent_ctrl;
1393 struct ice_aqc_get_set_rss_lut get_set_rss_lut; 1416 struct ice_aqc_get_set_rss_lut get_set_rss_lut;
1394 struct ice_aqc_get_set_rss_key get_set_rss_key; 1417 struct ice_aqc_get_set_rss_key get_set_rss_key;
1395 struct ice_aqc_add_txqs add_txqs; 1418 struct ice_aqc_add_txqs add_txqs;
@@ -1491,6 +1514,9 @@ enum ice_adminq_opc {
1491 /* PF/VF mailbox commands */ 1514 /* PF/VF mailbox commands */
1492 ice_mbx_opc_send_msg_to_pf = 0x0801, 1515 ice_mbx_opc_send_msg_to_pf = 0x0801,
1493 ice_mbx_opc_send_msg_to_vf = 0x0802, 1516 ice_mbx_opc_send_msg_to_vf = 0x0802,
1517 /* LLDP commands */
1518 ice_aqc_opc_lldp_start = 0x0A06,
1519 ice_aqc_opc_lldp_stop_start_specific_agent = 0x0A09,
1494 1520
1495 /* RSS commands */ 1521 /* RSS commands */
1496 ice_aqc_opc_set_rss_key = 0x0B02, 1522 ice_aqc_opc_set_rss_key = 0x0B02,