get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 55287,
    "url": "https://patches.dpdk.org/api/patches/55287/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1561449018-26218-1-git-send-email-andy.pei@intel.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": "<1561449018-26218-1-git-send-email-andy.pei@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1561449018-26218-1-git-send-email-andy.pei@intel.com",
    "date": "2019-06-25T07:50:15",
    "name": "[v4,1/4] net/ipn3ke: add new register address",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "980d66b714356b9d8ac01a60709dbc5a9fcd9639",
    "submitter": {
        "id": 1185,
        "url": "https://patches.dpdk.org/api/people/1185/?format=api",
        "name": "Pei, Andy",
        "email": "andy.pei@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1561449018-26218-1-git-send-email-andy.pei@intel.com/mbox/",
    "series": [
        {
            "id": 5146,
            "url": "https://patches.dpdk.org/api/series/5146/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=5146",
            "date": "2019-06-25T07:50:15",
            "name": "[v4,1/4] net/ipn3ke: add new register address",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/5146/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/55287/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/55287/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id DA2FA1BBE5;\n\tTue, 25 Jun 2019 09:57:22 +0200 (CEST)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n\tby dpdk.org (Postfix) with ESMTP id CE7A81BB9D\n\tfor <dev@dpdk.org>; Tue, 25 Jun 2019 09:57:20 +0200 (CEST)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t25 Jun 2019 00:57:19 -0700",
            "from dipei-st-npg.sh.intel.com ([10.67.110.220])\n\tby orsmga003.jf.intel.com with ESMTP; 25 Jun 2019 00:57:18 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.63,415,1557212400\"; d=\"scan'208\";a=\"163900469\"",
        "From": "Andy Pei <andy.pei@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "andy.pei@intel.com,\n\trosen.xu@intel.com",
        "Date": "Tue, 25 Jun 2019 15:50:15 +0800",
        "Message-Id": "<1561449018-26218-1-git-send-email-andy.pei@intel.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1560934174-408632-4-git-send-email-andy.pei@intel.com>",
        "References": "<1560934174-408632-4-git-send-email-andy.pei@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v4 1/4] net/ipn3ke: add new register address",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "ipn3ke can work on 10G mode and 25G mode.\n10G mode and 25G mode has different MAC register address for statistics.\nThis patch implemente statistics registers for 10G mode and 25G mode.\n\nFixes: c01c748e4ae6 (\"net/ipn3ke: add new driver\")\nCc: rosen.xu@intel.com\n\nSigned-off-by: Andy Pei <andy.pei@intel.com>\n---\n drivers/net/ipn3ke/ipn3ke_ethdev.h | 590 ++++++++++++++++++++++---------------\n 1 file changed, 345 insertions(+), 245 deletions(-)",
    "diff": "diff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.h b/drivers/net/ipn3ke/ipn3ke_ethdev.h\nindex af2da05..61a5dbb 100644\n--- a/drivers/net/ipn3ke/ipn3ke_ethdev.h\n+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.h\n@@ -650,239 +650,298 @@ static inline void _ipn3ke_indrct_write(struct ipn3ke_hw *hw,\n #define IPN3KE_MAC_RX_FRAME_MAXLENGTH_MASK \\\n \tIPN3KE_MASK(0xFFFF, IPN3KE_MAC_RX_FRAME_MAXLENGTH_SHIFT)\n \n-#define IPN3KE_MAC_TX_STATS_CLR    0x0140\n-#define IPN3KE_MAC_TX_STATS_CLR_CLEAR_SHIFT    0\n-#define IPN3KE_MAC_TX_STATS_CLR_CLEAR_MASK \\\n-\tIPN3KE_MASK(0x1, IPN3KE_MAC_TX_STATS_CLR_CLEAR_SHIFT)\n-\n-#define IPN3KE_MAC_RX_STATS_CLR    0x01C0\n-#define IPN3KE_MAC_RX_STATS_CLR_CLEAR_SHIFT    0\n-#define IPN3KE_MAC_RX_STATS_CLR_CLEAR_MASK \\\n-\tIPN3KE_MASK(0x1, IPN3KE_MAC_RX_STATS_CLR_CLEAR_SHIFT)\n-\n-/*tx_stats_framesOK*/\n-#define IPN3KE_MAC_TX_STATS_FRAMESOK_HI  0x0142\n-#define IPN3KE_MAC_TX_STATS_FRAMESOK_LOW 0x0143\n-\n-/*rx_stats_framesOK*/\n-#define IPN3KE_MAC_RX_STATS_FRAMESOK_HI  0x01C2\n-#define IPN3KE_MAC_RX_STATS_FRAMESOK_LOW 0x01C3\n-\n-/*tx_stats_framesErr*/\n-#define IPN3KE_MAC_TX_STATS_FRAMESERR_HI  0x0144\n-#define IPN3KE_MAC_TX_STATS_FRAMESERR_LOW 0x0145\n-\n-/*rx_stats_framesErr*/\n-#define IPN3KE_MAC_RX_STATS_FRAMESERR_HI  0x01C4\n-#define IPN3KE_MAC_RX_STATS_FRAMESERR_LOW 0x01C5\n-\n-/*rx_stats_framesCRCErr*/\n-#define IPN3KE_MAC_RX_STATS_FRAMESCRCERR_HI  0x01C6\n-#define IPN3KE_MAC_RX_STATS_FRAMESCRCERR_LOW 0x01C7\n-\n-/*tx_stats_octetsOK 64b*/\n-#define IPN3KE_MAC_TX_STATS_OCTETSOK_HI  0x0148\n-#define IPN3KE_MAC_TX_STATS_OCTETSOK_LOW 0x0149\n-\n-/*rx_stats_octetsOK 64b*/\n-#define IPN3KE_MAC_RX_STATS_OCTETSOK_HI  0x01C8\n-#define IPN3KE_MAC_RX_STATS_OCTETSOK_LOW 0x01C9\n-\n-/*tx_stats_pauseMACCtrl_Frames*/\n-#define IPN3KE_MAC_TX_STATS_PAUSEMACCTRL_FRAMES_HI  0x014A\n-#define IPN3KE_MAC_TX_STATS_PAUSEMACCTRL_FRAMES_LOW 0x014B\n-\n-/*rx_stats_pauseMACCtrl_Frames*/\n-#define IPN3KE_MAC_RX_STATS_PAUSEMACCTRL_FRAMES_HI  0x01CA\n-#define IPN3KE_MAC_RX_STATS_PAUSEMACCTRL_FRAMES_LOW 0x01CB\n-\n-/*tx_stats_ifErrors*/\n-#define IPN3KE_MAC_TX_STATS_IFERRORS_HI  0x014C\n-#define IPN3KE_MAC_TX_STATS_IFERRORS_LOW 0x014D\n-\n-/*rx_stats_ifErrors*/\n-#define IPN3KE_MAC_RX_STATS_IFERRORS_HI  0x01CC\n-#define IPN3KE_MAC_RX_STATS_IFERRORS_LOW 0x01CD\n-\n-/*tx_stats_unicast_FramesOK*/\n-#define IPN3KE_MAC_TX_STATS_UNICAST_FRAMESOK_HI  0x014E\n-#define IPN3KE_MAC_TX_STATS_UNICAST_FRAMESOK_LOW 0x014F\n-\n-/*rx_stats_unicast_FramesOK*/\n-#define IPN3KE_MAC_RX_STATS_UNICAST_FRAMESOK_HI  0x01CE\n-#define IPN3KE_MAC_RX_STATS_UNICAST_FRAMESOK_LOW 0x01CF\n-\n-/*tx_stats_unicast_FramesErr*/\n-#define IPN3KE_MAC_TX_STATS_UNICAST_FRAMESERR_HI  0x0150\n-#define IPN3KE_MAC_TX_STATS_UNICAST_FRAMESERR_LOW 0x0151\n-\n-/*rx_stats_unicast_FramesErr*/\n-#define IPN3KE_MAC_RX_STATS_UNICAST_FRAMESERR_HI  0x01D0\n-#define IPN3KE_MAC_RX_STATS_UNICAST_FRAMESERR_LOW 0x01D1\n-\n-/*tx_stats_multicast_FramesOK*/\n-#define IPN3KE_MAC_TX_STATS_MULTICAST_FRAMESOK_HI  0x0152\n-#define IPN3KE_MAC_TX_STATS_MULTICAST_FRAMESOK_LOW 0x0153\n-\n-/*rx_stats_multicast_FramesOK*/\n-#define IPN3KE_MAC_RX_STATS_MULTICAST_FRAMESOK_HI  0x01D2\n-#define IPN3KE_MAC_RX_STATS_MULTICAST_FRAMESOK_LOW 0x01D3\n-\n-/*tx_stats_multicast_FramesErr*/\n-#define IPN3KE_MAC_TX_STATS_MULTICAST_FRAMESERR_HI  0x0154\n-#define IPN3KE_MAC_TX_STATS_MULTICAST_FRAMESERR_LOW 0x0155\n-\n-/*rx_stats_multicast_FramesErr*/\n-#define IPN3KE_MAC_RX_STATS_MULTICAST_FRAMESERR_HI  0x01D4\n-#define IPN3KE_MAC_RX_STATS_MULTICAST_FRAMESERR_LOW 0x01D5\n-\n-/*tx_stats_broadcast_FramesOK*/\n-#define IPN3KE_MAC_TX_STATS_BROADCAST_FRAMESOK_HI  0x0156\n-#define IPN3KE_MAC_TX_STATS_BROADCAST_FRAMESOK_LOW 0x0157\n-\n-/*rx_stats_broadcast_FramesOK*/\n-#define IPN3KE_MAC_RX_STATS_BROADCAST_FRAMESOK_HI  0x01D6\n-#define IPN3KE_MAC_RX_STATS_BROADCAST_FRAMESOK_LOW 0x01D7\n-\n-/*tx_stats_broadcast_FramesErr*/\n-#define IPN3KE_MAC_TX_STATS_BROADCAST_FRAMESERR_HI  0x0158\n-#define IPN3KE_MAC_TX_STATS_BROADCAST_FRAMESERR_LOW 0x0159\n-\n-/*rx_stats_broadcast_FramesErr*/\n-#define IPN3KE_MAC_RX_STATS_BROADCAST_FRAMESERR_HI  0x01D8\n-#define IPN3KE_MAC_RX_STATS_BROADCAST_FRAMESERR_LOW 0x01D9\n-\n-/*tx_stats_etherStatsOctets 64b*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSOCTETS_HI  0x015A\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSOCTETS_LOW 0x015B\n-\n-/*rx_stats_etherStatsOctets 64b*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSOCTETS_HI  0x01DA\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSOCTETS_LOW 0x01DB\n-\n-/*tx_stats_etherStatsPkts*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS_HI  0x015C\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS_LOW 0x015D\n-\n-/*rx_stats_etherStatsPkts*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS_HI  0x01DC\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS_LOW 0x01DD\n-\n-/*tx_stats_etherStatsUndersizePkts*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSUNDERSIZEPKTS_HI  0x015E\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSUNDERSIZEPKTS_LOW 0x015F\n-\n-/*rx_stats_etherStatsUndersizePkts*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSUNDERSIZEPKTS_HI  0x01DE\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSUNDERSIZEPKTS_LOW 0x01DF\n-\n-/*tx_stats_etherStatsOversizePkts*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSOVERSIZEPKTS_HI  0x0160\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSOVERSIZEPKTS_LOW 0x0161\n-\n-/*rx_stats_etherStatsOversizePkts*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSOVERSIZEPKTS_HI  0x01E0\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSOVERSIZEPKTS_LOW 0x01E1\n-\n-/*tx_stats_etherStatsPkts64Octets*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS64OCTETS_HI  0x0162\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS64OCTETS_LOW 0x0163\n-\n-/*rx_stats_etherStatsPkts64Octets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS64OCTETS_HI  0x01E2\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS64OCTETS_LOW 0x01E3\n-\n-/*tx_stats_etherStatsPkts65to127Octets*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS65TO127OCTETS_HI  0x0164\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS65TO127OCTETS_LOW 0x0165\n-\n-/*rx_stats_etherStatsPkts65to127Octets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS65TO127OCTETS_HI  0x01E4\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS65TO127OCTETS_LOW 0x01E5\n-\n-/*tx_stats_etherStatsPkts128to255Octets*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS128TO255OCTETS_HI  0x0166\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS128TO255OCTETS_LOW 0x0167\n-\n-/*rx_stats_etherStatsPkts128to255Octets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS128TO255OCTETS_HI  0x01E6\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS128TO255OCTETS_LOW 0x01E7\n-\n-/*tx_stats_etherStatsPkts256to511Octet*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS256TO511OCTET_HI  0x0168\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS256TO511OCTET_LOW 0x0169\n-\n-/*rx_stats_etherStatsPkts256to511Octets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS256TO511OCTETS_HI  0x01E8\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS256TO511OCTETS_LOW 0x01E9\n-\n-/*tx_stats_etherStatsPkts512to1023Octets*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS512TO1023OCTETS_HI  0x016A\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS512TO1023OCTETS_LOW 0x016B\n-\n-/*rx_stats_etherStatsPkts512to1023Octets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS512TO1023OCTETS_HI  0x01EA\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS512TO1023OCTETS_LOW 0x01EB\n-\n-/*tx_stats_etherStatPkts1024to1518Octets*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATPKTS1024TO1518OCTETS_HI  0x016C\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATPKTS1024TO1518OCTETS_LOW 0x016D\n-\n-/*rx_stats_etherStatPkts1024to1518Octets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATPKTS1024TO1518OCTETS_HI  0x01EC\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATPKTS1024TO1518OCTETS_LOW 0x01ED\n-\n-/*tx_stats_etherStatsPkts1519toXOctets*/\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS1519TOXOCTETS_HI  0x016E\n-#define IPN3KE_MAC_TX_STATS_ETHERSTATSPKTS1519TOXOCTETS_LOW 0x016F\n-\n-/*rx_stats_etherStatsPkts1519toXOctets*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS1519TOXOCTETS_HI  0x01EE\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSPKTS1519TOXOCTETS_LOW 0x01EF\n-\n-/*rx_stats_etherStatsFragments*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSFRAGMENTS_HI  0x01F0\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSFRAGMENTS_LOW 0x01F1\n-\n-/*rx_stats_etherStatsJabbers*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSJABBERS_HI  0x01F2\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSJABBERS_LOW 0x01F3\n-\n-/*rx_stats_etherStatsCRCErr*/\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSCRCERR_HI  0x01F4\n-#define IPN3KE_MAC_RX_STATS_ETHERSTATSCRCERR_LOW 0x01F5\n-\n-/*tx_stats_unicastMACCtrlFrames*/\n-#define IPN3KE_MAC_TX_STATS_UNICASTMACCTRLFRAMES_HI  0x0176\n-#define IPN3KE_MAC_TX_STATS_UNICASTMACCTRLFRAMES_LOW 0x0177\n-\n-/*rx_stats_unicastMACCtrlFrames*/\n-#define IPN3KE_MAC_RX_STATS_UNICASTMACCTRLFRAMES_HI  0x01F6\n-#define IPN3KE_MAC_RX_STATS_UNICASTMACCTRLFRAMES_LOW 0x01F7\n-\n-/*tx_stats_multicastMACCtrlFrames*/\n-#define IPN3KE_MAC_TX_STATS_MULTICASTMACCTRLFRAMES_HI  0x0178\n-#define IPN3KE_MAC_TX_STATS_MULTICASTMACCTRLFRAMES_LOW 0x0179\n-\n-/*rx_stats_multicastMACCtrlFrames*/\n-#define IPN3KE_MAC_RX_STATS_MULTICASTMACCTRLFRAMES_HI  0x01F8\n-#define IPN3KE_MAC_RX_STATS_MULTICASTMACCTRLFRAMES_LOW 0x01F9\n-\n-/*tx_stats_broadcastMACCtrlFrames*/\n-#define IPN3KE_MAC_TX_STATS_BROADCASTMACCTRLFRAMES_HI  0x017A\n-#define IPN3KE_MAC_TX_STATS_BROADCASTMACCTRLFRAMES_LOW 0x017B\n-\n-/*rx_stats_broadcastMACCtrlFrames*/\n-#define IPN3KE_MAC_RX_STATS_BROADCASTMACCTRLFRAMES_HI  0x01FA\n-#define IPN3KE_MAC_RX_STATS_BROADCASTMACCTRLFRAMES_LOW 0x01FB\n-\n-/*tx_stats_PFCMACCtrlFrames*/\n-#define IPN3KE_MAC_TX_STATS_PFCMACCTRLFRAMES_HI  0x017C\n-#define IPN3KE_MAC_TX_STATS_PFCMACCTRLFRAMES_LOW 0x017D\n-\n-/*rx_stats_PFCMACCtrlFrames*/\n-#define IPN3KE_MAC_RX_STATS_PFCMACCTRLFRAMES_HI  0x01FC\n-#define IPN3KE_MAC_RX_STATS_PFCMACCTRLFRAMES_LOW 0x01FD\n+#define IPN3KE_REGISTER_WIDTH                                        32\n+\n+/*Bits[2:0]: Configuration of TX statistics counters:\n+ *Bit[2]: Shadow request (active high): When set to the value of 1,\n+ *TX statistics collection is paused. The underlying counters\n+ *continue to operate, but the readable values reflect a snapshot at\n+ *the time the pause flag was activated. Write a 0 to release.\n+ *Bit[1]: Parity-error clear. When software sets this bit, the IP core\n+ *clears the parity bit CNTR_TX_STATUS[0]. This bit\n+ *(CNTR_TX_CONFIG[1]) is self-clearing.\n+ *Bit[0]: Software can set this bit to the value of 1 to reset all of\n+ *the TX statistics registers at the same time. This bit is selfclearing.\n+ *Bits[31:3] are Reserved\n+ */\n+#define IPN3KE_25G_TX_STATISTICS_CONFIG                              0x845\n+#define IPN3KE_25G_TX_STATISTICS_CONFIG_SHADOW_REQUEST_MASK          0x00000004\n+\n+/*Bit[1]: Indicates that the TX statistics registers are paused (while\n+ *CNTR_TX_CONFIG[2] is asserted).\n+ *Bit[0]: Indicates the presence of at least one parity error in the\n+ *TX statistics counters.\n+ *Bits[31:2] are Reserved.\n+ */\n+#define IPN3KE_25G_TX_STATISTICS_STATUS                              0x846\n+#define IPN3KE_25G_TX_STATISTICS_STATUS_SHADOW_REQUEST_MASK          0x00000002\n+\n+#define IPN3KE_25G_CNTR_TX_FRAGMENTS_LO                              0x800\n+#define IPN3KE_25G_CNTR_TX_FRAGMENTS_HI                              0x801\n+#define IPN3KE_25G_CNTR_TX_JABBERS_LO                                0x802\n+#define IPN3KE_25G_CNTR_TX_JABBERS_HI                                0x803\n+#define IPN3KE_25G_CNTR_TX_FCS_LO                                    0x804\n+#define IPN3KE_25G_CNTR_TX_FCS_HI                                    0x805\n+#define IPN3KE_25G_CNTR_TX_CRCERR_LO                                 0x806\n+#define IPN3KE_25G_CNTR_TX_CRCERR_HI                                 0x807\n+#define IPN3KE_25G_CNTR_TX_MCAST_DATA_ERR_LO                         0x808\n+#define IPN3KE_25G_CNTR_TX_MCAST_DATA_ERR_HI                         0x809\n+#define IPN3KE_25G_CNTR_TX_BCAST_DATA_ERR_LO                         0x80A\n+#define IPN3KE_25G_CNTR_TX_BCAST_DATA_ERR_HI                         0x80B\n+#define IPN3KE_25G_CNTR_TX_UCAST_DATA_ERR_LO                         0x80C\n+#define IPN3KE_25G_CNTR_TX_UCAST_DATA_ERR_HI                         0x80D\n+#define IPN3KE_25G_CNTR_TX_MCAST_CTRL_ERR_LO                         0x80E\n+#define IPN3KE_25G_CNTR_TX_MCAST_CTRL_ERR_HI                         0x80F\n+#define IPN3KE_25G_CNTR_TX_BCAST_CTRL_ERR_LO                         0x810\n+#define IPN3KE_25G_CNTR_TX_BCAST_CTRL_ERR_HI                         0x811\n+#define IPN3KE_25G_CNTR_TX_UCAST_CTRL_ERR_LO                         0x812\n+#define IPN3KE_25G_CNTR_TX_UCAST_CTRL_ERR_HI                         0x813\n+#define IPN3KE_25G_CNTR_TX_PAUSE_ERR_LO                              0x814\n+#define IPN3KE_25G_CNTR_TX_PAUSE_ERR_HI                              0x815\n+#define IPN3KE_25G_CNTR_TX_64B_LO                                    0x816\n+#define IPN3KE_25G_CNTR_TX_64B_HI                                    0x817\n+#define IPN3KE_25G_CNTR_TX_65_127B_LO                                0x818\n+#define IPN3KE_25G_CNTR_TX_65_127B_HI                                0x819\n+#define IPN3KE_25G_CNTR_TX_128_255B_LO                               0x81A\n+#define IPN3KE_25G_CNTR_TX_128_255B_HI                               0x81B\n+#define IPN3KE_25G_CNTR_TX_256_511B_LO                               0x81C\n+#define IPN3KE_25G_CNTR_TX_256_511B_HI                               0x81D\n+#define IPN3KE_25G_CNTR_TX_512_1023B_LO                              0x81E\n+#define IPN3KE_25G_CNTR_TX_512_1023B_HI                              0x81F\n+#define IPN3KE_25G_CNTR_TX_1024_1518B_LO                             0x820\n+#define IPN3KE_25G_CNTR_TX_1024_1518B_HI                             0x821\n+#define IPN3KE_25G_CNTR_TX_1519_MAXB_LO                              0x822\n+#define IPN3KE_25G_CNTR_TX_1519_MAXB_HI                              0x823\n+#define IPN3KE_25G_CNTR_TX_OVERSIZE_LO                               0x824\n+#define IPN3KE_25G_CNTR_TX_OVERSIZE_HI                               0x825\n+#define IPN3KE_25G_CNTR_TX_MCAST_DATA_OK_LO                          0x826\n+#define IPN3KE_25G_CNTR_TX_MCAST_DATA_OK_HI                          0x827\n+#define IPN3KE_25G_CNTR_TX_BCAST_DATA_OK_LO                          0x828\n+#define IPN3KE_25G_CNTR_TX_BCAST_DATA_OK_HI                          0x829\n+#define IPN3KE_25G_CNTR_TX_UCAST_DATA_OK_LO                          0x82A\n+#define IPN3KE_25G_CNTR_TX_UCAST_DATA_OK_HI                          0x82B\n+#define IPN3KE_25G_CNTR_TX_MCAST_CTRL_LO                             0x82C\n+#define IPN3KE_25G_CNTR_TX_MCAST_CTRL_HI                             0x82D\n+#define IPN3KE_25G_CNTR_TX_BCAST_CTRL_LO                             0x82E\n+#define IPN3KE_25G_CNTR_TX_BCAST_CTRL_HI                             0x82F\n+#define IPN3KE_25G_CNTR_TX_UCAST_CTRL_LO                             0x830\n+#define IPN3KE_25G_CNTR_TX_UCAST_CTRL_HI                             0x831\n+#define IPN3KE_25G_CNTR_TX_PAUSE_LO                                  0x832\n+#define IPN3KE_25G_CNTR_TX_PAUSE_HI                                  0x833\n+#define IPN3KE_25G_CNTR_TX_RUNT_LO                                   0x834\n+#define IPN3KE_25G_CNTR_TX_RUNT_HI                                   0x835\n+#define IPN3KE_25G_TX_PAYLOAD_OCTETS_OK_LO                           0x860\n+#define IPN3KE_25G_TX_PAYLOAD_OCTETS_OK_HI                           0x861\n+#define IPN3KE_25G_TX_FRAME_OCTETS_OK_LO                             0x862\n+#define IPN3KE_25G_TX_FRAME_OCTETS_OK_HI                             0x863\n+\n+/*Bits[2:0]: Configuration of RX statistics counters:\n+ *Bit[2]: Shadow request (active high): When set to the value of 1,\n+ *RX statistics collection is paused. The underlying counters\n+ *continue to operate, but the readable values reflect a snapshot\n+ *at the time the pause flag was activated. Write a 0 to release.\n+ *Bit[1]: Parity-error clear. When software sets this bit, the IP\n+ *core clears the parity bit CNTR_RX_STATUS[0]. This bit\n+ *(CNTR_RX_CONFIG[1]) is self-clearing.\n+ *Bit[0]: Software can set this bit to the value of 1 to reset all of\n+ *the RX statistics registers at the same time. This bit is selfclearing.\n+ *Bits[31:3] are Reserved.\n+ */\n+#define IPN3KE_25G_RX_STATISTICS_CONFIG                              0x945\n+#define IPN3KE_25G_RX_STATISTICS_CONFIG_SHADOW_REQUEST_MASK          0x00000004\n+\n+/*Bit[1]: Indicates that the RX statistics registers are paused\n+ *(while CNTR_RX_CONFIG[2] is asserted).\n+ *Bit[0]: Indicates the presence of at least one parity error in the\n+ *RX statistics counters.\n+ *Bits [31:2] are Reserved\n+ */\n+#define IPN3KE_25G_RX_STATISTICS_STATUS                              0x946\n+#define IPN3KE_25G_RX_STATISTICS_STATUS_SHADOW_REQUEST_MASK          0x00000002\n+\n+#define IPN3KE_25G_CNTR_RX_FRAGMENTS_LO                              0x900\n+#define IPN3KE_25G_CNTR_RX_FRAGMENTS_HI                              0x901\n+#define IPN3KE_25G_CNTR_RX_JABBERS_LO                                0x902\n+#define IPN3KE_25G_CNTR_RX_JABBERS_HI                                0x903\n+#define IPN3KE_25G_CNTR_RX_FCS_LO                                    0x904\n+#define IPN3KE_25G_CNTR_RX_FCS_HI                                    0x905\n+#define IPN3KE_25G_CNTR_RX_CRCERR_LO                                 0x906\n+#define IPN3KE_25G_CNTR_RX_CRCERR_HI                                 0x907\n+#define IPN3KE_25G_CNTR_RX_MCAST_DATA_ERR_LO                         0x908\n+#define IPN3KE_25G_CNTR_RX_MCAST_DATA_ERR_HI                         0x909\n+#define IPN3KE_25G_CNTR_RX_BCAST_DATA_ERR_LO                         0x90A\n+#define IPN3KE_25G_CNTR_RX_BCAST_DATA_ERR_HI                         0x90B\n+#define IPN3KE_25G_CNTR_RX_UCAST_DATA_ERR_LO                         0x90C\n+#define IPN3KE_25G_CNTR_RX_UCAST_DATA_ERR_HI                         0x90D\n+#define IPN3KE_25G_CNTR_RX_MCAST_CTRL_ERR_LO                         0x90E\n+#define IPN3KE_25G_CNTR_RX_MCAST_CTRL_ERR_HI                         0x90F\n+#define IPN3KE_25G_CNTR_RX_BCAST_CTRL_ERR_LO                         0x910\n+#define IPN3KE_25G_CNTR_RX_BCAST_CTRL_ERR_HI                         0x911\n+#define IPN3KE_25G_CNTR_RX_UCAST_CTRL_ERR_LO                         0x912\n+#define IPN3KE_25G_CNTR_RX_UCAST_CTRL_ERR_HI                         0x913\n+#define IPN3KE_25G_CNTR_RX_PAUSE_ERR_LO                              0x914\n+#define IPN3KE_25G_CNTR_RX_PAUSE_ERR_HI                              0x915\n+#define IPN3KE_25G_CNTR_RX_64B_LO                                    0x916\n+#define IPN3KE_25G_CNTR_RX_64B_HI                                    0x917\n+#define IPN3KE_25G_CNTR_RX_65_127B_LO                                0x918\n+#define IPN3KE_25G_CNTR_RX_65_127B_HI                                0x919\n+#define IPN3KE_25G_CNTR_RX_128_255B_LO                               0x91A\n+#define IPN3KE_25G_CNTR_RX_128_255B_HI                               0x91B\n+#define IPN3KE_25G_CNTR_RX_256_511B_LO                               0x91C\n+#define IPN3KE_25G_CNTR_RX_256_511B_HI                               0x91D\n+#define IPN3KE_25G_CNTR_RX_512_1023B_LO                              0x91E\n+#define IPN3KE_25G_CNTR_RX_512_1023B_HI                              0x91F\n+#define IPN3KE_25G_CNTR_RX_1024_1518B_LO                             0x920\n+#define IPN3KE_25G_CNTR_RX_1024_1518B_HI                             0x921\n+#define IPN3KE_25G_CNTR_RX_1519_MAXB_LO                              0x922\n+#define IPN3KE_25G_CNTR_RX_1519_MAXB_HI                              0x923\n+#define IPN3KE_25G_CNTR_RX_OVERSIZE_LO                               0x924\n+#define IPN3KE_25G_CNTR_RX_OVERSIZE_HI                               0x925\n+#define IPN3KE_25G_CNTR_RX_MCAST_DATA_OK_LO                          0x926\n+#define IPN3KE_25G_CNTR_RX_MCAST_DATA_OK_HI                          0x927\n+#define IPN3KE_25G_CNTR_RX_BCAST_DATA_OK_LO                          0x928\n+#define IPN3KE_25G_CNTR_RX_BCAST_DATA_OK_HI                          0x929\n+#define IPN3KE_25G_CNTR_RX_UCAST_DATA_OK_LO                          0x92A\n+#define IPN3KE_25G_CNTR_RX_UCAST_DATA_OK_HI                          0x92B\n+#define IPN3KE_25G_CNTR_RX_MCAST_CTRL_LO                             0x92C\n+#define IPN3KE_25G_CNTR_RX_MCAST_CTRL_HI                             0x92D\n+#define IPN3KE_25G_CNTR_RX_BCAST_CTRL_LO                             0x92E\n+#define IPN3KE_25G_CNTR_RX_BCAST_CTRL_HI                             0x92F\n+#define IPN3KE_25G_CNTR_RX_UCAST_CTRL_LO                             0x930\n+#define IPN3KE_25G_CNTR_RX_UCAST_CTRL_HI                             0x931\n+#define IPN3KE_25G_CNTR_RX_PAUSE_LO                                  0x932\n+#define IPN3KE_25G_CNTR_RX_PAUSE_HI                                  0x933\n+#define IPN3KE_25G_CNTR_RX_RUNT_LO                                   0x934\n+#define IPN3KE_25G_CNTR_RX_RUNT_HI                                   0x935\n+#define IPN3KE_25G_RX_PAYLOAD_OCTETS_OK_LO                           0x960\n+#define IPN3KE_25G_RX_PAYLOAD_OCTETS_OK_HI                           0x961\n+#define IPN3KE_25G_RX_FRAME_OCTETS_OK_LO                             0x962\n+#define IPN3KE_25G_RX_FRAME_OCTETS_OK_HI                             0x963\n+\n+#define IPN3KE_10G_STATS_HI_VALID_MASK                               0x0000000F\n+\n+#define IPN3KE_10G_TX_STATS_CLR                                      0x0140\n+#define IPN3KE_10G_TX_STATS_CLR_CLEAR_SHIFT    0\n+#define IPN3KE_10G_TX_STATS_CLR_CLEAR_MASK \\\n+\tIPN3KE_MASK(0x1, IPN3KE_10G_TX_STATS_CLR_CLEAR_SHIFT)\n+\n+#define IPN3KE_10G_RX_STATS_CLR                                      0x01C0\n+#define IPN3KE_10G_RX_STATS_CLR_CLEAR_SHIFT    0\n+#define IPN3KE_10G_RX_STATS_CLR_CLEAR_MASK \\\n+\tIPN3KE_MASK(0x1, IPN3KE_10G_RX_STATS_CLR_CLEAR_SHIFT)\n+\n+#define IPN3KE_10G_TX_STATS_FRAME_OK_LO                              0x0142\n+#define IPN3KE_10G_TX_STATS_FRAME_OK_HI                              0x0143\n+#define IPN3KE_10G_RX_STATS_FRAME_OK_LO                              0x01C2\n+#define IPN3KE_10G_RX_STATS_FRAME_OK_HI                              0x01C3\n+#define IPN3KE_10G_TX_STATS_FRAME_ERR_LO                             0x0144\n+#define IPN3KE_10G_TX_STATS_FRAME_ERR_HI                             0x0145\n+#define IPN3KE_10G_RX_STATS_FRAME_ERR_LO                             0x01C4\n+#define IPN3KE_10G_RX_STATS_FRAME_ERR_HI                             0x01C5\n+#define IPN3KE_10G_RX_STATS_FRAME_CRC_ERR_LO                         0x01C6\n+#define IPN3KE_10G_RX_STATS_FRAME_CRC_ERR_HI                         0x01C7\n+#define IPN3KE_10G_TX_STATS_OCTETS_OK_LO                             0x0148\n+#define IPN3KE_10G_TX_STATS_OCTETS_OK_HI                             0x0149\n+#define IPN3KE_10G_RX_STATS_OCTETS_OK_LO                             0x01C8\n+#define IPN3KE_10G_RX_STATS_OCTETS_OK_HI                             0x01C9\n+#define IPN3KE_10G_TX_STATS_PAUSE_MAC_CTRL_FRAMES_LO                 0x014A\n+#define IPN3KE_10G_TX_STATS_PAUSE_MAC_CTRL_FRAMES_HI                 0x014B\n+#define IPN3KE_10G_RX_STATS_PAUSE_MAC_CTRL_FRAMES_LO                 0x01CA\n+#define IPN3KE_10G_RX_STATS_PAUSE_MAC_CTRL_FRAMES_HI                 0x01CB\n+#define IPN3KE_10G_TX_STATS_IF_ERRORS_LO                             0x014C\n+#define IPN3KE_10G_TX_STATS_IF_ERRORS_HI                             0x014D\n+#define IPN3KE_10G_RX_STATS_IF_ERRORS_LO                             0x01CC\n+#define IPN3KE_10G_RX_STATS_IF_ERRORS_HI                             0x01CD\n+#define IPN3KE_10G_TX_STATS_UNICAST_FRAME_OK_LO                      0x014E\n+#define IPN3KE_10G_TX_STATS_UNICAST_FRAME_OK_HI                      0x014F\n+#define IPN3KE_10G_RX_STATS_UNICAST_FRAME_OK_LO                      0x01CE\n+#define IPN3KE_10G_RX_STATS_UNICAST_FRAME_OK_HI                      0x01CF\n+#define IPN3KE_10G_TX_STATS_UNICAST_FRAME_ERR_LO                     0x0150\n+#define IPN3KE_10G_TX_STATS_UNICAST_FRAME_ERR_HI                     0x0151\n+#define IPN3KE_10G_RX_STATS_UNICAST_FRAME_ERR_LO                     0x01D0\n+#define IPN3KE_10G_RX_STATS_UNICAST_FRAME_ERR_HI                     0x01D1\n+#define IPN3KE_10G_TX_STATS_MULTICAST_FRAME_OK_LO                    0x0152\n+#define IPN3KE_10G_TX_STATS_MULTICAST_FRAME_OK_HI                    0x0153\n+#define IPN3KE_10G_RX_STATS_MULTICAST_FRAME_OK_LO                    0x01D2\n+#define IPN3KE_10G_RX_STATS_MULTICAST_FRAME_OK_HI                    0x01D3\n+#define IPN3KE_10G_TX_STATS_MULTICAST_FRAME_ERR_LO                   0x0154\n+#define IPN3KE_10G_TX_STATS_MULTICAST_FRAME_ERR_HI                   0x0155\n+#define IPN3KE_10G_RX_STATS_MULTICAST_FRAME_ERR_LO                   0x01D4\n+#define IPN3KE_10G_RX_STATS_MULTICAST_FRAME_ERR_HI                   0x01D5\n+#define IPN3KE_10G_TX_STATS_BROADCAST_FRAME_OK_LO                    0x0156\n+#define IPN3KE_10G_TX_STATS_BROADCAST_FRAME_OK_HI                    0x0157\n+#define IPN3KE_10G_RX_STATS_BROADCAST_FRAME_OK_LO                    0x01D6\n+#define IPN3KE_10G_RX_STATS_BROADCAST_FRAME_OK_HI                    0x01D7\n+#define IPN3KE_10G_TX_STATS_BROADCAST_FRAME_ERR_LO                   0x0158\n+#define IPN3KE_10G_TX_STATS_BROADCAST_FRAME_ERR_HI                   0x0159\n+#define IPN3KE_10G_RX_STATS_BROADCAST_FRAME_ERR_LO                   0x01D8\n+#define IPN3KE_10G_RX_STATS_BROADCAST_FRAME_ERR_HI                   0x01D9\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_OCTETS_LO                    0x015A\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_OCTETS_HI                    0x015B\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_OCTETS_LO                    0x01DA\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_OCTETS_HI                    0x01DB\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_LO                      0x015C\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_HI                      0x015D\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_LO                      0x01DC\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_HI                      0x01DD\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_UNDER_SIZE_PKTS_LO           0x015E\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_UNDER_SIZE_PKTS_HI           0x015F\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_UNDER_SIZE_PKTS_LO           0x01DE\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_UNDER_SIZE_PKTS_HI           0x01DF\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_OVER_SIZE_PKTS_LO            0x0160\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_OVER_SIZE_PKTS_HI            0x0161\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_OVER_SIZE_PKTS_LO            0x01E0\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_OVER_SIZE_PKTS_HI            0x01E1\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_64_OCTETS_LO            0x0162\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_64_OCTETS_HI            0x0163\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_64_OCTETS_LO            0x01E2\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_64_OCTETS_HI            0x01E3\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_65_127_OCTETS_LO        0x0164\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_65_127_OCTETS_HI        0x0165\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_65_127_OCTETS_LO        0x01E4\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_65_127_OCTETS_HI        0x01E5\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_128_255_OCTETS_LO       0x0166\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_128_255_OCTETS_HI       0x0167\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_128_255_OCTETS_LO       0x01E6\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_128_255_OCTETS_HI       0x01E7\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_256_511_OCTETS_LO       0x0168\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_256_511_OCTETS_HI       0x0169\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_256_511_OCTETS_LO       0x01E8\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_256_511_OCTETS_HI       0x01E9\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_512_1023_OCTETS_LO      0x016A\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_512_1023_OCTETS_HI      0x016B\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_512_1023_OCTETS_LO      0x01EA\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_512_1023_OCTETS_HI      0x01EB\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_1024_1518_OCTETS_LO     0x016C\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_1024_1518_OCTETS_HI     0x016D\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_1024_1518_OCTETS_LO     0x01EC\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_1024_1518_OCTETS_HI     0x01ED\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_1519_X_OCTETS_LO        0x016E\n+#define IPN3KE_10G_TX_STATS_ETHER_STATS_PKTS_1519_X_OCTETS_HI        0x016F\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_1519_X_OCTETS_LO        0x01EE\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_PKTS_1519_X_OCTETS_HI        0x01EF\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_FRAGMENTS_LO                 0x01E0\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_FRAGMENTS_HI                 0x01F1\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_JABBERS_LO                   0x01E2\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_JABBERS_HI                   0x01F3\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_CRC_ERR_LO                   0x01E4\n+#define IPN3KE_10G_RX_STATS_ETHER_STATS_CRC_ERR_HI                   0x01F5\n+#define IPN3KE_10G_TX_STATS_UNICAST_MAC_CTRL_FRAMES_LO               0x0176\n+#define IPN3KE_10G_TX_STATS_UNICAST_MAC_CTRL_FRAMES_HI               0x0177\n+#define IPN3KE_10G_RX_STATS_UNICAST_MAC_CTRL_FRAMES_LO               0x01F6\n+#define IPN3KE_10G_RX_STATS_UNICAST_MAC_CTRL_FRAMES_HI               0x01F7\n+#define IPN3KE_10G_TX_STATS_MULTICAST_MAC_CTRL_FRAMES_LO             0x0178\n+#define IPN3KE_10G_TX_STATS_MULTICAST_MAC_CTRL_FRAMES_HI             0x0179\n+#define IPN3KE_10G_RX_STATS_MULTICAST_MAC_CTRL_FRAMES_LO             0x01F8\n+#define IPN3KE_10G_RX_STATS_MULTICAST_MAC_CTRL_FRAMES_HI             0x01F9\n+#define IPN3KE_10G_TX_STATS_BROADCAST_MAC_CTRL_FRAMES_LO             0x017A\n+#define IPN3KE_10G_TX_STATS_BROADCAST_MAC_CTRL_FRAMES_HI             0x017B\n+#define IPN3KE_10G_RX_STATS_BROADCAST_MAC_CTRL_FRAMES_LO             0x01FA\n+#define IPN3KE_10G_RX_STATS_BROADCAST_MAC_CTRL_FRAMES_HI             0x01FB\n+#define IPN3KE_10G_TX_STATS_PFC_MAC_CTRL_FRAMES_LO                   0x017C\n+#define IPN3KE_10G_TX_STATS_PFC_MAC_CTRL_FRAMES_HI                   0x017D\n+#define IPN3KE_10G_RX_STATS_PFC_MAC_CTRL_FRAMES_LO                   0x01FC\n+#define IPN3KE_10G_RX_STATS_PFC_MAC_CTRL_FRAMES_HI                   0x01FD\n \n static inline void ipn3ke_xmac_tx_enable(struct ipn3ke_hw *hw,\n \t\tuint32_t mac_num, uint32_t eth_group_sel)\n@@ -945,31 +1004,72 @@ static inline void ipn3ke_xmac_smac_ovd_dis(struct ipn3ke_hw *hw,\n \t\t\t\t\teth_group_sel);\n }\n \n-static inline void ipn3ke_xmac_tx_clr_stcs(struct ipn3ke_hw *hw,\n-\tuint32_t mac_num, uint32_t eth_group_sel)\n+static inline void ipn3ke_xmac_tx_clr_10G_stcs\n+(struct ipn3ke_hw *hw, uint32_t mac_num, uint32_t eth_group_sel)\n {\n-#define IPN3KE_XMAC_TX_CLR_STCS (1 & \\\n-\t(IPN3KE_MAC_TX_STATS_CLR_CLEAR_MASK))\n+\tuint32_t tmp;\n+\ttmp = 0x00000000;\n+\t(*hw->f_mac_read)(hw,\n+\t\t\t\t\t&tmp,\n+\t\t\t\t\tIPN3KE_10G_TX_STATS_CLR,\n+\t\t\t\t\tmac_num,\n+\t\t\t\t\teth_group_sel);\n+\ttmp |= 0x00000001;\n+\t(*hw->f_mac_write)(hw,\n+\t\t\t\t\ttmp,\n+\t\t\t\t\tIPN3KE_10G_TX_STATS_CLR,\n+\t\t\t\t\tmac_num,\n+\t\t\t\t\teth_group_sel);\n+}\n \n+static inline void ipn3ke_xmac_rx_clr_10G_stcs\n+(struct ipn3ke_hw *hw, uint32_t mac_num, uint32_t eth_group_sel)\n+{\n+\tuint32_t tmp;\n+\ttmp = 0x00000000;\n+\t(*hw->f_mac_read)(hw,\n+\t\t\t\t\t&tmp,\n+\t\t\t\t\tIPN3KE_10G_RX_STATS_CLR,\n+\t\t\t\t\tmac_num,\n+\t\t\t\t\teth_group_sel);\n+\ttmp |= 0x00000001;\n \t(*hw->f_mac_write)(hw,\n-\t\t\t\t\tIPN3KE_XMAC_TX_CLR_STCS,\n-\t\t\t\t\tIPN3KE_MAC_TX_STATS_CLR,\n+\t\t\t\t\ttmp,\n+\t\t\t\t\tIPN3KE_10G_RX_STATS_CLR,\n \t\t\t\t\tmac_num,\n \t\t\t\t\teth_group_sel);\n }\n \n-static inline void ipn3ke_xmac_rx_clr_stcs(struct ipn3ke_hw *hw,\n-\tuint32_t mac_num, uint32_t eth_group_sel)\n+static inline void ipn3ke_xmac_tx_clr_25G_stcs\n+(struct ipn3ke_hw *hw, uint32_t mac_num, uint32_t eth_group_sel)\n {\n-#define IPN3KE_XMAC_RX_CLR_STCS (1 & \\\n-\t(IPN3KE_MAC_RX_STATS_CLR_CLEAR_MASK))\n+\tuint32_t tmp = 0x00000001;\n \n+\t/* Bit[0]: Software can set this bit to the value of 1\n+\t * to reset all of the TX statistics registers at the same time.\n+\t * This bit is selfclearing.\n+\t */\n \t(*hw->f_mac_write)(hw,\n-\t\t\t\t\tIPN3KE_XMAC_RX_CLR_STCS,\n-\t\t\t\t\tIPN3KE_MAC_RX_STATS_CLR,\n+\t\t\t\t\ttmp,\n+\t\t\t\t\tIPN3KE_25G_TX_STATISTICS_CONFIG,\n \t\t\t\t\tmac_num,\n \t\t\t\t\teth_group_sel);\n }\n \n+static inline void ipn3ke_xmac_rx_clr_25G_stcs\n+(struct ipn3ke_hw *hw, uint32_t mac_num, uint32_t eth_group_sel)\n+{\n+\tuint32_t tmp = 0x00000001;\n+\n+\t/* Bit[0]: Software can set this bit to the value of 1\n+\t * to reset all of the RX statistics registers at the same time.\n+\t * This bit is selfclearing.\n+\t */\n+\t(*hw->f_mac_write)(hw,\n+\t\t\t\t\ttmp,\n+\t\t\t\t\tIPN3KE_25G_RX_STATISTICS_CONFIG,\n+\t\t\t\t\tmac_num,\n+\t\t\t\t\teth_group_sel);\n+}\n \n #endif /* _IPN3KE_ETHDEV_H_ */\n",
    "prefixes": [
        "v4",
        "1/4"
    ]
}