sfc: Introduce and use MCDI_CTL_SDU_LEN_MAX_V1 macro for Siena-specific code
authorBen Hutchings <bhutchings@solarflare.com>
Tue, 20 Aug 2013 14:47:12 +0000 (15:47 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Wed, 21 Aug 2013 15:35:25 +0000 (16:35 +0100)
The MCDI version 2 protocol supports larger payloads, but will
not be implemented on Siena.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/mcdi_pcol.h
drivers/net/ethernet/sfc/siena_sriov.c

index c5c9747..5f2846c 100644 (file)
 #define MCDI_HEADER_XFLAGS_EVREQ 0x01
 
 /* Maximum number of payload bytes */
-#define MCDI_CTL_SDU_LEN_MAX 0xfc
+#define MCDI_CTL_SDU_LEN_MAX_V1 0xfc
+
+#define MCDI_CTL_SDU_LEN_MAX MCDI_CTL_SDU_LEN_MAX_V1
 
 /* The MC can generate events for two reasons:
  *   - To complete a shared memory request if XFLAGS_EVREQ was set
index 8e46fac..c376e90 100644 (file)
@@ -248,11 +248,11 @@ static int efx_sriov_memcpy(struct efx_nic *efx, struct efx_memcpy_req *req,
        mb();   /* Finish writing source/reading dest before DMA starts */
 
        used = MC_CMD_MEMCPY_IN_LEN(count);
-       if (WARN_ON(used > MCDI_CTL_SDU_LEN_MAX))
+       if (WARN_ON(used > MCDI_CTL_SDU_LEN_MAX_V1))
                return -ENOBUFS;
 
        /* Allocate room for the largest request */
-       inbuf = kzalloc(MCDI_CTL_SDU_LEN_MAX, GFP_KERNEL);
+       inbuf = kzalloc(MCDI_CTL_SDU_LEN_MAX_V1, GFP_KERNEL);
        if (inbuf == NULL)
                return -ENOMEM;
 
@@ -270,7 +270,8 @@ static int efx_sriov_memcpy(struct efx_nic *efx, struct efx_memcpy_req *req,
                        from_lo = (u32)req->from_addr;
                        from_hi = (u32)(req->from_addr >> 32);
                } else {
-                       if (WARN_ON(used + req->length > MCDI_CTL_SDU_LEN_MAX)) {
+                       if (WARN_ON(used + req->length >
+                                   MCDI_CTL_SDU_LEN_MAX_V1)) {
                                rc = -ENOBUFS;
                                goto out;
                        }