New upstream version 17.11.5
[deb_dpdk.git] / drivers / net / sfc / base / medford_nic.c
index 07afac1..9c6e8ea 100644 (file)
@@ -40,12 +40,11 @@ efx_mcdi_get_rxdp_config(
        __out           uint32_t *end_paddingp)
 {
        efx_mcdi_req_t req;
-       uint8_t payload[MAX(MC_CMD_GET_RXDP_CONFIG_IN_LEN,
-                           MC_CMD_GET_RXDP_CONFIG_OUT_LEN)];
+       EFX_MCDI_DECLARE_BUF(payload, MC_CMD_GET_RXDP_CONFIG_IN_LEN,
+               MC_CMD_GET_RXDP_CONFIG_OUT_LEN);
        uint32_t end_padding;
        efx_rc_t rc;
 
-       memset(payload, 0, sizeof (payload));
        req.emr_cmd = MC_CMD_GET_RXDP_CONFIG;
        req.emr_in_buf = payload;
        req.emr_in_length = MC_CMD_GET_RXDP_CONFIG_IN_LEN;
@@ -298,6 +297,13 @@ medford_board_cfg(
        /* Alignment for WPTR updates */
        encp->enc_rx_push_align = EF10_RX_WPTR_ALIGN;
 
+       /*
+        * Maximum number of exclusive RSS contexts which can be allocated. The
+        * hardware supports 64, but 6 are reserved for shared contexts. They
+        * are a global resource so not all may be available.
+        */
+       encp->enc_rx_scale_max_exclusive_contexts = 58;
+
        encp->enc_tx_dma_desc_size_max = EFX_MASK32(ESF_DZ_RX_KER_BYTE_CNT);
        /* No boundary crossing limits */
        encp->enc_tx_dma_desc_boundary = 0;