From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2103.outbound.protection.outlook.com [40.107.247.103]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29FE2248F7E; Fri, 25 Jul 2025 12:32:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.247.103 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753446774; cv=fail; b=SxBAgIvF9SUijQxP4KTM6DaxcS3ydJ5CtrYiXH8d4G3kfhJlQmuWsEqHbvgf+Sm9kAMEC17SnutSL9pHqGNb1wXsWK+Ku+WjcN8QpeqTT56peSG1UPZgOgW3n+Jl44k6hHYdajShqkbXywJTCT7mYQwcN7rLVLQBOL7wgxqvF6E= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753446774; c=relaxed/simple; bh=iS4Je0vz6tobWoocSFEObacjhcXjwLkJTMOca8HQ1fE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=IStfs6eKhxrHR9BYocH/ZPHsBSjj2V4D8v2ue0S0x83knGA3ft41CYQeFI2fioTAXRoBf4DIDLG3Xjl0jabQZswISi1bECLl+PUma1L4nAaCNc6jd/XfGpyT0xyF/s/JRAN77cQsgt+1Nyza4vIxqI+9N2u7aJkMemjm1hGo4iE= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=kvaser.com; spf=pass smtp.mailfrom=kvaser.com; dkim=pass (1024-bit key) header.d=kvaser.com header.i=@kvaser.com header.b=ET9GeZb7; arc=fail smtp.client-ip=40.107.247.103 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=kvaser.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kvaser.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=kvaser.com header.i=@kvaser.com header.b="ET9GeZb7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V+cLO7DP3IGQ9xRI8dITve7s8qHi/6jQXTUuZzxe5AU3VwHWaBKDxxL7vzzHakGk16haXbCHPlqfOqDra6mVlbrDRABe2l8YCnQ99b7pQFR1tvrqqlEbA8TWr0XluXJaF4HIY31WC95cD2leBWGU2hoM7jQfjcBY3svmPkIzuMxksHz9xSDoxgvrmhxryZ3p6BiQ6ZF7Z7DDZbNTRKEYAYhKtpD5mKw5BjrYUgKNmJjY9cNyeRcbSYAVFuVCi9KQCgRM3ofCB/JyQO1gWPrigi7kOfE0r+y07cbL8iQ/0i4y+edXdRZcf/JlU8CKImZwpnmg3J9qFPnrZQGhkRs2rw== 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=y93DNnHVM7D0lhlzQNUzSRyA8NIGKhLTxbuyF3Wdehw=; b=khZSALSsCaRafxxoc6UPm5qvbxBZbRzpcTz8kPnlwMF/XNx2zAzyxofj64VGyZUgxU4nADh3ALPLkKXLmys1B1lHZ6/VDV0eibGXLha5AVvH6FdLKo8qiMuh5OuNTdgImbihpqzATQwuOtcosesQ9a+ydzvgrAWlml66R416Gv3jp7UNWz2wAdP1jn1qyqS5rFkHn+mZ6wtDc3RJOWwo7eJMT5Tzz4gHfA3h6hdKg4dTAnZtbGhBSyVrDE6BjfxSTDHh2K5r9nSSuaoChVSPwKP8GGMal/yAfwehEFImvJKBrKqGZ6bHl6yaMuiND0Q10z5lBHoxSOjXu2BCtFrM3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=kvaser.com; dmarc=pass action=none header.from=kvaser.com; dkim=pass header.d=kvaser.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kvaser.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y93DNnHVM7D0lhlzQNUzSRyA8NIGKhLTxbuyF3Wdehw=; b=ET9GeZb7P0lIaQV2EDiZ5y104R+TKyqTC3FZN+anfwWLqlQTGFBNYVti0gWnVF0nA/jomszEGpjA2HnhVlB2Lvj41yFsO9afaOJmJFwQzWkZjDKvVXeV2ywXTw0KDfAxI5H4FOf6wQ7oTRoPnszWk4rEErs31mGXkbntiEHnAEA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=kvaser.com; Received: from AS8P193MB2014.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:40d::20) by PAXP193MB1376.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:133::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.30; Fri, 25 Jul 2025 12:32:46 +0000 Received: from AS8P193MB2014.EURP193.PROD.OUTLOOK.COM ([fe80::7f84:ce8a:8fc2:fdc]) by AS8P193MB2014.EURP193.PROD.OUTLOOK.COM ([fe80::7f84:ce8a:8fc2:fdc%3]) with mapi id 15.20.8964.021; Fri, 25 Jul 2025 12:32:46 +0000 From: Jimmy Assarsson To: linux-can@vger.kernel.org Cc: Jimmy Assarsson , Marc Kleine-Budde , Vincent Mailhol , Simon Horman , netdev@vger.kernel.org Subject: [PATCH v4 01/10] can: kvaser_pciefd: Add support to control CAN LEDs on device Date: Fri, 25 Jul 2025 14:32:21 +0200 Message-ID: <20250725123230.8-2-extja@kvaser.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250725123230.8-1-extja@kvaser.com> References: <20250725123230.8-1-extja@kvaser.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MM0P280CA0077.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:8::20) To AS8P193MB2014.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:40d::20) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P193MB2014:EE_|PAXP193MB1376:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b3133d3-8d38-47bb-6b19-08ddcb775b9f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?n+ENAHa8OZ3Qm050zFlC797xQTMu+0qiPbVuEjeE79NxcIiOYU57R34Y2aY9?= =?us-ascii?Q?m94kDftc7qWMKFhTsk8UqbiMTwmGr017qTkL/nHd/hzOmHO9tc3t2XdsP0fY?= =?us-ascii?Q?TV3pGxo4QIHn7Iudw76Q4wQxajP3GCHpGMVnXccSWrXutj5H/oQkQ6Ox6xj8?= =?us-ascii?Q?VOsKgBSo/k3/lk0aT8EZulCDj1mBiJuFyk/br4Kd0J7Ywrj9WVntKqIG4bNh?= =?us-ascii?Q?vbkBLoBeu9UCypiRv+jXWSO3iB4TXTD8A/JlSzzZmSLHrCIWKIlOBDnge88r?= =?us-ascii?Q?KkzvoyaW9g8smK8Vf+ZqvA00u3Wuvr7iEGfg/Dej+U0vraCHFej9s9wkUG3y?= =?us-ascii?Q?R0SUO4IFOr6ujTUZ08TPKHnkIXejS4bo1+I+7wWtNs7qH8kUAFf/YIw8qiK4?= =?us-ascii?Q?m73Hv2DMKBEuQJi8sbZyHceb1UzG8hDPd9zj+BXLSvFSlbvPRwW2PbdgrIp9?= =?us-ascii?Q?19/lI2OyHuSrrJEXXyjJii7hyzdRZzWdR76qq4lpd9y6SQc0iEssaGVNmaPd?= =?us-ascii?Q?UmwErZaY5d8vZS2b3dpxSGW7sqKtUo0Uwopj/d824npSPV0QZ+2teTDkccla?= =?us-ascii?Q?LkzI4rKySqyJf0XDoXhtju0ZPogirxQ7wHo6911KGxo0hGKBE8iSkX/A3YMX?= =?us-ascii?Q?TTPs1WqRYN/fAg1kTgTdxyYrE5h1AuonbHVoMV8sHIyK68jTEu6qS+0NpjcV?= =?us-ascii?Q?ebNqHq91wdlRYfnQPrFVvRfrOrfATMU+hYhT0Nz9Es/DCxV2lORWZ7fVkel9?= =?us-ascii?Q?LjwCiBsDMYDRKqNCvhex38+e+b6Fdh/naqoIvVSMEHvjpfUHt8Nm4RkTUhoR?= =?us-ascii?Q?guo2rajdw5FK8zsnvKu0OmYGoX/UEjZl7X7y4xbutrazp/Cc1oSLy+yexm9W?= =?us-ascii?Q?Ok5LyDtNlEtco0KzCC9QlpjGBgUKbtHXUHsPOhQCGvGmLw+urqI4E1Bbotks?= =?us-ascii?Q?GIBwlTqfmjrZIDav7IzmWDiKa8mpXGkjIRHMemrc0fhOIOLyCsAaekveq8ds?= =?us-ascii?Q?7UKEq5ogAzj+1Oe6VQFHbLH3Hrnx827Oihpx6E38eNS8yOvMfK4RCZfkbotk?= =?us-ascii?Q?cLZ+kBX2pirdOTYZ38LqvqufOP2BmNcWiCmn0Kemz8JFskp7m3fp4x3O1aOJ?= =?us-ascii?Q?HlTPQ5kJCKcjgSHiO4aMA3A6Vrv+QGAFJjo3aNEOBb82PlphZgeISNujBWgm?= =?us-ascii?Q?FX0JywmJGd66AwSBAoSLY31ILzX4zyN90MgKsk+BsjWuQnxg3FyWrUYGqgXs?= =?us-ascii?Q?2ZMuqlPFPdQ21UspLHUl5PW3V+Os5pGM0kF6ojL3YJYQPyzb81JKRlGW2Wo2?= =?us-ascii?Q?4E6GfRQS7I3dGqduQflf/xR2Uv4e0VJe9Nzt9U23BVtT+ae95nqZSVgVsosI?= =?us-ascii?Q?UcOiEQR6SHP4F9G5mWUcDb/J05k25KwisiY15zbuaY/taS9IesjFS/rw5Hac?= =?us-ascii?Q?cZ5QIqucf/M=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8P193MB2014.EURP193.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GuDGw5XcQlKQtBEnoAFio6I2yU3RLnYBdKrmDGs8D5lBO93J1KP1Em5/NzC7?= =?us-ascii?Q?Q+eqFx3vHwASuUDTGQpSkW8623xjKwJgy5PfpY53EgoGbVS5/h4rzGI6YlTv?= =?us-ascii?Q?XmZa5lKeyWsNIjoE+8l2pvjcy8uY3rL1OuXvRdPRWNiWXBcPM4JEoSTawhs8?= =?us-ascii?Q?htqTNkZB80MQG+aQElTm7b6KxGBSx0UCrbsVzjjw+ZUmNiM/4xqjxghHAH07?= =?us-ascii?Q?AaEu45XHkk3WarVEYhIOlZ3rvuvMz70vpMe4obnvJOTUQgDUOuHXNYEtsej0?= =?us-ascii?Q?CNv2e27DXSM12gU1wOSIi7g0Szwlj40mda7G6xb+mivaeIX8MLe55nsPzR5e?= =?us-ascii?Q?Rmsz74OoJ6Hq4x6sDR2Pjre8sExE99+6VfxLMQh4hZ+4R0isBIkcVFu7McIY?= =?us-ascii?Q?RqIKMKt92tnWREbcrUf8cGqphoQ1Fx3D/Z7H8v/oVgJwDv2ilV8qgE8N9aB2?= =?us-ascii?Q?SKfItrxnhXO029oWkyvEZ1r7dT+IgOqmGH1st6rWxXK3z2sn+LM2YJIrZT85?= =?us-ascii?Q?7G4sURfC6DTG5Zfq2FYoP5ydgiUYeT5bSmEOa0koK3tOr6LOLpzC50RdS4bY?= =?us-ascii?Q?9FfxPvzsCOZCIokXBGK35BU+wqj/nhfImVf+1jISNMuJxga3SaDj2ZDXcaON?= =?us-ascii?Q?ZowYqye+Z+12JZlLYmhfLItJQPlTpShkCSTRAkgGO08WEdrtoqSkjBB5gKxF?= =?us-ascii?Q?h7IXBriEuMhdH1ybdCXc487yuqKJGNmRl1lsIRL50HGlCn+hb3698sIvOz4s?= =?us-ascii?Q?Ig/FSYPKfzn6aBsjIWGYZ7c1s7IV1qMXO3JQHSa6mYyXf0xOTBmIiPba19lE?= =?us-ascii?Q?IUiYoaagnv8cmHMTFGtX1vmn6ISRa9rEvhw+5bCnYhIzBlRb8hmRiIdgvSim?= =?us-ascii?Q?raI85JpBe/8DHAx19fUjzbETI+pSwtpRpCbpVsCwmheuymp2MjsoklMW0LkH?= =?us-ascii?Q?d9vDRDLXsyvE2eyCtQt6ETznaPtT4gPHYCiKxQ4ruljiWBMNTbPm0i0R5HNt?= =?us-ascii?Q?OB8YgFAZp3ZuTuTJJvbeMw7+sBo3BZ2CNMvfDGWnQiqg22cNYrBOohU0WJeZ?= =?us-ascii?Q?9Ph+HbpatEUnrPzDZ3c2niCCLp9VOUErduIxiptStfE30xFh97OZ9U95yRKQ?= =?us-ascii?Q?tS4CNnNnB/V2DbxYwN2M40WbOiZJERZU7XvR0q66bTOFEfOVkRIurSyV85f1?= =?us-ascii?Q?yW2x9yryY3KXVCGazvEA7FT9ZjNPjy/hSBM7/auUMbf7LyDYzWUbhB5dE78D?= =?us-ascii?Q?fk+3TdcmXgmYR9OfiCikiOcgxfl0/RasPVtdee/FowsnTgvHUXn5vDqc7P4s?= =?us-ascii?Q?/7rmbUJHvEkTVr/j/ChyyUTYeTZPFoxFLBlVOHyvv9VQYD86Qixi0YEodGN+?= =?us-ascii?Q?xLXvmhGVejCycyGfRRO2jx7TcLfOi8zxsD9fCOuZqspB11/GZ1zmhqeKrTpV?= =?us-ascii?Q?SiWHsUgFkhrZ+jzdhR/w9VV18NX3Xy73QwEAeG4BoIE+dm29bDQelV/yqkM+?= =?us-ascii?Q?BTZtcHzT3zrpzGICLANOrRXGfP0IlZgT/J27KA+IeGJ9I5dULbaVyydE941p?= =?us-ascii?Q?NDs8uIOaWztqlnd93gH05xPzYzBN6Yz0IlDzfoqeyVJ+CXHCXLNYE816f0at?= =?us-ascii?Q?NA=3D=3D?= X-OriginatorOrg: kvaser.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8b3133d3-8d38-47bb-6b19-08ddcb775b9f X-MS-Exchange-CrossTenant-AuthSource: AS8P193MB2014.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 12:32:45.7221 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 73c42141-e364-4232-a80b-d96bd34367f3 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HbRnOikqtSRtV74OpJs6BemixREgxxn7prWVcpKHXIVHEa//Ru9q5q/Dsg42e5mkxU7qaz1yVZz9nrKvOvio5HnVUDspdCoHeByrkI05vy8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXP193MB1376 Add support to turn on/off CAN LEDs on device. Turn off all CAN LEDs in probe, since they are default on after a reset or power on. Reviewed-by: Axel Forsman Reviewed-by: Vincent Mailhol Signed-off-by: Jimmy Assarsson --- Changes in v4: - Add tag Reviewed-by Vincent Mailhol drivers/net/can/kvaser_pciefd.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/can/kvaser_pciefd.c b/drivers/net/can/kvaser_pciefd.c index 09510663988c..c8f530ef416e 100644 --- a/drivers/net/can/kvaser_pciefd.c +++ b/drivers/net/can/kvaser_pciefd.c @@ -66,6 +66,7 @@ MODULE_DESCRIPTION("CAN driver for Kvaser CAN/PCIe devices"); #define KVASER_PCIEFD_KCAN_FIFO_LAST_REG 0x180 #define KVASER_PCIEFD_KCAN_CTRL_REG 0x2c0 #define KVASER_PCIEFD_KCAN_CMD_REG 0x400 +#define KVASER_PCIEFD_KCAN_IOC_REG 0x404 #define KVASER_PCIEFD_KCAN_IEN_REG 0x408 #define KVASER_PCIEFD_KCAN_IRQ_REG 0x410 #define KVASER_PCIEFD_KCAN_TX_NR_PACKETS_REG 0x414 @@ -136,6 +137,9 @@ MODULE_DESCRIPTION("CAN driver for Kvaser CAN/PCIe devices"); /* Request status packet */ #define KVASER_PCIEFD_KCAN_CMD_SRQ BIT(0) +/* Control CAN LED, active low */ +#define KVASER_PCIEFD_KCAN_IOC_LED BIT(0) + /* Transmitter unaligned */ #define KVASER_PCIEFD_KCAN_IRQ_TAL BIT(17) /* Tx FIFO empty */ @@ -410,6 +414,7 @@ struct kvaser_pciefd_can { struct kvaser_pciefd *kv_pcie; void __iomem *reg_base; struct can_berr_counter bec; + u32 ioc; u8 cmd_seq; u8 tx_max_count; u8 tx_idx; @@ -528,6 +533,16 @@ static inline void kvaser_pciefd_abort_flush_reset(struct kvaser_pciefd_can *can kvaser_pciefd_send_kcan_cmd(can, KVASER_PCIEFD_KCAN_CMD_AT); } +static inline void kvaser_pciefd_set_led(struct kvaser_pciefd_can *can, bool on) +{ + if (on) + can->ioc &= ~KVASER_PCIEFD_KCAN_IOC_LED; + else + can->ioc |= KVASER_PCIEFD_KCAN_IOC_LED; + + iowrite32(can->ioc, can->reg_base + KVASER_PCIEFD_KCAN_IOC_REG); +} + static void kvaser_pciefd_enable_err_gen(struct kvaser_pciefd_can *can) { u32 mode; @@ -990,6 +1005,9 @@ static int kvaser_pciefd_setup_can_ctrls(struct kvaser_pciefd *pcie) /* Disable Bus load reporting */ iowrite32(0, can->reg_base + KVASER_PCIEFD_KCAN_BUS_LOAD_REG); + can->ioc = ioread32(can->reg_base + KVASER_PCIEFD_KCAN_IOC_REG); + kvaser_pciefd_set_led(can, false); + tx_nr_packets_max = FIELD_GET(KVASER_PCIEFD_KCAN_TX_NR_PACKETS_MAX_MASK, ioread32(can->reg_base + KVASER_PCIEFD_KCAN_TX_NR_PACKETS_REG)); -- 2.49.0