From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B6F4FA04BC; Thu, 8 Oct 2020 20:49:24 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 84A7F1B69F; Thu, 8 Oct 2020 20:49:22 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 8A8111B67B for ; Thu, 8 Oct 2020 20:49:21 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 098IULRm004200 for ; Thu, 8 Oct 2020 11:49:19 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=pfpt0220; bh=JaucPTJDx1Kx6zc4z+XlwynHa4qo9xPtgUEPdvqTCeI=; b=SzQAYrMLPN96kzsAVp2ukeQqjFo3OFhWzhwTdh1Tny0qQ1OzzRMBdEsk4Ij0/kSVkWTl j0Kcc/iK1rcMFqcCxtQOy9LZ2GUtnuRV1A8pRWLfiw2fu18zYU5Uyxmy8q3c1SgQTZTc oWUuoz41SNV6awNCrjVgF7pV5gTguY8/CzVHROfymAu81edQyUueAB0/SnfUApEr0e+t UdZeo6eAN6xQNA1oDGZABtjVkHovg0+budDyONQdxQOpUx/s6272o4GQVXiMOrMvJYhY ynJ7NBOz56Fte+vSysusi8kxkiGuhCWN31QU/mP0oE68YEJ4JeXX5Fx/NbVdI8ThZ5Pp rg== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0a-0016f401.pphosted.com with ESMTP id 33xpnq23tx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 08 Oct 2020 11:49:19 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 8 Oct 2020 11:49:18 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 8 Oct 2020 11:49:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G51LJcrLrfRjjVBuGCVDZNrmOpUTW4o+x2Vab/zib5v0HlK6Fmj7IDfVUp7HW9JoC1hgoaxfTr5b+KSBPwUOiWc9P679b0KwzBYGzmHOXE4oqtEYjuD+sNqLo9/zduMeP+2bRGcrWY7+DZ4sSsCEIievkx/+bHic6GVmW8rO73cSImzTjd9pyGFIYbQWuY1BJtW+RsWWq1gsZIibIfx28K5eIuKi8PMTxGpL6Zn65ZmMASvsbrZy7PTNXBT/2XuWXAwNo3oFMQQ0W4TZDRmV7FN8VDvmRvSSzWquRwk7BGIpgb4o+SXl8sztHL/KqbV/4D/UuTDsv+Xa6TG2J1CPuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JaucPTJDx1Kx6zc4z+XlwynHa4qo9xPtgUEPdvqTCeI=; b=BtC8flj1l6sUqyHwjo//yPqzF0mQHMRuaJ2xbEqA7B/cscIRy9HBtDitt4soWIgA3Yo8PSVpN9SpcwD4YWjzQU9mYcqceKjc2dvJj3BWK1JDoneP/H5SK33Vc3VEOhVZ7HOU7AsFwRUuM6PcLvn7BJjvhFcSSTuOxY2zrJuOhd2AeyGZ+GsctwACxuaU1REe+w8TgeGQeR2ed92ntzJAq5Q/QSHRicz+pn9u44QMuYNbo1zuaqSQDyl9925gQpW30ox7vP8Dr1bngkUlC4G2xMusyWneDy93Nxa/5UMbO+nU+x/EMctswMD2sZuS4hcl5t7aUWGgK1tnnYFY9SPQVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JaucPTJDx1Kx6zc4z+XlwynHa4qo9xPtgUEPdvqTCeI=; b=Xsr6JqL7TinIHQaEMSsQwrga+H5adQQEqMUW86kobMgVSceVVC8l5S7PIQwpOu1DM1Xz/jyt6Bwfrqa07JMxsU4MfdD2lzSF7CMO1/j0OUl+Hp6yuk81uksn/muMGMxYreUaI0p5SDxr94f6nwVXPtS1J4mXJFAR3QPnlLr5n4o= Received: from CO6PR18MB3842.namprd18.prod.outlook.com (2603:10b6:5:341::16) by MW2PR18MB2169.namprd18.prod.outlook.com (2603:10b6:907:5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.32; Thu, 8 Oct 2020 18:49:14 +0000 Received: from CO6PR18MB3842.namprd18.prod.outlook.com ([fe80::b960:6770:a1:2a19]) by CO6PR18MB3842.namprd18.prod.outlook.com ([fe80::b960:6770:a1:2a19%7]) with mapi id 15.20.3455.023; Thu, 8 Oct 2020 18:49:14 +0000 From: Harman Kalra To: Pavan Nikhilesh , Jerin Jacob CC: Date: Fri, 9 Oct 2020 00:18:43 +0530 Message-ID: <1602182927-18254-1-git-send-email-hkalra@marvell.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: Content-Type: text/plain X-Originating-IP: [1.6.215.26] X-ClientProxiedBy: BMXPR01CA0093.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:54::33) To CO6PR18MB3842.namprd18.prod.outlook.com (2603:10b6:5:341::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from hkarlara-OptiPlex-3046.marvell.com (1.6.215.26) by BMXPR01CA0093.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:54::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3455.21 via Frontend Transport; Thu, 8 Oct 2020 18:49:12 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9f4a0cac-0c76-4ea6-b61d-08d86bbada00 X-MS-TrafficTypeDiagnostic: MW2PR18MB2169: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3968; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YYOCUfqr6vo/Y/c+0vVbPek/bj1BRQaNMLSd7aYI1ROJChzOZC39HUaK4YWWT9hCitqZiWX/7c8Q2cmxDyxj3HH88oYzx8vEMtZ7Q/6hPK+ARiuUbeTq+YzmNZasAGTpCOa6tWC4Cy91F647cQsLHxGDa6FYE0KY4L6RVWCWz6XAdQKJWTo3BVljilhoLIEcfENma7+dTxnQZtMzxkMCTgOy66CsnSIfW7axnCcrS7Jzo49iVpkGzUo1baWpXkBoXZF5ggs2GJrUC/d0FvLUvJM26K5A0ivEclJOsY7xfqdoiXTJwGLQ4wZ4SCqMN8I/u1uz4QFpjiuZl78xlgWq0bP7YMnYsEE0VH2Sw1QUeuMD9MfqcCcVpiMj/3Gsr4UNZrZFsq9bng4wKURKuQA3SQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB3842.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(136003)(366004)(346002)(376002)(396003)(956004)(6636002)(8936002)(86362001)(6486002)(2616005)(478600001)(8676002)(83380400001)(4326008)(7696005)(2906002)(316002)(110136005)(6666004)(52116002)(1006002)(66946007)(26005)(186003)(36756003)(66476007)(66556008)(16526019)(5660300002)(36456003)(42976004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 77tNlgM/bjj0ClJQZm1hOI/SGcJUBD8T0JTj1VdlJD+jIIFivX0C1ktqJiLiBiN8awmDy+bCqYVL3Udi4arYuDiHTNvlvHZHpZ4mwIIbHTPB00ZbmeoTgJytP4i5hYLpgAfeQ1vQRPW2ZneF1tezZnCukpPV4SyNh4j8sUyaoU8UEA6E9NrjbIKf/9HxIWppC/T/DPeGSysPqFj60y8hoTywM9dbGkYrzUIWzwrkra8WXZCxZsljuVJVFEbdevxRolNYF9gVCesNS3mf29W+f5e7GnuJsFx3HzM8APNpgepcMgxNwCzWNHHURSJE5QemcDc0zesbSlxWQ6hp5WO4OpejiuCYBCJOHs4P9/y68Da/QZLHyqMpFLD3KqGTRw2yTaxeoNwHM1KPMy6zQp0z9g1LO9fMOSqPG9Hx9cMTg7jnTAXlyYMEaGFZEbk6LeYHE0WfMYqFQKzv2zdSn8YH4hmXaVlPx+0Imz27SjK+4/Yydr/baB0RwNPlaqIqkXtRq4wSw0b3MWVRAfvDfw/IWZa/Ts9fa9KgYckrcd+2qH+BzXqZcomqVOLy7YvrscFH+NhA4vMPlNVISaQWFkWBQ+umAxlPMOhzA3qSwMQ2wfxj43C6sowOPDhWkA1bQ7FsxeDEXTtMxnau3uE6VOYfqQ== X-MS-Exchange-CrossTenant-Network-Message-Id: 9f4a0cac-0c76-4ea6-b61d-08d86bbada00 X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB3842.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2020 18:49:14.0753 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OsRerxcJJgVK96OPoTQTbOZErN1i+6mdPU0VgfL0OLEk2z6IvPrbMXo9LeLP8ot9O8E1bLafVj+DRAc45k9p9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR18MB2169 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-10-08_12:2020-10-08, 2020-10-08 signatures=0 Subject: [dpdk-dev] [PATCH v2 1/4] event/octeontx2: add switch tag flush op 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 Add SWTAG flush operation at the end of transmit sequence to immediately release the tag held by the core. Reuse Tag address to check SWTAG completion status. Signed-off-by: Pavan Nikhilesh --- drivers/event/octeontx2/otx2_evdev.c | 2 +- drivers/event/octeontx2/otx2_evdev.h | 18 +++++++++--------- drivers/event/octeontx2/otx2_worker.h | 27 +++++++++++++-------------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/drivers/event/octeontx2/otx2_evdev.c b/drivers/event/octeontx2/otx2_evdev.c index b8b57c388..faf8a5f17 100644 --- a/drivers/event/octeontx2/otx2_evdev.c +++ b/drivers/event/octeontx2/otx2_evdev.c @@ -771,7 +771,7 @@ sso_set_port_ops(struct otx2_ssogws *ws, uintptr_t base) ws->tag_op = base + SSOW_LF_GWS_TAG; ws->wqp_op = base + SSOW_LF_GWS_WQP; ws->getwrk_op = base + SSOW_LF_GWS_OP_GET_WORK; - ws->swtp_op = base + SSOW_LF_GWS_SWTP; + ws->swtag_flush_op = base + SSOW_LF_GWS_OP_SWTAG_FLUSH; ws->swtag_norm_op = base + SSOW_LF_GWS_OP_SWTAG_NORM; ws->swtag_desched_op = base + SSOW_LF_GWS_OP_SWTAG_DESCHED; } diff --git a/drivers/event/octeontx2/otx2_evdev.h b/drivers/event/octeontx2/otx2_evdev.h index 873724dd4..9577d867d 100644 --- a/drivers/event/octeontx2/otx2_evdev.h +++ b/drivers/event/octeontx2/otx2_evdev.h @@ -162,15 +162,15 @@ struct otx2_sso_evdev { struct otx2_timesync_info *tstamp; } __rte_cache_aligned; -#define OTX2_SSOGWS_OPS \ - /* WS ops */ \ - uintptr_t getwrk_op; \ - uintptr_t tag_op; \ - uintptr_t wqp_op; \ - uintptr_t swtp_op; \ - uintptr_t swtag_norm_op; \ - uintptr_t swtag_desched_op; \ - uint8_t cur_tt; \ +#define OTX2_SSOGWS_OPS \ + /* WS ops */ \ + uintptr_t getwrk_op; \ + uintptr_t tag_op; \ + uintptr_t wqp_op; \ + uintptr_t swtag_flush_op; \ + uintptr_t swtag_norm_op; \ + uintptr_t swtag_desched_op; \ + uint8_t cur_tt; \ uint8_t cur_grp /* Event port aka GWS */ diff --git a/drivers/event/octeontx2/otx2_worker.h b/drivers/event/octeontx2/otx2_worker.h index cde1288d9..80dfe3e73 100644 --- a/drivers/event/octeontx2/otx2_worker.h +++ b/drivers/event/octeontx2/otx2_worker.h @@ -190,8 +190,7 @@ otx2_ssogws_swtag_untag(struct otx2_ssogws *ws) static __rte_always_inline void otx2_ssogws_swtag_flush(struct otx2_ssogws *ws) { - otx2_write64(0, OTX2_SSOW_GET_BASE_ADDR(ws->getwrk_op) + - SSOW_LF_GWS_OP_SWTAG_FLUSH); + otx2_write64(0, ws->swtag_flush_op); ws->cur_tt = SSO_SYNC_EMPTY; } @@ -208,20 +207,18 @@ otx2_ssogws_swtag_wait(struct otx2_ssogws *ws) #ifdef RTE_ARCH_ARM64 uint64_t swtp; - asm volatile ( - " ldr %[swtb], [%[swtp_loc]] \n" - " cbz %[swtb], done%= \n" - " sevl \n" - "rty%=: wfe \n" - " ldr %[swtb], [%[swtp_loc]] \n" - " cbnz %[swtb], rty%= \n" - "done%=: \n" - : [swtb] "=&r" (swtp) - : [swtp_loc] "r" (ws->swtp_op) - ); + asm volatile(" ldr %[swtb], [%[swtp_loc]] \n" + " tbz %[swtb], 62, done%= \n" + " sevl \n" + "rty%=: wfe \n" + " ldr %[swtb], [%[swtp_loc]] \n" + " tbnz %[swtb], 62, rty%= \n" + "done%=: \n" + : [swtb] "=&r" (swtp) + : [swtp_loc] "r" (ws->tag_op)); #else /* Wait for the SWTAG/SWTAG_FULL operation */ - while (otx2_read64(ws->swtp_op)) + while (otx2_read64(ws->tag_op) & BIT_ULL(62)) ; #endif } @@ -309,6 +306,8 @@ otx2_ssogws_event_tx(struct otx2_ssogws *ws, struct rte_event ev[], otx2_nix_xmit_one(cmd, txq->lmt_addr, txq->io_addr, flags); } + otx2_write64(0, ws->swtag_flush_op); + return 1; } -- 2.18.0