New upstream version 17.11.5
[deb_dpdk.git] / drivers / net / sfc / base / ef10_nic.c
index 58d1b0a..c92acea 100644 (file)
@@ -44,14 +44,13 @@ efx_mcdi_get_port_assignment(
        __out           uint32_t *portp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_PORT_ASSIGNMENT_IN_LEN,
-                           MC_CMD_GET_PORT_ASSIGNMENT_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_PORT_ASSIGNMENT_IN_LEN,
+               MC_CMD_GET_PORT_ASSIGNMENT_OUT_LEN);
        efx_rc_t rc;
 
        EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
                    enp->en_family == EFX_FAMILY_MEDFORD);
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_PORT_ASSIGNMENT;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_PORT_ASSIGNMENT_IN_LEN;
@@ -89,14 +88,13 @@ efx_mcdi_get_port_modes(
        __out_opt       uint32_t *current_modep)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_PORT_MODES_IN_LEN,
-                           MC_CMD_GET_PORT_MODES_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_PORT_MODES_IN_LEN,
+               MC_CMD_GET_PORT_MODES_OUT_LEN);
        efx_rc_t rc;
 
        EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
                    enp->en_family == EFX_FAMILY_MEDFORD);
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_PORT_MODES;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_PORT_MODES_IN_LEN;
@@ -196,13 +194,12 @@ efx_mcdi_vadaptor_alloc(
        __in                    uint32_t port_id)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_VADAPTOR_ALLOC_IN_LEN,
-                           MC_CMD_VADAPTOR_ALLOC_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_VADAPTOR_ALLOC_IN_LEN,
+               MC_CMD_VADAPTOR_ALLOC_OUT_LEN);
        efx_rc_t rc;
 
        EFSYS_ASSERT3U(enp->en_vport_id, ==, EVB_PORT_ID_NULL);
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_VADAPTOR_ALLOC;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_VADAPTOR_ALLOC_IN_LEN;
@@ -235,11 +232,10 @@ efx_mcdi_vadaptor_free(
        __in                    uint32_t port_id)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_VADAPTOR_FREE_IN_LEN,
-                           MC_CMD_VADAPTOR_FREE_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_VADAPTOR_FREE_IN_LEN,
+               MC_CMD_VADAPTOR_FREE_OUT_LEN);
        efx_rc_t rc;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_VADAPTOR_FREE;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_VADAPTOR_FREE_IN_LEN;
@@ -269,14 +265,13 @@ efx_mcdi_get_mac_address_pf(
        __out_ecount_opt(6)     uint8_t mac_addrp[6])
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_MAC_ADDRESSES_IN_LEN,
-                           MC_CMD_GET_MAC_ADDRESSES_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_MAC_ADDRESSES_IN_LEN,
+               MC_CMD_GET_MAC_ADDRESSES_OUT_LEN);
        efx_rc_t rc;
 
        EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
                    enp->en_family == EFX_FAMILY_MEDFORD);
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_MAC_ADDRESSES;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_MAC_ADDRESSES_IN_LEN;
@@ -327,14 +322,13 @@ efx_mcdi_get_mac_address_vf(
        __out_ecount_opt(6)     uint8_t mac_addrp[6])
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_LEN,
-                           MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMAX)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_LEN,
+               MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMAX);
        efx_rc_t rc;
 
        EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
                    enp->en_family == EFX_FAMILY_MEDFORD);
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_VPORT_GET_MAC_ADDRESSES;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_LEN;
@@ -391,14 +385,13 @@ efx_mcdi_get_clock(
        __out           uint32_t *dpcpu_freqp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_CLOCK_IN_LEN,
-                           MC_CMD_GET_CLOCK_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_CLOCK_IN_LEN,
+               MC_CMD_GET_CLOCK_OUT_LEN);
        efx_rc_t rc;
 
        EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
                    enp->en_family == EFX_FAMILY_MEDFORD);
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_CLOCK;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_CLOCK_IN_LEN;
@@ -450,11 +443,10 @@ efx_mcdi_get_vector_cfg(
        __out_opt       uint32_t *vf_nvecp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_VECTOR_CFG_IN_LEN,
-                           MC_CMD_GET_VECTOR_CFG_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_VECTOR_CFG_IN_LEN,
+               MC_CMD_GET_VECTOR_CFG_OUT_LEN);
        efx_rc_t rc;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_VECTOR_CFG;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_VECTOR_CFG_IN_LEN;
