From patchwork Fri Jun 28 18:23:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 55605 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 491D937A2; Fri, 28 Jun 2019 20:24:00 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 826733798 for ; Fri, 28 Jun 2019 20:23:58 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5SILDWc011345 for ; Fri, 28 Jun 2019 11:23:57 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=vUj30e+YhW1TWpPndzaTUnQy5QTh3QC7kcyKHbWeM/4=; b=gJGqfbN1CWOzMe8AMiMGzojNlN2olbh3qR+DvzLWfDWrAJYHhDLUKg5cHegcP45FNrX1 t0LUweiUE1h8SHKfkzUxd7e74Dl1A+B/B27H0o78ZukwABkXV0r4WD1b/NemrtXzrDB8 w6h+oIVkqZihfK60G7Eo8pnN0IEchteElJ5teZxwIrhEOFsdiED/6U4YY5JT1/N4hYiZ 5FL90yQ65VIJi5QKyHpZsKiCHkkh0o4ot6LOsFvaRHGbKc79DDUts/iIzq7kEiYTDLH1 p4bIGKnSEWV/CXkYsCpI4kA3k42LPgNsDbTjYoftGpt6MxWeytVOrB12oDEsK0BuHD7l jQ== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0a-0016f401.pphosted.com with ESMTP id 2tdd77aggv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 28 Jun 2019 11:23:57 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 28 Jun 2019 11:23:56 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Fri, 28 Jun 2019 11:23:56 -0700 Received: from BG-LT7430.marvell.com (unknown [10.28.17.12]) by maili.marvell.com (Postfix) with ESMTP id EDDFC3F7040; Fri, 28 Jun 2019 11:23:54 -0700 (PDT) From: To: CC: , Pavan Nikhilesh Date: Fri, 28 Jun 2019 23:53:11 +0530 Message-ID: <20190628182354.228-1-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-06-28_08:, , signatures=0 Subject: [dpdk-dev] [PATCH v3 00/42] OCTEONTX2 event device driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Pavan Nikhilesh This patchset adds OCTEON TX2 event device driver and event timer adapter driver. More details can be found in under doc/guides/eventdevs/octeontx2 v3 Changes: - Organize config flags. - Merge doc into appropriate patches. v2 Changes: - Add tim finit to teardown on exit. - Add tim chunk size limits. - Add missing commit messges. - Add selftest to unit test suite. - Fix log format. - Remove panic from IRQ. - Remove shared lib update from releases. Pavan Nikhilesh (42): event/octeontx2: add build infra and device probe event/octeontx2: add init and fini for octeontx2 SSO object event/octeontx2: add device capabilities function event/octeontx2: add device configure function event/octeontx2: add event queue config functions event/octeontx2: allocate event inflight buffers event/octeontx2: add devargs for inflight buffer count event/octeontx2: add event port config functions event/octeontx2: support linking queues to ports event/octeontx2: support dequeue timeout tick conversion event/octeontx2: add SSO GWS and GGRP IRQ handlers event/octeontx2: add register dump functions event/octeontx2: add xstats support event/octeontx2: add SSO HW device operations event/octeontx2: add worker enqueue functions event/octeontx2: add worker dequeue functions event/octeontx2: add octeontx2 SSO dual workslot mode event/octeontx2: add SSO dual GWS HW device operations event/octeontx2: add worker dual GWS enqueue functions event/octeontx2: add worker dual GWS dequeue functions event/octeontx2: add devargs to force legacy mode event/octeontx2: add device start function event/octeontx2: add devargs to control SSO GGRP QoS event/octeontx2: add device stop and close functions event/octeontx2: add SSO selftest event/octeontx2: add event timer support event/octeontx2: add timer adapter capabilities event/octeontx2: create and free timer adapter event/octeontx2: allow TIM to optimize config event/octeontx2: add devargs to disable NPA event/octeontx2: add devargs to modify chunk slots event/octeontx2: add TIM IRQ handlers event/octeontx2: allow adapters to resize inflight buffers event/octeontx2: add timer adapter info get function event/octeontx2: add TIM bucket operations event/octeontx2: add event timer arm routine event/octeontx2: add event timer arm timeout burst event/octeontx2: add event timer cancel function event/octeontx2: add event timer stats get and reset event/octeontx2: add even timer adapter start and stop event/octeontx2: add devargs to limit timer adapters event/octeontx2: add devargs to control adapter parameters MAINTAINERS | 6 + app/test/test_eventdev.c | 8 + config/common_base | 5 + doc/guides/eventdevs/index.rst | 1 + doc/guides/eventdevs/octeontx2.rst | 158 ++ doc/guides/platform/octeontx2.rst | 3 + drivers/event/Makefile | 1 + drivers/event/meson.build | 2 +- drivers/event/octeontx2/Makefile | 46 + drivers/event/octeontx2/meson.build | 29 + drivers/event/octeontx2/otx2_evdev.c | 1395 +++++++++++++++ drivers/event/octeontx2/otx2_evdev.h | 266 +++ drivers/event/octeontx2/otx2_evdev_adptr.c | 19 + drivers/event/octeontx2/otx2_evdev_irq.c | 272 +++ drivers/event/octeontx2/otx2_evdev_selftest.c | 1511 +++++++++++++++++ drivers/event/octeontx2/otx2_evdev_stats.h | 286 ++++ drivers/event/octeontx2/otx2_tim_evdev.c | 734 ++++++++ drivers/event/octeontx2/otx2_tim_evdev.h | 249 +++ drivers/event/octeontx2/otx2_tim_worker.c | 171 ++ drivers/event/octeontx2/otx2_tim_worker.h | 450 +++++ drivers/event/octeontx2/otx2_worker.c | 270 +++ drivers/event/octeontx2/otx2_worker.h | 187 ++ drivers/event/octeontx2/otx2_worker_dual.c | 207 +++ drivers/event/octeontx2/otx2_worker_dual.h | 76 + .../rte_pmd_octeontx2_event_version.map | 4 + mk/rte.app.mk | 2 + 26 files changed, 6357 insertions(+), 1 deletion(-) create mode 100644 doc/guides/eventdevs/octeontx2.rst create mode 100644 drivers/event/octeontx2/Makefile create mode 100644 drivers/event/octeontx2/meson.build create mode 100644 drivers/event/octeontx2/otx2_evdev.c create mode 100644 drivers/event/octeontx2/otx2_evdev.h create mode 100644 drivers/event/octeontx2/otx2_evdev_adptr.c create mode 100644 drivers/event/octeontx2/otx2_evdev_irq.c create mode 100644 drivers/event/octeontx2/otx2_evdev_selftest.c create mode 100644 drivers/event/octeontx2/otx2_evdev_stats.h create mode 100644 drivers/event/octeontx2/otx2_tim_evdev.c create mode 100644 drivers/event/octeontx2/otx2_tim_evdev.h create mode 100644 drivers/event/octeontx2/otx2_tim_worker.c create mode 100644 drivers/event/octeontx2/otx2_tim_worker.h create mode 100644 drivers/event/octeontx2/otx2_worker.c create mode 100644 drivers/event/octeontx2/otx2_worker.h create mode 100644 drivers/event/octeontx2/otx2_worker_dual.c create mode 100644 drivers/event/octeontx2/otx2_worker_dual.h create mode 100644 drivers/event/octeontx2/rte_pmd_octeontx2_event_version.map --- 2.22.0