New upstream version 18.11-rc1
[deb_dpdk.git] / drivers / net / sfc / base / ef10_impl.h
index 4751faf..f971063 100644 (file)
@@ -190,6 +190,14 @@ extern     __checkReturn   efx_rc_t
 ef10_nic_init(
        __in            efx_nic_t *enp);
 
+extern __checkReturn   boolean_t
+ef10_nic_hw_unavailable(
+       __in            efx_nic_t *enp);
+
+extern                 void
+ef10_nic_set_hw_unavailable(
+       __in            efx_nic_t *enp);
+
 #if EFSYS_OPT_DIAG
 
 extern __checkReturn   efx_rc_t
@@ -453,7 +461,7 @@ ef10_nvram_partn_write(
        __in                    efx_nic_t *enp,
        __in                    uint32_t partn,
        __in                    unsigned int offset,
-       __out_bcount(size)      caddr_t data,
+       __in_bcount(size)       caddr_t data,
        __in                    size_t size);
 
 extern __checkReturn           efx_rc_t
@@ -477,17 +485,21 @@ ef10_nvram_partn_set_version(
 
 extern __checkReturn           efx_rc_t
 ef10_nvram_buffer_validate(
-       __in                    efx_nic_t *enp,
        __in                    uint32_t partn,
        __in_bcount(buffer_size)
                                caddr_t bufferp,
        __in                    size_t buffer_size);
 
+extern                 void
+ef10_nvram_buffer_init(
+       __out_bcount(buffer_size)
+                               caddr_t bufferp,
+       __in                    size_t buffer_size);
+
 extern __checkReturn           efx_rc_t
 ef10_nvram_buffer_create(
-       __in                    efx_nic_t *enp,
-       __in                    uint16_t partn_type,
-       __in_bcount(buffer_size)
+       __in                    uint32_t partn_type,
+       __out_bcount(buffer_size)
                                caddr_t bufferp,
        __in                    size_t buffer_size);
 
@@ -515,6 +527,16 @@ ef10_nvram_buffer_find_item(
        __out                   uint32_t *startp,
        __out                   uint32_t *lengthp);
 
+extern __checkReturn           efx_rc_t
+ef10_nvram_buffer_peek_item(
+       __in_bcount(buffer_size)
+                               caddr_t bufferp,
+       __in                    size_t buffer_size,
+       __in                    uint32_t offset,
+       __out                   uint32_t *tagp,
+       __out                   uint32_t *lengthp,
+       __out                   uint32_t *value_offsetp);
+
 extern __checkReturn           efx_rc_t
 ef10_nvram_buffer_get_item(
        __in_bcount(buffer_size)
@@ -522,9 +544,10 @@ ef10_nvram_buffer_get_item(
        __in                    size_t buffer_size,
        __in                    uint32_t offset,
        __in                    uint32_t length,
-       __out_bcount_part(item_max_size, *lengthp)
-                               caddr_t itemp,
-       __in                    size_t item_max_size,
+       __out                   uint32_t *tagp,
+       __out_bcount_part(value_max_size, *lengthp)
+                               caddr_t valuep,
+       __in                    size_t value_max_size,
        __out                   uint32_t *lengthp);
 
 extern __checkReturn           efx_rc_t
@@ -533,7 +556,19 @@ ef10_nvram_buffer_insert_item(
                                caddr_t bufferp,
        __in                    size_t buffer_size,
        __in                    uint32_t offset,
-       __in_bcount(length)     caddr_t keyp,
+       __in                    uint32_t tag,
+       __in_bcount(length)     caddr_t valuep,
+       __in                    uint32_t length,
+       __out                   uint32_t *lengthp);
+
+extern __checkReturn           efx_rc_t
+ef10_nvram_buffer_modify_item(
+       __in_bcount(buffer_size)
+                               caddr_t bufferp,
+       __in                    size_t buffer_size,
+       __in                    uint32_t offset,
+       __in                    uint32_t tag,
+       __in_bcount(length)     caddr_t valuep,
        __in                    uint32_t length,
        __out                   uint32_t *lengthp);
 
@@ -558,10 +593,7 @@ ef10_nvram_buffer_finish(
 /* PHY */
 
 typedef struct ef10_link_state_s {
-       uint32_t                els_adv_cap_mask;
-       uint32_t                els_lp_cap_mask;
-       unsigned int            els_fcntl;
-       efx_link_mode_t         els_link_mode;
+       efx_phy_link_state_t    epls;
 #if EFSYS_OPT_LOOPBACK
        efx_loopback_type_t     els_loopback;
 #endif
@@ -597,6 +629,11 @@ ef10_phy_oui_get(
        __in            efx_nic_t *enp,
        __out           uint32_t *ouip);
 
+extern __checkReturn   efx_rc_t
+ef10_phy_link_state_get(
+       __in            efx_nic_t *enp,
+       __out           efx_phy_link_state_t *eplsp);
+
 #if EFSYS_OPT_PHY_STATS
 
 extern __checkReturn                   efx_rc_t
@@ -1128,11 +1165,12 @@ extern  __checkReturn   efx_rc_t
 efx_mcdi_get_port_modes(
        __in            efx_nic_t *enp,
        __out           uint32_t *modesp,
-       __out_opt       uint32_t *current_modep);
+       __out_opt       uint32_t *current_modep,
+       __out_opt       uint32_t *default_modep);
 
 extern __checkReturn   efx_rc_t
 ef10_nic_get_port_mode_bandwidth(
-       __in            uint32_t port_mode,
+       __in            efx_nic_t *enp,
        __out           uint32_t *bandwidth_mbpsp);
 
 extern __checkReturn   efx_rc_t