net/dpaa: fix build with 0 headroom
authorHemant Agrawal <hemant.agrawal@nxp.com>
Thu, 25 Jul 2019 11:06:43 +0000 (16:36 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 5 Aug 2019 17:24:17 +0000 (19:24 +0200)
When using RTE_PKTMBUF_HEADROOM as 0, dpaa driver throws compilation error
error "Annotation requirement is more than RTE_PKTMBUF_HEADROOM"

This patch change it into run-time check.

Bugzilla ID: 335
Fixes: ff9e112d7870 ("net/dpaa: add NXP DPAA PMD driver skeleton")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/net/dpaa/dpaa_ethdev.c
drivers/net/dpaa/dpaa_ethdev.h

index adc0bd5..7154fb9 100644 (file)
@@ -1469,6 +1469,16 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
 
        PMD_INIT_FUNC_TRACE();
 
+       if ((DPAA_MBUF_HW_ANNOTATION + DPAA_FD_PTA_SIZE) >
+               RTE_PKTMBUF_HEADROOM) {
+               DPAA_PMD_ERR(
+               "RTE_PKTMBUF_HEADROOM(%d) shall be > DPAA Annotation req(%d)",
+               RTE_PKTMBUF_HEADROOM,
+               DPAA_MBUF_HW_ANNOTATION + DPAA_FD_PTA_SIZE);
+
+               return -1;
+       }
+
        /* In case of secondary process, the device is already configured
         * and no further action is required, except portal initialization
         * and verifying secondary attachment to port name.
index 18bc7df..f63a5f1 100644 (file)
 #define DPAA_MBUF_HW_ANNOTATION                64
 #define DPAA_FD_PTA_SIZE               64
 
-#if (DPAA_MBUF_HW_ANNOTATION + DPAA_FD_PTA_SIZE) > RTE_PKTMBUF_HEADROOM
-#error "Annotation requirement is more than RTE_PKTMBUF_HEADROOM"
-#endif
-
 /* mbuf->seqn will be used to store event entry index for
  * driver specific usage. For parallel mode queues, invalid
  * index will be set and for atomic mode queues, valid value