From patchwork Thu Sep 19 17:59:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 829731 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2085.outbound.protection.outlook.com [40.107.244.85]) (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 D2ADC1A0B08 for ; Thu, 19 Sep 2024 17:59:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.85 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768793; cv=fail; b=FK5wwEPHEOqamayoe0YkHzMvPfJdnhKH2fFcdqyVhtnK6MBPHpXKe5+r3QklJ0xL6z5IQLE35/FkYWtXt6qkkN11QJEaC9lJ7PJdnGAa04Hlv1VVXVN0zvfCllaQK74LB92ftxhpUHcx0faB5+0JOsXSbwGksLjVeFskZYWu1UU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768793; c=relaxed/simple; bh=EbHAnuaRVhQTeqGa+PT8hC3LlZ9yqJfIeqM5E/IIP4Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=MepI1bEgH2nsQCcYgBeqIgjiNOYZ7SxNT/0aEQcDsCpxvvz/Je4Y6p0DVO+WGAuomUjOAFmotWx8vb/y78qdp//skkACDyW1Fi2o0u19XMsiqAL018VvCQj2MpFJEoLebDAQwUSCkWHXMZjxwy1phX+69AtXNdNUT/LTiq8g42Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=4vujTZME; arc=fail smtp.client-ip=40.107.244.85 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="4vujTZME" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oIMqFCjVJ9oHnhEs/N0nW2LWNZRRwEmZ+lEwcKN0CH2phZFGy/63TB2FjkqBrrmyyGpSGqHNjhrNf9bjWWvEpgegSLYTBBCBwjmzurxBx3zY7zvfD/ibx6BQkNOca3SuJ53KK4kVwCB5BaZHErTxh76JXXTGzlgvkBz12iCp0CazKAhab20HdM1XepwN8RpOBpIUr6vGfvcn2/Dk6aNVFQeDVWRg6EUULqlpO5qFe54+Wh2UIL8FrM5nju/H8Fe+B78oUPkdhNO4PvPv9MiwTSGFfO/BqXSOgoOlTIAyeJazeKUVhcOnetp6ANhiks17Na87XAkAtFRFUWxYI/I+Lg== 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=pv//g30l8p1auD1afNh1AfRALQVgbYB16xHyAlfPbBs=; b=O2TVP/YcvYuqEYM9GMiXDYXrL90aAAMCtTxBuSZZCiPwSBBtYiKhbKpqtO+dgwStZb9uJjmnft0a2cEbToqACVt2dbZz9W6vGo6e90cSp7zC7qnx3RZZ2YJnvosuKwpkisRze9dQjFxD+K1iH1SVsiHXUTSAqN72wdY7otvAXwnrTILnpi0PlXLqoWNDdZ8xVpO5K6kbpqCJ8vhBTutoqHCroWqkCrkSF8zNQ1uGXDaVrJmCADUqhsQz4e7CWz5fOEMyOG+WI8pGRq0/HsWq2IzVO8cQjgDnArHYV5DIvp7oPaCQ9v+XcywuYmnNIizIBAMyK1FGbo7Ru6IvN3PTMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pv//g30l8p1auD1afNh1AfRALQVgbYB16xHyAlfPbBs=; b=4vujTZMEZrMJLiyo+r/oZCyeqIoV/jqb8oTfyT7TA7yIxrNklOr3kv3O/6gN0qJ8Kak4F8bAuQnbMDhpewOhXUTDYic8+F87c6scssLAnsyZ38nttkMdt28m1eksIcfmWH91toS17Um0mx6ElWUKIrOjVNFCJ4NYhu5q1cnFSs0= Received: from SJ0PR05CA0055.namprd05.prod.outlook.com (2603:10b6:a03:33f::30) by PH8PR12MB6796.namprd12.prod.outlook.com (2603:10b6:510:1c7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.21; Thu, 19 Sep 2024 17:59:49 +0000 Received: from CO1PEPF000066E7.namprd05.prod.outlook.com (2603:10b6:a03:33f:cafe::3f) by SJ0PR05CA0055.outlook.office365.com (2603:10b6:a03:33f::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15 via Frontend Transport; Thu, 19 Sep 2024 17:59:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000066E7.mail.protection.outlook.com (10.167.249.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 17:59:48 +0000 Received: from jatayu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep 2024 12:59:45 -0500 From: Shyam Sundar S K To: Jean Delvare , Andi Shyti CC: , , Andy Shevchenko , , Shyam Sundar S K Subject: [PATCH v6 1/8] i2c: piix4: Change the parameter list of piix4_transaction function Date: Thu, 19 Sep 2024 23:29:06 +0530 Message-ID: <20240919175913.1895670-2-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> References: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000066E7:EE_|PH8PR12MB6796:EE_ X-MS-Office365-Filtering-Correlation-Id: 38add733-79ef-459e-a28e-08dcd8d4da52 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|376014|36860700013; X-Microsoft-Antispam-Message-Info: qDlVvWKik5i/75TdfeTYnKyX5lsA5DbqBZm0gwdIg0GUUKAqNBpEZLBBzI1JqRY0b1g4m4oaCw7CN0BtFCDEE9lvyqqsKSF+jb/HYFFONMgA+LhuaxjeiWPInXO8Xq9DFw0mlLCS9uqKlQWBtoQICjqEbKta15n0XvdpGbQJF2D9LovlGxyhqZU/RVPzeAhd2Tc55i5J/gJZkzJ+3NxNU71psV3DxuHpcR61wynXqI0WG9Of5WxHT4aza+78YrJEx92cg/w2/wOECseI9GkPdxH0U0HzROp2aEzeFrR+aqqqWoWtDF5rft+dlXHEiVne8bEeMO6OPMbJndvtJGI9ZiWVi8yjYD9ApiYt/XEVQLMqTxU3/nTLeSdOnWetZASDjyLLN8Bg3zp5ifvJco9Wb9MYKoIjIKRNM71hxmJE8jHWatFw0VYibHKmUj8vi3SO1MqSXKTkSKO5u6/qsVspups52RdxTkJ/evzZcVam9aANCdkINgT7WNRVESuECqUfAJoHlrYCfEAZZlguq7pmQz0OJVqi0sonjaRBlCG20ODlY8CcYNic1KP49cPkKkaA3I4J4MaCXjNW3pI9l1+fGHIJmi66x9wX1RIXnlAH8cr8PIcLgJB9et0R2lDgSP5TIhhsDCwXsKg1lKGxYK4Z1tW6qXozQHdtY9LFtquP/ed8EjFTmsGAVBWyCRyHGDO/ki5ioJhhhuKd9cDxO51uCJwn2nz2SmhiqYbOOLJOYi51Vdz3hyLun84Oe6skR8Nn9XP3yqagQhDcvikwkX5LDNAjegVLXyAmDjm1n7HU33jlm+41GnOWexk3vjroHaAAwFbGIKp579QPSSslOYP+XNlmk1coUH5DGQMpP6lPPvGC6wk6tLezHxDqCBFJktroLMfWm5JaSUpUoBRlnfNxXYiXrUC2cQzRVOAn5Y3WcR5yiyz2UIFwFpFa1aZ1qBWeYEO1RzcFu8prGQbU4Hn6l/BNtUgivOdGjKeCM5q2kNkIveJ/YdOIgQ4oIjPXzrixUXt06q1ejg75tDI0r2JgQEig7k8PN5tir5bYrMW5tczld1mPinericD2042pzerH6EdxOt1NGK4YxgeVzFFcnEcbQfEmYHbwj02eh2MJM4s32vlZT/QbmG22Z6aNr/3jPxrbO/biNfkNGT9WhHkWmlcPQEmYi4nLZJePyfJ9v9z8dSWX8FRDraSQ07qhb7+KnAFk6P/tN++OLonIEtJhQ+UHvJaLXbkL+TMH1KTPhX3qxDrCqz1xnQQifw80yxTdwUAV8Ng3X3LlYKIvXle14e3N/kqwZgKR3E1K2pNm0TnrkyeQ5NiS67iCYGPiO9xKT9GrkqjoajhW4hTnDUMlHIaY8gdUAFGXN2d1I88sdvcJSXOqhvQ7zMm+ITQyyCSng9y9Y/WPlgVuz0iUW2fp6985F3R1xtWKhPC79uglmDRJD84yHXVta8qpG5siKa32 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 17:59:48.5564 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 38add733-79ef-459e-a28e-08dcd8d4da52 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000066E7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6796 Currently, `piix4_transaction()` accepts only one parameter, which is the `i2c_adapter` information. This approach works well as long as SB800 SMBus port accesses are confined to the piix4 driver. However, with the implementation of a separate ASF driver and the varying address spaces across drivers, it is necessary to change the function parameter list of `piix4_transaction()` to include the port address. This modification allows other drivers that use piix4 to pass the specific port details they need to operate on. Reviewed-by: Andy Shevchenko Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- drivers/i2c/busses/i2c-piix4.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index 4e32d57ae0bf..69b362db6d0c 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -536,10 +536,8 @@ static int piix4_setup_aux(struct pci_dev *PIIX4_dev, return piix4_smba; } -static int piix4_transaction(struct i2c_adapter *piix4_adapter) +static int piix4_transaction(struct i2c_adapter *piix4_adapter, unsigned short piix4_smba) { - struct i2c_piix4_adapdata *adapdata = i2c_get_adapdata(piix4_adapter); - unsigned short piix4_smba = adapdata->smba; int temp; int result = 0; int timeout = 0; @@ -675,7 +673,7 @@ static s32 piix4_access(struct i2c_adapter * adap, u16 addr, outb_p((size & 0x1C) + (ENABLE_INT9 & 1), SMBHSTCNT); - status = piix4_transaction(adap); + status = piix4_transaction(adap, piix4_smba); if (status) return status; From patchwork Thu Sep 19 17:59:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 829730 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2056.outbound.protection.outlook.com [40.107.95.56]) (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 E16601A256B for ; Thu, 19 Sep 2024 17:59:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.95.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768796; cv=fail; b=K+VngT42LBsq7vZ6QCmTSlhJpN/yS/q1nr2wgEMkRvod8Wn/H5IWggP4tulA2GfDzroJcTVrpMJUYtabYd3NlrtOKBaMlqLDNFoynVQmd3eKyWzap/ttOIa0q6YyqDiWidSO0o7gn8Eqa8D200QbP9rl2RlaBy9L071RRp9tlkY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768796; c=relaxed/simple; bh=AbqbGHTxBBWPb45coJ21VgZHzHvv1NXcCxC4h4NcSlE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LAae+H17aa/bOOQFNifkDSCnVKb2c0XBvG7F+AGV/8gi4XGLfY4Lo78L94xyJqkFc51VSN676kLxsUzwcwBVbASdHKQOFOkurBdcxi2Gx1bM+dkRZnR7yS0PrP/jS3AktWATPvd/n5Gw11qRS6mKWiDCEWuvzhB/rqvSB2TLZ/4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Uj/6abpf; arc=fail smtp.client-ip=40.107.95.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Uj/6abpf" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HPrk/iwTZNvEUlzZqCWyfrbeQfgS0ICDUl7OISsA4vA+ds2YxvSlgm1hIXrLkD7PSx3WPCFeJzdChgVQsTsprUcHZgpgZzLZLYKmllAmxGDEujUGyxeks/pmOcgchAgiAmCe97UDYwMetZcMbXyt0hxRBj1/xBjZXmBA5lbiLvP2e3u2DZUVSG4OcdhAUVVJbAkwVfm5awksaMobP81EfcPsWADTehRZRvAvWW5j25VWDuz23P1AIK44l5A5jc4xJOh18wL+k6dGZ8fwRgivRKlL1EuT0OnnpViQyuLwHvZgFDaETbUh3+/iFjGZi4jGWHaVcgEFUkswThWTAug2ww== 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=AfVfsrSwyNCDxBQBPfZFmSrYrSPlZ9X6QPum9UGnWIA=; b=S/grxhLwFofi5oHfqm8BtIh9DEiZ+CeJBl9o5r4B3gvTFSX1AkK3ug4upZlEYPHuA3zqEIwxwQfZud66/opDaPr5H/+2gDPR5tBB5r9GdTVsdmRc/jTmpgRaKID6WDB/3c6hqrcP3v7WHUyLtPOpjBYEx+ljgYBUPBKQne/JHtqn6L+ZaFkNBQTiN8wibXBAcky0QK2mHc9jkAkHSRYq+dLRI6ZFwGuk2Eazs+dl0AQc//SzJ+GB3DF4DIxNIlsFJCDMoy0Dv8gAzT7m1JqHen5CwUezWN+KFzQ1+z28AV0fOXi6ru8fxwrKn8eJR9fwO0XFKrCOKvodQFlqEH4Vdw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AfVfsrSwyNCDxBQBPfZFmSrYrSPlZ9X6QPum9UGnWIA=; b=Uj/6abpfXO/Pyu5V6k6TCXofy7FN/WPiLhMFv4UC9sklKK4FXCeMxdma7aTm9ngyyXcTo8sbJ1SZvXkLdxk57OngIsUKj3FvTp201n9OmTfCJsTyZYFj6YpV3zX2kipYH6SIlGQuwHA4lq+DbCsaDrfSR7BkDZzSnDxknRnD/sw= Received: from SJ0PR03CA0276.namprd03.prod.outlook.com (2603:10b6:a03:39e::11) by CH2PR12MB4263.namprd12.prod.outlook.com (2603:10b6:610:a6::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Thu, 19 Sep 2024 17:59:51 +0000 Received: from CO1PEPF000066ED.namprd05.prod.outlook.com (2603:10b6:a03:39e:cafe::75) by SJ0PR03CA0276.outlook.office365.com (2603:10b6:a03:39e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.25 via Frontend Transport; Thu, 19 Sep 2024 17:59:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000066ED.mail.protection.outlook.com (10.167.249.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 17:59:51 +0000 Received: from jatayu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep 2024 12:59:48 -0500 From: Shyam Sundar S K To: Jean Delvare , Andi Shyti CC: , , Andy Shevchenko , , Shyam Sundar S K Subject: [PATCH v6 2/8] i2c: piix4: Move i2c_piix4 macros and structures to common header Date: Thu, 19 Sep 2024 23:29:07 +0530 Message-ID: <20240919175913.1895670-3-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> References: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000066ED:EE_|CH2PR12MB4263:EE_ X-MS-Office365-Filtering-Correlation-Id: 70f97281-850c-40cf-cf09-08dcd8d4dbe4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|36860700013|376014; X-Microsoft-Antispam-Message-Info: GjsG51RYdEwh77RZ3SZbBh2TmnMPX+n0cbKw5C+HMjJzu+h6t93REDIWrz9TTCVcypoC/pZtmc3pJwoqzJxhuJF9EH/hDqd+fj82yxA6Hq1gl3qxnLDkQtik7AUiAK8lj0UXjxpzEl4GPINAIUCQsH3kb2a9F3zRyjboitGKJQ26gckw3vCifG59f7UIaoyvHbohQURfmOHPw3onwIRtp4YZkhHWTAnuevGVn5SImuwPU5MyCUDSW4oAJzT/69cwBbM0qQ1rLVgRPkTsG/ZgZrPKhTU0Q3kuxoLYDfjWe+G8WkH0yOfKscDCeJ5nHyfch3lyrhgDX04LBG5b2Z4SN8D8ovaQ+GHn72R1Gq4XNcw+qPp/knkWF1iD3gWSVvA4l7JhhOa/apCCManIFazfSuwkfKTBk7Z5BlFco82wx4E71YfK+aR0Wsx84I/oH7LBzkEwIAfFDE2BFLtJBrsMhaKn+oqYideztQ7Zj6IbgeCQrqJJUeFp5D6efigVxVkHOmPr9QP9Ece3kV8a046VRlX8BSWievyLLYvrvXNWMIenG9x5hGUxyhTNe0HVAyzVWNWN8asVgxXI/scjK452pX2rWybuNtrF6LRx5TzQicJoyg4JcLHebIMO6tTqEtxMrEmoXWasZPdqkJRWSvIYNebp7d8mkmp7LeJebnA/tLjkLFXrDhXMPywpQ6eaiTjdSfIqKa0B1USXlRcn32R1aMsVBdiBDpgDurmiROZ5JnNtIgxWRG/PjbVKAThPI+5K6hoZrHBNbaJ1adhh75qkfp0fiiy4TSSD7G637Qn6PAtyY4GqMgYxY6eHCUPVVD+yC7m8jdH9996fY9wa1IyaBduugvbOXn6xy1xZ3K29EEMWJrbLhcsZwP3nR/Zpr/vdz4aYE6UGEUJrouDTfyLLu58xKTYBax8/N4KXn67jIZUjb9z99a0DC2y+PYaCD2cCMlMhqgdDgG3JM44qBPLuGChi+18oXNtItTVhcQd6UmYVw7PXBVCdtM7L6BnGanSmJWsuWtHyg2N1cG9eUJWCzvR9/XYBgIt4iIrXyRc890zg1lfVcekf8Uabvks5q+wTo1ZKgwc7mF+kl7ttpFerWZ3uHTJDtA8r5cyxkW5XTW0kWvEgrimwRvsLiAfstOqoGpiU+4ca+2HO7K/HR23TGTJkicIcGKUJ+dobbDrVaZswqYgaTfhZWsoUirYfE0LAYO/EtjU2i8JqmFdZ4qFegRp5cyS7390rW4Bahbie8KLATMAvQiJBS4KZVGVS0+a7K+Bo9D+hkH/7goikZl638u6StePAn1bDol9+hFHHBqOXW40hImIoNQPk0t9BAMytWa+bnuSygAreoKu3AuDMTo5yhgFVNfLnwaT229E1lUswhRxBNPmI/9ieu5cEOVyW4klEJJKHVb27EOqab2HOcQ2o1ZauLCPZZlWaHvmoAA4IALRQRs0bGK1qKkefh6kS X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 17:59:51.2077 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 70f97281-850c-40cf-cf09-08dcd8d4dbe4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000066ED.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4263 Add a separate header file to relocate the common code from the i2c_piix4 driver, allowing the AMD ASF driver to utilize the same code. Update the MAINTAINERS file to include information about the new common header file. Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- MAINTAINERS | 2 +- drivers/i2c/busses/i2c-piix4.c | 21 +----------------- drivers/i2c/busses/i2c-piix4.h | 39 ++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 drivers/i2c/busses/i2c-piix4.h diff --git a/MAINTAINERS b/MAINTAINERS index 9278c30ef1d5..815f46948c1b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10684,7 +10684,7 @@ F: drivers/i2c/busses/i2c-i801.c F: drivers/i2c/busses/i2c-isch.c F: drivers/i2c/busses/i2c-nforce2-s4985.c F: drivers/i2c/busses/i2c-nforce2.c -F: drivers/i2c/busses/i2c-piix4.c +F: drivers/i2c/busses/i2c-piix4.* F: drivers/i2c/busses/i2c-sis5595.c F: drivers/i2c/busses/i2c-sis630.c F: drivers/i2c/busses/i2c-sis96x.c diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index 69b362db6d0c..4f070863a2cc 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -35,20 +35,7 @@ #include #include - -/* PIIX4 SMBus address offsets */ -#define SMBHSTSTS (0 + piix4_smba) -#define SMBHSLVSTS (1 + piix4_smba) -#define SMBHSTCNT (2 + piix4_smba) -#define SMBHSTCMD (3 + piix4_smba) -#define SMBHSTADD (4 + piix4_smba) -#define SMBHSTDAT0 (5 + piix4_smba) -#define SMBHSTDAT1 (6 + piix4_smba) -#define SMBBLKDAT (7 + piix4_smba) -#define SMBSLVCNT (8 + piix4_smba) -#define SMBSHDWCMD (9 + piix4_smba) -#define SMBSLVEVT (0xA + piix4_smba) -#define SMBSLVDAT (0xC + piix4_smba) +#include "i2c-piix4.h" /* count for request_region */ #define SMBIOSIZE 9 @@ -70,7 +57,6 @@ #define PIIX4_BYTE 0x04 #define PIIX4_BYTE_DATA 0x08 #define PIIX4_WORD_DATA 0x0C -#define PIIX4_BLOCK_DATA 0x14 /* Multi-port constants */ #define PIIX4_MAX_ADAPTERS 4 @@ -160,11 +146,6 @@ static const char *piix4_main_port_names_sb800[PIIX4_MAX_ADAPTERS] = { }; static const char *piix4_aux_port_name_sb800 = " port 1"; -struct sb800_mmio_cfg { - void __iomem *addr; - bool use_mmio; -}; - struct i2c_piix4_adapdata { unsigned short smba; diff --git a/drivers/i2c/busses/i2c-piix4.h b/drivers/i2c/busses/i2c-piix4.h new file mode 100644 index 000000000000..32da914109ba --- /dev/null +++ b/drivers/i2c/busses/i2c-piix4.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * PIIX4/SB800 SMBus Interfaces + * + * Copyright (c) 2024, Advanced Micro Devices, Inc. + * All Rights Reserved. + * + * Authors: Shyam Sundar S K + * Sanket Goswami + */ + +#ifndef I2C_PIIX4_H +#define I2C_PIIX4_H + +#include + +/* PIIX4 SMBus address offsets */ +#define SMBHSTSTS (0x00 + piix4_smba) +#define SMBHSLVSTS (0x01 + piix4_smba) +#define SMBHSTCNT (0x02 + piix4_smba) +#define SMBHSTCMD (0x03 + piix4_smba) +#define SMBHSTADD (0x04 + piix4_smba) +#define SMBHSTDAT0 (0x05 + piix4_smba) +#define SMBHSTDAT1 (0x06 + piix4_smba) +#define SMBBLKDAT (0x07 + piix4_smba) +#define SMBSLVCNT (0x08 + piix4_smba) +#define SMBSHDWCMD (0x09 + piix4_smba) +#define SMBSLVEVT (0x0A + piix4_smba) +#define SMBSLVDAT (0x0C + piix4_smba) + +/* PIIX4 constants */ +#define PIIX4_BLOCK_DATA 0x14 + +struct sb800_mmio_cfg { + void __iomem *addr; + bool use_mmio; +}; + +#endif /* I2C_PIIX4_H */ From patchwork Thu Sep 19 17:59:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 829729 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2084.outbound.protection.outlook.com [40.107.93.84]) (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 5279E1BC46 for ; Thu, 19 Sep 2024 18:00:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.84 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768803; cv=fail; b=Ugoun/Ht0o5SBnVS11cQ4YpsiD5doXIcSbsfZxvU5PpRTaSHO8AAT8XOfkhyDc0KcwHER7EBtji91ANO8QCg7m7FhFSISEWVbm6JX/fVPoY3bWXnClML9r6JVpNjjSJzq6PAJ+uuLEIK/norJEuoB+j9wTK19swLJB9QtTte1i8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768803; c=relaxed/simple; bh=7ZsQFUNSZZld3raZoEaJHisUp+5c3BnQ69sWU6GgwBs=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=B+4h4mUmdOw4004bb38oE229pF29ctatQpH2iUEEm35KGS2T58cTwi9/Q+CLGnIyH/xoQZzhkPRDrTPUcagwtsTbglYFeysxpfnFt22kWVlvy/hlsdBZ/N3SEQB6FRPZuFWJqWVZYH8zahMwXevaudbybuwJqCju7NJYUCVt+8Q= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=1YrSObdF; arc=fail smtp.client-ip=40.107.93.84 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="1YrSObdF" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q5XU48xsOMrXumLVyh3V3TRHwCCdAMV0HUCHT8KL1ICQFT6624Av3bD/8aRCWaNwYVbyonJqrARyjpOg1Rm1LTw+3i3G7JyPTFRj5UkHFel2nwV5q+EOdeB1aVbdHp4Q2VmTY8J04lU8fLtSUUv67KJNm8Im7Xf/jRoXxsKUfjUqkqzYf6NDvUg0k1ZhtlHPkrFO+mu843gVof4nlfBzBPl+Yg7xYzdoh5csB5Uk/Sagv1ewmpL+2DdRcdC/eIWQGAWmfxVZe/KiJxSkE4/UGBYRbytmKg1X5qbi5xx2ytguMqFJgLTX+MusbZomSluYRYoAT7o/u221GMd/O/FoWw== 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=4mOOeh/FI/zwUo0wWWXvs+jYIiKQkaXsWwzQokSPtkI=; b=FxP4cTc5dizmMpRng+HajjNjj45u53S57crn8ugiGgJa2sK5OhmH99bcjKPv9iZ29W/NT4ei43WZ0XwZARcbBdg1DETi/FG5PqqsZnH8scvXo8ibUAI5RMTSx4dNWoUsEgPkNJirLDlGYKsIka4fl1cjLvrFrr9pQqvooznwp1hhYKMbyoD6Wpncd3N4INHzx9eK78zZ/6zylLGD+X0aM9roWGEWRPx5kJVggukIkeGyE/fRFE4ZifGKsMNSW3OGYo1IzBJcw8zeWAJeHjI0EZmawgwhFk8y1KHoPUyYOcBtyb3CL9ZeocplwbnzAraKTDlo94Q6CwjZjgmrZTVYIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4mOOeh/FI/zwUo0wWWXvs+jYIiKQkaXsWwzQokSPtkI=; b=1YrSObdFZa9fuHJ8QaAZloBv3rZ3MOo6nqlCDDDaECCRUVdvPydoD1VQp52A0V2boqncDWaAm2LNweW5Pn7cmy4h1JuhPX4o48Mcm2Fe5GKvv9HWsno9p4565nojeTYLuqlIu9dLmIfnIy/0VNnz/WkLWPyvUKj04xu1JkHQQuo= Received: from BYAPR08CA0041.namprd08.prod.outlook.com (2603:10b6:a03:117::18) by DS7PR12MB8229.namprd12.prod.outlook.com (2603:10b6:8:ea::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.29; Thu, 19 Sep 2024 17:59:57 +0000 Received: from CO1PEPF000066E9.namprd05.prod.outlook.com (2603:10b6:a03:117:cafe::d) by BYAPR08CA0041.outlook.office365.com (2603:10b6:a03:117::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Thu, 19 Sep 2024 17:59:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000066E9.mail.protection.outlook.com (10.167.249.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 17:59:56 +0000 Received: from jatayu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep 2024 12:59:53 -0500 From: Shyam Sundar S K To: Jean Delvare , Andi Shyti CC: , , Andy Shevchenko , , Shyam Sundar S K Subject: [PATCH v6 4/8] i2c: amd-asf: Add ACPI support for AMD ASF Controller Date: Thu, 19 Sep 2024 23:29:09 +0530 Message-ID: <20240919175913.1895670-5-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> References: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000066E9:EE_|DS7PR12MB8229:EE_ X-MS-Office365-Filtering-Correlation-Id: 1bba6e2a-c88b-4f40-c89a-08dcd8d4df41 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: c/NG6X/xAWrKrmUElZMNHlL0XaI6v7/bq5gE+ESvjxIrkx9WzvFki/ImLM5Lwgjvw91P3jkKjAVSWVUlGsQ/V19LE7BThUY/MWDTgwrb07OKBKIKRzTbDE70dknUQjlWWUOYb6Q7f2fBxigXZWxpXWAtn4goRem3YkM1VHwxoHPC/HvLWUzejx1gFByRpOBelcr8Xoty5EmkTwEgLoWpZHAnL5EOvRIfKEJz9e69I3sWfGl25rGItZ3uJNW732mVnfKKnMBbzdx6HdTjzOIW4BYJvJzcu/njgLLCMHVmnM8qgTu0RGKoHrDpWxwXyLXWOwGMoEJK/GfQzppm+2oEd/j7b+1MQX9ENZ+B3aCGD4DN/N673CEFzU7wB1fN9D+OIgSvdBPaBNGP/dA4zS78iuO926zVwhIDLnyXptYb3GQsnrZjy/MIFxI9oNnJRJ13dHX84cFLiD6XSZwKDq7qEZxFZtishn0ftNprCrNKjkKKXY/vMD1oNNOhjqDyPRDVhHw/Q9hm4U5ywOeYliTN7RE3etDog4lsknbbS1xAfdWBHa7gQcX1FZAgXWX0DaxhKGUx8n8lZIynC0JKyjHW4CBrFb7Of79gJmgoACDG6iWE4aeRn8l4FAq+frTmY8KtZ1k0t++x4ASBpOyltO6CdpNXeXWx02ZCkcCx+bQK5Hb94M3SqEGfGx6FifZBOPZaL+ttCYh5JGh5OeBOBy7voYFdKI4wpy6EvA0rwVrTF6Hp8jCz9J8EQSazqrXuTFnlkspQBNrC2aY71nHFl+2fYjINzzTGZ1Ci/Mi9lZqj0uVLCUb4gklcwR7aaspCOQrFRhZKikZzzCPtDmyLFDebhtDyjoYu5rWOvqTRFZ52eTpnvRqKnuSEDVOs59uYMP9dRTQrdE9Pa7GLSHTOmIlJdfMRoeKjdNXFNUvwwj3c5+niPoJDPG5GuFrYvwNuZmmemlPvumxDt8yajVP+YM1Ke6M+6S3NJmZ2Q/cT7RGSqt+LI9TSYLUhliw87UnfTHiDRGjKW4zVKivCE8+KmtfzXvmRDi8ZN9HHvr5YtCSDesUDa7xnFQnDrCyGvQfxaG4SztWv02SbaQs60464o7UQMtp0EljQvWkS7oFnDg3EWteqaDJHMp6ofPKoAA7cr0EzZgz2haCf5Rl8J+U1GRyacgASBpqdvetzNWjHHbpTMuvAGGg44mPX1sprClp7sAoqB1+kYPcPsTZy58CW9qzd0z0wLrDedFYRPd10paWbSwcLVr3O3Hfcuj94ULNHS+IARoeyqHXGgUYmWu2RSRBWgY0jSHkkHBE/Pfw3ALkmmkiVxyUQU3BOzmv/HumbGGQ6OU0b0P6lqYRXlngKG0b8A1962M77IejoQrY+dQO/MSRy48qvLXg8sevTwF1JrgkHl8gBaA4DlV/d+oFm6VF20hwAWge3Mq9PLNdQ0v/N2qkpsdRFFbu2dtYUp87OBV73 X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 17:59:56.8345 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1bba6e2a-c88b-4f40-c89a-08dcd8d4df41 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000066E9.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8229 The AMD ASF controller is presented to the operating system as an ACPI device. The AMD ASF driver can use ACPI to obtain information about the ASF controller's attributes, such as the ASF address space and interrupt number, and to handle ASF interrupts. Currently, the piix4 driver assumes that a specific port address is designated for AUX operations. However, with the introduction of ASF, the same port address may also be used by the ASF controller. Therefore, a check needs to be added to ensure that if ASF is advertised and enabled in ACPI, the AUX port should not be configured. Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- drivers/i2c/busses/Kconfig | 16 +++++++ drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-amd-asf-plat.c | 69 +++++++++++++++++++++++++++ drivers/i2c/busses/i2c-piix4.c | 12 ++++- 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 drivers/i2c/busses/i2c-amd-asf-plat.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index a22f9125322a..03afcdbff209 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -95,6 +95,22 @@ config I2C_AMD_MP2 This driver can also be built as modules. If so, the modules will be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. +config I2C_AMD_ASF + tristate "AMD ASF I2C Controller Support" + depends on I2C_PIIX4 + help + This option enables support for the AMD ASF (Alert Standard Format) + I2C controller. The AMD ASF controller is an SMBus controller with + built-in ASF functionality, allowing it to issue generic SMBus + packets and communicate with the DASH controller using MCTP over + ASF. + + If you have an AMD system with ASF support and want to enable this + functionality, say Y or M here. If unsure, say N. + + To compile this driver as a module, choose M here: the module will + be called i2c_amd_asf_plat. + config I2C_HIX5HD2 tristate "Hix5hd2 high-speed I2C driver" depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile index 78d0561339e5..74920380a337 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -38,6 +38,7 @@ obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o # Embedded system I2C/SMBus host controller drivers obj-$(CONFIG_I2C_ALTERA) += i2c-altera.o obj-$(CONFIG_I2C_AMD_MP2) += i2c-amd-mp2-pci.o i2c-amd-mp2-plat.o +obj-$(CONFIG_I2C_AMD_ASF) += i2c-amd-asf-plat.o obj-$(CONFIG_I2C_ASPEED) += i2c-aspeed.o obj-$(CONFIG_I2C_AT91) += i2c-at91.o i2c-at91-objs := i2c-at91-core.o i2c-at91-master.o diff --git a/drivers/i2c/busses/i2c-amd-asf-plat.c b/drivers/i2c/busses/i2c-amd-asf-plat.c new file mode 100644 index 000000000000..56e2d9ba6cfa --- /dev/null +++ b/drivers/i2c/busses/i2c-amd-asf-plat.c @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * AMD Alert Standard Format Platform Driver + * + * Copyright (c) 2024, Advanced Micro Devices, Inc. + * All Rights Reserved. + * + * Authors: Shyam Sundar S K + * Sanket Goswami + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "i2c-piix4.h" + +struct amd_asf_dev { + struct i2c_adapter adap; + struct sb800_mmio_cfg mmio_cfg; + struct resource *port_addr; +}; + +static int amd_asf_probe(struct platform_device *pdev) +{ + struct amd_asf_dev *asf_dev; + + asf_dev = devm_kzalloc(&pdev->dev, sizeof(*asf_dev), GFP_KERNEL); + if (!asf_dev) + return dev_err_probe(&pdev->dev, -ENOMEM, "Failed to allocate memory\n"); + + asf_dev->mmio_cfg.use_mmio = true; + asf_dev->port_addr = platform_get_resource(pdev, IORESOURCE_IO, 0); + if (!asf_dev->port_addr) + return dev_err_probe(&pdev->dev, -EINVAL, "missing IO resources\n"); + + asf_dev->adap.owner = THIS_MODULE; + asf_dev->adap.dev.parent = &pdev->dev; + + i2c_set_adapdata(&asf_dev->adap, asf_dev); + snprintf(asf_dev->adap.name, sizeof(asf_dev->adap.name), "AMD ASF adapter"); + + return devm_i2c_add_adapter(&pdev->dev, &asf_dev->adap); +} + +static const struct acpi_device_id amd_asf_acpi_ids[] = { + { "AMDI001A" }, + { } +}; +MODULE_DEVICE_TABLE(acpi, amd_asf_acpi_ids); + +static struct platform_driver amd_asf_driver = { + .driver = { + .name = "i2c-amd-asf", + .acpi_match_table = amd_asf_acpi_ids, + }, + .probe = amd_asf_probe, +}; +module_platform_driver(amd_asf_driver); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("AMD Alert Standard Format Driver"); diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index c289edc0a6fa..f2c16b06393f 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -87,6 +87,7 @@ #define SB800_PIIX4_FCH_PM_ADDR 0xFED80300 #define SB800_PIIX4_FCH_PM_SIZE 8 +#define SB800_ASF_ACPI_PATH "\\_SB.ASFC" /* insmod parameters */ @@ -1026,6 +1027,9 @@ static int piix4_probe(struct pci_dev *dev, const struct pci_device_id *id) { int retval; bool is_sb800 = false; + bool is_asf = false; + acpi_status status; + acpi_handle handle; if ((dev->vendor == PCI_VENDOR_ID_ATI && dev->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS && @@ -1088,10 +1092,16 @@ static int piix4_probe(struct pci_dev *dev, const struct pci_device_id *id) } } + status = acpi_get_handle(NULL, (acpi_string)SB800_ASF_ACPI_PATH, &handle); + if (ACPI_SUCCESS(status)) + is_asf = true; + if (dev->vendor == PCI_VENDOR_ID_AMD && (dev->device == PCI_DEVICE_ID_AMD_HUDSON2_SMBUS || dev->device == PCI_DEVICE_ID_AMD_KERNCZ_SMBUS)) { - retval = piix4_setup_sb800(dev, id, 1); + /* Do not setup AUX port if ASF is enabled */ + if (!is_asf) + retval = piix4_setup_sb800(dev, id, 1); } if (retval > 0) { From patchwork Thu Sep 19 17:59:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 829728 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2069.outbound.protection.outlook.com [40.107.236.69]) (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 3C9822BCF7 for ; Thu, 19 Sep 2024 18:00:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768809; cv=fail; b=u6JXur34aJUYszNeR+crsSXSolduxcCl8r6UP7VdHo2MOo/ztjGrV2btQrcWvhyEcs7qkYeghUGZOyzEre2I863Zb0Ea8IwGcSLm61eTtOSXking19Ir7f0HtgANuVc2FDtKlWHiKRVFufPHOI1Hh9xkHeL9EGL5tE6RDSUr55w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768809; c=relaxed/simple; bh=auVPAopvvDql1rMJrsAqaJHTDnD86hBC+rN8qn0TVTE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=t4RYUnkjVmCU/rUdKcSHqKe5ILRAqPzzeY6wULhIe8a8uBgAg0SMU0d6Ph7dtmnPjNfiVCBWzR3huYFSCtxZMQto696cF4sqgACp1BRGSRJVGIs+3MeAz/ndv/ioJCY2SrajAoKAWdzaKR6OscQOUtlW+/xeOBEJXpgyWF3V5aI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=vBdpz8TL; arc=fail smtp.client-ip=40.107.236.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="vBdpz8TL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xfyAbCV8nf+XzHglWWepGAxZ6PRkKF+800Yc8VYikx7Mx4ipZJoIjzF1J4KrMBXkRrDn9oWpcDhnOH4MXmZyoldw/OfElztN2BwqDbTQ5syPHQ/3GwEugkB12qiJD4BNfS++9weabzBPQaLDDR4N9YTI3PKghyJr15/iYobRriC01YOLrfuyWcfQ7qqsA/ufVHkiam/BVKGrp6SvEObvNlGZXrpWkJnUjUFnz2gN9hvxWyiQUhK6YuiDaUIgGyYNYe3TLqgzm4Aip37OZTrO8cOP0F6R9JIwqWsqqTRCYDgtJXtXSEWEWHlOfl61KcsCfRh1/iBOlxZA3lrJOgUkEA== 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=WFLfzLcY+Whzd/aeSlMy5V0tt7EGy0Tf38XDAYZAsjw=; b=K1Cjiot1RjdlZzuTkMufgHXShgtIx7vg48D/tI+MQM+KzFSA0XFTxkMXF8CWAU0/rE/JJT8BIp0bjGOxlX/0dTsVsLo8y+exfE6JyzTQuy4FLl9t2YBtT7WPLoB7tMEI8HTpFLGQgdAP1KGLiyV7Nc04yajCFQUD4sg6dARG1FByJcHWflNRbhpJ0/4kRhhb2jwYC8yWLYDCdeofjH91XmxUZM33tPXkFJqDsMAXDLfOsRL6K2o96ZqNOY3Igj078n/Nj67iWTegpDHJ13FruN3uTPUzv9L5R+2T1zNEQhqeNJlXbrRI0a16t8TJk9yy+3rVcsgJd84VPFeG1cAJaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WFLfzLcY+Whzd/aeSlMy5V0tt7EGy0Tf38XDAYZAsjw=; b=vBdpz8TLoH6mOnMMxDxaDIxfx3VHJgBJhX902TAj2qDJF8+stzyDO+ITbP28zySaNDS6BZq6ziu1WipGMq9bpOg2yGiRvvDnfcb9x4o5m7Ep2BmEknZqecXycY3o8bdSymP7NWe12PfrmeCysM3usJ4WN+ReukA6e0H73EI0Fik= Received: from SJ0PR05CA0037.namprd05.prod.outlook.com (2603:10b6:a03:33f::12) by DS7PR12MB6095.namprd12.prod.outlook.com (2603:10b6:8:9c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Thu, 19 Sep 2024 18:00:02 +0000 Received: from CO1PEPF000066EA.namprd05.prod.outlook.com (2603:10b6:a03:33f:cafe::12) by SJ0PR05CA0037.outlook.office365.com (2603:10b6:a03:33f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.11 via Frontend Transport; Thu, 19 Sep 2024 18:00:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000066EA.mail.protection.outlook.com (10.167.249.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 18:00:01 +0000 Received: from jatayu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep 2024 12:59:58 -0500 From: Shyam Sundar S K To: Jean Delvare , Andi Shyti CC: , , Andy Shevchenko , , Shyam Sundar S K Subject: [PATCH v6 6/8] i2c: amd-asf: Add routine to handle the ASF slave process Date: Thu, 19 Sep 2024 23:29:11 +0530 Message-ID: <20240919175913.1895670-7-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> References: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000066EA:EE_|DS7PR12MB6095:EE_ X-MS-Office365-Filtering-Correlation-Id: 188a8435-bfd5-409d-4e86-08dcd8d4e25f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: Ppj/dAS0HKrx4fYnZLdR7n8/JmRaDCmVWxXzCVWg3engihf6WPXDeM78IHR/DiXZj3dXc5NLsYQWhdxCIPH3L3cWRg+QBzHyi52AZdgk1+WDT5SRuq9z3t590J7IwcOrl25O6/qL7NEAfWcPE7AEjCEgS/3E8DDEEveiQPgB6u15ySFN1bL9epXNoQl8KrjaHq5zaOuYCEQns8O5E3UA3z3fMNv00QW87t4gwVM9LsR2ml5s75CK1nIj0Pm1oeArvm15toqSHrdN6UFHZix9J376DR9b0rm+Ev//J7TdFoxZs08QvjCvPx534PMD8KIV3RRg7sJuNBrbjMB92mFvQA0pLRUhDts6d1g1oIRrRMTP9G5D+5pXm7Qb5wbYmVrJVZAo82NraY2m7kHBpSvZd7MGrNNAcULDvLQJ2YVVT6Kye2B8m8M6Xw4UG/UoKuua+N2M92YFmsPAX/V3WSpLokZJB0Q0u/pNCP42m3VS9+oGA8n2DkfyE9Pc71A1ediKrDJ/4kUHUObpRSRd31O9kSAxgr5vRa844qi0gwe7nsg9Csu5Esrubl39Ac8ZoMmCHKn8BVsx5fS6S6qYJ2KIit7W0aWE4lj5V5UR3sbEJnOZJ2XIJ6YlFcO+HWsgtIusFcFodTgN+OZXfe4a1iVki9xfPMO55pq0fzBD+8HO03RdYv7jRWEqvs8+mQUdOEd4Ga88s+NTx4/IJQ7Xu/3XXuCGMTBWgtgHYRlIreZFjWlJ2xm3x5E1StpqcP8eQKKrnLM3HMDItRF+Oj8Ui8mLa6P6FjZMJIonQLiUTK/U6vIbTELwQCrtHtbTh739QPkfYBlmDdsR/3frLv0OlMDUWic4eGha5o/WLap1FjT6henE0PnzpP5KVSc237ZOxGmnfFs6agOHfbpSmilnFrMVb062KpAOgMTcQhK7sclsAMJrp5R8uxDmIhamAtiTrP7oIZdVBBEAd5/t/plg2qN3764nQav45Y0LzF+ryuFL62ckG6pYPBL2uIT4p/d2SDpMQWR8AufagOUcis1PxmevRafh1s/gGXn9T79U0GODhweO9SZCNlAXZws8uXpE2apxM3PFF3/zaY3CjJiHYFCZyc0gL2j9sp/xdfMmygXyBJ+A40cifw6GMKDJ/Ibp6edah8ZfKSZJkpK3SiJgLlW+uwCUJ7q49R4uakZfWrd4UEKwj+WyLE0PbiJPO4zzjLRgAXCBCqx42/3jfqVEE/4NbKTJEs8t3Qutr1T6t1WEBRiVRsLffEhpVWIhlilKO8Hms2c0SjvX+wTbtMZBvyvkBfi94KlKhPQXPs9dFpcVRnKxxHufNiHF756L6uRJilnHxg7bSa+4exkCBcDxwpAMhto0YYmN9qmK4JF9A2/9mxyzxjW5N0Jb3s1NngBYHJOOQVpnIvsqxTou6zNc16UZ0RJr8wke5YMKcAqlgZ0UrpJtPZR4hc3FwMl2yr1mGduE X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 18:00:01.9987 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 188a8435-bfd5-409d-4e86-08dcd8d4e25f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000066EA.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6095 Add support for handling ASF slave process events as described in the AMD ASF databook. This involves implementing the correct programming sequence to manage each ASF packet appropriately. Co-developed-by: Sanket Goswami Signed-off-by: Sanket Goswami Signed-off-by: Shyam Sundar S K --- drivers/i2c/busses/i2c-amd-asf-plat.c | 102 ++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/drivers/i2c/busses/i2c-amd-asf-plat.c b/drivers/i2c/busses/i2c-amd-asf-plat.c index 45e54122fa28..fe6cffa2fba4 100644 --- a/drivers/i2c/busses/i2c-amd-asf-plat.c +++ b/drivers/i2c/busses/i2c-amd-asf-plat.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -33,21 +34,90 @@ #define ASF_CLK_EN 17 /* ASF address offsets */ +#define ASFINDEX (0x07 + piix4_smba) #define ASFLISADDR (0x09 + piix4_smba) #define ASFSTA (0x0A + piix4_smba) #define ASFSLVSTA (0x0D + piix4_smba) +#define ASFDATARWPTR (0x11 + piix4_smba) +#define ASFSETDATARDPTR (0x12 + piix4_smba) #define ASFDATABNKSEL (0x13 + piix4_smba) #define ASFSLVEN (0x15 + piix4_smba) #define ASF_BLOCK_MAX_BYTES 72 +#define ASF_ERROR_STATUS GENMASK(3, 1) struct amd_asf_dev { struct i2c_adapter adap; struct i2c_client *target; + struct delayed_work work_buf; struct sb800_mmio_cfg mmio_cfg; struct resource *port_addr; }; +static void amd_asf_process_target(struct work_struct *work) +{ + struct amd_asf_dev *dev = container_of(work, struct amd_asf_dev, work_buf.work); + unsigned short piix4_smba = dev->port_addr->start; + u8 data[ASF_BLOCK_MAX_BYTES]; + u8 bank, reg, cmd; + u8 len, idx, val; + + /* Read target status register */ + reg = inb_p(ASFSLVSTA); + + /* Check if no error bits are set in target status register */ + if (reg & ASF_ERROR_STATUS) { + /* Set bank as full */ + cmd = 0; + reg = reg | GENMASK(3, 2); + outb_p(reg, ASFDATABNKSEL); + } else { + /* Read data bank */ + reg = inb_p(ASFDATABNKSEL); + bank = (reg & BIT(3)) ? 1 : 0; + + /* Set read data bank */ + if (bank) { + reg = reg | BIT(4); + reg = reg & ~BIT(3); + } else { + reg = reg & ~BIT(4); + reg = reg & ~BIT(2); + } + + /* Read command register */ + outb_p(reg, ASFDATABNKSEL); + cmd = inb_p(ASFINDEX); + len = inb_p(ASFDATARWPTR); + for (idx = 0; idx < len; idx++) + data[idx] = inb_p(ASFINDEX); + + /* Clear data bank status */ + if (bank) { + reg = reg | BIT(3); + outb_p(reg, ASFDATABNKSEL); + } else { + reg = reg | BIT(2); + outb_p(reg, ASFDATABNKSEL); + } + } + + outb_p(0, ASFSETDATARDPTR); + if (cmd & BIT(0)) + return; + + /* + * Although i2c_slave_event() returns an appropriate error code, we + * don't check it here because we're operating in the workqueue context. + */ + i2c_slave_event(dev->target, I2C_SLAVE_WRITE_REQUESTED, &val); + for (idx = 0; idx < len; idx++) { + val = data[idx]; + i2c_slave_event(dev->target, I2C_SLAVE_WRITE_RECEIVED, &val); + } + i2c_slave_event(dev->target, I2C_SLAVE_STOP, &val); +} + static void amd_asf_update_ioport_target(unsigned short piix4_smba, u8 bit, unsigned long offset, bool set) { @@ -207,9 +277,28 @@ static const struct i2c_algorithm amd_asf_smbus_algorithm = { .functionality = amd_asf_func, }; +static irqreturn_t amd_asf_irq_handler(int irq, void *ptr) +{ + struct amd_asf_dev *dev = ptr; + unsigned short piix4_smba = dev->port_addr->start; + u8 target_int = inb_p(ASFSTA); + + if (target_int & BIT(6)) { + /* Target Interrupt */ + outb_p(target_int | BIT(6), ASFSTA); + schedule_delayed_work(&dev->work_buf, HZ); + } else { + /* Controller Interrupt */ + amd_asf_update_ioport_target(piix4_smba, ASF_SLV_INTR, SMBHSTSTS, true); + } + + return IRQ_HANDLED; +} + static int amd_asf_probe(struct platform_device *pdev) { struct amd_asf_dev *asf_dev; + int ret, irq; asf_dev = devm_kzalloc(&pdev->dev, sizeof(*asf_dev), GFP_KERNEL); if (!asf_dev) @@ -220,6 +309,19 @@ static int amd_asf_probe(struct platform_device *pdev) if (!asf_dev->port_addr) return dev_err_probe(&pdev->dev, -EINVAL, "missing IO resources\n"); + ret = devm_delayed_work_autocancel(&pdev->dev, &asf_dev->work_buf, amd_asf_process_target); + if (ret) + return dev_err_probe(&pdev->dev, ret, "failed to create work queue\n"); + + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return dev_err_probe(&pdev->dev, irq, "missing IRQ resources\n"); + + ret = devm_request_irq(&pdev->dev, irq, amd_asf_irq_handler, IRQF_SHARED, + "amd_asf", asf_dev); + if (ret) + return dev_err_probe(&pdev->dev, ret, "Unable to request irq: %d for use\n", irq); + asf_dev->adap.owner = THIS_MODULE; asf_dev->adap.algo = &amd_asf_smbus_algorithm; asf_dev->adap.dev.parent = &pdev->dev; From patchwork Thu Sep 19 17:59:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shyam Sundar S K X-Patchwork-Id: 829727 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2052.outbound.protection.outlook.com [40.107.220.52]) (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 DE66A1802E for ; Thu, 19 Sep 2024 18:00:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768817; cv=fail; b=EKHYFYmj/WVFbLMsP1hiCecZpjSuze2w/CbgyBX5cmnOb4cFVBbyMrMfyr0OUiMCT/r2WZ9yfZBZlScQHltnugmR9JoprzwZ29UxuwNrD0hscew+iss0cCn5TETYKz0eC8dvbWoyXwl6kWlfZlWDV7O0Vn8QvUKvWAx2pkeYhlg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726768817; c=relaxed/simple; bh=7QA3Eq/owrG5KypNu7IxRumF4EJKw9ImbZ0gJIxqDXk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kcM3gidCR76gNuhbpBl2R50+UEP8wNd9rTXSe6t/yghR1wOYHxr7IoGN5+FEk5q4JLlq0bAn+V27B/79++e5hsnf7AS5Y4nx3KLmb0qCPrlSmodyAh/SlUO6BXIPYrdSnrbiuz4tqN+diNVM71f0vLUSDVUGlxqvBWoWKIZyiCs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=p05Csf/T; arc=fail smtp.client-ip=40.107.220.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="p05Csf/T" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YY+Ga7VK5HwspBxOnYqoE1G7t3NcKoHjSHAzemNgo/uE/IDp3hlyEI7nsZb8GCJzVZgqxKGKhH9k7fyvNBrXJ3C3ll7bvH/IwjVxnUH+Lt5uJDalykvEVVogl7e0mEPLY4Kc8dpBSYc2wF+4nbVclns6XJRngAbp0kIaGMb2ot7PJWjW8NpLIu9z4eROrCpuwjCrJGBHXPmj3IC36KMaZSsf4B8VslHkF3IjSCoct5uS3mYsW2CH5rNIbuoGeTwnUH/W4ohFdSlxPkS31pgkajPQUePglfwM+M4RoR5Lrrpxte2kX0XZy12RgTPmWRWIoHENSgv2TvpawQ25eqvuAQ== 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=L65BImzKPwfkRubPDERMHSUNAZI1j01a7YjpHXSaoGM=; b=OocJAVfIxltrQgJq0O/7aesu5bIiTZvsPfPbH8CQ56yx5fa1bljljmrOgAL4tFOMzgKQ3C/EQGQwzXTQ8njaBxNLIBaqrjPIpCP5dRIEOLPh6VbqBhcOtQgVeFnu8gOqbYG8PqV5C6xO71hHBbQcIB2hK/0pakXJhG5QlmNDBADS1pSNuGLJhmJ4nFU5OEEKh0IrkB2d16piqP2SgQ0n4uRdaZgPZShzNlnrClIx2x7JBVrB1aiSgTl/H7yr3+7AfgfBBP0ghbOprBwke0lRjh2hfTSUKRXiRV5cfYFKuwg+0ZCSMH2dSdOyxTLxO1MLO8BlSlmYGZyDnLj3yztNng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L65BImzKPwfkRubPDERMHSUNAZI1j01a7YjpHXSaoGM=; b=p05Csf/TWKeLHW45P8rcE5qV3HJmGbIGHA2tVG37nkge2ttOuIDUMng6JvlUr6HYOy3u0nzPknJoIyuNBTNsELIWxyStK5bUtLed2RaEgz5EpwmbNuXCaTUJR17QlTpzz1HkGIDD1KHSdf6MWg34RFDwjj9uvmfnlw6ugZrfim4= Received: from BYAPR08CA0061.namprd08.prod.outlook.com (2603:10b6:a03:117::38) by DS7PR12MB8291.namprd12.prod.outlook.com (2603:10b6:8:e6::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Thu, 19 Sep 2024 18:00:07 +0000 Received: from CO1PEPF000066E9.namprd05.prod.outlook.com (2603:10b6:a03:117:cafe::e0) by BYAPR08CA0061.outlook.office365.com (2603:10b6:a03:117::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.26 via Frontend Transport; Thu, 19 Sep 2024 18:00:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000066E9.mail.protection.outlook.com (10.167.249.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 18:00:07 +0000 Received: from jatayu.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep 2024 13:00:04 -0500 From: Shyam Sundar S K To: Jean Delvare , Andi Shyti CC: , , Andy Shevchenko , , Shyam Sundar S K Subject: [PATCH v6 8/8] MAINTAINERS: Add AMD ASF driver entry Date: Thu, 19 Sep 2024 23:29:13 +0530 Message-ID: <20240919175913.1895670-9-Shyam-sundar.S-k@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> References: <20240919175913.1895670-1-Shyam-sundar.S-k@amd.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000066E9:EE_|DS7PR12MB8291:EE_ X-MS-Office365-Filtering-Correlation-Id: 263a1edb-17c8-497e-0ead-08dcd8d4e578 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: 8IkrL/fxaCtgPB74873jmYln3Jji4+Y80ScMFjqOy1YE1vzHd8gdG/I7ITPR1eggQzMCPdrTA7aablYbqhxf97JIKkgWVmVrw3Y4sA0uscEptY7wLNO4z9/0I1ZAxk2feyCBR0EKObllIM6hraRi4y9ulNV5HDr1k0xXGmPpylYt5ciS74MD5NSPzg803OJUpgKR+FWrwK1Ulk61V9Z4MCxT9BB9gYFthpbAoBcdArlLRB3vWNKJNhCxvzHn6B5/DXj9KUs7DF73Q4tux2O48cisuknn5fdEXwMcYOmqlEN2o0ixsCt1kaLtrrB7DAipbHNVzHg+MVw0rgffCu4rQy4HBR+lyk4BurbtyxFG85FNE4u7T6L1Tk20FFzqB7PLJD7G8D8o+ZdOhs1qZYW7mydeeXVqxudMyj2+43WWqLnq1TleOxg1cyEmBlpMG6Zm9HMmzvjwSKhbF4k3X2yec7l/9VzOX158GDAqknitKk36KftR6XsVIUWnNUjhwsXONgh/+pG1cAo+MQsgnWfpkaYoQbJjGRZF9P1522DE7ICoNRr3ebV82qaa8G768HvUXnHkJRvpeW5xfCXkPjvz84Z4fwKZrLPGG48i4bwA3QCgHBRSWZyfx0hWAr66IkftvOHUjbQQwoBXhHSikhTcNqwqIO699w7Fg/RC3s9T+ISgRNohQHPBZQk3+EZeFlpz22ar/y32dBz5a1cbc60JjEDH4bfU3bMq3L4HSAGboZ91kzKkJ3muTvo5IrmU+riAnMXOOp131tC63FpGsUlxVi+CY/I2bkXAstKJvlu5DDthtf5FUWBGcvqs4nPMTJ8u1pqWDS5kzf9twjxTWUNcY+fOmHRAuXE/5A7mQFgHXPIV/4RpMbQDHjHJ3gOo5reHmjElZt3AGZhhyXsHQ6JQiIYY7awBCKgpGbNi9WSeGH0Xji4XtCx/Xs3jM6nS8LYCReaBvBX0zydGqD7+Wr3YoM79o4QZdCMbLNkpOUxiMYq2ydQjD5NLRprf6II6fU2t3GXYtaqZSNVU35H2yDObSaitCUqHsfMYWFK/aiKkeT5TNhxwOu2js3raRNuZlLYSYH0uc2aRiBl5Z5qxGHmtEY8QTUJWf5EJ23tC5fnaTmbrHZnTu0H1Fj7fxfKauxUvhVlP7kEB/z1VE0AEuYjju3WZAH1vL+NnM6ocFO2KBi8R1ArGqQpbcMN6//K1qdzZ/CIvLd2Dtd+Iz5sP+84sHd4NeJd4KmyWPeWsyGx5VLWu6i9sACuvzimA3lCKQVPp3KkWerySfOrSMDKKTHDrOIFtNV+dfVLWfNn06ydIJQHcFm9KWpQDkT7lyO2wXmvRLMbt2zvTwllQwuGNyXBnvjRuQS1tzqMVaBb+di8j9Y9E1aOsWNzS/SDHF8qHBWJCZY8uA0oekNeirKpQhBefpaQn/vSv/f98mIjP3jeDji4XXFLSWut84hTR1zH0ys+r X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 18:00:07.2722 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 263a1edb-17c8-497e-0ead-08dcd8d4e578 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000066E9.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8291 Update the MAINTAINERS file with AMD ASF driver details. Signed-off-by: Shyam Sundar S K --- MAINTAINERS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 815f46948c1b..9d49a5d366aa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1101,6 +1101,12 @@ L: linux-i2c@vger.kernel.org S: Maintained F: drivers/i2c/busses/i2c-amd-mp2* +AMD ASF I2C DRIVER +M: Shyam Sundar S K +L: linux-i2c@vger.kernel.org +S: Maintained +F: drivers/i2c/busses/i2c-amd-asf-plat.c + AMD PDS CORE DRIVER M: Shannon Nelson M: Brett Creeley