net/ice/base: add package download related data structure
[dpdk.git] / drivers / net / ice / base / ice_adminq_cmd.h
index 3003efd..a1b9edd 100644 (file)
@@ -1576,6 +1576,57 @@ struct ice_aqc_move_txqs_data {
 
 
 
+/* Download Package (indirect 0x0C40) */
+/* Also used for Update Package (indirect 0x0C42) */
+struct ice_aqc_download_pkg {
+       u8 flags;
+#define ICE_AQC_DOWNLOAD_PKG_LAST_BUF  0x01
+       u8 reserved[3];
+       __le32 reserved1;
+       __le32 addr_high;
+       __le32 addr_low;
+};
+
+struct ice_aqc_download_pkg_resp {
+       __le32 error_offset;
+       __le32 error_info;
+       __le32 addr_high;
+       __le32 addr_low;
+};
+
+/* Get Package Info List (indirect 0x0C43) */
+struct ice_aqc_get_pkg_info_list {
+       __le32 reserved1;
+       __le32 reserved2;
+       __le32 addr_high;
+       __le32 addr_low;
+};
+
+/* Version format for packages */
+struct ice_pkg_ver {
+       u8 major;
+       u8 minor;
+       u8 update;
+       u8 draft;
+};
+
+#define ICE_PKG_NAME_SIZE      32
+
+struct ice_aqc_get_pkg_info {
+       struct ice_pkg_ver ver;
+       char name[ICE_PKG_NAME_SIZE];
+       u8 is_in_nvm;
+       u8 is_active;
+       u8 is_active_at_boot;
+       u8 is_modified;
+};
+
+/* Get Package Info List response buffer format (0x0C43) */
+struct ice_aqc_get_pkg_info_resp {
+       __le32 count;
+       struct ice_aqc_get_pkg_info pkg_info[1];
+};
+
 
 
 
@@ -1726,6 +1777,8 @@ struct ice_aq_desc {
                struct ice_aqc_txqs_cleanup txqs_cleanup;
                struct ice_aqc_add_get_update_free_vsi vsi_cmd;
                struct ice_aqc_add_update_free_vsi_resp add_update_free_vsi_res;
+               struct ice_aqc_download_pkg download_pkg;
+               struct ice_aqc_get_pkg_info_list get_pkg_info_list;
                struct ice_aqc_fw_logging fw_logging;
                struct ice_aqc_get_clear_fw_log get_clear_fw_log;
                struct ice_aqc_set_mac_lb set_mac_lb;
@@ -1903,6 +1956,11 @@ enum ice_adminq_opc {
        ice_aqc_opc_txqs_cleanup                        = 0x0C31,
        ice_aqc_opc_move_recfg_txqs                     = 0x0C32,
 
+       /* package commands */
+       ice_aqc_opc_download_pkg                        = 0x0C40,
+       ice_aqc_opc_upload_section                      = 0x0C41,
+       ice_aqc_opc_update_pkg                          = 0x0C42,
+       ice_aqc_opc_get_pkg_info_list                   = 0x0C43,