From patchwork Fri Apr 26 07:48:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139689 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ADE9043F12; Fri, 26 Apr 2024 09:49:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5324A43C71; Fri, 26 Apr 2024 09:48:57 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2114.outbound.protection.outlook.com [40.107.93.114]) by mails.dpdk.org (Postfix) with ESMTP id B51DE402EF for ; Fri, 26 Apr 2024 09:48:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oOJIYZn27N/T7QOkxMvlkJZ6KwBsx8KTgQqYfILCDEDxsXSpIb/TVrOFayB5yjOQOIXtoTJEZE2/08LqmsJtjBak4S2e7sGDNV7LJgFiT2D8sxsO02lnaE8l6OgC/Vw4XGlRS4D1YPyzInNoRL2i3cx0hvtsfcvJN3C7Whgt9vEbjCzD1gseheyYkC6eSgy9WlGLTVkmEBjfkS/XEHbjnVQO8Sw8r4JMC8Mrzg4Hk0PC7y3+2QAqQrkJCiKVyKyWH7bZOx5dz2lvsu9xm/V1TMn80tNESt+KFE+bRA1lWIL28AT6gke/pXbaxrP63JwKWL2ibIo03xxQnmYqfZtT4A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eXTP8AV+7RK/O6ElZmePNrGqXRgK5oOwsRPIiv7dGoI=; b=ivMUEOg9Yihyzi6oZYHCJBNVhaFZeGXHKOVCbAl6VMuigYyH9hVdkAscjUvwcC4oDkyVba75N5BCtWNdezJ8lVnnnFUT+FWNsRIVdChkkxc0rIOmABSL7jrivpFFxiAVFUcfqaqFC5ozNKSPunotC7jqocQWRy5pH3GKXV1xN5Z/373+0Sz8abEBglgxH/WY5S+HzYut2MVKxWUTz7B8vYQxvf45NEm35l9s+62s2CKAhSTu/n2hlEdlQA1URzWmMXg6TXuC24S5M1LDukhoN2r6wNcNUU/1MaoetD8be8odzeAL7T3yyXddMALyWBqzDf4dSBbAlydLFPLNLumhSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eXTP8AV+7RK/O6ElZmePNrGqXRgK5oOwsRPIiv7dGoI=; b=VttKYW8llH/ylsOQ44x6u+ScihWI0+A8IbNmCXjwB8DS0BoPShMvsWTab10VVtHoPAbsP0EIKU3Qzlqi0X9uOfOZHAbEFHHfXzftjRKfNxiQpOdoMdGD93E8yy/4quyoPrRjWRMDoMh5ubN7O2TWox34lryejSX/Yo0eXVRW9W8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:48:53 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:48:53 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 01/10] mailmap: add new contributor Date: Fri, 26 Apr 2024 15:48:22 +0800 Message-Id: <20240426074831.1729792-2-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: 348ce671-d330-4b0f-1381-08dc65c551a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: OyhWdUSZW9QuGu6T1YeEMxeL0X7dhHVIpdXQ9YcpmUMsgqKdUxnZoqwJN2fGrMvj7ThoH+5Hw3FBPPNoWprQVbkRIEkOIWi070ITUvK/4lE7bhxNzumjnGtDzJptOPlqbbNOrhL8GhXbRih0jGB12u1JxFR4LT/8+Nu1ULInguNAb096N0dOyeCi0i3fpNiylOMakV1r4v8nUP0znMZd7/vTZ7MpVY5OumhRnLX2Awve9rc5g9LrcmG0GtTrz8Ds7nDYDJjLICgqUFwSljIHPAVxaa+rzpvcZF0gk7eXbZsvZmTlKEBAtIyNewPMt7ceQcOEWeC9FHTob6TrWgrdAklJTobdTfiosu8IdTB8ab56lC9F5WKbW2L0zwjvvUvUGY6cFPHq2sdUXcuhe/c0XljKO1nr+Dr9ptb2AaQeqPd+YmnTsyzISUZeAS4dSpd+BNNh6FjG2XTPTPJ3gOY+UPzhl7ByH6Mu+p8sCwdxBAQLxjSO2yJkTqeEHnl8g8zD/au+ZYIUrdd+knRVqs77kTluktn5zdTBz0qHLjik/qwarcq7Qh6gamL9liRn83I4NK0JCXlvOthpPRvUOmKm3LcCIGHsI+jxN5fSSdpqXItx6AE3BahspRA6GzYGdAvbubqcl0uHPmsKp5rG2lz9gW0QqBNvcI6/6ds0vdkm2AYoPCCsXsSrezoIuwbODgxmIBahnJqLthwfiRC4t+o2dM/mzVq/mp7taEoklgPSCu5JkJmvOgLUsWQ7nYTpN73tza6b9PBG0DC7xYroY0nJ2uzC8CD8p7bzNmc7zKkluhbLnKadI8ebpFri4GYeZy3O6sFEwb/2GziyGbCrXmyR9hiZzavTk0OQFmFYOwyZVGAFGOnGh5uazX8SOWX/djlbe98k3qHQsBBZOS6vY4dMUHurpCLRZPq7tR/D+vjRohn7xvOtt6yEOT/kNgo+sNuqs8cBFaOHCrLQiO/R/Tesxp8/UFD63zPHX7OFhBBTkN95FiYAs60nSL67NgF8Pn4Y5k/iGFDjwdE4K3vBqbdyqPAWOT5DVPEMJpGbKklqxFwo+GQEB+QROlYAFiu5d6Mwo0WO7/xphS1fGMGm8NOT+4ZmZG3fk4dFaZHWnZeYnlsnDkXSMhUqlu6ruAOym45qgQzXjovKYLwSszrZ+14rX80cjA1SXtNXxT7ChwJ401mM0TIflPEEjbIKLrBaprtyTEatToocJdirPbYzJcg8G06F4+DVfTsL0MPoyJyy0pDF8YMkZWn4w75YphVpxEiFGOr491nG8wgY2Naqd3qAY/+07YKfrJtoCf7c2pWvudx0J1OHkVcZgDclyjSb0LYvsL2Nn8/OaiFeLphXc5RJrA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3+LXdVA1RqjG+P+Ij21/U18V/+V9ILlMmlM6N2IQXKE5fgAIKbgVuXhOAmGW+b36o0ZQSjp+uE0nB5/xiGQIuj4XNp3iI3Br/gHj11Qvkc51iu7s4D68D3D4+mmjNQdB+EU74/gPJGRgvaqt3iTwjZuoffFcaIedeZqTgxacxf9kyFNfjX9GcosCHGVdzhsXpjbEvwX97rmVoMvZqjED3JEeqn+GkaOL7QvVtY5Qai5ZDNfZ1rZoAHHkcHEWixqjNrckwiCrG65we4LsUu2BrPHuhFd3RJjMM4/W1EvEiXeIMWX2tJSkIo7oOysvwSTiOQyviQsnQwaaDcH1AAmNGWHeIBINMzvXUx+210TJIV+707P1zY3hpBe/RvzLupaCCIIyBIWwERE1fzrw01lfF4hF4+1JqnOadjfznwigMi5XsbZVhc2sHght2IIz+pb7zIxm5skqJQhYWAmL+BDmJla/iDzuLx4SC/Sh8PG7v5xGlSpfwjUOeajDpd4N7ekmLCim0LFEJTzTX9YcwltA1jDhw1AMCE+0k5Fmtfq8OE2eh7f5p+wK32dQO0GNxDI+XElhEcmhehCRhNSOCUZolNu5gZPAKEyIKukTku5B0dLVOIagVCFLJlSZiU77w84vat3bi1TKYMy8tFOyCwDegZFpFJNZYGhIT66XOfA5GDd/WM5l/eWEL03ngE7eVgBo0Rdx8UHjN6PlJ2YxAWJPI+L8vE7inPblWJ7tyzD8/D1xeUQFwCYZaC6T/BcVBsXuZnFEXBgJJEY307+Q3CPnq3YeyrMRMWwrNj6fYAc3DrgP8zFgMpIG7QBmRfcxOLL17GCtwwKC0dbnXdZqIbdam8hMRBWZHF6sT3zWTfl4G3rzwuUSU0O3pxwUxApKxBs7okzpfvec7+GsFBvo06z9wX8WUz0rJl/WLRxSa7gcGIdft1cTxvRkJ6bZCNn8Hr76b/CBXB8DYvYlx4vXF4RfsR0mob7SJhVjhZHhGn/LZjENzYbjA4jArnRZ779Y5Gu8f+f5I0pwIPNADo66Oqu+Z1oJWWbdDUqh8lfUkOJhXWWfKdD8hXoqzvnQDqrMFFcGNbkCPBw6YGIKkxbCd/b9z1/X1cGeCz9ei9eP5I58nh2+ZX/LO1/2FY3wJPT6ddIpOVafzrewOSHrvv+6xszVyxGZlMmAJI9Qr3sTIBqJhLd2bKzrOGOzNlIinZ4ExiVCFpRjUURnPOu4yu1RgahxwTQ+c4twX7yp4zxvFpvy5TR24g6GlGKRiNTjSWD9T0/EfYxLrFrES27ShT74iFZiLGqroKaEkMmeFihFMTvFdG1OICc1grgV5b4/FOrx+jBitHvFicIy1mrV8EonB8hBETLlKy8CYES7Uc43j71bzTi2BNObjUbkeM5X2XaU/BUgjcJKxi/qkVkhBFZvfqQSgD5o5bG2PkW+A9j/m9M+W4QBNuRXl7xms8zzaqyXQ4st6pF9kt0Dmtsw4gzJGzkPYLf7aJdB9WOLic7Gzt+7gAT+kZ9WgJvOtf+V7AwTMh3tDgId+Z7rQ1gRiGqHgLqa02SWEjeZVQhfTnwOWtcY7hdPaR52lhUN1GYYuaIsDelxBEpmZ/w/YzUrLnQGkVsaJg== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 348ce671-d330-4b0f-1381-08dc65c551a2 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:48:53.5356 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: H3RR3JUSQw3Gtw5Me1WAo6DVS0m3AvvzXp2937+LKEuqSgK1PJkAd5Ug0M+hRfo/01gouNBEt3UKXmGCNACbaB4By/OVG0OYVBCvFEpDz80= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Add new contributor. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index 848603bfc5..84a6ff84f9 100644 --- a/.mailmap +++ b/.mailmap @@ -1597,6 +1597,7 @@ Xieming Katty Xinfeng Zhao Xingguang He Xingyou Chen +Xinying Yu Xin Long Xi Zhang Xuan Ding From patchwork Fri Apr 26 07:48:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139690 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 64B6343F12; Fri, 26 Apr 2024 09:49:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D769943C7D; Fri, 26 Apr 2024 09:48:58 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2133.outbound.protection.outlook.com [40.107.93.133]) by mails.dpdk.org (Postfix) with ESMTP id 5E18D43C72; Fri, 26 Apr 2024 09:48:57 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V930ic2Q/uKDZe5OlgM3a/51fG167LXN5ENqwyxs8LjTl2dUScWx2nKv7vVMTII4xXqzXPXhkxsed/hgyya6JOQBoprccdQa431RRyBGT5RUqnjA4Y3mKqwZpvu/VXeQJLM0h1xbZX2vtfZ/GlfQ7jf2A4Pn9+tvBeWePvtU3iZoIadgcvEywdr47hkBM3NzJcMIIHubNS2CnI30inLmrydvtr+CsV4lKLOxtAS0gPCRwP5Ssv9cZO7xY5b2eFvN3unWeayLCjIrJ1Q+t1KhvOdz47VEMVHMAN3Tm7tWnIO1vzn7BBA5JtCoh/QAcvW2Yb+YBEmOCl9m5OXM1K+7Vw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=477kH0rbtWLDygySrG0QKLZ+ZF/DWg7PkkVi8jkoosw=; b=TG9mjcyr0D7WYVY8uCy6a2bNn3EYQmiYEoX5NaoUCeaP+YHM3lrFLwCuMe1CeBvy32zel7xs+HhrLyduuVjCOMZydgzYFX2CifkNXo0grB1xk8j1bFtvG/MSIQCIHGpiRU9+3tdKDhweqXrhK07+MOIi+2cXDBHuzrT2KS7Q4VChT06Dpqe/pdgNvHmpQ2c6E3KncMR479MGTI1kGcJda2EohumOd0yXTWx+1WFI2sK1Y/cx11llfNUiHSeoF2dQXldsUwxZtSU9a2eBXGODZwIMu9FxwGOF6tii0dTsiF9sbNcYbfhOAxkNIaNMi2erONBMC/UOnDxtBTFJkoeOYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=477kH0rbtWLDygySrG0QKLZ+ZF/DWg7PkkVi8jkoosw=; b=TwxDVzpkDDMK1WtYIGCH1l5oaD4F5SeY3SjzDB4/apfNarOB5qxAKpLJTbWX7thqZIh+b7ZQGDgfcuR5hR+5E6z4UTUTJ4O8y+9O1UGLZ02fPRw+wehlI30EIfIxrhTKaHxZpf38x08dVkV85Y9vzHhKZOKTYBcqlt5nv6OSkFM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:48:55 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:48:55 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , chaoyong.he@corigine.com, stable@dpdk.org, Long Wu , Peng Zhang Subject: [PATCH 02/10] vdpa/nfp: fix logic in hardware init Date: Fri, 26 Apr 2024 15:48:23 +0800 Message-Id: <20240426074831.1729792-3-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: e8541780-9c90-4c6b-d199-08dc65c55304 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: K+ACORNmcoU4pEU7HcM/stHZZ5omf0QrKJ+T0YmPEh1zXG3H8SQDnsywUHealRK9N0SHFSobewkm/C6UAHvBuwDUFKlYGQX1hiRwQ7r51ujvbrVQ2oj+SifHPNWKi9FTdHN1qNTz1h2Eb1Zt+OefLWgbBxhG+GtUyDjz1z1Ww5zImBMFmMeghPw8fPJWmr7bUCTBPfqKSfXDgSL3TAV7WH/wLYT0n/OuVEqjLkomH1jzNDLoOB4fvemMDeovr6kbYDdzVKN7Ps1auQnFTRbM0O76crGGM+1ClWE3bXkeJMxkkF/m0Ybo1OYFwY7doUJ08UiSQnbu3N2jg9OW/VvJ3BqUhZb7d7AEAFfhYh1NLYz33iwXr5pSc+nRvYNdxYGNFLDu1SMSdP/9avz0RfVuCvn7b8mI5yW0SsZJ5AgkWsek16ojmgiFGGFucO3K6wAgZEiseBYqQgmOCNLbKiR5lKaH2zi5ZKvTz7y5kQmWM1UT16pcXYrmXYxluhbd7psOKFY9alC2njAm6jd2rvq/oZi2+nR6r0DTFjnkBM56C9jPCiXGKyy5iUtdXlsUegxSN1coDo4a1f2ymROllP4FGKCE8fXOi7JG/ZTAVQocL8U78jTcxurjhGZvKGqj9cXKMRqtmCwZEKvuGV3zkr6+tUXjaUe4S5rUA57baK5eivy63ZfUl+Gn8MqcURneUnMFvX/zChlllNI0RnLAKVbbPTwog0wFp0S64zgykd08sfZ8StBCo+nDXL9zF7zDMZ6/wT4VcQ3qwUESW/1uGYr1UjArfuJxyr5rvkjte1BeNTo06M+Mf4R86p0CeGtn4KV373Zajls+D3ejkDAV59qLE38jHK34ecpvpWJyInXEn/F1+YFah/uioDNt0W0+lhDRbYgZejOZbDwkP2XzjLAtnNM/rVLzmM2t7AZgEIxyqLE7IKB/KWvGUuzokPfC5y1iTLyoKI2h4hQlqA3DMeaKMtEMXdkgZZoPcG1fWwpY2stKfMHLnNpBFufhoYfoBGKC76J/KAwObQAi/huSdpsriJBV4bRQ+6O1F0llPSWUDnarkKU/+neQjVToNnK8QgPFvJiWcDERO3kkubhYUQBt+ZaF1+P3UMI9f+GznRD8mOixkun/gnziydDnOndJn9KHcc6YanlOImrZnmVIqUhQVbLVBUXzIrYTJTijjWsK6yvd5h+TiywyRCLiGlGg/PPJc8kRk+OzvZguyWgrloPSrpxrXtJC+1CxabLUg5WDIDLP+JH0buAtf4f3tdWrCr5AJqflegTj7IVammU5hWoo2P1PtgVpfFtjX5aBS0oYSnIf9XFcyb1fi1C5lxXZDXVzW4Kf19yNmmSBBOf1wAOrEA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j4KxHuD9i1PJ9ZCYX0+ehme04eMLDfgdFp4FNmxQqjMwlrJ0V/2WgQRLjyLzkDpU3lFy0E0X8Ob0mK6REaVoI9k+7GTO01S9OrCAt24BNs8YXVevzPGBlSpv5UEwjg7S9Fn8QzMcuTY2TfSrPq+UUEFDsA9vsLVH21lloTtvgFM0mXUceQkhQVdi1BxbVksrQaJ4EfZ9Oce1aHcTnb/i6yIIRvMrD+muNWiNdNpoToka1YpZSfYopHOZ7vMHVRBiR0cFDQjNidHNZGXu9v1mqelFMmG3338TUwGTBKN6TMlo/cUUqcMq+2OaJpaSJjsOi1V8nL/MZksC5MfaptNNwZtQh271Klgntn943pmS6RyIW+tDgoWJ0dSN3dhmmWSa4KairLHsPrH1fEf42zz0l2HejEPw5y6YJr7lAPctqUpHJxZ/J0GJ/jSS1cyJPol2ukGK42W3L/2zXGlux0KmLZY41mN8WiyqtOKbgZINV4LFHx6hKTngEjW0pdQDX0CJZ8iknybYTGHvux2rkG43lx0xaEWO4d/67z00EEzSgwnrUOd13hIeiNLWFeXtErAuYiuhQPt1XSdXgAbvVhYrOYBPwNE7z+qYuFs5dIQBsd6VJh2p3+RHwuVRt+nuh353hhZy1DbtWmJjOnTpbYJASFIiduNHpSz9DXtL8b1evZxcQTDmjgrmormGSFCrg0bhLnPDvYUfPnEAXvGGxVd1HEPoDlHHt8gYiGOSKjih/NzUOespA4lrFtmSdrIcpy1UX9n83b4daTtHeyw3voPTWPzJmjb5gPp/W4lqAyCqJ3cfx7HSGCgivwzGnruP41L4z+Na/McPOefKOM3bGDbfuxKTo6ungDh67rwr4fxdWdKK816kV0k2LJpvgXQi/ydyAZ++3G9VLtMa3GvZEeD8Va1x9s2P4YVCXpGovRlRVL44/92gp5njw54NjqzrpawpwMVnC1NL92qvc7S6tcciHTb12ylngtQw/C/xqcfjhHzR4uoicZQREn1ZfOCih/lrK41H9onVkefMEUqwLe7uXieSptCgqOGMuwZbAkXqxCN9pWcdkKgMtbtVvd81N1cBqjEouWo1vrBemtpJXSYabVQE9xeA/ElM6cHjqgziDHtZTXcNRW7Va94Ft0I8K4bfIm3H0DoqXYrLiyPC3SL8NiRGhhHy/Yglp0SJFYcIQgXo15Ra+H6DbqsXV23or9dSESR49sjShFODR9vyZIqXgiqghLAsqDpE3fSjt0QtUbRoVFsrwVpssI341QMXiJJ+EEyjvFefJmyE6iJDUZVSQ37kvhCZXXzhgHcHxu4Y86luwOsG62oDOBK0+4CagGBYLTZCqATlWchnNVnQHjqC+PO381/H/9kuYjfWSGzghEU6fIpYU/YdyP8i0qGw7JYc31BfNpfXrNVJZRBVatBkJ4kypbbzJOsGae2dVBS9ICwWx9s8go2ryU+hUAFa0TZQDi8Q5IOiYBEV58uxXaj4B3F55C+WGaiEP/rwEaFUWj8sOG1pDx42NQKKRiaVzDQGHvzye54pbKzAvF4z7OQXk6ZBBJCorMQa2eNC7zr9XgKR/hkShppNgpUqxGqEFsAqFgKGuHAhDUswUubcKZaWxw== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8541780-9c90-4c6b-d199-08dc65c55304 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:48:55.8285 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eTpcw7KfEpIKHCsFOAYNN1TWhXyKnMWGlIwqkXu+y7Z6pP9QdzVB9s5nPuVC7/hsxzEkMqXBXIHIBsBKSbm1G9RFlj/RaxKkK8uJdWP4RP8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Reconfigure the NIC will fail because lack of the initialization logic of queue configuration pointer. Fix this by adding the correct initialization logic. Fixes: d89f4990c14e ("vdpa/nfp: add hardware init") Cc: chaoyong.he@corigine.com Cc: stable@dpdk.org Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/vdpa/nfp/nfp_vdpa_core.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 7b877605e4..291798196c 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -55,7 +55,10 @@ nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, struct rte_pci_device *pci_dev) { uint32_t queue; + uint8_t *tx_bar; + uint32_t start_q; struct nfp_hw *hw; + uint32_t tx_bar_off; uint8_t *notify_base; hw = &vdpa_hw->super; @@ -82,6 +85,12 @@ nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, idx + 1, vdpa_hw->notify_addr[idx + 1]); } + /* NFP vDPA cfg queue setup */ + start_q = nn_cfg_readl(hw, NFP_NET_CFG_START_TXQ); + tx_bar_off = start_q * NFP_QCP_QUEUE_ADDR_SZ; + tx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + tx_bar_off; + hw->qcp_cfg = tx_bar + NFP_QCP_QUEUE_ADDR_SZ; + vdpa_hw->features = (1ULL << VIRTIO_F_VERSION_1) | (1ULL << VIRTIO_F_IN_ORDER) | (1ULL << VHOST_USER_F_PROTOCOL_FEATURES); From patchwork Fri Apr 26 07:48:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139691 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EE77343F12; Fri, 26 Apr 2024 09:49:22 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB62D43C87; Fri, 26 Apr 2024 09:49:00 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2113.outbound.protection.outlook.com [40.107.94.113]) by mails.dpdk.org (Postfix) with ESMTP id F07C443C7F; Fri, 26 Apr 2024 09:48:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CX1HKIbGvtpfaG3HcHT2Dh7mDzWpq2Yfo6hIErzdOb3h8dI/a178c0JU+HoiTHHXjyYlxRdq/v9P19pHLgvFJWSJsimcygtvNXvmWRpyYMoE1YuSjrziP9j2qpbI/2jqNNgyp812TsSCtEn2jUxhZh3IW0z1StnxCUozLQq6nWWe12441pPcNtEO17ZpFUszmmsYNvIZHqhVQCSrRlH7c9sY+IJPwQD9+H3jMWNLv1m9hZlA07jx3xo7KGJ35gW+l2KpEhQdewUUb6uX94rHrj/L5+V5NotyWKfrnPvRzbziZUaN8K8lyhiYi4j7MAt8AyT9+rxzwIem03x+Ivaq6A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YTY/WVf+V0442ecn3lqK67icri8AUxZ9OO4UavpX7/g=; b=VAdZxy1PhWl/j+G0ljmm2KXTkEWWZYN80uGpt4VJIlN1Kk8xiU8qmYBUHmZqz9CGyNfliRAwnVCB1iCdiVwtFKwnrZ2q2fj0n7aVav5D1N/wtDBwUMqCXjH91OzpBSyOlYjec0peC6Y4DIUOet+4WuHEt4uilJbXhBHSr+OHQOPiPf83Dw9p0Rbqd235Gm/0mdsHISoU79v5AIOJk2RbnMaBUvbwy/z4irti2XcyPsweTQnMXBJUJwupxLkCKS476tTDbxjraaAxE3Xu0FfWBh7Up2DgoLmwLUhesbC0OJ7jBuyTRsqTjELVPQx1+uIPs4BJ35lGZzW3VdGgYZYD1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YTY/WVf+V0442ecn3lqK67icri8AUxZ9OO4UavpX7/g=; b=CLYKcJM0cMBie8hDEjfTNxKrz8y0Q/ai4oBqSPZ2jseA9kMpGKK09j9PC4rOsWz1IbgeGjcOTGmKC63uDIdLLYNoyfb0xmPSwMF1QbjNR9OnUaJukppF3e19bfVnmnvuu9AQDdM9pPlN+tis9pLxAXJNkBfydGIiBMfomBWXP9k= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:48:58 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:48:58 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , chaoyong.he@corigine.com, stable@dpdk.org, Long Wu , Peng Zhang Subject: [PATCH 03/10] vdpa/nfp: fix the logic of reconfiguration Date: Fri, 26 Apr 2024 15:48:24 +0800 Message-Id: <20240426074831.1729792-4-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d19a6e1-36b5-45f9-3b8c-08dc65c5545f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: s8+WSLehGSiOOBb3MdOGwISDgtLGwXafLo+UBahmMFaoi7gUFS0EdGJOjwrw1RXJgSc1a8HqVXQy45KPt0tMr5+TcIfzp/2KIrbXKlrLl+ANuAxLRrfh8NHI+THO5JVQQOH3Hk0rbiwYoxDPSZcMRV/FRNiksgtskt+Gs2XmNiCqK41gvNQiJFFwAdlFXp9tHIsWw6gzq/tW5EuJIX7IQV1mOmu4haisdZfUpF2AV8VcGjrr5ty1kMjIo3gwkgxxb+l+CjEbLhXcHzw/BqIpvke5+pHlHzG3n3EnPuc63+NPUT7RuJSu90w2QQT8V5tuQP1amr9X1+57go5XcRticYWJzZJhXb0K0jQQU36RkuRmEHmPM3cjazufcatquLqdUxfLZf8TLFV5kToBQH7qAl/QcIGDNjccgzgT/Ob2ZcwGVezaJAkkIpUdMpxG7qbAYWZMPecq7J/SuPogse29ACiZtoiSjH3j1rE1X1Ai5JFql/MpJwswJAgmK3IkZOXDJWott6YbsCpfAZiY1hK6GjSJ7FTC4pSUdqkfiIKGh1YsaiDhNma5nPNMzq5Cfcnsbq8fsTS4zQCAiuiRW8R/dBhtAFaYExpd2lInP5vbbYXdhOEOcmKx9rJ/uB0XG0AekAWMb6l6FkCwo9L41Xs9xOnYdoJIlSZLOREf6tKV+4xXfa2k74D2qy54JeD1NOHYpnmSmD55Bfvx/l7vojKzUVzvgw0zH1YHCQFb69xB2cRnaiVQVHa5ENMfbGMUt8HTXRCMQkm2zuPakhzjp0131i0azyjg+g3QES0dsd9pnbYmVoV8fwLRB5ywGRdab0spnZS9IJ+B4eX+PuDuBJCleREgrUVk/muPXsfv5D6YN5mmBSipvHoNWnUqKfA46+7UO0JZ71wStkMKV5k/3RYh+tFaScAW0qMkL4PLuqOGPCzTfnXwdy9nolD4t9y7Or6hIGWjAtvTfZHKPE+v5tlVQnOAyATqjPY9I4YD4Mfwv89LD4c6VH1UiLejTRFaRW8fV2+h7OxMN0cELxksMDxr4Aai2DJ75DMsR9Xz2bMIloOAa04e3FxUD1lY2erzLEdBAu7fUT7Ad4g28Q8GQ0JWrodUr2+hNkl4upwCZTU2IfAQPhsKD6j4+991jUUjHJ/EnWQ/GDYhGzT0gwGvLEZ8Ewrjw8sOekV9R+OXNSCVxXKtt7G2pzh7yT1NrAPmHTQ22BimrJeDgcNAdkKrUBhGC0JGpYEL4w65W9fmLwVSb8Xin+BOL1Pp/RNbAVTf9tleIMSU1+pqo5rO4GRsfp8ugqrQXW8Gnzf2YgnspSHWULR0i6aBOJnPZ+kG5/yEqiv+1gagAHD6J6hMzV8EaC68eA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8RT2aDGkLnc+qtsXdt5kERIHtM8Lj3m0VEDlwU4lcWRY8bEGKe3wyM5QFCxykA8lTLcOhWFPFKYv8hTLW+PDX7yFW/QM8OEqM4SwvMG1ewtVFoKXwfunmUkdm7xbsumaGYoYd5WQdQKbBK4Xu/zi0UpVRI0rRMggGfnXE2b8RTqGWw+DutVFHtAc5Rc5sPO9oVq99/8jG1uTKTKQNQuMU1WA8q7DYe0CseNf+Ab0mlsY30toFZuJSKW/8AT73NwKzRr3a45Z6Sm6AbTO1GW6UOFOXJoiYk2JLOqF7I5jLlU6fFfqQArp8yXJZKyu8+Fs/F1b4PBYgWOCzsAdMX8r/RA17SjAiPrlwYa2UN4l9k9AbTGFrFKgoo/pBQGIW16OX2R1xdqbzGCxT0KMrAiCWA8lo+fW7qPSnCo8gnjzuezr+z/CP61Y5cucsv1NNxcVr0bF4Z6xTjKFbS3i2TcYoc7YCGrMUQ6G1MT307ojn9pRhq8LlmOoAG8JjOZfuOHJVOyb8bmVpb4KgyG8O0tmh0pZdl2Vl39VgYL8MwOP52n1RIDb+uRcXlifZiOGotrVZjnARuh+fZI5sitO8LlJtGy6C17oeq4IbtpPqyb+cYHmxiS1VKOse7xCqWXbUgt5YI28nn+2GmdhRczUWg1OxdMMQauCvAZ013pEkOsxUwf5GqD6jus0KoUitOd7Gjr3jlDiUWemTLzQINtZ/x30Fhk1cCss02qE+mxM3N4fokQO7yzf9HgkdeUGDDCjRo9G4i9Zi3PP0wiGsw0Y6nYl250Ew4oZe0pWdW0WKjSpbbvPXwA2waONMcPkbO8HdpJGzeY8Rn4Fj7tTpjUwtnSKtwD498Rq9sGjr1snitsCX7rTvpxtBA5DuQ7tWn9b6Y+TSKcU1HrrqhoRWnX4edwSVe5/0nlTvfvItCmpil9q2bnNcF9MXaql10qTspKVBawuhcrsH4NVviUyaKbqFUB27JPgPSGKEppBkDmM0sIUMs4/4tPy10FguYGijQ6sKbcriBQkTFrRj1avv4+fAAwa+bHnd/LCJUoPVzmp2E32kGIgQ14WHOhAxFA9zeBmlEm0/JRV3hyk/cXeSVPQq6mzS4QE9MrZ/5+ocsJ2oxSWcBUnAOk/kEpbn/hqdCVS8mDMryeKnIJF5DCXaeXZ0RsfSlLevS8lqKLgAa7OYop44ZLz+GMXIG/FjmdJ2pksGJiZRQ7SVIPTHP84xveCPmH5d7smAGq1XFvL0t+c+6WUL1RSYrVNTVPwN8FR8KLweLg7p0B0RiwrtpDI9LQ1BEWC6zykpzSWMm7KJpNOpnZfNkX9yNYq68yB2jMmI+XF2CYWZ/VeuiTMVeeGrIzTeT/GYo7tSfzq1FbsyBwO5/zgLBkFnDQc54PNjI4xwcUkBtPSRVs0GW1NqXGin4PP/g8FNRH1HPopBP8fjQ8ovpJK/AYVsuCo3L0FsbtA+53WnkyPAlBl39SEWoW09OHVpw1gcofPORNOMoak4lK+mrxZFGVKEKtHz4vHWZ+Ap0z7vAAuKQyY5mkfTSVVfYmNFs3+zSKKbg1C/w6jXq/kMGk1GDYfvO2vE0VFnN341/N1/qx+E2SMnQS3nDXrlcJUD7b16A== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d19a6e1-36b5-45f9-3b8c-08dc65c5545f X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:48:58.0862 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fsHOPYLqPkwlZjBIV1jkQguBkP6Ee8iqd5zrBMOMMXaVTJUcoFQuDX5pF3vN0K51mnuSRkQ3k554qs3rL1cUMYm4prhRcNq9lkaTyRbRa1E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu The ctrl words of vDPA is locate on the extend word, so should use the 'nfp_ext_reconfig()' rather than 'nfp_reconfig()'. Also replace the misuse of 'NFP_NET_CFG_CTRL_SCATTER' macro with 'NFP_NET_CFG_CTRL_VIRTIO'. Fixes: b47a0373903f ("vdpa/nfp: add datapath update") Cc: chaoyong.he@corigine.com Cc: stable@dpdk.org Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/common/nfp/nfp_common_ctrl.h | 1 + drivers/vdpa/nfp/nfp_vdpa_core.c | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/common/nfp/nfp_common_ctrl.h b/drivers/common/nfp/nfp_common_ctrl.h index 6badf769fc..a0e62b063d 100644 --- a/drivers/common/nfp/nfp_common_ctrl.h +++ b/drivers/common/nfp/nfp_common_ctrl.h @@ -184,6 +184,7 @@ struct nfp_net_fw_ver { #define NFP_NET_CFG_CTRL_IPSEC_LM_LOOKUP (0x1 << 4) /**< SA long match lookup */ #define NFP_NET_CFG_CTRL_MULTI_PF (0x1 << 5) #define NFP_NET_CFG_CTRL_FLOW_STEER (0x1 << 8) /**< Flow Steering */ +#define NFP_NET_CFG_CTRL_VIRTIO (0x1 << 10) /**< Virtio offload */ #define NFP_NET_CFG_CTRL_IN_ORDER (0x1 << 11) /**< Virtio in-order flag */ #define NFP_NET_CFG_CTRL_USO (0x1 << 16) /**< UDP segmentation offload */ diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 291798196c..6d07356581 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -101,7 +101,7 @@ nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, static uint32_t nfp_vdpa_check_offloads(void) { - return NFP_NET_CFG_CTRL_SCATTER | + return NFP_NET_CFG_CTRL_VIRTIO | NFP_NET_CFG_CTRL_IN_ORDER; } @@ -112,6 +112,7 @@ nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, int ret; uint32_t update; uint32_t new_ctrl; + uint32_t new_ext_ctrl; struct timespec wait_tst; struct nfp_hw *hw = &vdpa_hw->super; uint8_t mac_addr[RTE_ETHER_ADDR_LEN]; @@ -131,8 +132,6 @@ nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, nfp_disable_queues(hw); nfp_enable_queues(hw, NFP_VDPA_MAX_QUEUES, NFP_VDPA_MAX_QUEUES); - new_ctrl = nfp_vdpa_check_offloads(); - nn_cfg_writel(hw, NFP_NET_CFG_MTU, 9216); nn_cfg_writel(hw, NFP_NET_CFG_FLBUFSZ, 10240); @@ -147,8 +146,17 @@ nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, /* Writing new MAC to the specific port BAR address */ nfp_write_mac(hw, (uint8_t *)mac_addr); + new_ext_ctrl = nfp_vdpa_check_offloads(); + + update = NFP_NET_CFG_UPDATE_GEN; + ret = nfp_ext_reconfig(hw, new_ext_ctrl, update); + if (ret != 0) + return -EIO; + + hw->ctrl_ext = new_ext_ctrl; + /* Enable device */ - new_ctrl |= NFP_NET_CFG_CTRL_ENABLE; + new_ctrl = NFP_NET_CFG_CTRL_ENABLE; /* Signal the NIC about the change */ update = NFP_NET_CFG_UPDATE_MACADDR | From patchwork Fri Apr 26 07:48:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139692 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9453943F12; Fri, 26 Apr 2024 09:49:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D20143C72; Fri, 26 Apr 2024 09:49:03 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2117.outbound.protection.outlook.com [40.107.94.117]) by mails.dpdk.org (Postfix) with ESMTP id C4F7A43C8C for ; Fri, 26 Apr 2024 09:49:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l3nDYb/PwP/pJ40xqlnYPNJKLq8BsPPLog4TNt6DghTOn01D6q3rrlafSsu/ZHees+SDRWTN+xVUNcbktXMMJJ6m9ulnnpa61n8udRBcsFQm4ZxmS/yKy+8mSEAfXaHklQeX9f8pLK16FHVepbflKRtPYth4ijGokn94o23wZjba81BIsi3VX3t1y6jzg+iPjgCJpapDOTyYjSxyUHrjitCsXwPlEs4ZbKzhdhyXKEyd/C9ZaTC4ZvPjDPtmkUgmMk4Az1iuLWWPVf0E5WqPrgKo8qA7e0//0+SX6U5ohlrcF2hNq3fI0Q5ZUS91lwkkLcX1h1VSnuW/7FtzDfBpPA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UIEpqR/8qg8vF/YSUfr6zTrpNGD6XV6GS/nTPsl4P2E=; b=RDvNBk0FfxaLr1scYV4/RBbe2SKg1qZsLlbnuwze2eAO7lt5ba+6uczL64AYT1pY9tB+0HE4Jl1b4BM80K2xYrTIoEjh5JaGD4lNlW+g7X5KU5HPiCadhohRJ0BBuNtTDhRgsvR4prpGDednyS5+sdLzNAuNXxwFnZPKRh+H8//bQUrTQ2U4RlqkB0fgFFGCMsT9e+Y01VX8Y8evW+urdiA23/XaareqVWcXr0QKI7hGrIEeqVvqqNIBW4U+fXha9JvPmIywDS+z9QahHM22MPx2fYu/zzG/GeBaLPJM79UM0xPSn62G69cc+GzBm9jSzTH0y4FYr/9zyrNgmItWVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UIEpqR/8qg8vF/YSUfr6zTrpNGD6XV6GS/nTPsl4P2E=; b=LOZ+JYwRfPYYTxyrBqamhzE2edqXUgJ5HvbCGQ95o32a4KuqRdxGn/LY196uomglv4kVrH0i2PLG0H9USPQiB0rFiLtH90rkyJNn32Xp81e1jrrU0vKVpWUQuEXZ1zcH2IEo3NqxKD7hRMHV4JKLFLBQgAloJ7/Irbhe151RNBU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:49:00 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:00 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 04/10] vdpa/nfp: refactor the logic of datapath update Date: Fri, 26 Apr 2024 15:48:25 +0800 Message-Id: <20240426074831.1729792-5-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d5277e2-3600-422a-a31c-08dc65c5559b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: 33Ao2PDv6m7K0ApZ48U0fhGqECMVKnlJqTwoCpOhjW27cwLl4N3DouwK9KThmE8yr//Sdv4fx9NVkkp9aQ69q8gwjn7SCM37Nv5YUrRfdyryVwPWvJEsTUh2idblDhrJ4utczHEWpNnVjY9PIp1HXYXyGUt/RAZMZPb9CrF93ZzyzQHmlOUGC0ACx0J76Tb4L9hAOoo2PdiYFkEgA/FRrSRMZ6ntSa4I8LjOYEmOfxc/pfAZk8ttzVTI75Hqc/MztGyVsO1MwhMiqi5GLz0WeY6xjfUYgGQIuBQA9Ry2DZ0RPCdCf3HFvZYQZSgB8LlhqlG9ie05BMw1By+sURNvbEoqpfd6XKGDYOWX9rAcPOXgoWlap8pbwcRq5oVDbFPStxO6LJGGx+5lqpo+gI1n++jrUjCJAVE1Y7QCkptCvvr+Sq7jAw69CjtqZzIn1DNx+oKFsUNDB1Vz44BwtAgz2bNUftJmLS05ixZGPzwT1e44NU4xxRHKbPnPToICi9EL4DZ9a7UrP9ndki0zIlM3wBfc8rte16v/aZBoqdiECj0OVVPyOXHwYhwsy8O8GqCPjr0P/S+8cQ98qgFD9FLWpdFWw1Zs92CZrKj2lnNrdA9cSzv9tPcyxXzjwMRO8k5E8ovuFALP3QWoqukFOF3byy75le9GIm9gYmvek6xrwPpi9SKIG7rJsGMFPvi3jZBIxduuwHPrlSIf3hkW6Y4kuoSlhbzlZRk1RmatTd/yF/H7FfQn9BoMmqBwwbpikTTvxIOTgPTVZEkyf5gGFzxsL4eqhdqI3bVryl0MKhyZLUNZWPli0ng9bXq1D68vbXzqanSihjC7x6RjtkUXvwjwUITIAB7QiYL0idgYkPBzJYMX59DwVr1GnRKnxXH10H0PXCea0d0JJIrjbqKSiz1GMFwbqiXo9rjcJfVjvjsEn28DOq3rujgMW5H8tr8lR7lpfjwZbqzTJ2l/o/ZAjbrngxvTRSYG25iiTX5pSqJOkxPjOcVDprmJeXSfGf95j5ghjW7BLna/7BWBu1Rnmn74+fz0l1iwSj1y7xTDdabR0wl9yp+cNDJ7EpZ2WDc434m4pCmEmyUy3HtgoMSvb3GVGZyaIGr+Ec4ApLyFjMUCHhy5ab7UQ2jyRVvmrbElkSuhblJycbVhO78LrXAn5F4S8HhqlAAHrI5ZTlXztrkpJHqFhh9OBQOMDNiT++rV/TZLnbOn0uODLyENzSrogOVpGcTXpLw6x9cwB/mwQ9w6UjR07waO55vs3WwIBZ/p/yIcXBb8b9bkhtXfwRxux6p4wdVzD+eUwTaoGn2YPNFgxZmLgvYoahv9iTom6dbyGeHg5G7Awm2KhNHZiSO4O7UcIg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rOVdoN0undgkMtaY9uLZWttPTNOtgjEsG+YdiDWg/dPMFkcxT1SPs1VIOOAOHXTjsAEZ7WGO6My7HYLHvH73mlzqLMLy94Xvg+fQ5I+fr+B4X83k0k5ld/9Q6JVTStWeOFnPE/aDbdcVFm1Cktp5CHLhR5WWPY4TYlkhPyZ4RuSfhNGDbokNoi2i5Hnz6ZVhedfQSMXsPnrVFxWvPQ5IfvaSJ0a0jepkE+H73YN13AAsYf8pwdEWD47BBM8GxnBqYVFh43xRx20dzFUIfxHuMwa8QGGLIJ/qevXot4R2J2LnI2TfUBrgXge4lqA1HZXk2lCNSJjdSth3r83cPKyrdT1KubkBe+UGRbvABfi46/om/M9q7dCjHqVNwhjmFI43F9B4b+67bNYu/RA0TLWN2d0fLXJB8YUB7GWrZjvfBLy85819n9OKgvk1KgcjLlYb9z1Rt4SLdNxre01Cuk4tCeMJI7evmMFEn57NjGbLZcGdVOV+76JV7wyc7yCbLW3WCUzmwzYMy45NjR5Ip6+hkS+9oPaPkwPvUVhZIrX/D5wNm2Oe7kMrez5IznGAmIlWXQD4WFJbq34J6WKd81qRJiCtyhARhZvtrqygapvtA6M+ueY4LAIr/Hk0e/2H70dFIDPmeH9fqUGMAKDGscDJeO0aGmPX92ISC4T9K0vUFNGrgzwht2bINWKRFrPbeIbRV53PG37YvAWzTDC8caWrIUQEPpVV9AaP7GlRqPEBQtGt0PO/BkiY/WqdbJFlniihovwyqCAFNtG3XtPmamY+pLveSoVA4jlbzAYLCT1FjbIPEaxAmvQ/VX+zg6jr/TbIwJKSAYSYlNA21+FTxdmWJdpLVd57imCbOTIoClsqm0w3idnW0qP27D3+exrtqLl7dkGtLAqX5FbEv39zfrYwKVpRgvTC1HyFyABb+6cVzdlsZ9HfdtffZoAvbzAmHurZHs+qf4w82ZNy+H3RfE9FP56yijM8xwCj13MIGIQgpPGD8H/7lwha4owRKjZ6EdLJ4VHOiFuPUEeVu4OGWFhlFtZI9euljyqLvjV+iCSDtCNruo46zThUYlFJzVNYHFbba7+rrZr4a6kKtHQGf6vdd8VBoSOjUTQ02hswIRkCMeezrAsG9e6rOU411VXfGjDt6Mwtkjd/NCodBoyc0iwq4lhUNEuuRqTC0AlVv4UsEsWRzM+k3MFq96leZAb85R81taBrX/dw9sKmSiqyy/BwFVdTys2vd5zMODkBZmQH9OXRLMMy4KWymyRDGHKReiSAS/7lygbh7Jj+3Yn+wKFhlb8PqzDzxmGWHCxI1pUFZ7DxLfjm3Ih/fqaWbewVEYprumAJkSiw94I5WiTqRmNeQtyGHfIekc+UvhjxmgO+oNYzC9kVy/J80wvD0sx1sB56WoO4YLyU00OxLoJiA1SF7U+5+hSUcZrEETH3H67j78oMfawR1YI4ECoECvZvXLuca8aVJpr+NAro3pYPg5N0JnU6LC4L2fnb8vr1VAfnpsWR2NqjNvSSsAgVT8lyfbrO7rMvZMTClwEdIyVO5IIONK1GWsyn9R1xkNUi0/zkWwlsjZjn1T3NVGNAwRd+jNUP5QU0RebAIFl0piEO7CymzQ== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d5277e2-3600-422a-a31c-08dc65c5559b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:00.1551 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KXYyQYuR9HrdfVLg0qeoNJxeOw1b8hJPFmiS3CG4HmnxBXpP0rh+AkZAbXCc+6kGxFxPTsCMBUhR5HF/aIDD5XRSy+xLmWMkBwtRef2WLDs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu In order to add the new configuration logic of software live migration, split the datapath update logic into two parts, queue configuration and VF configuration. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/vdpa/nfp/nfp_vdpa_core.c | 54 +++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 6d07356581..79ecd2b4fc 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -105,8 +105,8 @@ nfp_vdpa_check_offloads(void) NFP_NET_CFG_CTRL_IN_ORDER; } -int -nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, +static int +nfp_vdpa_vf_config(struct nfp_hw *hw, int vid) { int ret; @@ -114,24 +114,8 @@ nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, uint32_t new_ctrl; uint32_t new_ext_ctrl; struct timespec wait_tst; - struct nfp_hw *hw = &vdpa_hw->super; uint8_t mac_addr[RTE_ETHER_ADDR_LEN]; - nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(0), vdpa_hw->vring[1].desc); - nn_cfg_writeb(hw, NFP_NET_CFG_TXR_SZ(0), rte_log2_u32(vdpa_hw->vring[1].size)); - nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(1), vdpa_hw->vring[1].avail); - nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(2), vdpa_hw->vring[1].used); - - nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(0), vdpa_hw->vring[0].desc); - nn_cfg_writeb(hw, NFP_NET_CFG_RXR_SZ(0), rte_log2_u32(vdpa_hw->vring[0].size)); - nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(1), vdpa_hw->vring[0].avail); - nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(2), vdpa_hw->vring[0].used); - - rte_wmb(); - - nfp_disable_queues(hw); - nfp_enable_queues(hw, NFP_VDPA_MAX_QUEUES, NFP_VDPA_MAX_QUEUES); - nn_cfg_writel(hw, NFP_NET_CFG_MTU, 9216); nn_cfg_writel(hw, NFP_NET_CFG_FLBUFSZ, 10240); @@ -177,6 +161,40 @@ nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, return 0; } +static void +nfp_vdpa_queue_config(struct nfp_vdpa_hw *vdpa_hw) +{ + struct nfp_hw *hw = &vdpa_hw->super; + + nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(0), vdpa_hw->vring[1].desc); + nn_cfg_writeb(hw, NFP_NET_CFG_TXR_SZ(0), + rte_log2_u32(vdpa_hw->vring[1].size)); + nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(1), vdpa_hw->vring[1].avail); + nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(2), vdpa_hw->vring[1].used); + + nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(0), vdpa_hw->vring[0].desc); + nn_cfg_writeb(hw, NFP_NET_CFG_RXR_SZ(0), + rte_log2_u32(vdpa_hw->vring[0].size)); + nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(1), vdpa_hw->vring[0].avail); + nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(2), vdpa_hw->vring[0].used); + + rte_wmb(); +} + +int +nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, + int vid) +{ + struct nfp_hw *hw = &vdpa_hw->super; + + nfp_vdpa_queue_config(vdpa_hw); + + nfp_disable_queues(hw); + nfp_enable_queues(hw, NFP_VDPA_MAX_QUEUES, NFP_VDPA_MAX_QUEUES); + + return nfp_vdpa_vf_config(hw, vid); +} + void nfp_vdpa_hw_stop(struct nfp_vdpa_hw *vdpa_hw) { From patchwork Fri Apr 26 07:48:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139693 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D37F543F12; Fri, 26 Apr 2024 09:49:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 45A0943C81; Fri, 26 Apr 2024 09:49:05 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2118.outbound.protection.outlook.com [40.107.94.118]) by mails.dpdk.org (Postfix) with ESMTP id C5DD143C84 for ; Fri, 26 Apr 2024 09:49:03 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=elKZAEic1Tm/at1O1SgMtX1nTTRmLD1L6GegK7VO/lCSdzqkPYiUm/fgUv3lVQgvYdIQrcQCMzrppfHCsDOvnfr9OwjRfVCXRpAeMnYDdsP6pbis3T0NAe/w26yuMjQmMeJDj31+6Xxi19eyZ49lrB7C5j3u6pwde0BrlNPh7Nmt/cyU8VoX2rIGxSkCyLyCGTb9pFJuzSUxharaNt3N2CkdzJeazHV+8q5utsNCkOuSuVeP94wfC5A70HqVCLO3CuBmXScXxQzVRhE5fAJ9ze6USqNwx0IhTYSjS3Qtu5TdlerxlbOsDD48SB6JooDYXKQbjHKd80P/p0XUm8lcJA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IxrO70/0MoJrzhVMhVhlAI0hBVXUPvSYpeqWnz4+MZU=; b=dc3GqIMJDSBBLmy0C/0/mSbQfMprqpR3TxlDHXOjx4/7VWlgOfZjyAddvBEq9Q5uaw0aDFn8iMt0mUJ/WjnGOF+7Raa0xIEGMWNaBlJAkpoODByECe2YZttLP/J4l1cyW0ukgoSex4AGiweKxx8/ffqh/iSkLjhoP7pI2rSNzEzz8l2cghHzMCTZO4hbvTN1S+qGwWM72IU4bTixrX0gGDQxSdIkC3kiS3pphTicgicMhe5SClBPP13k3xkEs3RMN4gEiF1nFW/x2Q/vSAi0wVBcMtUnnb0I4TTKxzQfeSetLUxMx2eThL4fINwFCDkGEdyoEYzZNpno9z4qjB7CXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IxrO70/0MoJrzhVMhVhlAI0hBVXUPvSYpeqWnz4+MZU=; b=Hlpl7+cs/kda8rj7/6MnLNy/4L7yqtqS8s447U9jjWXWOdfLOYJqhn16NM0qmMg0ux1eXtbqKu5SRivXtjNCfO5Dx1pZrUY+6aSTpxRVQG/AQSEsiOzGExVGxEXsDedLRvmrang8vxINnZY1WUFG/RKs++XO9sqvjLH/VY1swg4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:49:02 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:02 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 05/10] vdpa/nfp: add the live migration logic Date: Fri, 26 Apr 2024 15:48:26 +0800 Message-Id: <20240426074831.1729792-6-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: d7b1d3ef-48b3-4c55-50d4-08dc65c556d7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: ZlWmSuhGU1hU8EUFFJ2JPbwC28OdSDdU49h00+d37REjfN9dpsbpTS+Nnf2LpVVuU2fBFq3JVIemmGmyx9Lch2fDQjz84rXl7xuXjixqAmlBE3UYHZ8cB6Xv9Qac5SI5Nd4Lauf0kV2K/KtZEBO/paYNwU0PmDsI+22FYQRRw49MTAfS+jhEmxLVwBPXb20PJ0M1E23hHo0tZG/QDcNgrqm589NmX/GBYsYHQu+qR1vvr3R2kroxN6Pn8Cx1UsARPi2e9qw6kO5Z7yuN8U07Sm38zg15gMPHnuz/DPJU1lsAW2Yz/77Jfzs/ZWFxvhCYyIpe8xubcOzL0HF6z+UGHmbyLVvhQ0s8qB5vWmvuKCR8g90fM2X+IEed9N34cNyKvbKs70Xubu0YmzKimloirzfFAfWJNCjvqdkhnF+0aahz7vU5vvzHfxmIAl6ux40hZJ/OtRAsjrjZhPWltkgutSME5GwkPZgUbhUFlIFQNhh9o/OQVYgFEaDFWEE98FcAhxPJEeNcBjfJ3RfxxcR9hkuWtAsz1yrjpn0A+3FyZAM1aJNIpB7e6V2vT1J8Hk4PzTbj3rsKpSomv78dhZqdRFS6L7+PVnYmTofxr7wTSu45FxvtglFDbnGwjSC0yGvnezoYonMAXrHo3w1zdRsI4Uq1d9ABRy+vUSJ9XWtLgPmQR7cDsStE9ACVmayCQ5BIdddf8dNxoDo/1ebqPU3wfRY2CLfHVBJ+iTzR5hYSCIooEsFGi/6PMaVE7NXWYXQZNQ0pQ/GaRtjmu2lTN/dFriM8EvpXkuEdVa2icrfGptYgMxb4kJ07Uqdqq6JEvRRbXq5RfVKWhLXqHf3wbR+Oiir4i0IDFdKE4u+eLvmWv/zZOmYUKuKhX4r/C1Aq8fAL4jI1eSA13hRQe80vq7xDgHSGLUDqpvMNYK+/AvRslTcqYLNMeubNhp5tB6UFVhLsZCv2oYT1ESgg3bF5B07s10YqXfc//7Z5eMlKe+NJ/MhJo3DnJ3rpaZTWqgyJ0oJpQbOnPrvx9sy3+AuVE86gsZfgW8nat22X1L1TdmeMBP5rX8ZcP3ROGaUayJaKUGEB7eYGqA1o3Wxfd1ln/9h3K2i7oUFHYneEO332yC/dWRSq8DLCF0ZQ2+GEPmynEv53v/7bEQRvRqZsLn+pJh1FqU+/M/GGtCas/77KCazHy7fbPO6JYFrxt2PA9DEiuqD3xtJOYpORf8rWoX0yDtFv90lsQacY/+v4wNAa9FHZg+mGls51kPTC3hnjwP4RLGCT+J3BvKeYN8HKL2ZN6gnNTJvPXJcHtrEiwiLg5cQFhZ5WXm3uByGbj9vkGv8Ec6PoGBpgKLoAv4B+q6jrM1Dc2A== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: f5VVqHVNJzxyLqNKEiQ79/6ZlpW2KfwxB9jJusE/MxKuNEmU5tyjRANseQykdU4/cPH5Sub74h7apR0mIfuU+o4orfbciq+fcTrDtpGlFamC/l4cqXqMX844RaH9+7lnmfCnjyFMaOppXPW43Dl6SAwMuMch7LiWd1IKR96u8NcwWa2jpnbGHPfZCkw6/BnxB4tiv/8pd2docQ4+XpSorgveRHRX2LezTY658EPWQA8TXHM/EfPV8n1pllflndadMGBdaZYQAGmgH/NcV5lwbmXynUuJDodjHZxpphbbL0L1zlHkzZGJ5nA474WlRPl+uyCnX7g+ge1WVSlP2kSTlbLFojYxrEzEoZlf7emDXq4SGZFC5H6smxW8Tuug7wE3wnXlc2Uw4lQp5c5SOMlgUtjTStr/fFLEYg9hjBULR5QP2SuF6gYuW6cgXLq/IR0K35d83lfJ74ATWx4Kv8qhAr9oFO2lpn797uQ/zUKVQAY8BkG+udl376LwN/Ezb3p3a4+rrw/BJN5avFR41immI2dmPOEmecx4941To413howY6QI05l0uxH+hphZBZ5y6W4agMjBi++VDlYv6SvDwEX36HCgiwZcdLZFvsMIVlATcqYX4cTraZ2hHZkXnRDJq/ciSgK83rdWejx5yy89ehTq9A72hZNqWwciGTs6jrckX93XQNtwz/4rs/xG4h00l34n7zQObQJnMntVWhJ8zomfccDx1XghzkKRAzw42KmjIFzZDCd9p9+GTgSAWqEhCSk7Vc/bdtxqRYOxe95IH2/jUTQgXncighPKJ8FbUBX8akL8xzXFXsehz9q4lmsh1GtlHTxThOhLpk35fRrQizmX1KhMKcNvSeTVccqrbdrYOXE9dtfCU2xnfhTfqMOI4Y2pY2aw4VYjrLQH8CCUtj0mdnwqoLkP7Bj0iEF1OEJHUuEgjokCsfcNDMvnSRQTtNj6iycAp3RINhUbZTao4j/X4MAsAeeKVzsM0ZxKcr1X7ceqxk724b/7EWPwv3ltwd7m1CiLRExLVHiXm5efw57V3E7HF991TBgZxp5d9stXcIm9HuR0rd6WAksewvu8hE6zKhnKTZ7sbPR0XLxapaaYh1/L46t3edK9ylh+Jq/eElABIMA55BS1PizU/H5rix1F0W8E2sZA8pBk2f3EyCXPSyxP1lkv1GiNKK278/ecwmM8yMx7gbULY8Ltjbrgw+axPOXYJ+bjWyeFDvbOAJDR888f4yFoxseX0BoBxrd6t0/BV4MVXGAReCplZB2ALp7tN2+qs6bHUMYRIAGcjd7fteqo33bXSkXZA8iAQ0ykVdEXNWR8OsAVnHVDBOve6/Ewvl5HlUc/Sx1GqkLaQxc07KosQYeI2FqrxwCCN+8VrciG5o/vMS8oAu21vr+S6PF+m5BOmGIGi/nEvwB75hFlp97fpmbRv5v3T8x4aegJ9RrwfHmoaWIpUYfLMmnCXV8qJWff9W81T5qrVkZsCc7uAWkwyH9R5AqK42240jnZul5KcIUqyIWG6EB4XBc8yI/f4GPQO1GqQJp59d8vcih7Y6HxPk1Q96fkdjs/kD/WIRnhbk2oQNbdo8Z99/6Z6seeBEB6CBen++/DUbso7lg== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7b1d3ef-48b3-4c55-50d4-08dc65c556d7 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:02.2261 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oJ2ohAS33ogk056j2ifG4uOqfsOkJe7k7Rso5boEO6duMLWrocn/unSMRNcS9yXGOGS/6O7kCDSaj3bVPE7cq9wlHBXn65RUqztInqRfi94= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Add the basic logic of software live migration. Unset the ring notify area to stop the direct IO datapath if the device support, then we can setup the vring relay to help the live migration. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/vdpa/nfp/nfp_vdpa.c | 66 +++++++++++++++++++++++++++++++- drivers/vdpa/nfp/nfp_vdpa_core.c | 3 ++ drivers/vdpa/nfp/nfp_vdpa_core.h | 4 ++ 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/drivers/vdpa/nfp/nfp_vdpa.c b/drivers/vdpa/nfp/nfp_vdpa.c index cef80b5476..45092cb0af 100644 --- a/drivers/vdpa/nfp/nfp_vdpa.c +++ b/drivers/vdpa/nfp/nfp_vdpa.c @@ -603,6 +603,30 @@ update_datapath(struct nfp_vdpa_dev *device) return ret; } +static int +nfp_vdpa_sw_fallback(struct nfp_vdpa_dev *device) +{ + int ret; + int vid = device->vid; + + /* Stop the direct IO data path */ + nfp_vdpa_unset_notify_relay(device); + nfp_vdpa_disable_vfio_intr(device); + + ret = rte_vhost_host_notifier_ctrl(vid, RTE_VHOST_QUEUE_ALL, false); + if ((ret != 0) && (ret != -ENOTSUP)) { + DRV_VDPA_LOG(ERR, "Unset the host notifier failed."); + goto error; + } + + device->hw.sw_fallback_running = true; + + return 0; + +error: + return ret; +} + static int nfp_vdpa_dev_config(int vid) { @@ -646,8 +670,18 @@ nfp_vdpa_dev_close(int vid) } device = node->device; - rte_atomic_store_explicit(&device->dev_attached, 0, rte_memory_order_relaxed); - update_datapath(device); + if (device->hw.sw_fallback_running) { + device->hw.sw_fallback_running = false; + + rte_atomic_store_explicit(&device->dev_attached, 0, + rte_memory_order_relaxed); + rte_atomic_store_explicit(&device->running, 0, + rte_memory_order_relaxed); + } else { + rte_atomic_store_explicit(&device->dev_attached, 0, + rte_memory_order_relaxed); + update_datapath(device); + } return 0; } @@ -770,7 +804,35 @@ nfp_vdpa_get_protocol_features(struct rte_vdpa_device *vdev __rte_unused, static int nfp_vdpa_set_features(int32_t vid) { + int ret; + uint64_t features = 0; + struct nfp_vdpa_dev *device; + struct rte_vdpa_device *vdev; + struct nfp_vdpa_dev_node *node; + DRV_VDPA_LOG(DEBUG, "Start vid=%d", vid); + + vdev = rte_vhost_get_vdpa_device(vid); + node = nfp_vdpa_find_node_by_vdev(vdev); + if (node == NULL) { + DRV_VDPA_LOG(ERR, "Invalid vDPA device: %p", vdev); + return -ENODEV; + } + + rte_vhost_get_negotiated_features(vid, &features); + + if (RTE_VHOST_NEED_LOG(features) == 0) + return 0; + + device = node->device; + if (device->hw.sw_lm) { + ret = nfp_vdpa_sw_fallback(device); + if (ret != 0) { + DRV_VDPA_LOG(ERR, "Software fallback start failed"); + return -1; + } + } + return 0; } diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 79ecd2b4fc..82a323a6d0 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -91,8 +91,11 @@ nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, tx_bar = (uint8_t *)pci_dev->mem_resource[2].addr + tx_bar_off; hw->qcp_cfg = tx_bar + NFP_QCP_QUEUE_ADDR_SZ; + vdpa_hw->sw_lm = true; + vdpa_hw->features = (1ULL << VIRTIO_F_VERSION_1) | (1ULL << VIRTIO_F_IN_ORDER) | + (1ULL << VHOST_F_LOG_ALL) | (1ULL << VHOST_USER_F_PROTOCOL_FEATURES); return 0; diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.h b/drivers/vdpa/nfp/nfp_vdpa_core.h index a8e0d6dd70..0f880fc0c6 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.h +++ b/drivers/vdpa/nfp/nfp_vdpa_core.h @@ -36,6 +36,10 @@ struct nfp_vdpa_hw { uint8_t mac_addr[RTE_ETHER_ADDR_LEN]; uint8_t notify_region; uint8_t nr_vring; + + /** Software Live Migration */ + bool sw_lm; + bool sw_fallback_running; }; int nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, struct rte_pci_device *dev); From patchwork Fri Apr 26 07:48:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139694 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CE55F43F12; Fri, 26 Apr 2024 09:49:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D2D943C97; Fri, 26 Apr 2024 09:49:07 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2132.outbound.protection.outlook.com [40.107.94.132]) by mails.dpdk.org (Postfix) with ESMTP id C04A743C8D for ; Fri, 26 Apr 2024 09:49:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d0ig4ubRRZJcW7r5zIleki3X7aOCxwsKVKD+pvw+J8dt5o+KmRqqvGJcV4nduPb+jLS+jtSZVH7dGOgnMJm73068u5VmxmezM7n+zuWVPSHI3bzTXP4fKs8q9bdacojV2hBd5t6wk+AlRWHXYne/xZzvpZ3dL8yr6icraqp2yg0rJkeuxOe2P98ovmTR/jwEHyMSDD50d8RLsVKQbsLeSq25JIcVECuYcR4T4+oiidOpNnWgiD8/WSPQYQeQ9jjvHMlxds6sAswgwHkineR0Q/FbfMl9fi9pqnS4bwhC5B6GjM0AHUe+51j6WU7kf/u3L1Snrxc7Qb3oigN2OvKkkQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IJbr2Uut+3dBDNoSckXTZ323O13uQs1IQRrxZhtlpiQ=; b=c+4h10S1KsKYSjaSJDusRruE5zwao1u+98aiJNPhoH2akgRx04fICphcuxYSZfU2oGctfH5DjZ9FZQhXIbG3gTr4Tl+lIgSpV+OuHcgCG27T1awFNepk/EIZugZ5fWXdqzice2XK5FQryglTJ2AHoKDW1W8w2cfq6qAmmTxdsLW/+g1Hfgpajxwnofx2riH8Q45C51r9loGmoudLAgS61blRjP/ThCdJyRy7STBdN3vTS2U48JQEWiG46ha/ja2uIdUq9dSoAWKIV2Mq/SN+71mEplfNfMIVycNwEf70dpge1KFQ/t2dK/xyDPJ399ZjXaoHYp/UfEqPEa3pAvsrUg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IJbr2Uut+3dBDNoSckXTZ323O13uQs1IQRrxZhtlpiQ=; b=HOYyur5FacVhzt/APxxuSYJNBBJ9tU6jYHG7XHgsCbgsyxM06MZbSMRBabh/+k9a8moCTc1cQ+Rdg1+pJGhIk3gem/lNaQCPX5aaEVGRt5NsU9UePs1A/p8Es/4/HK0Q96LFqcx4mXsSSmwbQHMruwrpV+h+gFQ3s23B0OZBqu8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:49:04 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:04 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 06/10] vdpa/nfp: add the interrupt logic of vring relay Date: Fri, 26 Apr 2024 15:48:27 +0800 Message-Id: <20240426074831.1729792-7-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a9981dd-57a2-4899-114d-08dc65c55810 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: H0gPCAcic1fPUM3VnP26KWIRNFCk6SkKloytm9ph56XaZdAp/W9oABMx0ayNpRI4kZnYJnWy7JEqfSq4egGlCkFFjVDbu3kQ+zPfYw2EchGi5DfkZZxk0MPaemFMyLmEJJam0JPn6zaOe9+5y8N9ybzBNwgoRkd2MVGeOOWkZbxeGTH5MimALjHRzvZKXVPOogsUizW8opb3JxqVBwMN5oA6bgGXun21yutqP4eCk8CXBkRSZAGuWggclsVlX0PMoznQheYgvmg5lysj/AdA7gPjtA/pIGyz8aAfxsRr7N32z10EcXTemwRz+DlypjIXKla4Blsu9kh/qkQVJyw2T6gLbHlOH3zHWlkC1buaVNvA279LOl5vYEdDCsXOqOTo7l0gnLRrJ0PQgixLOmGTZKEcrhhPu4yFqzTaMIibAlM/8ncWrT/9zLCMfYDX7konB2UHsZk26/tcT7HuNA+ZdcOeoG2wlkxJz6oJ0lsZ7S3IgygiU2P4fvDcq+EJ0/OsxD/IRVl4LXZ3Wvoia9L1I+AItxVHYX8Zf0ex0hxRVsmvgBBd4qOIRLaSpcP+7Xr1FSb0npX2kobP7IPFx+Qe6k4gHnZmhvpsb9J0COV3SFnHjiZE+CXryiAaRv2Idm0Y/COFKE4FNpWM64T8nap/QtRswlJ4aHcvZXH8olKIwhFyaspzylXp9TY4LVYJPDPFCbQHVE2W/JKE1QAYqRSZJX2boCUOU+zvPBsJTjUh3MhHJ6MONwtUGHG4wD8Adpc7n//myuUo3ZmdETFjuEuN/EDmr99C7pc/0TAgQHrnC0M+bQk3UsBiq4TMPk+/FE1WhTOs1BM+zoKNEkgr3FGHxh2cuJDi4QQvQ8Y/yAo3Xk2qcXCzEonZT3F77L57EUPmG1adq4AvgzGUoaiEiko+nB0cflzGe3vDNTsQda02Xao90k5V7WgyKNxbc0SGbJxqrdUv8yAVzs9O8KGOs3owfwQ0evWPTqEXr0YVRK8ZJz+wWaG5s/WhtFZW+DW9G+peZ9zLcXWkacNwyN19c9+pCdayjWSDbOlATRCHstL5uUNjbMDiAuKlj6V3zTWpPYrAw2nxkWHxAdmuZsinCp39KnKMd/HnjS0xUynJAuEvbiCNv9LSdLB0fKIsJkSv+5/z93x++130ifZA6KDwPnvMGc+jcfHaOZvrVQSFthG+XgHz03j6qWxUie6HHDqpovsfA3J5N+hIpmu26oyRQpXCbnSO+NQExQ0GGR6NR3ST6dWYgwQo10BZ6jtf1aVQzTkqlbusb8PfI1TxNOM+kehifDBNcW+F+xt3FJfEUqNGxfJ+fCS+TbiZrJ2ITuZHZHwlZXi+I23/CL7SfxLb8gygQw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RIAnmLbMxj8YbEG34Vnvcftw3eaVQRGwuDZ4uwK01Bu2LvyvWXhpAo8dVgWJKls3QYhAeyI1xQRSE9horZaKoKvB1bEasgsfsS0NdAbhfPf1maf6zUtRyaxgIe8rWzIYB0EJbcw4RIjO3YIOxMudPjtB3m9u33dwOgqc5VK1xm6mgeDxJroTraYByWJ1RyjeR687dLdj51H9aQP7dEZMj3xtdbBYTJOIAsdTXNblwaQdk7fVpalWypJBqs0zOonorQVYlUciKjHxn9qy4VbV919RQFJYiy4ORyg101tNHKfmn8JdGgO21yrxvw7eVbKnEGeaMV/3q5dHlIvwryWYCcuXZBjBVX4dh0g8c66rL2vOIZbz1Yh3i+MOQnvCxu9cnz9dBWQ1SOQGy2GB7DtAxrH0vk8Br5TPifGxd/HjY6n5jgTCS4Fkjp0qobQ1Uvpl3fUkgMwAHaGXEHBmFYkSs2dIN19fJde1MSWibyT45ujqQ87NAOEvy0dvyG4zIkJlwYosh7G99JYEiXk27lQDSdBvKT/gGewT9OrxYwd/HLoPoDb53WbGpQlxYgCL6OQ0BAayGdRQSqgQDhjixY8mJzm4OLHeBbofG6dIiNKtaO5dIK41K3C3DiZ00Tnw3kDEiVbp8MeaTZJo9mSyBTQ/AeDbD0zt9NjNo18mC07D12bskrZiNJKE+Hb9j7JE2jyA4A7yT2+0WCcGV2qTqNIQLVU+kxlAKSf6li4+hlkXjVMILWqbJLlMhrUkasLSW7PyhAZxVLi1fiTyC5kEMv3A7c7tccw1LcIIk3CepVssK2UAYazxedC4DnQcaUlXR6MfT6zqcszHG/7Wt3W6HM2WL2GfjMAxbssHjvs4idYUJ9UmUYmU99bKVJ3hg7kMK72yzYgLRysbcVKYQTWjdgWUmRUxntZU+Mk61fvXw6waNiauEr9m4VHh8AbUtUsqJ6z6lknpeSFI/B1toVrnmyNiGxAHwWZuQysw3idIFiR5Cjdmp68pBvDozLjzBzRHU4SJhp6DAe9DR62UI05IhMVMoVSFIltF0DI41dL0UgYnHd7GZWrEfC1rvCJzSSIdA1zfD0j/iegNSDOCSQLKQHhYCiIDGAEQD/dxEGEk15YbDYxBvPiiFMVDefW0pmw4FratyaOePpxCwqca+BIojm8X9e3IoO3s6P4CYrKEQ32S+0bLj9FlaJ9233jcc1Ak45GIk0kGgs4Djsw/lFLHXLtwUbS7Btt6sfmh25VYFwxM0+C2XmBGSg5yhUIzPd5duxsF7j1dFnJUwtYTMuERKwpnv56eAjniMCCm9vlY2FDnavu0sEFF2ejU2WzFpPAzM3BtvoT81DecsTa1Ez9eQ9XRdobw1jcMsAC/WAaekvIU86958Sny+YQsQ1fjZ5tc1TqB1aQ01F3OB64YsiiDqmicfNVirhqIlHM8PLXYCkmQisBXHpPm28SfZojPfjSdh+HTBRHLwbud7KHGWNw+/6tZsBXLE7eNvoUHvSnM7ZTCvs6g9ORPUk7vr4YQpaF9jmjZ8kaU6HM02gZZ99gpIuZgfnTaLs+obcI5fDFrNIjvXDCL9kYAm4BKXKVsHn3RuBFGrz+rULIiTiC3u2Z6bNfr6Q== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a9981dd-57a2-4899-114d-08dc65c55810 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:04.2969 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Q/b7KjHyj8nib7WE6hDljyE1djJrz/uIigsk5KVxz8X+lKdVdzMXJ7r+RDHUqxBZ8/DW5u6lhMwlzzBX8EoMXLqyLUxX2VMVcbhL7L91HzY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Add the interrupt setup logic of vring relay. The epoll fd is provided here so host can get the interrupt from device on Rx direction, all other operations on vring relay are based on this. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/vdpa/nfp/nfp_vdpa.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/drivers/vdpa/nfp/nfp_vdpa.c b/drivers/vdpa/nfp/nfp_vdpa.c index 45092cb0af..1643ebbb8c 100644 --- a/drivers/vdpa/nfp/nfp_vdpa.c +++ b/drivers/vdpa/nfp/nfp_vdpa.c @@ -336,8 +336,10 @@ nfp_vdpa_stop(struct nfp_vdpa_dev *device) } static int -nfp_vdpa_enable_vfio_intr(struct nfp_vdpa_dev *device) +nfp_vdpa_enable_vfio_intr(struct nfp_vdpa_dev *device, + bool relay) { + int fd; int ret; uint16_t i; int *fd_ptr; @@ -366,6 +368,19 @@ nfp_vdpa_enable_vfio_intr(struct nfp_vdpa_dev *device) fd_ptr[RTE_INTR_VEC_RXTX_OFFSET + i] = vring.callfd; } + if (relay) { + for (i = 0; i < nr_vring; i += 2) { + fd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC); + if (fd < 0) { + DRV_VDPA_LOG(ERR, "Can't setup eventfd"); + return -EINVAL; + } + + device->intr_fd[i] = fd; + fd_ptr[RTE_INTR_VEC_RXTX_OFFSET + i] = fd; + } + } + ret = ioctl(device->vfio_dev_fd, VFIO_DEVICE_SET_IRQS, irq_set); if (ret != 0) { DRV_VDPA_LOG(ERR, "Error enabling MSI-X interrupts."); @@ -556,7 +571,7 @@ update_datapath(struct nfp_vdpa_dev *device) if (ret != 0) goto unlock_exit; - ret = nfp_vdpa_enable_vfio_intr(device); + ret = nfp_vdpa_enable_vfio_intr(device, false); if (ret != 0) goto dma_map_rollback; @@ -619,6 +634,11 @@ nfp_vdpa_sw_fallback(struct nfp_vdpa_dev *device) goto error; } + /* Setup interrupt for vring relay */ + ret = nfp_vdpa_enable_vfio_intr(device, true); + if (ret != 0) + goto error; + device->hw.sw_fallback_running = true; return 0; From patchwork Fri Apr 26 07:48:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139695 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A8AA643F12; Fri, 26 Apr 2024 09:49:51 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 47D5243C9E; Fri, 26 Apr 2024 09:49:09 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2091.outbound.protection.outlook.com [40.107.94.91]) by mails.dpdk.org (Postfix) with ESMTP id E3E1C43C9D for ; Fri, 26 Apr 2024 09:49:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e8NyHoI9XjvHmVsZrtUlILtLK9FSHmuq7og89v53rzCUgI/+JusVsfAExC8ltc9CCxVbZWpup+6LaXH3f1P3ckNDFoGithe/T/ar2OqZ4wzmvdZqeunIwI3rn0hpN6tSDRrkItlptSX6bLaJKlFL6oAX4ifX+G/Qelu9i9jfuhg3hKgf9R0upQJK36rCri3pBfZY+nikzuRQznlV+W0yVDCG4eQl8YvVLijKSjQEbKz5SxwHjFmadz8skMvgWAAFA+LnTRRf6pKiRn/8c5gsKeyDbys9qqSltjpSd6YPsLDt+ka3ISBNCfKWpO3I9v0MDedx+/NLy7sB2HKxtgQ3sw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YfoPGgvNQGkQ63WfkFMmAojr2+sCV6u2NiQm6D2oauU=; b=B+fSg6bPKmV21X/4ZeTDqzBdiOkzDgypqD79SQeeut2zNngCIBrxo2/H3zthlZUUWq1iSerJFfrWvTSh+ERXJE1AyJa+sRLGSEiiyckQzG9gIbzQE27nkjCN6CsOErG6ahPVYdvEZPXf6KDCN0977fDezjRo4CuS8m5WfjwS5BRi9I5Df60cDIkD5h3+9/o1tYOXpjanGD82hEISqQUU0t2wE1hf4XrcHnf0r8nEBDlwadZw/58pon/nOmNp6LK/I6yUz+hRRqXVkje96SYT2uMWp2aSwO+FWmDCfoeX6Wb1CC6uX8yLKuo8D95/PGex/WJvCUx4DlfFf7zR5k59Xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YfoPGgvNQGkQ63WfkFMmAojr2+sCV6u2NiQm6D2oauU=; b=cuhec73U5FRZQ98bsQlBdHDYIfSTZzrvBWweAKVxUWHIfcZgsnyIsveG3xWNlDh/ksHLGAcuvSKK9Vcz+zbmhM0KJmc4zC+89V5+/boSdlWPJ2hBzv6kTINyJqH2ZIumzeX28ElCAtusib0fQGfH0YPfRIs82aNUNe96zh02quw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SN4PR13MB5279.namprd13.prod.outlook.com (2603:10b6:806:206::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr 2024 07:49:06 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:06 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 07/10] vdpa/nfp: setup the VF configure Date: Fri, 26 Apr 2024 15:48:28 +0800 Message-Id: <20240426074831.1729792-8-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN4PR13MB5279:EE_ X-MS-Office365-Filtering-Correlation-Id: f14a88ef-9f8d-465f-f972-08dc65c55950 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|52116005|1800799015|366007|376005|38350700005; X-Microsoft-Antispam-Message-Info: 7Qb/5vwsdr5Arx3i+YxsaaMYSkUSxCgDOUlr/3Zd5pedyRvz1rvNgN4N8W295swXb6PbAmLKYry6HSrNuuEFeK6298TSnAe6BLuZ42ti3jkpt7HZ4Spiet0kXcU7BQLW9wjBMXaVvmM+nQK6aWmKBNfvn4hAfVsdO7boTVlhd00VMPiD7W1KsrC2Xvj+ZBCVHsaWKOb9XYbdKefl8c1P+JJL/b4YmAVwEi1XVm9HcYjXizb3DMSn3V/YTe4mQpgn5XVqYXxRrwVDAAIeLkFaHZqSN/Kzcwn0qhtK3VvbgkH0/05SURe45jJLOaVJauDI6KHAGYpc1i2my44cC+UnaL7Co2fuB3SaVhgI8t0qafCOJU3Ext1EwknUF6CTRSaCFRQb38lfaMdk/l5LwHq9+WEKpDHiIzHSxuI56Eia/7njMHVbFjGF7wui9rDZ+bXv8aAoti34tK1+CjBcKRtWi7UB3vYdCDAj1iVmrwoXtLT/fymJ3kDPNnVTYwXJyspNW6olP0dZ48kKW4SYiOErfIOP2PPwJJXFfxlAvfR7sKiDEJ8wlov/eQl76Ul6Kl8W8BjrxxPRn4+B77yiiH5XqTt7DST6q0OXowGuA+3jeKuAyIHiLd4pLwLngj+UJYIGeU608OhJlWOr3BGGaUrqilc/pwy+6A4IZsBcTgVTOr3blbsSc2/lPnzG++P7Fr58AGp5F27QD3pI8JewiUxzQxjzGCjf440jnMa3wBkxYerrxREXdic0de2E3lkteQaDhrx93Def6E1uUEewPoGTUTYTFXqVlNwLmQTSWnFl9NOYaLQQ6MbQoZj/gRPBpwg4bP1NJt79c8h5CaWQ6CBtutxS86o+AcngZUtPJTJ5+kq75BRF0KuIRxsIT/ZTn2q4SwbNeU4RdfIqrMg2X7mLdT/PMDT/RJqewwdUN3WGFnKJUJGMg3Nn0ugVuUHmR9SkRpseCbTHZpHelgEI6Z3lhpMr7vhbvdJL6kcqYtbLbQovz7+ecvM0MQxJGXtxMiHcZNa2vhP0+dQSZf+55aVB/ZcO5kbsQ1RyA/xg442Erh4MM+bMIaxrmV6muAskaeq9nW+TRSDjDjrGdQssdOYFaHK6YMotw5+CD9EDD1NS5vgOsveejbfC4mN1QfCHxWwsMu28IvRV+wJ/XgkTYr0nPI+OVicn3JnAJ7u0Fks5/4qZ3ZVs0I5V7tA+YqUU0QQM6Ve5G795MiV2mJAivWi6eDvqEKDTuT6+7CAOdRqmBfXZcxsoNYXG1TFA1irjnjgCU0VmrBSI0CB/jjdBKg/gWglfC5ZcuyawDMEI6RvLnkFySWHeGlsHnbYKVQaZdYGWjEf28AL+aoTGYZSKyOz61g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(52116005)(1800799015)(366007)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6DApxdFkEpvzUbS6QM0tDLNT99FNiHboAjdGK6uil/gIhWWLxWCrZggV9rOJAM4+t8Q/rOiUejcLSrhoXDX1oq6E4GXy8P2Baj7on56LxGBMws1LS09KZwjA/7F0vEcQFtFwjBiaSw3n8QCaZI6mtFJgU4dAiUZhK3yQlkuk90d/f2Bxf2ghBqoVL747xZYEGnzRZUofxBqsx1SQxGuE2rIODwmJmx2bMJN6V9YCKBgc6JNoxly4G4In/astfstHHo4B3Gz/9nrz+eJGpbEvfncAc9aBpl4YEXuBcpitEkk0nMy4eM9F2UOkADPF5rJw/MFEZyFTzEJrugjhkrfK3UQTeur/vhb0QUMvBFE0lnVlhEtLzUA4sLxy7QVjiP8kz/nju3k7DzSNvTwNOrl3O4SVjc78KdmhohfdWhn2jSMUWZSQrg1jTyDR8LknK0Xh/Rtuy61+iWCIs5fvy91/w//JMAFhevr2lBfE068jjlrBDm73gpXbtK4wwWLWy8aJn3pYTebH3UaRDm4dUse3I0wzbmq+Vb3MvFwr2lIR0tMqYkeq207rXYsg3knC0iD9zxfhdHkJS872gDAdFga98Eg3RYecRPkuqnXw068elPan0a1JoC5rPlRD/eUz01hYTqyNnF6u6OuhzwwYMSwSp2jqQ1Mw6BJcwbjKaR03YFtL8qzqU7onpF1fdC4VJj1KuomcxSJyDh02aSDICVBWDwEU9V3ianW663+HeAs6YCYWyG+7w+as/gsKCj7OxBNovoQa0H9aUWeT6PnrqzPdvG5teXYNgGPNnyP1f/6Yizf9eq5ip4AseK37L4Rh8BMWarjDLlYQ6xbETzoWdYvF9Pq/DuaslP8Vn4NU5hWWB0oavBn0lpKUnH1vS21t/NL4ued4K7uzm+1SZW/QSN30BSyXJrWemJBPx14TfMwqMMPatGhur48xV+mbKfzXAr+2f1zNmmY4XrQ9uY+IN71pWcp27HhtosR4U9vLUNn1qNjHPPrpF7WBAaY1F7ojtPrvm9ctfBvgZVF4JT2R74pmeJXqRkHKUceHKzlHQMHmnFhFbt9HQia1YI5cU8jQWE9Me4ewnTW3ybmDovjnsoURfMirBkl9Ngu9sBSmDgazagn/kx1OiloPdQv1c1nqqiu7GLYmv6c59iAvjh3XePyj3fp0qsz0Jx171YRtrg6V1pQ1uwhaxo4xQEZ8KRdv7QbHXWvP5IARh4aiWA6jDaRNzIq6XTTTQoDa6AB5liGlJqQHOBqr81rZEpyCe66+8e1/ZMkxdGA4xbqitNBQOX4pwjZi6EgINnC8d+k8p9eBAlpO/qXt2RAlDrjy17r2aGRCAOOqrGik+yGVhQNMNkBAPAzd8eT5Hm0vT/uhrExua22l+ppGTfOElCWvZMcreiDUZ4P7+zoZU2pJVzqGglraUy3TDpjQv7bSvBJx/vrfIz09HzHO56MG6Vijjh1pG6H2EtAkBGCY7QpMJm0ZctZeLrgl7oY6+1Rl/MMHYjMpPggXZnV8Cdrh++bLh9e3lMg7rxXn2G0uyenoz5Q1s2ibRSFOUNTwLo2UH+i5/vpojOEK5v4JGq9QdhveT3gMYv9G24BSntd6Xo6Ec1b5G+adQw== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: f14a88ef-9f8d-465f-f972-08dc65c55950 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:06.4029 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: W5wM9fhf202hdvty5Gv+G8QAWed89v2DCJgz+013DObI6N9cHuP/BpvPMdxj+5QfwOdrrVkLCv2+MOL0W54H686FWXBLRoLm1El8yqqx/So= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR13MB5279 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Create the relay vring on host and then set the address of Rx used ring to the VF config bar. So the device can DMA the used ring information to host rather than directly to VM. Use 'NFP_NET_CFG_CTRL_LM_RELAY' notify the device side. And enable the MSIX interrupt on device. Tx ring address is no need to change since the relay vring only assistant Rx ring to do the dirty page logging. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/common/nfp/nfp_common_ctrl.h | 3 + drivers/vdpa/nfp/nfp_vdpa.c | 202 ++++++++++++++++++++++++--- drivers/vdpa/nfp/nfp_vdpa_core.c | 55 ++++++-- drivers/vdpa/nfp/nfp_vdpa_core.h | 8 ++ 4 files changed, 238 insertions(+), 30 deletions(-) diff --git a/drivers/common/nfp/nfp_common_ctrl.h b/drivers/common/nfp/nfp_common_ctrl.h index a0e62b063d..9311d01590 100644 --- a/drivers/common/nfp/nfp_common_ctrl.h +++ b/drivers/common/nfp/nfp_common_ctrl.h @@ -186,6 +186,9 @@ struct nfp_net_fw_ver { #define NFP_NET_CFG_CTRL_FLOW_STEER (0x1 << 8) /**< Flow Steering */ #define NFP_NET_CFG_CTRL_VIRTIO (0x1 << 10) /**< Virtio offload */ #define NFP_NET_CFG_CTRL_IN_ORDER (0x1 << 11) /**< Virtio in-order flag */ +#define NFP_NET_CFG_CTRL_LM_RELAY (0x1 << 12) /**< Virtio live migration relay start */ +#define NFP_NET_CFG_CTRL_NOTIFY_DATA (0x1 << 13) /**< Virtio notification data flag */ +#define NFP_NET_CFG_CTRL_SWLM (0x1 << 14) /**< Virtio SW live migration enable */ #define NFP_NET_CFG_CTRL_USO (0x1 << 16) /**< UDP segmentation offload */ #define NFP_NET_CFG_CAP_WORD1 0x00a4 diff --git a/drivers/vdpa/nfp/nfp_vdpa.c b/drivers/vdpa/nfp/nfp_vdpa.c index 1643ebbb8c..65f7144671 100644 --- a/drivers/vdpa/nfp/nfp_vdpa.c +++ b/drivers/vdpa/nfp/nfp_vdpa.c @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include "nfp_vdpa_core.h" @@ -21,6 +23,9 @@ #define MSIX_IRQ_SET_BUF_LEN (sizeof(struct vfio_irq_set) + \ sizeof(int) * (NFP_VDPA_MAX_QUEUES * 2 + 1)) +#define NFP_VDPA_USED_RING_LEN(size) \ + ((size) * sizeof(struct vring_used_elem) + sizeof(struct vring_used)) + struct nfp_vdpa_dev { struct rte_pci_device *pci_dev; struct rte_vdpa_device *vdev; @@ -261,15 +266,85 @@ nfp_vdpa_qva_to_gpa(int vid, return gpa; } +static void +nfp_vdpa_relay_vring_free(struct nfp_vdpa_dev *device, + uint16_t vring_index) +{ + uint16_t i; + uint64_t size; + struct rte_vhost_vring vring; + uint64_t m_vring_iova = NFP_VDPA_RELAY_VRING; + + for (i = 0; i < vring_index; i++) { + rte_vhost_get_vhost_vring(device->vid, i, &vring); + + size = RTE_ALIGN_CEIL(vring_size(vring.size, rte_mem_page_size()), + rte_mem_page_size()); + rte_vfio_container_dma_unmap(device->vfio_container_fd, + (uint64_t)(uintptr_t)device->hw.m_vring[i].desc, + m_vring_iova, size); + + rte_free(device->hw.m_vring[i].desc); + m_vring_iova += size; + } +} + static int -nfp_vdpa_start(struct nfp_vdpa_dev *device) +nfp_vdpa_relay_vring_alloc(struct nfp_vdpa_dev *device) +{ + int ret; + uint16_t i; + uint64_t size; + void *vring_buf; + uint64_t page_size; + struct rte_vhost_vring vring; + struct nfp_vdpa_hw *vdpa_hw = &device->hw; + uint64_t m_vring_iova = NFP_VDPA_RELAY_VRING; + + page_size = rte_mem_page_size(); + + for (i = 0; i < vdpa_hw->nr_vring; i++) { + rte_vhost_get_vhost_vring(device->vid, i, &vring); + + size = RTE_ALIGN_CEIL(vring_size(vring.size, page_size), page_size); + vring_buf = rte_zmalloc("nfp_vdpa_relay", size, page_size); + if (vring_buf == NULL) + goto vring_free_all; + + vring_init(&vdpa_hw->m_vring[i], vring.size, vring_buf, page_size); + + ret = rte_vfio_container_dma_map(device->vfio_container_fd, + (uint64_t)(uintptr_t)vring_buf, m_vring_iova, size); + if (ret != 0) { + DRV_VDPA_LOG(ERR, "vDPA vring relay dma map failed."); + goto vring_free_one; + } + + m_vring_iova += size; + } + + return 0; + +vring_free_one: + rte_free(device->hw.m_vring[i].desc); +vring_free_all: + nfp_vdpa_relay_vring_free(device, i); + + return -ENOSPC; +} + +static int +nfp_vdpa_start(struct nfp_vdpa_dev *device, + bool relay) { int ret; int vid; uint16_t i; uint64_t gpa; + uint16_t size; struct rte_vhost_vring vring; struct nfp_vdpa_hw *vdpa_hw = &device->hw; + uint64_t m_vring_iova = NFP_VDPA_RELAY_VRING; vid = device->vid; vdpa_hw->nr_vring = rte_vhost_get_vring_num(vid); @@ -278,15 +353,21 @@ nfp_vdpa_start(struct nfp_vdpa_dev *device) if (ret != 0) return ret; + if (relay) { + ret = nfp_vdpa_relay_vring_alloc(device); + if (ret != 0) + return ret; + } + for (i = 0; i < vdpa_hw->nr_vring; i++) { ret = rte_vhost_get_vhost_vring(vid, i, &vring); if (ret != 0) - return ret; + goto relay_vring_free; gpa = nfp_vdpa_qva_to_gpa(vid, (uint64_t)(uintptr_t)vring.desc); if (gpa == 0) { DRV_VDPA_LOG(ERR, "Fail to get GPA for descriptor ring."); - return -1; + goto relay_vring_free; } vdpa_hw->vring[i].desc = gpa; @@ -294,45 +375,122 @@ nfp_vdpa_start(struct nfp_vdpa_dev *device) gpa = nfp_vdpa_qva_to_gpa(vid, (uint64_t)(uintptr_t)vring.avail); if (gpa == 0) { DRV_VDPA_LOG(ERR, "Fail to get GPA for available ring."); - return -1; + goto relay_vring_free; } vdpa_hw->vring[i].avail = gpa; - gpa = nfp_vdpa_qva_to_gpa(vid, (uint64_t)(uintptr_t)vring.used); - if (gpa == 0) { - DRV_VDPA_LOG(ERR, "Fail to get GPA for used ring."); - return -1; - } + /* Direct I/O for Tx queue, relay for Rx queue */ + if (relay && ((i & 1) == 0)) { + vdpa_hw->vring[i].used = m_vring_iova + + (char *)vdpa_hw->m_vring[i].used - + (char *)vdpa_hw->m_vring[i].desc; + + ret = rte_vhost_get_vring_base(vid, i, + &vdpa_hw->m_vring[i].avail->idx, + &vdpa_hw->m_vring[i].used->idx); + if (ret != 0) + goto relay_vring_free; + } else { + gpa = nfp_vdpa_qva_to_gpa(vid, (uint64_t)(uintptr_t)vring.used); + if (gpa == 0) { + DRV_VDPA_LOG(ERR, "Fail to get GPA for used ring."); + goto relay_vring_free; + } - vdpa_hw->vring[i].used = gpa; + vdpa_hw->vring[i].used = gpa; + } vdpa_hw->vring[i].size = vring.size; + if (relay) { + size = RTE_ALIGN_CEIL(vring_size(vring.size, + rte_mem_page_size()), rte_mem_page_size()); + m_vring_iova += size; + } + ret = rte_vhost_get_vring_base(vid, i, &vdpa_hw->vring[i].last_avail_idx, &vdpa_hw->vring[i].last_used_idx); if (ret != 0) - return ret; + goto relay_vring_free; } - return nfp_vdpa_hw_start(&device->hw, vid); + if (relay) + return nfp_vdpa_relay_hw_start(&device->hw, vid); + else + return nfp_vdpa_hw_start(&device->hw, vid); + +relay_vring_free: + if (relay) + nfp_vdpa_relay_vring_free(device, vdpa_hw->nr_vring); + + return -EFAULT; +} + +static void +nfp_vdpa_update_used_ring(struct nfp_vdpa_dev *dev, + uint16_t qid) +{ + rte_vdpa_relay_vring_used(dev->vid, qid, &dev->hw.m_vring[qid]); + rte_vhost_vring_call(dev->vid, qid); } static void -nfp_vdpa_stop(struct nfp_vdpa_dev *device) +nfp_vdpa_relay_stop(struct nfp_vdpa_dev *device) { int vid; uint32_t i; + uint64_t len; + struct rte_vhost_vring vring; struct nfp_vdpa_hw *vdpa_hw = &device->hw; nfp_vdpa_hw_stop(vdpa_hw); vid = device->vid; - for (i = 0; i < vdpa_hw->nr_vring; i++) + for (i = 0; i < vdpa_hw->nr_vring; i++) { + /* Synchronize remaining new used entries if any */ + if ((i & 1) == 0) + nfp_vdpa_update_used_ring(device, i); + + rte_vhost_get_vhost_vring(vid, i, &vring); + len = NFP_VDPA_USED_RING_LEN(vring.size); + vdpa_hw->vring[i].last_avail_idx = vring.avail->idx; + vdpa_hw->vring[i].last_used_idx = vring.used->idx; + rte_vhost_set_vring_base(vid, i, vdpa_hw->vring[i].last_avail_idx, vdpa_hw->vring[i].last_used_idx); + + rte_vhost_log_used_vring(vid, i, 0, len); + + if (vring.used->idx != vring.avail->idx) + rte_atomic_store_explicit(&vring.used->idx, vring.avail->idx, + rte_memory_order_relaxed); + } + + nfp_vdpa_relay_vring_free(device, vdpa_hw->nr_vring); +} + +static void +nfp_vdpa_stop(struct nfp_vdpa_dev *device, + bool relay) +{ + int vid; + uint32_t i; + struct nfp_vdpa_hw *vdpa_hw = &device->hw; + + nfp_vdpa_hw_stop(vdpa_hw); + + vid = device->vid; + if (relay) + nfp_vdpa_relay_stop(device); + else + for (i = 0; i < vdpa_hw->nr_vring; i++) + rte_vhost_set_vring_base(vid, i, + vdpa_hw->vring[i].last_avail_idx, + vdpa_hw->vring[i].last_used_idx); + } static int @@ -575,7 +733,7 @@ update_datapath(struct nfp_vdpa_dev *device) if (ret != 0) goto dma_map_rollback; - ret = nfp_vdpa_start(device); + ret = nfp_vdpa_start(device, false); if (ret != 0) goto disable_vfio_intr; @@ -591,7 +749,7 @@ update_datapath(struct nfp_vdpa_dev *device) rte_memory_order_relaxed) != 0))) { nfp_vdpa_unset_notify_relay(device); - nfp_vdpa_stop(device); + nfp_vdpa_stop(device, false); ret = nfp_vdpa_disable_vfio_intr(device); if (ret != 0) @@ -608,7 +766,7 @@ update_datapath(struct nfp_vdpa_dev *device) return 0; vdpa_stop: - nfp_vdpa_stop(device); + nfp_vdpa_stop(device, false); disable_vfio_intr: nfp_vdpa_disable_vfio_intr(device); dma_map_rollback: @@ -639,10 +797,17 @@ nfp_vdpa_sw_fallback(struct nfp_vdpa_dev *device) if (ret != 0) goto error; + /* Config the VF */ + ret = nfp_vdpa_start(device, true); + if (ret != 0) + goto unset_intr; + device->hw.sw_fallback_running = true; return 0; +unset_intr: + nfp_vdpa_disable_vfio_intr(device); error: return ret; } @@ -691,6 +856,9 @@ nfp_vdpa_dev_close(int vid) device = node->device; if (device->hw.sw_fallback_running) { + /* Reset VF */ + nfp_vdpa_stop(device, true); + device->hw.sw_fallback_running = false; rte_atomic_store_explicit(&device->dev_attached, 0, diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 82a323a6d0..63a69aaf36 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -110,7 +110,8 @@ nfp_vdpa_check_offloads(void) static int nfp_vdpa_vf_config(struct nfp_hw *hw, - int vid) + int vid, + bool relay) { int ret; uint32_t update; @@ -134,6 +135,10 @@ nfp_vdpa_vf_config(struct nfp_hw *hw, nfp_write_mac(hw, (uint8_t *)mac_addr); new_ext_ctrl = nfp_vdpa_check_offloads(); + if (relay) + new_ext_ctrl |= NFP_NET_CFG_CTRL_LM_RELAY; + else + new_ext_ctrl |= NFP_NET_CFG_CTRL_SWLM; update = NFP_NET_CFG_UPDATE_GEN; ret = nfp_ext_reconfig(hw, new_ext_ctrl, update); @@ -150,6 +155,15 @@ nfp_vdpa_vf_config(struct nfp_hw *hw, NFP_NET_CFG_UPDATE_GEN | NFP_NET_CFG_UPDATE_RING; + if (relay) { + update |= NFP_NET_CFG_UPDATE_MSIX; + + /* Enable misx interrupt for vdpa relay */ + new_ctrl |= NFP_NET_CFG_CTRL_MSIX_TX_OFF; + + nn_cfg_writeb(hw, NFP_NET_CFG_RXR_VEC(0), 1); + } + ret = nfp_reconfig(hw, new_ctrl, update); if (ret < 0) return -EIO; @@ -165,20 +179,24 @@ nfp_vdpa_vf_config(struct nfp_hw *hw, } static void -nfp_vdpa_queue_config(struct nfp_vdpa_hw *vdpa_hw) +nfp_vdpa_queue_config(struct nfp_vdpa_hw *vdpa_hw, + bool relay) { struct nfp_hw *hw = &vdpa_hw->super; - nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(0), vdpa_hw->vring[1].desc); - nn_cfg_writeb(hw, NFP_NET_CFG_TXR_SZ(0), - rte_log2_u32(vdpa_hw->vring[1].size)); - nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(1), vdpa_hw->vring[1].avail); - nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(2), vdpa_hw->vring[1].used); + if (!relay) { + nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(0), vdpa_hw->vring[1].desc); + nn_cfg_writeb(hw, NFP_NET_CFG_TXR_SZ(0), + rte_log2_u32(vdpa_hw->vring[1].size)); + nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(1), vdpa_hw->vring[1].avail); + nn_cfg_writeq(hw, NFP_NET_CFG_TXR_ADDR(2), vdpa_hw->vring[1].used); + + nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(0), vdpa_hw->vring[0].desc); + nn_cfg_writeb(hw, NFP_NET_CFG_RXR_SZ(0), + rte_log2_u32(vdpa_hw->vring[0].size)); + nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(1), vdpa_hw->vring[0].avail); + } - nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(0), vdpa_hw->vring[0].desc); - nn_cfg_writeb(hw, NFP_NET_CFG_RXR_SZ(0), - rte_log2_u32(vdpa_hw->vring[0].size)); - nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(1), vdpa_hw->vring[0].avail); nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(2), vdpa_hw->vring[0].used); rte_wmb(); @@ -190,12 +208,23 @@ nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, { struct nfp_hw *hw = &vdpa_hw->super; - nfp_vdpa_queue_config(vdpa_hw); + nfp_vdpa_queue_config(vdpa_hw, false); nfp_disable_queues(hw); nfp_enable_queues(hw, NFP_VDPA_MAX_QUEUES, NFP_VDPA_MAX_QUEUES); - return nfp_vdpa_vf_config(hw, vid); + return nfp_vdpa_vf_config(hw, vid, false); +} + +int +nfp_vdpa_relay_hw_start(struct nfp_vdpa_hw *vdpa_hw, + int vid) +{ + struct nfp_hw *hw = &vdpa_hw->super; + + nfp_vdpa_queue_config(vdpa_hw, true); + + return nfp_vdpa_vf_config(hw, vid, true); } void diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.h b/drivers/vdpa/nfp/nfp_vdpa_core.h index 0f880fc0c6..a339ace601 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.h +++ b/drivers/vdpa/nfp/nfp_vdpa_core.h @@ -9,12 +9,15 @@ #include #include #include +#include #define NFP_VDPA_MAX_QUEUES 1 #define NFP_VDPA_NOTIFY_ADDR_BASE 0x4000 #define NFP_VDPA_NOTIFY_ADDR_INTERVAL 0x1000 +#define NFP_VDPA_RELAY_VRING 0xd0000000 + struct nfp_vdpa_vring { uint64_t desc; uint64_t avail; @@ -40,12 +43,17 @@ struct nfp_vdpa_hw { /** Software Live Migration */ bool sw_lm; bool sw_fallback_running; + + /** Mediated vring for SW fallback */ + struct vring m_vring[NFP_VDPA_MAX_QUEUES * 2]; }; int nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, struct rte_pci_device *dev); int nfp_vdpa_hw_start(struct nfp_vdpa_hw *vdpa_hw, int vid); +int nfp_vdpa_relay_hw_start(struct nfp_vdpa_hw *vdpa_hw, int vid); + void nfp_vdpa_hw_stop(struct nfp_vdpa_hw *vdpa_hw); void nfp_vdpa_notify_queue(struct nfp_vdpa_hw *vdpa_hw, uint16_t qid); From patchwork Fri Apr 26 07:48:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139696 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B81B043F12; Fri, 26 Apr 2024 09:50:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 20B4C43CA6; Fri, 26 Apr 2024 09:49:13 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2099.outbound.protection.outlook.com [40.107.100.99]) by mails.dpdk.org (Postfix) with ESMTP id 7EC2543CA7 for ; Fri, 26 Apr 2024 09:49:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=duJA3eFC/1ztO8wSD6d7Cy+nhXI8mtPNANur7S2Hbnhyke4BlriCftz6XpxDhEvN2yQFTo2UugYeiPW0SwFn3pHPP13Xp0kLeJ/9ikw7icyTHt0IrJrUFK+SvaE1WtM8rPC3V4dqYZ+KjUc8M55DrgkAHkTeD6/RBwze76W34ZsJyPJ1rfthGxJlphoDRuemnIiO7to+hl6ypSYMb1SwGz57dvaUV95FRjyasNbzpAMg99nnj6JDFDR44ppmWFud6/vPZvcKDUEqrL3iEix/J8hjSjQLbBEfKuJ83W2KTfQ8o0uESTBNtuUq3KAcAOnHzKxx5UfWu2Ff1ntpHY+FqA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=924nGm0GtaBdL5nSnBqg/MTlA2wktzOcSbYcml8W2eU=; b=HFjqk0Zsc0sbJPNiqY4pQYqTUq5VsF1KdNXA73onO74d+rPgsNYdSRp3jNXU1a5F57+fZkMj9Pb8/jUVvBugNDVxJCPVL0kwd3AgiX4GjjawZMZj9Ry2b6ZYfJQqxm6XONJ/elWxPV3LXg394sISq/Jl0bXkD0s6GPCdGHLdecHZYdw7HxD31utktMoae94iEFequIw7zf0dryNjClVFT6hqi3prdYsPnmGyd6ifI9KMleJewWe7YkIRBwqwLqZFjLGg1WpPnhFC5ItH/tQLFjbtcCbSI0gaxrvJVfkx7TLkxXtyMiVI4yBOELeb40E76mnU3BSkZUPS8oSP+ZFA9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=924nGm0GtaBdL5nSnBqg/MTlA2wktzOcSbYcml8W2eU=; b=hY4aNB5sWBMMRZiXq02hEkhihYdMtpBDdvgjJdMCA29YxpzCGsHKT4Zpx0I2uAbzT0317QbvE2ZX/8accFS/IkJl/5GguPJx8+PfLQ/uhxt7QaOsPSplAOrNrffLhVrx3ijy8Hxs5Mppa3v7Yb9ZRM0vViq0JZEfhFi97qfQfVM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by MN0PR13MB6618.namprd13.prod.outlook.com (2603:10b6:208:4c3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.11; Fri, 26 Apr 2024 07:49:09 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:08 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 08/10] vdpa/nfp: recover the ring index on new host Date: Fri, 26 Apr 2024 15:48:29 +0800 Message-Id: <20240426074831.1729792-9-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MN0PR13MB6618:EE_ X-MS-Office365-Filtering-Correlation-Id: ef3d5c9c-58dd-4bc1-0f3b-08dc65c55a92 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: 1AxF67ruS/rZNon4ANOMT0CmZ4nj1QsI4b7QhDetDrwSZOtzosnGP46Uij2vYiASaw2lhPykZo1LDYAJ+Fg9ucrB6RJay9dqEUuhx2fBLraI9mS0rZ9lr+BVDsdoeyL4Z8pXHkNHX6cuAysRmTctIxOPTmHEj73aVpEKweQ7tt5IwKJmK4jJmCYkD5EPr9SWar5+FVSm21eUpfy1GHu17Y3pUbg2g9i0JusG986TfFd9jnwkUF/Ge14X+xBnIPXM+Sx9eqjgdxs5N4o9bx53rH0ebIp0QS+pZ81Hs3lpV8USM2xzoAFoYevNp4T9m8284WtyqFjFklo1O20x5/EWZQuT0e6cXjZST8y30IYMxio54B5NY+ar0aGSeTZzl/rFEumPW1DvSb/QHM/nh0vbfh6j0CvLKwU4HrPG9qaKe7e60q2+qBmPeuGfw6kVpLxkhUucTnPwlc2iBOCR8JNDqexU7WlrNOiskAj+kyBlLkEst9cwxF7kIJoPUQR+9BNYVnm0YoY1iVpGQaQT4zPcBxVtGbSDpln4u3N8s8p/ZNQ76r1lfDjVXCP1YURO0f/miQXhFM/J+1nSEX//HrOSbbIhTh82a4HizPSdwATsUTcPvPzW5ax9vMpGQbxgDI/AwAV1T5NPyiZupiVZp+U0MCy2g293nCIaHvz4mm4MZKfGhKOIpshUXsyLILG/nVVuj/vGTrvsRvovUoRrBX6dR1G8LKdsHIWG7dZNrSlBKtezs2rUN4M3K3wrsbU+Hl6OpquuHaHKduKfu3tP8sjMaKyMxCy4wQAcdnze7SDb3g5OITXiKeDneWvR317s3w0wpGxsykd/+63XddBVlgg/LyirLWXU4IfRiOi1Ho7YAoSaTlEcdHbtsyMzgQjJE8enhheLKbXuMzLwqPmh5WIfLetPwcWxWNVCyqlBYQ3Rkr4UwFadiki4eu/xrZ+odsTatgOQF5llXlF/2UT5oPqW69hQGlBm8b7CVya1BbetW7ywv6nhyaH41FU8a3q/j4iN3GBFd98zTXCTlpelCoSfjYjnbU3w7/ESiMtAvgpGYY0d1Vr1DpDrsGq/sMkT2ixpM8ZuWATyUmk8tFzLF7d1uoJZJgNO1Aphko4+4WWp0UXj+r1nbxJw9anYrTkF3swVCyyQYBujAphDh7JuIQYdwUoQdpv7Ory4R7t4LHK7j6vrqGeJ926VfSUJ3zKQfNXikCGKkPEuuDjj3F2Sbn/Ch4iIQ1rc1WvvwdBDEKpACC9Oiqs5aAVA4wCx4cOKyYotbGIKWCsOGRe2oehy+96D6TzvnyZjE9CpHhmhEQNLXc5ahGe3UAS5BJesxIsclCaFLnvfgzq3oSgCmU60or9zSw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RXT6WeJ5fIUhMsJuEeNTqUduzNrwcFZ9cfqNqNwAL5lgmcOc2AbBdna/lhIxwRpAzL0gKY7cNnVshQO4YD3bOzxhg/G8IvLzlyNc/5Yw6FQDk5MRK8s6/4+2HyEWtesfQ0ZOmZurN+yLUBwi8bDHusRzrG0ltksuQbLfDGwBX4T23XISCiLW3dnl29G1IBQEMyE0nb4ifmAieUBJhZyxtzkrypY6g1QzKuBd/MrZPtw7AMlRy4IEqNnakA6Pd73bA8CELyMf5txmn5VdGNKCo9MiPkxdT70unZycmVUptrJP/ut9uXr7Yw6PdmrCAVbb1rroElURp/ExPkLaAP+O0GfIBfMEgfT7cv3EylCQX4M8QswVYl8ISbLR/G6dIscj4lZRx63zpsvUMNXwS4bB0E0PzZTC7AuaerENYomMyspm1xxWvCwFrD/C/5qlDxzCKwaYe+JlJgJKZobwsFtk66jIIoQdGfhSSHdsaPv91pro9inXT+Ol+4JyUmZ5SlduOWAhGDB04LEGX99aEnFR6R85pPN5qvK7oVXAFyZfJ0y2tMu8wQ1RXC54y3iK5myEyt2lcHyuBB9r+m+6NA/P7Wu4nSpI0rrgYrYElcCQj6YkBlHJDOQ5gBqaCkfFlemtxQ8SQCc5/FLKXeHJdbQwFUCCATwg2hslsJ4GaWXSKGrubzAM3pq/6MD5tKcT7uVaXdWEwRVqbQSOuCJaJQJikrpKVk03C67nu7Uo09uJK7z1BFTtCXIT9Zuot5qxPOApqOMDiFpQcr/iHj/gLEXw4+NZoQIfHQLHqBcA4EF1N51tDH5wdR3/G0nPDlyob+z4PtqWl8b/6nwPBn0Jl4QCwZsvSWEVIYGfPrk3KCiH2xnoxghcWns6USB2g9Cv00hpbDB/KVcn8gCKNLjJGQNqMN8uPrSWNG1uh/Y9l+e6cHzWEIrJhCCxzHd6nRcITyvuTfjdLqg8e/pzWKGekYnegCrFKLD3yOfXYaxWx+38JVg795AJ4Axttx3dphdyGrToMek4nv8AbAL7pA1XDo/D4HO/YD8D+W/TupvncU7eZAUwlJ0lN0NEHG6/ADbctxCSRKmhLULIFM8GnwKoT4eYdE/Mx52kmCCgPyfKcvBcS2w8tOr4jblvbo9W7HjRcHwGbHZIFRf85SGmtWc2l+iMGq+NF7PxOEy/gGwAXjvWywKnB6oborZqvMFA1VtdZTw27z3vZ5+0L5C2NXE8lbuAqTyeGuzmLKYSmsQc4UliYsT25QdJfNOwVFXqidVmYjeslZRtGBtUItzfF2yEamXYlm38wijT+4VpTCcjJBEvlLDFqDXs5wa7X/T3vGegUXEm13baXt35dbEpKf+e2jrgv+mdDCbVqHEdNrIm7G/OhiY6IUPmQ9Zd+36pCnkIzJqaxKaLUwJEJ5VzCVUg5JO8bJYuovFafpN4+6Ojh6wPgBpnUp+5bYfFHtK43i+wqMtAmEPM+c2BR0TWJaIyv9TA67XpduT1I3jURbmylyOGCTmoCUq7UqhUdGUC5xf2sZb+TsXr3HhVnsr6XSI75JHP3xs6bJFWye1HXWDaZhibR+e4/XI2WjLCnGIQGYfk4xhXCEvson0ys9QtLN6QIWtQ3Q== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef3d5c9c-58dd-4bc1-0f3b-08dc65c55a92 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:08.5395 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fARzM9LlaTHhATwWCx76dHOc7MsbQ6RfebEWdwIRXsU5ozAOhTEm5OPBy+ggCKDwBBXuolq8UXSwCuuQyW/5YBRdUmtn7f+yTZCGfmnPGro= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR13MB6618 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu After migrate to new host, the vring information was recovered by the value in offset 'NFP_NET_CFG_TX_USED_INDEX' and 'NFP_NET_CFG_RX_USED_INDEX'. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/common/nfp/nfp_common_ctrl.h | 7 +++++-- drivers/vdpa/nfp/nfp_vdpa_core.c | 13 +++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/common/nfp/nfp_common_ctrl.h b/drivers/common/nfp/nfp_common_ctrl.h index 9311d01590..4b273372a8 100644 --- a/drivers/common/nfp/nfp_common_ctrl.h +++ b/drivers/common/nfp/nfp_common_ctrl.h @@ -193,8 +193,11 @@ struct nfp_net_fw_ver { #define NFP_NET_CFG_CAP_WORD1 0x00a4 -/* 16B reserved for future use (0x00b0 - 0x00c0). */ -#define NFP_NET_CFG_RESERVED 0x00b0 +#define NFP_NET_CFG_TX_USED_INDEX 0x00b0 +#define NFP_NET_CFG_RX_USED_INDEX 0x00b4 + +/* 16B reserved for future use (0x00b8 - 0x0010). */ +#define NFP_NET_CFG_RESERVED 0x00b8 #define NFP_NET_CFG_RESERVED_SZ 0x0010 /* diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 63a69aaf36..8f9aba9519 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -101,6 +101,16 @@ nfp_vdpa_hw_init(struct nfp_vdpa_hw *vdpa_hw, return 0; } +static void +nfp_vdpa_hw_queue_init(struct nfp_vdpa_hw *vdpa_hw) +{ + /* Distribute ring information to firmware */ + nn_cfg_writel(&vdpa_hw->super, NFP_NET_CFG_TX_USED_INDEX, + vdpa_hw->vring[1].last_used_idx); + nn_cfg_writel(&vdpa_hw->super, NFP_NET_CFG_RX_USED_INDEX, + vdpa_hw->vring[0].last_used_idx); +} + static uint32_t nfp_vdpa_check_offloads(void) { @@ -199,6 +209,9 @@ nfp_vdpa_queue_config(struct nfp_vdpa_hw *vdpa_hw, nn_cfg_writeq(hw, NFP_NET_CFG_RXR_ADDR(2), vdpa_hw->vring[0].used); + if (!relay) + nfp_vdpa_hw_queue_init(vdpa_hw); + rte_wmb(); } From patchwork Fri Apr 26 07:48:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139697 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6C36E43F12; Fri, 26 Apr 2024 09:50:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6FDBA43CA9; Fri, 26 Apr 2024 09:49:15 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2109.outbound.protection.outlook.com [40.107.100.109]) by mails.dpdk.org (Postfix) with ESMTP id F287443CA0 for ; Fri, 26 Apr 2024 09:49:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eHJzUeMaGksPCwzJjIy21/boja5XiU+fvR7Q4Bol8OeeRrG1HFs2DBoHNYoJpP+FPv5tMjOxWaBtzauGMkYLfRXCmblUyXCxQCjmYRz0MAViGTqXQixbrZWwMBUmAJZ7vfmpbqWtAuJUq4uE0Zc1ftTGJJTgAIgJ2/vkRJ3mDvi37yh34T1kFXrfX7Be4gzJurYa6nYKbWZ/hX7BNfxuc6U1VWN4zFEye2c2SiL85k/0V9tcpz0HjFM0RJd2gp6G1HW5QNmeijNQMDNUTk1R9PVsfg2uggfBYATDNqbYaRhv/DQvI43kiM8+vrYVnfD5cwiwfpBHqnKIfXmjioHLSg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xMxuQt0p9O/CFuebIu4mFZrN+7slowqspnyCc6Y2VBw=; b=OR9DMha04bKyhp63VHHGL3iPSS0jek+J8Z9lpYe77Sknn1HhZ477npiStS4kxiix/jHhvTt7Rku/0mYGcfgpH+23VrDUzgmHHE2HhitC8BnTgiAIoXDpiVIChwpJCPQECS3yaKHH8PL5u/lTows229yi1TaIikiBpxAGbVR0d4jNzr1zgGoQLm1cx46LLGWyZoIU+SyibcH0NQY9/srbM8DuqdTB8M5jON21a5MI0LRHM/FTLyxlaondGuKbqdE77jB36GhOOiNt3OBokz0veBRa14HA9ycidhALNkKMAFVc3hMTzYWLCJ7pnIBSDmeBwzQ8KHcA2l0P1P+otVytrg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xMxuQt0p9O/CFuebIu4mFZrN+7slowqspnyCc6Y2VBw=; b=lZJFr4/AhaffxorcBLuqVAaOGcI5DBe+naali6JrGzdL5WB76+if6fDMXMSC2SzL/4xrxVzwYVU/oDylUHN0ptGeWjg/Ra15TKNPRVt7mTxknwAfff6iUG9tK0g8VCAcJL7mtnSOmfmiF0+Duh9709dwZbIiDVYNocSMSR03Sjg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by MN0PR13MB6618.namprd13.prod.outlook.com (2603:10b6:208:4c3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.11; Fri, 26 Apr 2024 07:49:10 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:10 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 09/10] vdpa/nfp: setup vring relay thread Date: Fri, 26 Apr 2024 15:48:30 +0800 Message-Id: <20240426074831.1729792-10-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MN0PR13MB6618:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ba9b761-b6e1-4d6f-b877-08dc65c55bd3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: aNxu3NySWW5GQDyPL+2O7FN6X65CFKdJacLJfkT/PxUpV5Vu2FnH7bPuGhmveH3HMRB237NrfPXDB66ssOfxaW1QexeYYpR+jtMvkS48f4dtm3H4oIDBbihfqoPTpihj3Y0jHKYhHTrNYGNTiHgfCP5bWVfDlKCBbuBTcr556lnbHCW8xv3gjRAs0Xq1rymOqi/w2SxAkOx7lthrqTR3D87GIschLGVBtbCEoKGTuUVkfBgVkUMDYOXt5QqtZS5Tm2RFnB5HcdsE0pi4ZzYuALOlRHjTMMBA0f/IhfnVUh7Oj65FeEnW7gsfJIObgxpkHK5Rp9PblfwolR2AvcxKF0EoPEehUU/zmg7qPvIqOKMqkSB1WsosTrExS7L8sw/67OFDYXSr7UCd63+w7ZGecWikgNLqeSEv+qg2m8gKF5AwkfCX/MVoXwaEP6aUgHR4UYm9a4wjaNKYO3nlRPYbCBoHTFzpC20Ufhbr18+vH/0NxbBv6mItYw9cuaV2sTvMJp3NHAMZCZIXJnaaiRJrk5XzD58sgxqSoekeajNYgK3tBke//k2ZTQNf+H8PYNj7YQQNSSETcKlgd1t0F5slnvW1Nxm2XfftCnY9HGbKfi6vcjaqHiXAU6pI1gTw0+xn6h6u9ct0ts3iQNfbgU/84m1li6ZRmHyCw6QfHcpSxBf1dxJWDEnp7yzCBDljq2Y33Tw0z+mfkEfzQyq6zsyp65sHPjMfCFqRHpTf11oBc5WjtdHbORuUS26oiBgxJWpwAfIu/xZUs/zDYCPlRRZM+YvZApf4Zjl487SbF9cYor90220L2MOVLuOO/qj++iGnSYr7WDnI4QRLhAb5TnZO6k2DAhOmAsepOwAQyjRVfkh4DC7Pxe5tecRhAD5o2D1iWD/HAzM3pMwM9WAHo7WbjneY3R6nffXLSqy7JfH6tVi0xMPMvJ8VJ+6kYrGUfXuVfeeV3wT+DbLHCF98DMnU2liLgS7Agr3UHryI20Mx87Rc7CaTdcn6+RKJyJWJKKlxCbTZrcPR3bzE2Yv+fgivkgNuQQIMqeX+ehlbtrbN2bcizbV6Q1N5cHyskkLbwTJ7/C/cBBvS2tT4R5KzRaS2sMEaz+TJTnDOItiMj6qwx5VeepXL/IgfM1fAgqNlTyqfyWsCls38v/ZWVMyYnIv0v43XpNehU0eCIsUovzAQd1djoLDdrbSlV/Z404i6+JuzLiJ1d5KRbFbqYNYqgy/Lzbrbzn8l74SPXS/VowzR2ffQD/fpquIsRCZpYpyVVQ7UL7nMKkpQcHdGhFuhCLPbZQuosWz+fFCYG58++4N8h6ibQdFvRpCF4fx4IRWndAUcFbrB4y83QiNAosD+upg3vA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: khHpFnjqwYXerjcpZci7cvr3SiRjeGG419dnovvSpLe3swpSKzFErmohSxt/tNgRE4wNYtqBdgGa0cQu0fSxKmG0SSQ+vB2Jw91bXOKPnMHxkGInPHaIw5v1ALBWlsXtpTUIrjpBEEIznuoCbpmgSQeoPY3tC6NqYsiNX59VUNIxtnqNmL5csYwReiwW8O2sF4CyVZ0YTrjgmz4UD2If+nKkZnadtxn9ojpmCmif6LMMteeT9cumsA0NMDnurZqQyZEKyJ5PrFk/0Z9EsvIAd+Ems3ThE1yRKAPlfZUzclo5nctgdZAS/tyejz0DPZPyhIVTMTMqono3TiE6HjaqnLtU3DiaCwRR30HRUNJPG38gKwseP7VbTavPDkTGYUJUUZ5mFJHws9y5hOjOSaQ/Jc2kab2UApgZLV5I9uXCSK0wpJTQLOm+Edl0aQiUJkoBgZBAn/TuXx8/IbshCEDHlMwCyMo9iwbhQuO11cLuwyMAlN/CJacwBDL/llSNjPv/xg10qs2RA25ariG9+BWP4xB/PKxtH4EyqRBQEpWlDhPEf38n0aVkrtOhP9TUx4CS7DGe1c6nFuNLe1M3OKDA2rXVv31+hhPGz0hiei9R22fMfftDEDJF2by8iK6p8w/JCKNbVMb2iNiJDF2i26DosrBJPbasq//gUIAX9jhWZ+L6fAvy3inMAxragfTqi8WfVrMHM7TyW1xS/B91BOwxD/Y4dt67NBhU9SLA04ZmJ7va9mAChEulmrII2/7HiXctfzQCFOaFJIu6AptZ6wN1gkOfYksKOHFu6gGJ6+lJHkYzjafXwyafhpdOaP+LrxM+WU3ETafQOpuDQBthO05ERKElnrIMJWeyMUoADEkty7zn65N6d/0G4BkHTxlLOvFNkXuPF2DLTjs+87SaYx7cxAHfMrTJoGb/d4hI917AbuosLuZTHjfWfTbvSIPUhEKWJwPRQmXRisJZs/krS0IECyTKbqC57KfUUQRznGG1MuVeWt9vcr1WHqVYccP4McZWJ+3jvsdjnZKSGB0HUQcZWgKUinQMAO/LkvyxnV0WMxiheSqe7j4P6ls7Euji6miV0IJ4Q0pBgCXLAGsj7Ri33rKy2IcrhLu3sS0anEiEHC3rheFeDyEMgv6eHaAZH4GSf3blN5QY/cYsoZYIJ51DUn3tLsODKWk/nguAlg9pzuwhaF+cY/7fhpluj8wLAyaS4y3k80p6T+u+pOW8XIRSFrgL6DNYJzsvjOKWKZh2SG7gtnSVm3rFRmUukf5ymn94QvFtrovs26Ibc95w6Yvj3QydmnlqLw4yefbgkfIY+hLUX3CAsaGmM/M3ocvs2fflmU0Nev1lbfcQedPHBW/mZAqg88HIZFcQQ4P4jWqLW0DtYssJn/xQacy9qN9h6o3LOZWEV8ePM/SYirhesI5/N7T+cB6JggN2ZeLJml6lZj7ROpl5h60sFI5B5+6Wu7mpBU4KWKXmvw3f/j6UyiwXtvvsDBJ2OOryIO+7CzVzbLpO7pP/QI4pToVmCfn3GZLjFWC/H6iGdaoJEzDH1hzbyNvINimF+xfD1ArZlfgsw75CEdusr8LxzMJSdhSDJ8nhqNVGA8uy8hGsLzpLQzeS9Q== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ba9b761-b6e1-4d6f-b877-08dc65c55bd3 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:10.6045 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aeq+ZzydjisJnry7rmvM9RN9JEIPtlEpw/fUkEyqz34aH4ymosx+0HPEIWF4bME+yZqSVbSpx/iQze74jwCaM80+y/g4L1fus+v59EMUHSY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR13MB6618 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Setup the vring relay thread to monitor the interruption from device. And do the dirty page logging or notify device according to event data. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/vdpa/nfp/nfp_vdpa.c | 148 +++++++++++++++++++++++++++++++ drivers/vdpa/nfp/nfp_vdpa_core.c | 9 ++ drivers/vdpa/nfp/nfp_vdpa_core.h | 2 + 3 files changed, 159 insertions(+) diff --git a/drivers/vdpa/nfp/nfp_vdpa.c b/drivers/vdpa/nfp/nfp_vdpa.c index 65f7144671..e57765eb1a 100644 --- a/drivers/vdpa/nfp/nfp_vdpa.c +++ b/drivers/vdpa/nfp/nfp_vdpa.c @@ -26,6 +26,8 @@ #define NFP_VDPA_USED_RING_LEN(size) \ ((size) * sizeof(struct vring_used_elem) + sizeof(struct vring_used)) +#define EPOLL_DATA_INTR 1 + struct nfp_vdpa_dev { struct rte_pci_device *pci_dev; struct rte_vdpa_device *vdev; @@ -776,6 +778,139 @@ update_datapath(struct nfp_vdpa_dev *device) return ret; } +static int +nfp_vdpa_vring_epoll_ctl(uint32_t queue_num, + struct nfp_vdpa_dev *device) +{ + int ret; + uint32_t qid; + struct epoll_event ev; + struct rte_vhost_vring vring; + + for (qid = 0; qid < queue_num; qid++) { + ev.events = EPOLLIN | EPOLLPRI; + rte_vhost_get_vhost_vring(device->vid, qid, &vring); + ev.data.u64 = qid << 1 | (uint64_t)vring.kickfd << 32; + ret = epoll_ctl(device->epoll_fd, EPOLL_CTL_ADD, vring.kickfd, &ev); + if (ret < 0) { + DRV_VDPA_LOG(ERR, "Epoll add error for queue %u", qid); + return ret; + } + } + + /* vDPA driver interrupt */ + for (qid = 0; qid < queue_num; qid += 2) { + ev.events = EPOLLIN | EPOLLPRI; + /* Leave a flag to mark it's for interrupt */ + ev.data.u64 = EPOLL_DATA_INTR | qid << 1 | + (uint64_t)device->intr_fd[qid] << 32; + ret = epoll_ctl(device->epoll_fd, EPOLL_CTL_ADD, + device->intr_fd[qid], &ev); + if (ret < 0) { + DRV_VDPA_LOG(ERR, "Epoll add error for queue %u", qid); + return ret; + } + + nfp_vdpa_update_used_ring(device, qid); + } + + return 0; +} + +static int +nfp_vdpa_vring_epoll_wait(uint32_t queue_num, + struct nfp_vdpa_dev *device) +{ + int i; + int fds; + int kickfd; + uint32_t qid; + struct epoll_event events[NFP_VDPA_MAX_QUEUES * 2]; + + for (;;) { + fds = epoll_wait(device->epoll_fd, events, queue_num * 2, -1); + if (fds < 0) { + if (errno == EINTR) + continue; + + DRV_VDPA_LOG(ERR, "Epoll wait fail"); + return -EACCES; + } + + for (i = 0; i < fds; i++) { + qid = events[i].data.u32 >> 1; + kickfd = (uint32_t)(events[i].data.u64 >> 32); + + nfp_vdpa_read_kickfd(kickfd); + if ((events[i].data.u32 & EPOLL_DATA_INTR) != 0) { + nfp_vdpa_update_used_ring(device, qid); + nfp_vdpa_irq_unmask(&device->hw); + } else { + nfp_vdpa_notify_queue(&device->hw, qid); + } + } + } + + return 0; +} + +static uint32_t +nfp_vdpa_vring_relay(void *arg) +{ + int ret; + int epoll_fd; + uint16_t queue_id; + uint32_t queue_num; + struct nfp_vdpa_dev *device = arg; + + epoll_fd = epoll_create(NFP_VDPA_MAX_QUEUES * 2); + if (epoll_fd < 0) { + DRV_VDPA_LOG(ERR, "failed to create epoll instance."); + return 1; + } + + device->epoll_fd = epoll_fd; + + queue_num = rte_vhost_get_vring_num(device->vid); + + ret = nfp_vdpa_vring_epoll_ctl(queue_num, device); + if (ret != 0) + goto notify_exit; + + /* Start relay with a first kick */ + for (queue_id = 0; queue_id < queue_num; queue_id++) + nfp_vdpa_notify_queue(&device->hw, queue_id); + + ret = nfp_vdpa_vring_epoll_wait(queue_num, device); + if (ret != 0) + goto notify_exit; + + return 0; + +notify_exit: + close(device->epoll_fd); + device->epoll_fd = -1; + + return 1; +} + +static int +nfp_vdpa_setup_vring_relay(struct nfp_vdpa_dev *device) +{ + int ret; + char name[RTE_THREAD_INTERNAL_NAME_SIZE]; + + snprintf(name, sizeof(name), "nfp_vring%d", device->vid); + ret = rte_thread_create_internal_control(&device->tid, name, + nfp_vdpa_vring_relay, (void *)device); + if (ret != 0) { + DRV_VDPA_LOG(ERR, "Failed to create vring relay pthread."); + return -EPERM; + } + + return 0; +} + static int nfp_vdpa_sw_fallback(struct nfp_vdpa_dev *device) { @@ -802,10 +937,17 @@ nfp_vdpa_sw_fallback(struct nfp_vdpa_dev *device) if (ret != 0) goto unset_intr; + /* Setup vring relay thread */ + ret = nfp_vdpa_setup_vring_relay(device); + if (ret != 0) + goto stop_vf; + device->hw.sw_fallback_running = true; return 0; +stop_vf: + nfp_vdpa_stop(device, true); unset_intr: nfp_vdpa_disable_vfio_intr(device); error: @@ -859,6 +1001,12 @@ nfp_vdpa_dev_close(int vid) /* Reset VF */ nfp_vdpa_stop(device, true); + /* Remove interrupt setting */ + nfp_vdpa_disable_vfio_intr(device); + + /* Unset DMA map for guest memory */ + nfp_vdpa_dma_map(device, false); + device->hw.sw_fallback_running = false; rte_atomic_store_explicit(&device->dev_attached, 0, diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.c b/drivers/vdpa/nfp/nfp_vdpa_core.c index 8f9aba9519..70aeb4a3ac 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.c +++ b/drivers/vdpa/nfp/nfp_vdpa_core.c @@ -271,3 +271,12 @@ nfp_vdpa_notify_queue(struct nfp_vdpa_hw *vdpa_hw, nfp_qcp_notify_ptr_add(vdpa_hw->notify_addr[qid], NFP_QCP_NOTIFY_WRITE_PTR, qid); } + +void nfp_vdpa_irq_unmask(struct nfp_vdpa_hw *vdpa_hw) +{ + struct nfp_hw *hw = &vdpa_hw->super; + + /* Make sure all updates are written before un-masking */ + rte_wmb(); + nn_cfg_writeb(hw, NFP_NET_CFG_ICR(1), NFP_NET_CFG_ICR_UNMASKED); +} diff --git a/drivers/vdpa/nfp/nfp_vdpa_core.h b/drivers/vdpa/nfp/nfp_vdpa_core.h index a339ace601..bc4db556a2 100644 --- a/drivers/vdpa/nfp/nfp_vdpa_core.h +++ b/drivers/vdpa/nfp/nfp_vdpa_core.h @@ -60,4 +60,6 @@ void nfp_vdpa_notify_queue(struct nfp_vdpa_hw *vdpa_hw, uint16_t qid); uint64_t nfp_vdpa_get_queue_notify_offset(struct nfp_vdpa_hw *vdpa_hw, int qid); +void nfp_vdpa_irq_unmask(struct nfp_vdpa_hw *vdpa_hw); + #endif /* __NFP_VDPA_CORE_H__ */ From patchwork Fri Apr 26 07:48:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 139698 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0608E43F12; Fri, 26 Apr 2024 09:50:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A6F2443CAD; Fri, 26 Apr 2024 09:49:16 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2099.outbound.protection.outlook.com [40.107.93.99]) by mails.dpdk.org (Postfix) with ESMTP id 0C05043C91 for ; Fri, 26 Apr 2024 09:49:15 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fo0a7fFxHCGqufJzILfiUs/mGxXnejauCqwJtjRbJX0erWMP9qlx7BD2bznQn4d89blqKyXMipkstPcUV9XAzq17NyYe/Mr8WSRD9xuUupqTyf5KimSdcCZXHqO0OPdMgNF12cxU0wkWGRxyeDZHYEWgCTFE7Zy53WpTLtp28ZIZEKiFSy6kPh1eAkNOe1NiHhq0Wzj5VdVjxjYzimBl0L3zOoPQUp2ZP2qJlrSJi6XCV6hIogO7YNWSbRiqfilOAUR6duzevPOE84mlRMiGKHzmB9Hr+9xy9z+v8G2Rx6jpXOgqlEKKOAHYOConnPi4APBSEzvWxoDlqjHxO3QFyA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6TS8tc4Co5FGTCMEoWGm7HsK1iHsfvuZdpskQRuzgdc=; b=koWctIoWNlvgfMlIqlsdEi+4B1Pe8UveRxca+dGkggvhyU+uiHbWfACTQLO0RbhSjdeiRxZl4/LweB0EVhaTUDfyX//U5iy3Cyzb4yjvusnsNR9FoIyv+KsBFCKoJ2cEijJ/dpVyTSmvR/tBC28EfD697gl5BLx3DYytcPLBTcI5IFWnKsbuBf6TvW8/J6+edGJ5tO46vVIof1R+up0PKoEEKsEl0bXVGksiyXyWldRHB2FE7BtX5wWgZUoFN8efjwAjhvf6H4YKjv80m5+9vrWiwQbgV0Yxc4LRZudEdxOAqe1XVLxGyaZ1w3csezy/+273S3sC/idxyieTDjo5mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6TS8tc4Co5FGTCMEoWGm7HsK1iHsfvuZdpskQRuzgdc=; b=Pdphwcf+dkZ+Rq3UjPQ1axYb92LOaknT+lRsFUWGIRyrpHAALmzVQVfDcSLwLgcTw2OHh4Q2likHYtsGibC8E/9UxW9/Elj+XKPVpwfnxKhfOqh8Fmk7J5BidbhlkwC9UKZctRsRlHJN3ETUM4zZfR8xxxmsl4HCGlMO5GHaIY4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SA1PR13MB4989.namprd13.prod.outlook.com (2603:10b6:806:1a1::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.16; Fri, 26 Apr 2024 07:49:13 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::ec12:7411:559a:850e%5]) with mapi id 15.20.7544.010; Fri, 26 Apr 2024 07:49:12 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Xinying Yu , Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 10/10] doc: update nfp document Date: Fri, 26 Apr 2024 15:48:31 +0800 Message-Id: <20240426074831.1729792-11-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240426074831.1729792-1-chaoyong.he@corigine.com> References: <20240426074831.1729792-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SA1PR13MB4989:EE_ X-MS-Office365-Filtering-Correlation-Id: b5966192-c9ed-4f9a-a7c4-08dc65c55d11 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: OnPdSRHQ7rLIJ6hn7IP+G3DhlXHem9Fr/PFdoKFdhksXUxNZVdOiCt1FQUhmzRaEURFAbl/VGiPNfRZICCic1Ad6En+DvOS8cqG5abWkMuKzx9fPEgklQ+YCfYFzOufQ9TbJfk3SOpjGDaNoIiCeZ0539DED8Qc4AKaA61ASSqAAV1e/unxPizWipzreIHvfS2PxbK7gVNODm2rNqPvvBQC4N1vyp0lNbbXqPDCje9pIC30DVNz1WkJlUjcdJh/dYswZoG4d5NczEwSuorgLXxBgih++VRGCpeSJYoK0UVcKUzDr3aXw9HdRrE8EfNQd5WqZS1+igg9S77HOa+x5iYH3qYOWUK0H7AYCEz2NXZ2NocK3nXdbsg1cbzJ1duCGkI9oNJy+YPj5MN4B6LhA7kIawB9cGodo/NRj6oo5JUMsl9tZX5s782297fE621NnIkLetYQy8ozYjvMUP8mbW8rbK9TvaDtnaibMqTT9DMtx24qOWGp10fdR8owDCwrppJA/fHC1dQ37DJmxSzHfZKOH5SNIBYCH/a2nCydESQd5LpUodeVnF+B08QDekpWIyhzoBwXyKSwIdXTHbr2khZFEN8OGdDkbJZf7d4BG98Pul1KY6Kg0cwsd3E1koIUm+No1uwQoTch5cLhgtWuCbgQi5TS0BvboT6nV3q2RgGy6bcIEGlH540Zbqu6rGg/+vM1LOOlc88/J84YKx5eoPWMueP0OjwNGjOFlB7pdVRZITs4u23WIbddheae2GV0m9CKAYGvoC1Z2onzsN5l/A7LFzwsP+Cq7gl1FnpsAVK/z3OVSIlyXMBZ70LCy8OTdl8l71Tgo0PISsfP6u+MrSCVR+8zFlKP6dVAKtlr23BvpmcTWFUcfv26T8jlBVocaiADBcfR9t23mWH77NWWppkw8gG6E+gm0dSP4oThcfc0yOnB9kN889/VTimxxWFQbIy9WH9juSfQ8TcZMlF9EqrDKuO9MWwFCgbo7e7U4dxUUZ1JkuPp8zlpsZvLdI8Uqm+K5r3EjeubB4ffMYFfsytJrxStVQEjTIqiwEvkjfWPiyVZm/wsgvPQn3gpLlm20f5lV1Om+Ky3wjyBWhE2fPm89MaXJp88H82VrElrA4DjSFF00JEJc2VTNXBVMXHLCnBzpVUO/Qskcpt4u6rnqahZeRbvPlC3C3QI/g7Tu5+QiFdLTwuW8tp4EZAvMxx2xi/0jDpeTvGrCkSm0wzPsy0FASwjbBpYzMIAbz4RAPm37OdxAB6ggSuj7jsG8nt2pN4RTIQeRDqMKQcW5WO6TwzPSWwInP/KZPCNbw1nPkIKflbKXMw3qNxCxEtd09boPCjZxANZ3GNTyH/hIh5jIPA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2cnBszM+hue7BTUlSzPWzAIc9aai5KazF51veSHhtW1ode/8jx5q1sdmAbLb8rpbQe4FscxPHweraDO8HG23+KPyt1qi3Xqr9mCSSCmYdEw9vDlk+oOWiWGaQ+UF5NrX9zleKQSRiTGfyq8TWvvxscA7D8UFylw9zxlYvrVx4wmwI/NgwDr1YGQ/JWXdaam9TOuYBmImM/aaepIMtMJvTd6vPaXZiLZGNyiM5TjKq+wfZdV4MAT1NnwdgIiBAJmctDBr9+cA+fPxrn+K0r8ge0sQovxpjd7Y/+ZWpbxUERxGNyL5gI6686EfLgM44JYRFJCEfP6rZKXvftaFzyDy3xC73HnHKNwno8HwigwYdTIh82PN9YfELyUA8YbIEQDddr4ad5bnMulzdeLB/DkMkzxyVG+lb0f92KnJfR1eyRsCaLAa2+tQsHYuEgfcbt9cdv0KycDyAZcZHdH/72m20veo1aBw/Lvn1qITINErc1QJ1lLO5DUB+R+DM7z5PxJ3Z2rrBWNY9HhmJvWV0erJUnybFqA6Hd7aSX8dSVeJXTTE5ruPBlSmdscM3URLZqqTaCzKYOxCV8jzdMz3R7J37cqyCGl8gfWuU2zJSUsvv3GnfxkUaXxgFLLdB3bOxyRxGJoPNodPRwAjTQrEeYrGzLIiYBLSrVD7zuaqzz49zYRmuedx14EjvLdRd2SBQhRUwfdkXF3G8TbO/kTCM4ludmgxieuA/5C0FdAyfm5ulMzGnTBW+p9KsrLqdjvEDFMDOhoFomVR79JqAdFsEfmL14CdKFqyAwJ+JIezO+2SAx2N6do3T5LirIc3evYuW1Xqk2j77ObIQtAsCSy0iEh749aSHL2pFeOTHpm7IWKVNfqb3aATFFtuV2ovc9Zeb7q05r3A/JAGoPNiBa/w6PrRp2f8boNuZ22+N4V0uED2/SGttVNy5MjSkcsJvhKgPY/akEYy9/hGAxelHQdm5wYzVnrlMTvxwmWgGdxXwNUtGq/vrmrGRVU9vTFC4O3EWHV1LsmX3l02LVxb2XU/VCUNlJfnpCpSG4/wv647XhOqWiUqg0QmZuuCnCzP5hMqF5oyaEAwqdobjTWvxZsBGuKMqICicEezNeG11ZM3+0sxaxcD2nRkj/dMDtF8Q4Frea0w+OOmSbDOuyZ3YnA+EI7FEbfp9qbD5xRtM0/SxorJpPhFitQRxN6DT7vNGm2x9IxCbN9cYN8iPSrhepCluUFYTBRtV0PBZ7ZmDMgwopoyHzhKVuLVImNAPrDCFgFZxAoe155IEBEXyvqv5nFeI9yDqU/FUbH2uzSskoktZUXZySwL/v2C+kBCbJ3ffIO9QpjK3KJr+n0eQ8979ZWNiME/HPE1NJBfzCiE9yno2ShiUPnIUqPQE+7R2XG2hS0nf2FAtbq67E7oAEyEHtP9tJiNYp5iVoZFsY9GEGabRcyxR81EVTTO5ieUOeXb4wSsQoV8L6HwjsFkvWslckAEdCs0mjXfd7K1gnN4lJTJdjFLW/M6LWMP5JDCgSdGm5MhSXvjbYADlg++P3yDC0R5iK2TH51gKijxKn9bUDJbdy2KD8jlGMDeKgV8XLTSABe1OVDEY6yIGCNUX56YUWVO97NKPw== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5966192-c9ed-4f9a-a7c4-08dc65c55d11 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:49:12.6974 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8ZG7saeASCAblU1COWsRZTLA8kWXdMuKKsbNQLBaQQfWOXukZUtzS6qCasduAwuqGHQuku/ZpCv68m1i4ft4wWqLsF/Sq6FK85Ov7GFK2bc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR13MB4989 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xinying Yu Add the software assisted vDPA live migration feature into NFP document. Signed-off-by: Xinying Yu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- doc/guides/vdpadevs/nfp.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/guides/vdpadevs/nfp.rst b/doc/guides/vdpadevs/nfp.rst index dc9e94dbc8..e4736d9f61 100644 --- a/doc/guides/vdpadevs/nfp.rst +++ b/doc/guides/vdpadevs/nfp.rst @@ -19,6 +19,15 @@ device will be probed by net/nfp driver and will used as a VF net device. This PMD uses (common/nfp) code to access the device firmware. +Software Live Migration +~~~~~~~~~~~~~~~~~~~~~~~ + +Now the NFP vDPA driver only support software assisted live migration mode. +In this mode, the driver will setup a software relay thread when live migration +happens, this thread will help device to log dirty pages. Although this mode +does not require hardware to implement a dirty page logging function block, it +will consume percentage of CPU resource depending on the network throughput. + Per-Device Parameters ~~~~~~~~~~~~~~~~~~~~~