@@ -500,8 +492,8 @@ efx_mcdi_alloc_vis(
        __out           uint32_t *vi_shiftp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_ALLOC_VIS_IN_LEN,
-                           MC_CMD_ALLOC_VIS_EXT_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_ALLOC_VIS_IN_LEN,
+               MC_CMD_ALLOC_VIS_EXT_OUT_LEN);
        efx_rc_t rc;
 
        if (vi_countp == NULL) {
@@ -509,7 +501,6 @@ efx_mcdi_alloc_vis(
                goto fail1;
        }
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_ALLOC_VIS;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_ALLOC_VIS_IN_LEN;
@@ -592,8 +583,8 @@ efx_mcdi_alloc_piobuf(
        __out           efx_piobuf_handle_t *handlep)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_ALLOC_PIOBUF_IN_LEN,
-                           MC_CMD_ALLOC_PIOBUF_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_ALLOC_PIOBUF_IN_LEN,
+               MC_CMD_ALLOC_PIOBUF_OUT_LEN);
        efx_rc_t rc;
 
        if (handlep == NULL) {
@@ -601,7 +592,6 @@ efx_mcdi_alloc_piobuf(
                goto fail1;
        }
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_ALLOC_PIOBUF;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_ALLOC_PIOBUF_IN_LEN;
@@ -640,11 +630,10 @@ efx_mcdi_free_piobuf(
        __in            efx_piobuf_handle_t handle)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_FREE_PIOBUF_IN_LEN,
-                           MC_CMD_FREE_PIOBUF_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_FREE_PIOBUF_IN_LEN,
+               MC_CMD_FREE_PIOBUF_OUT_LEN);
        efx_rc_t rc;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_FREE_PIOBUF;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_FREE_PIOBUF_IN_LEN;
@@ -675,11 +664,10 @@ efx_mcdi_link_piobuf(
        __in            efx_piobuf_handle_t handle)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_LINK_PIOBUF_IN_LEN,
-                           MC_CMD_LINK_PIOBUF_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_LINK_PIOBUF_IN_LEN,
+               MC_CMD_LINK_PIOBUF_OUT_LEN);
        efx_rc_t rc;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_LINK_PIOBUF;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_LINK_PIOBUF_IN_LEN;
@@ -710,11 +698,10 @@ efx_mcdi_unlink_piobuf(
        __in            uint32_t vi_index)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_UNLINK_PIOBUF_IN_LEN,
-                           MC_CMD_UNLINK_PIOBUF_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_UNLINK_PIOBUF_IN_LEN,
+               MC_CMD_UNLINK_PIOBUF_OUT_LEN);
        efx_rc_t rc;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_UNLINK_PIOBUF;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_UNLINK_PIOBUF_IN_LEN;
@@ -767,7 +754,7 @@ fail1:
        for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
                handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
 
-               efx_mcdi_free_piobuf(enp, *handlep);
+               (void) efx_mcdi_free_piobuf(enp, *handlep);
                *handlep = EFX_PIOBUF_HANDLE_INVALID;
        }
        enp->en_arch.ef10.ena_piobuf_count = 0;
@@ -784,7 +771,7 @@ ef10_nic_free_piobufs(
        for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
                handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
 
-               efx_mcdi_free_piobuf(enp, *handlep);
+               (void) efx_mcdi_free_piobuf(enp, *handlep);
                *handlep = EFX_PIOBUF_HANDLE_INVALID;
        }
        enp->en_arch.ef10.ena_piobuf_count = 0;
@@ -911,11 +898,10 @@ ef10_mcdi_get_pf_count(
        __out           uint32_t *pf_countp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_PF_COUNT_IN_LEN,
-                           MC_CMD_GET_PF_COUNT_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_PF_COUNT_IN_LEN,
+               MC_CMD_GET_PF_COUNT_OUT_LEN);
        efx_rc_t rc;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_PF_COUNT;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_PF_COUNT_IN_LEN;
@@ -1458,8 +1444,8 @@ ef10_nic_reset(
        __in            efx_nic_t *enp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_ENTITY_RESET_IN_LEN,
-                           MC_CMD_ENTITY_RESET_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_ENTITY_RESET_IN_LEN,
+               MC_CMD_ENTITY_RESET_OUT_LEN);
        efx_rc_t rc;
 
        /* ef10_nic_reset() is called to recover from BADASSERT failures. */
@@ -1468,7 +1454,6 @@ ef10_nic_reset(
        if ((rc = efx_mcdi_exit_assertion_handler(enp)) != 0)
                goto fail2;
 
-       (void) memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_ENTITY_RESET;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_ENTITY_RESET_IN_LEN;