> -----Original Message-----
> From: Rong, Leyi
> Sent: Tuesday, June 11, 2019 8:52 AM
> To: Zhang, Qi Z <qi.z.zh...@intel.com>
> Cc: dev@dpdk.org; Rong, Leyi <leyi.r...@intel.com>; Stillwell Jr, Paul M
> <paul.m.stillwell...@intel.com>
> Subject: [PATCH v2 27/66] net/ice/base: add some minor features
> 
> 1. Add loopback reporting to get link response.
> 2. Add infrastructure for NVM Write/Write Activate calls.
> 3. Add opcode for NVM save factory settings/NVM Update EMPR command.
> 4. Add lan overflow event to ice_aq_desc.
> 

This seems like it should be split into separate patches. You also have 2 
patches with the same commit title (27/66 & 30/66) which seems like a bad idea.

> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell...@intel.com>
> Signed-off-by: Leyi Rong <leyi.r...@intel.com>
> ---
>  drivers/net/ice/base/ice_adminq_cmd.h | 47 ++++++++++++++++++--------
> -
>  1 file changed, 32 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/net/ice/base/ice_adminq_cmd.h
> b/drivers/net/ice/base/ice_adminq_cmd.h
> index 77f93b950..4e6bce18c 100644
> --- a/drivers/net/ice/base/ice_adminq_cmd.h
> +++ b/drivers/net/ice/base/ice_adminq_cmd.h
> @@ -110,6 +110,7 @@ struct ice_aqc_list_caps {  struct
> ice_aqc_list_caps_elem {
>       __le16 cap;
>  #define ICE_AQC_CAPS_VALID_FUNCTIONS                 0x0005
> +#define ICE_AQC_MAX_VALID_FUNCTIONS                  0x8
>  #define ICE_AQC_CAPS_VSI                             0x0017
>  #define ICE_AQC_CAPS_DCB                             0x0018
>  #define ICE_AQC_CAPS_RSS                             0x0040
> @@ -143,11 +144,9 @@ struct ice_aqc_manage_mac_read {
>  #define ICE_AQC_MAN_MAC_WOL_ADDR_VALID               BIT(7)
>  #define ICE_AQC_MAN_MAC_READ_S                       4
>  #define ICE_AQC_MAN_MAC_READ_M                       (0xF <<
> ICE_AQC_MAN_MAC_READ_S)
> -     u8 lport_num;
> -     u8 lport_num_valid;
> -#define ICE_AQC_MAN_MAC_PORT_NUM_IS_VALID    BIT(0)
> +     u8 rsvd[2];
>       u8 num_addr; /* Used in response */
> -     u8 reserved[3];
> +     u8 rsvd1[3];
>       __le32 addr_high;
>       __le32 addr_low;
>  };
> @@ -165,7 +164,7 @@ struct ice_aqc_manage_mac_read_resp {
> 
>  /* Manage MAC address, write command - direct (0x0108) */  struct
> ice_aqc_manage_mac_write {
> -     u8 port_num;
> +     u8 rsvd;
>       u8 flags;
>  #define ICE_AQC_MAN_MAC_WR_MC_MAG_EN         BIT(0)
>  #define ICE_AQC_MAN_MAC_WR_WOL_LAA_PFR_KEEP  BIT(1)
> @@ -481,8 +480,8 @@ struct ice_aqc_vsi_props {
>  #define ICE_AQ_VSI_VLAN_MODE_TAGGED  0x2
>  #define ICE_AQ_VSI_VLAN_MODE_ALL     0x3
>  #define ICE_AQ_VSI_PVLAN_INSERT_PVID BIT(2)
> -#define ICE_AQ_VSI_VLAN_EMOD_S       3
> -#define ICE_AQ_VSI_VLAN_EMOD_M       (0x3 <<
> ICE_AQ_VSI_VLAN_EMOD_S)
> +#define ICE_AQ_VSI_VLAN_EMOD_S               3
> +#define ICE_AQ_VSI_VLAN_EMOD_M               (0x3 <<
> ICE_AQ_VSI_VLAN_EMOD_S)
>  #define ICE_AQ_VSI_VLAN_EMOD_STR_BOTH        (0x0 <<
> ICE_AQ_VSI_VLAN_EMOD_S)
>  #define ICE_AQ_VSI_VLAN_EMOD_STR_UP  (0x1 <<
> ICE_AQ_VSI_VLAN_EMOD_S)
>  #define ICE_AQ_VSI_VLAN_EMOD_STR     (0x2 <<
> ICE_AQ_VSI_VLAN_EMOD_S)
> @@ -1425,6 +1424,7 @@ struct ice_aqc_get_phy_caps_data {
>  #define ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN           BIT(6)
>  #define ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN           BIT(7)
>  #define ICE_AQC_PHY_FEC_MASK
>       MAKEMASK(0xdf, 0)
> +     u8 rsvd1;       /* Byte 35 reserved */
>       u8 extended_compliance_code;
>  #define ICE_MODULE_TYPE_TOTAL_BYTE                   3
>       u8 module_type[ICE_MODULE_TYPE_TOTAL_BYTE];
> @@ -1439,13 +1439,14 @@ struct ice_aqc_get_phy_caps_data {
>  #define ICE_AQC_MOD_TYPE_BYTE2_SFP_PLUS                      0xA0
>  #define ICE_AQC_MOD_TYPE_BYTE2_QSFP_PLUS             0x86
>       u8 qualified_module_count;
> +     u8 rsvd2[7];    /* Bytes 47:41 reserved */
>  #define ICE_AQC_QUAL_MOD_COUNT_MAX                   16
>       struct {
>               u8 v_oui[3];
>               u8 rsvd3;
>               u8 v_part[16];
>               __le32 v_rev;
> -             __le64 rsvd8;
> +             __le64 rsvd4;
>       } qual_modules[ICE_AQC_QUAL_MOD_COUNT_MAX];
>  };
> 
> @@ -1571,7 +1572,12 @@ struct ice_aqc_get_link_status_data {
>  #define ICE_AQ_LINK_TX_ACTIVE                0
>  #define ICE_AQ_LINK_TX_DRAINED               1
>  #define ICE_AQ_LINK_TX_FLUSHED               3
> -     u8 reserved2;
> +     u8 lb_status;
> +#define ICE_AQ_LINK_LB_PHY_LCL               BIT(0)
> +#define ICE_AQ_LINK_LB_PHY_RMT               BIT(1)
> +#define ICE_AQ_LINK_LB_MAC_LCL               BIT(2)
> +#define ICE_AQ_LINK_LB_PHY_IDX_S     3
> +#define ICE_AQ_LINK_LB_PHY_IDX_M     (0x7 <<
> ICE_AQ_LB_PHY_IDX_S)
>       __le16 max_frame_size;
>       u8 cfg;
>  #define ICE_AQ_LINK_25G_KR_FEC_EN    BIT(0)
> @@ -1659,20 +1665,26 @@ struct ice_aqc_set_port_id_led {
> 
>  /* NVM Read command (indirect 0x0701)
>   * NVM Erase commands (direct 0x0702)
> - * NVM Update commands (indirect 0x0703)
> + * NVM Write commands (indirect 0x0703)
> + * NVM Write Activate commands (direct 0x0707)
> + * NVM Shadow RAM Dump commands (direct 0x0707)
>   */
>  struct ice_aqc_nvm {
>       __le16 offset_low;
>       u8 offset_high;
>       u8 cmd_flags;
>  #define ICE_AQC_NVM_LAST_CMD         BIT(0)
> -#define ICE_AQC_NVM_PCIR_REQ         BIT(0)  /* Used by NVM
> Update reply */
> -#define ICE_AQC_NVM_PRESERVATION_S   1
> +#define ICE_AQC_NVM_PCIR_REQ         BIT(0)  /* Used by NVM
> Write reply */
> +#define ICE_AQC_NVM_PRESERVATION_S   1 /* Used by NVM Write
> Activate only */
>  #define ICE_AQC_NVM_PRESERVATION_M   (3 <<
> ICE_AQC_NVM_PRESERVATION_S)
>  #define ICE_AQC_NVM_NO_PRESERVATION  (0 <<
> ICE_AQC_NVM_PRESERVATION_S)
>  #define ICE_AQC_NVM_PRESERVE_ALL     BIT(1)
>  #define ICE_AQC_NVM_FACTORY_DEFAULT  (2 <<
> ICE_AQC_NVM_PRESERVATION_S)
>  #define ICE_AQC_NVM_PRESERVE_SELECTED        (3 <<
> ICE_AQC_NVM_PRESERVATION_S)
> +#define ICE_AQC_NVM_ACTIV_SEL_NVM    BIT(3) /* Write Activate/SR
> Dump only */
> +#define ICE_AQC_NVM_ACTIV_SEL_OROM   BIT(4)
> +#define ICE_AQC_NVM_ACTIV_SEL_EXT_TLV        BIT(5)
> +#define ICE_AQC_NVM_ACTIV_SEL_MASK   MAKEMASK(0x7, 3)
>  #define ICE_AQC_NVM_FLASH_ONLY               BIT(7)
>       __le16 module_typeid;
>       __le16 length;
> @@ -1832,7 +1844,7 @@ struct ice_aqc_get_cee_dcb_cfg_resp {  };
> 
>  /* Set Local LLDP MIB (indirect 0x0A08)
> - * Used to replace the local MIB of a given LLDP agent. e.g. DCBx
> + * Used to replace the local MIB of a given LLDP agent. e.g. DCBX
>   */
>  struct ice_aqc_lldp_set_local_mib {
>       u8 type;
> @@ -1857,7 +1869,7 @@ struct ice_aqc_lldp_set_local_mib_resp {  };
> 
>  /* Stop/Start LLDP Agent (direct 0x0A09)
> - * Used for stopping/starting specific LLDP agent. e.g. DCBx.
> + * Used for stopping/starting specific LLDP agent. e.g. DCBX.
>   * The same structure is used for the response, with the command field
>   * being used as the status field.
>   */
> @@ -2321,6 +2333,7 @@ struct ice_aq_desc {
>               struct ice_aqc_set_mac_cfg set_mac_cfg;
>               struct ice_aqc_set_event_mask set_event_mask;
>               struct ice_aqc_get_link_status get_link_status;
> +             struct ice_aqc_event_lan_overflow lan_overflow;
>       } params;
>  };
> 
> @@ -2492,10 +2505,14 @@ enum ice_adminq_opc {
>       /* NVM commands */
>       ice_aqc_opc_nvm_read                            = 0x0701,
>       ice_aqc_opc_nvm_erase                           = 0x0702,
> -     ice_aqc_opc_nvm_update                          = 0x0703,
> +     ice_aqc_opc_nvm_write                           = 0x0703,
>       ice_aqc_opc_nvm_cfg_read                        = 0x0704,
>       ice_aqc_opc_nvm_cfg_write                       = 0x0705,
>       ice_aqc_opc_nvm_checksum                        = 0x0706,
> +     ice_aqc_opc_nvm_write_activate                  = 0x0707,
> +     ice_aqc_opc_nvm_sr_dump                         = 0x0707,
> +     ice_aqc_opc_nvm_save_factory_settings           = 0x0708,
> +     ice_aqc_opc_nvm_update_empr                     = 0x0709,
> 
>       /* LLDP commands */
>       ice_aqc_opc_lldp_get_mib                        = 0x0A00,
> --
> 2.17.1

Reply via email to