get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/7339/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 7339,
    "url": "https://patches.dpdk.org/api/patches/7339/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1443640706-3984-1-git-send-email-rkerur@gmail.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1443640706-3984-1-git-send-email-rkerur@gmail.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1443640706-3984-1-git-send-email-rkerur@gmail.com",
    "date": "2015-09-30T19:18:26",
    "name": "[dpdk-dev,v2] Move rte_mbuf macros to common header file",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f0137b7a5d8248ff7f6c5cf3ccaa11d1b3d22160",
    "submitter": {
        "id": 134,
        "url": "https://patches.dpdk.org/api/people/134/?format=api",
        "name": "Ravi Kerur",
        "email": "rkerur@gmail.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1443640706-3984-1-git-send-email-rkerur@gmail.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/7339/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/7339/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id C5EB78E66;\n\tWed, 30 Sep 2015 21:18:31 +0200 (CEST)",
            "from mail-pa0-f42.google.com (mail-pa0-f42.google.com\n\t[209.85.220.42]) by dpdk.org (Postfix) with ESMTP id 959848E65\n\tfor <dev@dpdk.org>; Wed, 30 Sep 2015 21:18:30 +0200 (CEST)",
            "by padhy16 with SMTP id hy16so48941894pad.1\n\tfor <dev@dpdk.org>; Wed, 30 Sep 2015 12:18:29 -0700 (PDT)",
            "from user-PC.hsd1.ca.comcast.net\n\t(c-24-4-155-27.hsd1.ca.comcast.net. [24.4.155.27])\n\tby smtp.gmail.com with ESMTPSA id\n\tjd9sm2141528pbd.53.2015.09.30.12.18.28\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tWed, 30 Sep 2015 12:18:29 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;\n\th=from:to:cc:subject:date:message-id;\n\tbh=uvepNb+0xQIeOeOwBEMLgk1SwUo2HFIDqk2hnTFbIY8=;\n\tb=AsG1U2QCoFlwRpFFGnUFimPzZDEGTUpsGRVOUyQgfpiufA9T73FI1UUK9DYTW0EkWW\n\tn0Pdy6GuBTh/lyUsKPsV/S4P9KRyR3F8zGfquqU+8OhSQpPCjsBlAmbULWfwiM8uwUGR\n\twm5UQrZvuEx5kqq7TN6MKo7K5oYWJP6qq8ISUlZ1/FQ0yfPbIvgTkRvSygSoQ39+S6JM\n\twCSrI1XPCUSGnTte3FmnCdgDv+jT+M+/m0YTZVugj5rz2sgvU/5J4qN3AsKcut2q4mne\n\tx3dxwLQUbyBr0DebBDi4z+mfLPFIaZqBN0uIH5CvOoTSBR0F691Rj3KWUgUUWW2jjCEN\n\tf6TA==",
        "X-Received": "by 10.68.109.2 with SMTP id ho2mr6842745pbb.158.1443640709849;\n\tWed, 30 Sep 2015 12:18:29 -0700 (PDT)",
        "From": "Ravi Kerur <rkerur@gmail.com>",
        "To": "dev@dpdk.org",
        "Date": "Wed, 30 Sep 2015 12:18:26 -0700",
        "Message-Id": "<1443640706-3984-1-git-send-email-rkerur@gmail.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "Subject": "[dpdk-dev] [PATCH v2] Move rte_mbuf macros to common header file",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Macros RTE_MBUF_DATA_DMA_ADDR and RTE_MBUF_DATA_DMA_ADDR_DEFAULT\nare defined in each PMD driver file. Move those macros into common\nlib/librte_mbuf/rte_mbuf.h file. PMD drivers include rte_mbuf.h\nfile directly/indirectly hence no additionl header file inclusion\nis necessary.\n\nv2:\n    > Changed both macros to inline functions in all PMD\n    > Changed macro to rte_pktmbuf_mtod in xenvirt module\n\nv1:\n    > Move macros into common rte_mbuf header file.\n\nCompiled for:\n    > x86_64-native-linuxapp-clang\n    > x86_64-native-linuxapp-gcc\n    > i686-native-linuxapp-gcc\n    > x86_64-native-bsdapp-gcc\n    > x86_64-native-bsdapp-clang\n\nTested on:\n    > x86_64 Ubuntu 14.04, testpmd and 'make test'\n    > FreeBSD 10.1, testpmd\n\nSigned-off-by: Ravi Kerur <rkerur@gmail.com>\n---\n drivers/net/bnx2x/bnx2x.h          |  3 ---\n drivers/net/cxgbe/sge.c            |  3 ---\n drivers/net/e1000/em_rxtx.c        |  6 ------\n drivers/net/e1000/igb_rxtx.c       |  6 ------\n drivers/net/i40e/i40e_rxtx.c       |  6 ------\n drivers/net/ixgbe/ixgbe_rxtx.h     |  6 ------\n drivers/net/virtio/virtqueue.h     |  3 ---\n drivers/net/vmxnet3/vmxnet3_rxtx.c |  6 ------\n drivers/net/xenvirt/virtqueue.h    |  5 +----\n lib/librte_mbuf/rte_mbuf.h         | 10 ++++++++++\n 10 files changed, 11 insertions(+), 43 deletions(-)",
    "diff": "diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h\nindex 867b92a..28bd83f 100644\n--- a/drivers/net/bnx2x/bnx2x.h\n+++ b/drivers/net/bnx2x/bnx2x.h\n@@ -141,9 +141,6 @@ struct bnx2x_device_type {\n \tchar     *bnx2x_name;\n };\n \n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\t((uint64_t)((mb)->buf_physaddr + (mb)->data_off))\n-\n #define BNX2X_PAGE_SHIFT       12\n #define BNX2X_PAGE_SIZE        (1 << BNX2X_PAGE_SHIFT)\n #define BNX2X_PAGE_MASK        (~(BNX2X_PAGE_SIZE - 1))\ndiff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c\nindex 6eb1244..8f4c025 100644\n--- a/drivers/net/cxgbe/sge.c\n+++ b/drivers/net/cxgbe/sge.c\n@@ -1267,9 +1267,6 @@ static struct rte_mbuf *t4_pktgl_to_mbuf(const struct pkt_gl *gl)\n \treturn t4_pktgl_to_mbuf_usembufs(gl);\n }\n \n-#define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n-\t((dma_addr_t) ((mb)->buf_physaddr + (mb)->data_off))\n-\n /**\n  * t4_ethrx_handler - process an ingress ethernet packet\n  * @q: the response queue that received the packet\ndiff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c\nindex 3b8776d..c7d97c1 100644\n--- a/drivers/net/e1000/em_rxtx.c\n+++ b/drivers/net/e1000/em_rxtx.c\n@@ -88,12 +88,6 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)\n \treturn (m);\n }\n \n-#define RTE_MBUF_DATA_DMA_ADDR(mb)             \\\n-\t(uint64_t) ((mb)->buf_physaddr + (mb)->data_off)\n-\n-#define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)\n-\n /**\n  * Structure associated with each descriptor of the RX ring of a RX queue.\n  */\ndiff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c\nindex 19905fd..a217cea 100644\n--- a/drivers/net/e1000/igb_rxtx.c\n+++ b/drivers/net/e1000/igb_rxtx.c\n@@ -88,12 +88,6 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)\n \treturn (m);\n }\n \n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + (mb)->data_off)\n-\n-#define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)\n-\n /**\n  * Structure associated with each descriptor of the RX ring of a RX queue.\n  */\ndiff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c\nindex fd656d5..5ba6d27 100644\n--- a/drivers/net/i40e/i40e_rxtx.c\n+++ b/drivers/net/i40e/i40e_rxtx.c\n@@ -78,12 +78,6 @@\n \t\tPKT_TX_L4_MASK |\t\t \\\n \t\tPKT_TX_OUTER_IP_CKSUM)\n \n-#define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)\n-\n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\t((uint64_t)((mb)->buf_physaddr + (mb)->data_off))\n-\n static const struct rte_memzone *\n i40e_ring_dma_zone_reserve(struct rte_eth_dev *dev,\n \t\t\t   const char *ring_name,\ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx.h b/drivers/net/ixgbe/ixgbe_rxtx.h\nindex b9eca67..dbb9f00 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.h\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.h\n@@ -40,12 +40,6 @@\n \n #define RTE_IXGBE_DESCS_PER_LOOP    4\n \n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + (mb)->data_off)\n-\n-#define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)\n-\n #ifdef RTE_IXGBE_INC_VECTOR\n #define RTE_IXGBE_RXQ_REARM_THRESH      32\n #define RTE_IXGBE_MAX_RX_BURST          RTE_IXGBE_RXQ_REARM_THRESH\ndiff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h\nindex 7789411..9ea9b96 100644\n--- a/drivers/net/virtio/virtqueue.h\n+++ b/drivers/net/virtio/virtqueue.h\n@@ -68,9 +68,6 @@ struct rte_mbuf;\n \n #define VIRTQUEUE_MAX_NAME_SZ 32\n \n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + (mb)->data_off)\n-\n #define VTNET_SQ_RQ_QUEUE_IDX 0\n #define VTNET_SQ_TQ_QUEUE_IDX 1\n #define VTNET_SQ_CQ_QUEUE_IDX 2\ndiff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c\nindex 4de5d89..bb2648b 100644\n--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c\n+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c\n@@ -77,12 +77,6 @@\n #include \"vmxnet3_logs.h\"\n #include \"vmxnet3_ethdev.h\"\n \n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + (mb)->data_off)\n-\n-#define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n-\t(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)\n-\n static const uint32_t rxprod_reg[2] = {VMXNET3_REG_RXPROD, VMXNET3_REG_RXPROD2};\n \n static int vmxnet3_post_rx_bufs(vmxnet3_rx_queue_t*, uint8_t);\ndiff --git a/drivers/net/xenvirt/virtqueue.h b/drivers/net/xenvirt/virtqueue.h\nindex eff6208..c38288e 100644\n--- a/drivers/net/xenvirt/virtqueue.h\n+++ b/drivers/net/xenvirt/virtqueue.h\n@@ -54,9 +54,6 @@ struct rte_mbuf;\n  * Address translatio is between gva<->hva,\n  * rather than gpa<->hva in virito spec.\n  */\n-#define RTE_MBUF_DATA_DMA_ADDR(mb) \\\n-\trte_pktmbuf_mtod(mb, uint64_t)\n-\n enum { VTNET_RQ = 0, VTNET_TQ = 1, VTNET_CQ = 2 };\n \n /**\n@@ -238,7 +235,7 @@ virtqueue_enqueue_xmit(struct virtqueue *txvq, struct rte_mbuf *cookie)\n \tstart_dp[idx].flags = VRING_DESC_F_NEXT;\n \tstart_dp[idx].addr  = (uintptr_t)NULL;\n \tidx = start_dp[idx].next;\n-\tstart_dp[idx].addr  = RTE_MBUF_DATA_DMA_ADDR(cookie);\n+\tstart_dp[idx].addr  = rte_pktmbuf_mtod(cookie, uint64_t);\n \tstart_dp[idx].len   = cookie->data_len;\n \tstart_dp[idx].flags = 0;\n \tidx = start_dp[idx].next;\ndiff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h\nindex d7c9030..52c8127 100644\n--- a/lib/librte_mbuf/rte_mbuf.h\n+++ b/lib/librte_mbuf/rte_mbuf.h\n@@ -843,6 +843,16 @@ struct rte_mbuf {\n \tuint16_t timesync;\n } __rte_cache_aligned;\n \n+static inline uint64_t RTE_MBUF_DATA_DMA_ADDR(struct rte_mbuf* mb)\n+{\n+\treturn ((uint64_t)((mb)->buf_physaddr + (mb)->data_off));\n+}\n+\n+static inline uint64_t RTE_MBUF_DATA_DMA_ADDR_DEFAULT(struct rte_mbuf *mb)\n+{\n+\treturn ((uint64_t)((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM));\n+}\n+\n static inline uint16_t rte_pktmbuf_priv_size(struct rte_mempool *mp);\n \n /**\n",
    "prefixes": [
        "dpdk-dev",
        "v2"
    ]
}