From patchwork Wed Dec 18 23:08:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13914273 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D9C26E77188 for ; Wed, 18 Dec 2024 23:20:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+mzp2Bo8HWoNWJlsXVMdq+48BQWLo31kyjde7J1Sd90=; b=2ItPx/oLFMmapw8WGYR3epkdeY jJ6hfyKLEBkY3HnAU+x8XNwxd7TY8B9ISE1gYoe5JJBmnX8dpbjHaafzzqtWDsyRQxq3YN8Mh5nIV GV3iaJ+eb0aByYaVGh46chLcMk3LqtBfbt3bB0v/dPp9/4Sj244I+jyWy6OCS9JzeItg7VKyGL8Vb 9RwTkqIyKRVknZAuidV3UL/CThxmh0G+tllDTgWsBrwgNTgxDAhH5LSbPAi10NK3nKq7X9N5UVwzj gb7WsISv8IS2Dz5x+JCA1SiV9TN5DJzoK+757Rl8XKDOR4AyiL+d+ApBS5r8z0eVapgarjlrdUElJ +uUCLsyQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tO3Ku-00000000Jb4-2g3V; Wed, 18 Dec 2024 23:20:12 +0000 Received: from mail-vi1eur05on2060d.outbound.protection.outlook.com ([2a01:111:f403:2613::60d] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tO3Ao-00000000I1M-2omy for linux-arm-kernel@lists.infradead.org; Wed, 18 Dec 2024 23:09:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gEEfZP6YRt292ER38JoR5047gIIPdRqJ5n1c4EBk3Sk45m7r1HvuuCclqxBVVFERefV6gCsnAIz3QCGDilyjfUiFmuqPkCwqNlCkuuv0P8nsrin2onUYwd+bVNjRIxWnJtwaBBXzlOaR3MC5ChGospo149R1GQ98f0Iv6Wjk3pwxjmJ2kuMhlBhQUNASSzWq5euyO44AGjwWN+O1Dm2ghRSFtkCPyatH4hFtCMMQttlGXHj0b6HYx+nlIfj1m7K8UoYFfHJqNy6rIloiBozmhnsI5qzHgTJdve0QaYlscJuL5rmJMUlIbswNJ0QvMRQuD3Jsh/gIVFRkXU3E5wAJmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+mzp2Bo8HWoNWJlsXVMdq+48BQWLo31kyjde7J1Sd90=; b=l5nLquMZ/L1Sr2XFNClL5TT63TFHP9Ogjci/HEDxSk1ZFojw7b9ucgwdNJ/VBXVpB3gvq7ayVH7NBhmicE5MwxTHauHg0oPMxmG+4BvO8dt6pvoHSF3hyTRD+mYvK8P5zdrNOYNoxom7uMc58oQN5QvuNoTugvPDIT+xy+VzjZSEijbL1EkKH7HCbQwBE59q6nX3vAQuR1q/Wn/STz9DQbncItx1RT6f/i0ZLTEyHog/qoA+mipezYv8FLXybOVYzjNDpLqqw30J0lBVJho2ADMwYdo9UwbWjuocjgTIQ+CxQyNMSOhOtHQtP3Z9VJmYDxyNs+rwOxaffC2pDgaKwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+mzp2Bo8HWoNWJlsXVMdq+48BQWLo31kyjde7J1Sd90=; b=Gn2r9Z1oOrSYoSNtnMQ0F1kjE5JEHjPWcDaMp7Sw+WsMRLsZrWcmcCG+RM3vzgER4SLZelVqos0FZT4UD3k0aISdYKOFJ3a66cODnQ0j1UG5TMK2AMP7+wnjdoU16zUvBcFkO4ZhxRfLz7V6l3+eNZqF7g/aPMVhZM226OLOJlMbPFR+IKpRSsH8jZTtlhOEy1tKIb1rx6CCQjKwMeUbPGpAvluNlsBvuUBE8838fLv1s4WZlc19h46o+bhRGVKsI+ZFyVlZCoHMfMurE0mj9R7WeaHtWFimPO4N7XwYCMVK3ezoqFGha1QQbxwN45owweKBlTeezwy+SeVAA2oEdQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by DB9PR04MB9939.eurprd04.prod.outlook.com (2603:10a6:10:4c4::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8251.22; Wed, 18 Dec 2024 23:09:43 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%5]) with mapi id 15.20.8272.005; Wed, 18 Dec 2024 23:09:43 +0000 From: Frank Li Date: Wed, 18 Dec 2024 18:08:44 -0500 Subject: [PATCH v13 9/9] tools: PCI: Add 'B' option for test doorbell Message-Id: <20241218-ep-msi-v13-9-646e2192dc24@nxp.com> References: <20241218-ep-msi-v13-0-646e2192dc24@nxp.com> In-Reply-To: <20241218-ep-msi-v13-0-646e2192dc24@nxp.com> To: Manivannan Sadhasivam , =?utf-8?q?Krzy?= =?utf-8?q?sztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Arnd Bergmann , Greg Kroah-Hartman , "Rafael J. Wysocki" , Thomas Gleixner , Anup Patel , Marc Zyngier Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, imx@lists.linux.dev, Niklas Cassel , dlemoal@kernel.org, jdmason@kudzu.us, linux-arm-kernel@lists.infradead.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1734563339; l=1851; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=XbEugLgmvGxvNIdnJ6oC4l02fBY7NXWQcWS+O1eGi8g=; b=81AcSMGeFlxfUHquQMk7Fg7MeC1faazKrYD5j8kpN0H3MYmxZsXa70fmnVx9A7kvHwfdm4OsW TMLtqgFVYcBB1vz7Y03kl4pAs7ZepKqfVBPN9zKKSsUyzcBBPR+sAua X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0075.namprd13.prod.outlook.com (2603:10b6:a03:2c4::20) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|DB9PR04MB9939:EE_ X-MS-Office365-Filtering-Correlation-Id: d4ada4fa-9cb3-4f1a-b49a-08dd1fb90ea2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|52116014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?W0FApkig5edrjnomyGjaBZqyendADio?= =?utf-8?q?7lq0tARUziazNhRBcq1HQ308zONHOTYexPBvvx0d6aRM5MAe/QTwss4bDOCyrbwjS?= =?utf-8?q?QKyWQ7BOtZBhlYsnMYR4GFagvcVf0Zh+N45FWd3LwNpft7LIhXteDXDQE/sn1QkdT?= =?utf-8?q?ker0tkTHO0U/65K6mYskYgi2Q442yxyT618iSOqQ2Vl7npwdmhyzSQ+d6YTwpVn+y?= =?utf-8?q?MZaQE7rh63BgRL2jbv6EANW/+yHbmu4Vm7ClhtlMXrV+MYXTHTwzK3Mxjaa15lGMH?= =?utf-8?q?EQp2nGEAEXin0U2tyUTppugcbyC31ZHe9APH7XngJ+lwvyGa5U3oMBlAmWNU/f6h6?= =?utf-8?q?hIQY/rnt8Z9erg6in2YEUeAkNdT6JEnwoVdux8/t6e7wUuRVT+fa+9H+49wHoL+jq?= =?utf-8?q?NDdmjztCkFmbtbPP2rcH9ddzF8kYVGbmI0J+fmTRRNKTyF9MKAptWkKu5nn3qmtIt?= =?utf-8?q?LmE0qupd83hTjF2cPVic8NIC4yV1I91N1nXbidhA3ylUVGRDsk6LU+6APC8AK68/H?= =?utf-8?q?3g3aNi9xXmRO6fQZmzn86+ohOIfzaCuJ7tS+HJrA4Ff3GGsdnQjsCp0h3+0v1zGnf?= =?utf-8?q?aQlVGsJy0iTXVdNJPNwXP361prnmHY8fwYbLo53CSJ9A45AJpfjxM0FsbG7kk8NXY?= =?utf-8?q?ZM0bpAegYXlpJHfFoKMnmf8hfnVRa4g5qGMsHtbafAjYaatS2/KaP4P944rhJYCoZ?= =?utf-8?q?MArSB6xvPeUOmHzIW485dYmoK8n4xP3pIE4kQ5JeNmcBuyqDoV6SxOBZzQsXz9uIL?= =?utf-8?q?W7r6C20oO4sDx6aneeVgS1ZzWEQROttgBao7RtIPzCrarRMki+yWnBlgQtXkOt4/M?= =?utf-8?q?FKfMEOEGKBqQF3RFFtTHNS1kA33aAcaIwuuSBEi1T9WZZnGtVWmCPcOux0onOWnBj?= =?utf-8?q?KCGKM7ATw6Ac3AgiYhSaGTGORz5QaphoQ8pmn3eEuR+Otj0QpOzCh7+HgoUoNtryS?= =?utf-8?q?ZWj0dfdGVytAEFi57qSD/zY8MA1+ufyjfxIQeQ2AEe7eJKj7FKWZaI8eXKnGBnnEL?= =?utf-8?q?TLhcRAjfmdOtS8fVzBs69F2AbexTt7iwCLBFgZdxWtKqo4IuNEjFUL+Zdkv36wasi?= =?utf-8?q?vXYGfYYwGMiuP9VklymSDyXvX6CGfJarcImhwhNX5BDv5o+4TTMWphLZgBQlqYUKx?= =?utf-8?q?oAARv61Evu80/E4CvcktwBpHMdioF7sdPO9tluzh0Y90zLjwPlxIVdetJIs3shdmb?= =?utf-8?q?A2mUiNoSrwXaXw4Uh7sc8nWDTXHE0vbzGL27fgV0Wue3NOrjWSNmKq1Xp5SttAYZX?= =?utf-8?q?t/ZSb5JEdtgcFCkoPGG4KXpQ442l0YuahsFc8Kf4VqIWlxPCk9aeVMZv216oFz+5/?= =?utf-8?q?ZYpwCUK8Q6O3GxXXpwVrciwImtNwqHbvAIE7VmP56aGojCEkalxT9ndNc+VFKkaXD?= =?utf-8?q?50YNgQ2vTg9QPxq7YCrsHohO7GXAWgkzQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(52116014)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?SQ3l8lWo6GN0FSS0QMSDl3AEMTl2?= =?utf-8?q?ddf0Wb7MSf+gscmOK3DrO/Q9iuyXWKFOx2B+CfIgv6+Cw0zmD+bDiiCZEZ0Wf38Cf?= =?utf-8?q?+puVt9yCGWPx2pvKAjNA8E6cb8tGm/WeKtrUf4g0k5ZmyQdX8KFUbGTRbZ4ROdDKq?= =?utf-8?q?QcffyA5TgG6kTQCpi/cAYGZ487oAjf4ua/ycP2RviEwdA+Dy+hJDmXOs7AoWbvHIP?= =?utf-8?q?tgasOrVXOflpV7q4+GO3XLUjM/rRWII9F/GOJB+nTrGneRoG5mcu2OlDQkmsbiy/M?= =?utf-8?q?JWPo6ZYe/cUiWW0VRTeHNejMtJXjyWqvSDayn9oNdY1oI0swgk88p72kHH2eDDKLB?= =?utf-8?q?iDPvyhjt8dbv5xB5r0zm3Ib2/mPDNRUqS0grEjmq+0CSedhJq1cy5rZHcMYsp1SXl?= =?utf-8?q?BCXqVd+N69qSCtYW3LCZbKGyz/VuWaZFjREtCY/ULCWFoPv1AYULtfHtu4rLq8iiK?= =?utf-8?q?kz12wlnh+dGgvEFTC+tambbOV977zWyyLwTO7e6Bwxuqwg2gDhJ5sOlvmUaJAMDtn?= =?utf-8?q?ae5sMV9EUBpq3YjRKe3VJSrhlkKP/n7kgK3pUbm5EhmLbOemYpJSTbxsrJxo5lD1R?= =?utf-8?q?aVweEuQGOkvASB3ioorgZpJq0XaA7uoLGrxGrXalj5/zS7EZC1gzqmTzQjdtXR1qV?= =?utf-8?q?PHPcDzgg4O0Rsgf9bwv53iKFrPQiUVjsGxHMzUvsQiTXpMWon5QET+TJHYiIpQ71V?= =?utf-8?q?YrCXDYLr8aMRNe5mZJSlV9rfu+Isw9Qo2g6Ub4IAta9JUYtYB+cHaakKtuVVaZjzM?= =?utf-8?q?xW7HqnADlOW/ejOBbD5Tfq18hI0RXjmQpzxtCar6kVgmOkzHr4r3BqBz2HYvdx1Mg?= =?utf-8?q?6AxpXxcybhpOU6lDQ4wG2HMKJOpmqdbDVfulKXUPDKipCM71AvA7MxlHwbLK157IN?= =?utf-8?q?twK7vlgO1+jYlYG0Jt18tmfFkyg59k5uMuzfe6je2Y83emuouNBgfM0wbGHMSoVIC?= =?utf-8?q?8yJthTX6ui9uk8ACpQo9xf4fngUeAo8L9Z5d0xWSFGWIOOuEZtKKNgYuVIowWnNDU?= =?utf-8?q?Tt0t9PZ4Az9BaWNCyiPSLYelxm20XXuVRtBCmQmmuBNkeYabtEXImA7VW6IvYIwP/?= =?utf-8?q?2vk0oN9Wxz/Ctolsp+lUbI99164fQC8iaIi1aEoFbAaGasyxHld2kOxMr5etyEbTG?= =?utf-8?q?/7PkhdMNqLymlGCIeE6LN4Z2QMLG8/9PsDHzdTGMFwjCWpenQRviO4tVGSQo05HZH?= =?utf-8?q?d4zI7eGC706WJEPtXyQp0L0TOZ44JVwQOumBVszgK3TOi8zmNUBohg0VcLsjmDzmT?= =?utf-8?q?pDbABUnFLiJ2pjfUd5bMqOX7kZcf3l5sfRjVYWLI0wSKj70HB3h9ZUGE5svqVgxJi?= =?utf-8?q?qxLcg17SD0FAVrgA76eJNArhVHMYMyFcLLekoMTApm7+iUccGQkdBnl3uDK/nhBru?= =?utf-8?q?+EM1/XJbe7Jv6meww7E7MK3t9HoLOauCWwPmdl53P+nfZeFbf8S/bDMmKjiB2rG+/?= =?utf-8?q?nJUaw0nEP6WxEQf3M0yNlpt5M2+kiFGwQ2tdjzLJSnl0tw78sXB+Zh9s=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4ada4fa-9cb3-4f1a-b49a-08dd1fb90ea2 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Dec 2024 23:09:43.2164 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nJZTYQL2gyBaNYzeAj9nov/0qtEXJP8j+V9zwTdOc1zQOdmEDJAv6xcBHu/5kAwV4XwIGyqmf0UGDY2L01JSnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9939 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241218_150946_726813_0D47C835 X-CRM114-Status: GOOD ( 13.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add doorbell test support. Tested-by: Niklas Cassel Signed-off-by: Frank Li --- Change from v3 to v13 - none --- tools/pci/pcitest.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tools/pci/pcitest.c b/tools/pci/pcitest.c index 7b530d838d408..fcff0224a3381 100644 --- a/tools/pci/pcitest.c +++ b/tools/pci/pcitest.c @@ -34,6 +34,7 @@ struct pci_test { bool copy; unsigned long size; bool use_dma; + bool doorbell; }; static int run_test(struct pci_test *test) @@ -147,6 +148,15 @@ static int run_test(struct pci_test *test) fprintf(stdout, "%s\n", result[ret]); } + if (test->doorbell) { + ret = ioctl(fd, PCITEST_DOORBELL, 0); + fprintf(stdout, "Ringing doorbell on the EP\t\t"); + if (ret < 0) + fprintf(stdout, "TEST FAILED\n"); + else + fprintf(stdout, "%s\n", result[ret]); + } + fflush(stdout); close(fd); return (ret < 0) ? ret : 1 - ret; /* return 0 if test succeeded */ @@ -172,7 +182,7 @@ int main(int argc, char **argv) /* set default endpoint device */ test->device = "/dev/pci-endpoint-test.0"; - while ((c = getopt(argc, argv, "D:b:m:x:i:deIlhrwcs:")) != EOF) + while ((c = getopt(argc, argv, "D:b:m:x:i:BdeIlhrwcs:")) != EOF) switch (c) { case 'D': test->device = optarg; @@ -222,6 +232,9 @@ int main(int argc, char **argv) case 'd': test->use_dma = true; continue; + case 'B': + test->doorbell = true; + continue; case 'h': default: usage: @@ -241,6 +254,7 @@ int main(int argc, char **argv) "\t-w Write buffer test\n" "\t-c Copy buffer test\n" "\t-s Size of buffer {default: 100KB}\n" + "\t-B Doorbell test\n" "\t-h Print this help message\n", argv[0]); return -EINVAL;