From patchwork Thu Dec 14 03:11:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Cooks X-Patchwork-Id: 848357 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=opengearcom.onmicrosoft.com header.i=@opengearcom.onmicrosoft.com header.b="bs01G18o"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yxzBX4KK3z9t2f for ; Thu, 14 Dec 2017 14:12:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752016AbdLNDMS (ORCPT ); Wed, 13 Dec 2017 22:12:18 -0500 Received: from mail-by2nam01on0044.outbound.protection.outlook.com ([104.47.34.44]:17872 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751914AbdLNDMN (ORCPT ); Wed, 13 Dec 2017 22:12:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=opengearcom.onmicrosoft.com; s=selector1-opengear-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Q4UHYTWJo8hDpHcbMEBLIeJW9667X3OiRKES2UcfzUA=; b=bs01G18oBNaikBtyWOY14GmycvqqtbCFvgEE3qFsbXlrKleH4cirgJyV7I13R/Nhi2OUGni1PAieSFKfg1lmO9nLumavrHngpYUoQQ3x/qiFJIjMkfWyDCTHCWieaXXYbjDkRlsuXFahw0YNGb2aHVvHdlE7x4Lf34LNFR8KGek= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=andrew.cooks@opengear.com; Received: from andrewc.bne.opengear.com (59.167.150.161) by CO2PR15MB0027.namprd15.prod.outlook.com (10.161.86.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Thu, 14 Dec 2017 03:12:11 +0000 From: Andrew Cooks To: jdelvare@suse.com, linux-i2c@vger.kernel.org Cc: platypus-sw@opengear.com, Andrew Cooks , Wolfram Sang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2 1/3] i2c: piix4: Fix SMBus port selection for AMD Family 16h chips Date: Thu, 14 Dec 2017 13:11:44 +1000 Message-Id: <3f87f37117e6662661f16ea8fdbbdffff5d2e414.1513215039.git.andrew.cooks@opengear.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [59.167.150.161] X-ClientProxiedBy: MEXPR01CA0140.ausprd01.prod.outlook.com (10.171.15.25) To CO2PR15MB0027.namprd15.prod.outlook.com (10.161.86.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 40abc15d-ef88-49e1-79c7-08d542a078c0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307); SRVR:CO2PR15MB0027; X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 3:+2731fmDtvrWHzKSvni5b93OM3HwcvrwdJ28vtUXpOsfYSyDAZaxdyM4sVCykhN9I8VNHIGptkrh/iNzVHs0ABfXDtbEu6Jx5oc4Fe8piKp32lYtcgluuL5uGY0tKNqX8GRa//qSsg6ezzgR8/EAKAfBSbrG7JykYkSy0J2e/KrWahgxdEVNHyTfM9qMX6UEGlmrX8i5rhFDywwPtOuqRBDTjfUnJkiclvXHdtrQvUa5YWAOfjRbjYVi6bs/SEy1; 25:pMqIdprXR8POM7qs22r8H6AqLhggywh0NFJUOHgHtSBElRI16h9m2xfPjNkKQoQVpxodlhqmuPimkzghouVNWVEAooqurQLPtWlMjAUzMDDLTepgWUgsuhKiQ4/UuyeQ7Axe/VMmjakCEHQT3haasoorF/5M0NAAVlkHLh9fzngwyNa+NmjV2Z+j5YGNsTGHwHjjiTk16uQpjhbcLU2nj972zCFpwqIXkYO+gwMekJT1CHEDcWrb13SwBOJAl0A63NfgRzRvPvJN2TgtRjCzpoLZ1l9eQDzEJR5Xo1OUqR9/uPnyaxD1YqHC2WgV95X9gNkbJX1ttKOnFOteCRQxtT16Z4R9D7+5cp/mblefrm4=; 31:kO86S9kU7RgnryXHTI9filnihRNQLo3YDM5s+evxEXwnQk5ykSJIV+CESV+sZd6Ot9gW87sezXIcU9cdBLxm1NnCJQzgSKmHW+jo97r6+aus0LtWKvuVMFQpp/Q8hZxdtPzdSV8Zazui1ZJlvXQ7cHlHIhqt0EvBlFbvvib4ccoc3EhCuvmiawAXmBjA8JCTMSthCIS9yB3vRc/XjnM5SJPIYmWw9hP2+n2gSdEi++w= X-MS-TrafficTypeDiagnostic: CO2PR15MB0027: X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 20:5L95Fb+PN1qIYwal4j0kF1KIPXDgEE213B1tKLFxDULubGMZhfIbnx2T+n4hTfE5d24+utd8xEXeSKDGJd4q8IJy7iRCdU5W8E2L6Bhvn3e3tFKCkOr/sT5/7A9IcMOmv0oRS6l1Zqr8TZ+ZHrmy6mqEA46Sx2lDkNwJaNAYnp8=; 4:bPX4Yzi1Ji1VhUlXxW6tEcIN+Isqn70/UdCwhC4LPg8De4dkaMM3rE+dxiOHcdX4SOs7g6DXGhPGeM0q7LrcOZvv0lGb4VCyq5dIazQ9QNuXwyzJDrucTtx5sMpfeI9AYdwOR/JUY7ptSA+KyyQJYyh2tBrcDJpVd9w8LNDT2Rob+jklO5skQU9XUkPLVE7G8RPVzw37rEEzaWa4mOTS6OO7/rE8yqFLicINyrcokO0fBBTxqa+FzF0hSip1R3VT0y4k7hnAr3ytRAvkL8X8NQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(3002001)(10201501046)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123555025)(20161123564025)(6072148)(201708071742011); SRVR:CO2PR15MB0027; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CO2PR15MB0027; X-Forefront-PRVS: 05214FD68E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(396003)(376002)(366004)(39840400004)(199004)(189003)(7696005)(81166006)(66066001)(81156014)(16586007)(7736002)(47776003)(305945005)(5660300001)(2950100002)(52116002)(97736004)(6666003)(68736007)(386003)(4326008)(478600001)(8676002)(316002)(51416003)(36756003)(2906002)(54906003)(53936002)(48376002)(106356001)(105586002)(25786009)(6486002)(50466002)(50226002)(3846002)(8936002)(76176011)(118296001)(16526018)(6116002)(86362001)(575784001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR15MB0027; H:andrewc.bne.opengear.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: opengear.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 23:CSpjmHmVKeGaphAlUcRSFQCsdMhfj1+4AfFQZ1m/fF53sfrwV53zIiPR/rEGyB0ySuXMuBfsX9y9FHV8OkksFPuOdNYzZrt0OjMcsP3+Xyj3pxS84s1z8eQziGn5D+wdJHQSKcmDk6LjDotdKTpanwS1oSo9xk1V0c7Nn40yBhcIYx+wpYfKtAZdEVEEU/QwEvq/dTcdsX94RQaWD6PTCFt3e/cCtLWKxJg1QvIOtDF9N22yisMDlYzQM+yBLiFo4BwtwkV/lEgu32uLLkYJ7L9yoGWdQcO3sSXkRFWsCejrzJqkKg2PeUsd3ali5vAXjgAxcbJylBIwdMIbjhai3Gk8Ykmw/mcPwJHsX6N5lQTWhT30/JcBqEy8AHrSSzxqUDVkE2ELc4YYcWTNpXud6V+8iArTDA9cy3krvStVnJTeGInjPq4p+v6FHDHDkVFJDtGc7JHgpf2e2nvI8b0b590Zy3HUG/kbyEe4GpaBynDWczMQtG1jJfbFJ/cTsPc9F7nWG5tnwiqjOS/SA56Gp3Y39N8iwuhSU6KDsq9Bjy0esV/XVdmxe1E4ndIZ5YmT5nMbenwSGVUoyFA0VTpsr7a4Zq9BJFDYGqX4/nYELEbbkcaFpPaln7dnzWtByOaq53t9K0F/vfdLEzYOndcwypd5lzgJyjY/6Pzgt4Tk6i7QDklUgKMVk4JBLVVfyDsFhWQA0oA92t33z2zg871RQSeKp1/uM/Zdf8oRtzZ5OPDWxRL6/k2INhhDblnBK7lNrYJMLpQlgi//yNILPWfahBW07L6YCIeQCUBtjM90jU8QmfDk+iLJkQtIjbPTwY1eASn4rqYmiwKHxWfruU0BAkoZQB9wsjYVQfplENkKqiXtbXuZGNyN2sQw6o26AdLbp7vZEhWmBT7Y5MvVqboHjJEtdebhdIfQgEvhefm4sG5RBqfMy2Sovgwv1+Iz9fs3zRuaJn8/KZF4Y/9Z9fcoSfuqa5qCIHo7IR9/VxOdtMuf/nL60/BCvZJjTT8Hj80HvYdx8Rjz8sC1j/HqobqKQJpKwgja6OsYv/jYKOzbLbIxF1hgffdkAjerSktVb/ET X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 6:nYFK0Cqog4KVSbRdtZmKDcA5PUCZYWdXa3Xr78yiu1w2FboNJw6Sz/b3+o6HCKKrH2rANiRSs+UukpW9rqg6nY583k7SBReujT+seIKiO1iRhQ9es2aBgFGYnqrbdJQr8O5vgncZ92lEsXVth/YdTLdijNH+7h1MZOxk5C3hxLhRl2H2dc6N3oteLswUrNSXpYGA0PA4CNj9vCXakxakEcuU3vXX/gzWqOy2GAPhFc+bt6vyOhoaRsTXQAzlxtX+nIBjNLMyjX0ARhBlYd0BPLpcblfZA4Q05YvQUXoDZ/D/4uPlirVlCTBs8Tv14o0OAosXhqxyK7+1NVR77qDu1BPVuXzbWrIC1qDNd5/qygM=; 5:We/zMrI/DxGKer9E/49flLweqGBw2/PnzdXqy3Fy9vbZUr5X0g8BHggjSZ6pxRHeilJo9ueWZBbCivX9sTYTIt5DVA1Ld3+6/TgfN4KB3IT0cB2WMXgAY1LkozT4pKViZ9p6nqIuZ29DX5RB1qH8Yn9uCq+0HytiUaJAwaac+aY=; 24:2dSDEfJV0b/Fu+VhAivHzwMxHqvmwWVuyjPO3bWKlMb7cFLU3OH+coHCEc2jT3bAtxTUlG6g1sQQoUDMNmgZI0WJneLkb3TRIawPj++GO3I=; 7:nI+wteougmGkxrplM6tTCMcIqNX5LE2gxzQfRe6HrKh2X1Jc/kZCX80RogO4OLWbUASzIE1c6FAVeG8s1P4K/MP+GX0crQaOlvavjg0lxFAYwj0F8oE81ycUE7CgPMRFH2lzPZ9xbgQLT5JI8nXpK2LiwLzcuBzdARHodKmDbvm8FQCEPKeoOebl9Jx+OHJjOaGAk2/SviR2CX917NMwru8t1WZXSQa9uVSgsqzG/TLlDGfgKuU2x/TnbrfVginb SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: opengear.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2017 03:12:11.4623 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 40abc15d-ef88-49e1-79c7-08d542a078c0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a6251c26-d21f-4164-a225-1f4eaebf5f9a X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR15MB0027 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org HUDSON2 SMBus controller has the same port selection register as described and fixed in commit 0fe16195f89173652cf111d7b384941b00c5aabd ("i2c: piix4: Fix SMBus port selection for AMD Family 17h chips") The SMBus port selection register is common to multiple Families and models, as documented in AMD's publicly available BIOS and Kernel Developer Guides: - 50742 -- Family 15h Model 60h-6Fh (PCI_DEVICE_ID_AMD_KERNCZ_SMBUS) - 55072 -- Family 15h Model 70h-7Fh (PCI_DEVICE_ID_AMD_KERNCZ_SMBUS) - 52740 -- Family 16h Model 30h-3Fh (PCI_DEVICE_ID_AMD_HUDSON2_SMBUS) The following additional public AMD BKDG documents were checked and do not share the same port selection register: - 42301 -- Family 15h Model 00h-0Fh doesn't mention any - 42300 -- Family 15h Model 10h-1Fh doesn't mention any - 49125 -- Family 15h Model 30h-3Fh doesn't mention any - 48751 -- Family 16h Model 00h-0Fh uses the previously supported index register SB800_PIIX4_PORT_IDX_ALT at 0x2e Signed-off-by: Andrew Cooks --- drivers/i2c/busses/i2c-piix4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index 462948e..b92ea5d 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -99,7 +99,7 @@ #define SB800_PIIX4_PORT_IDX_MASK 0x06 #define SB800_PIIX4_PORT_IDX_SHIFT 1 -/* On kerncz, SmBus0Sel is at bit 20:19 of PMx00 DecodeEn */ +/* On kerncz and Hudson2, SmBus0Sel is at bit 20:19 of PMx00 DecodeEn */ #define SB800_PIIX4_PORT_IDX_KERNCZ 0x02 #define SB800_PIIX4_PORT_IDX_MASK_KERNCZ 0x18 #define SB800_PIIX4_PORT_IDX_SHIFT_KERNCZ 3 @@ -360,12 +360,12 @@ static int piix4_setup_sb800(struct pci_dev *PIIX4_dev, /* Find which register is used for port selection */ if (PIIX4_dev->vendor == PCI_VENDOR_ID_AMD) { switch (PIIX4_dev->device) { + case PCI_DEVICE_ID_AMD_HUDSON2_SMBUS: case PCI_DEVICE_ID_AMD_KERNCZ_SMBUS: piix4_port_sel_sb800 = SB800_PIIX4_PORT_IDX_KERNCZ; piix4_port_mask_sb800 = SB800_PIIX4_PORT_IDX_MASK_KERNCZ; piix4_port_shift_sb800 = SB800_PIIX4_PORT_IDX_SHIFT_KERNCZ; break; - case PCI_DEVICE_ID_AMD_HUDSON2_SMBUS: default: piix4_port_sel_sb800 = SB800_PIIX4_PORT_IDX_ALT; piix4_port_mask_sb800 = SB800_PIIX4_PORT_IDX_MASK; From patchwork Thu Dec 14 03:11:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Cooks X-Patchwork-Id: 848359 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=opengearcom.onmicrosoft.com header.i=@opengearcom.onmicrosoft.com header.b="JZRhAW8X"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yxzC75nF2z9t2M for ; Thu, 14 Dec 2017 14:12:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752243AbdLNDMt (ORCPT ); Wed, 13 Dec 2017 22:12:49 -0500 Received: from mail-by2nam01on0087.outbound.protection.outlook.com ([104.47.34.87]:63552 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751092AbdLNDMR (ORCPT ); Wed, 13 Dec 2017 22:12:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=opengearcom.onmicrosoft.com; s=selector1-opengear-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=oYCgqLoI4mw7Rv+fyKCkDIVkwGuBRdQa7/or4bIwbC0=; b=JZRhAW8X2aGY5jaoQaPKcCghCEl4FOvNlFHP6OKeUFYBk+we+8vq6JGn+VDiVDGVTZ6Fp12LoERiWfFS38j9tyWdcna7DO3PGV5cFG5sl/lc2ajJLJxcmG1fE6txZryzjFU5VAd2XIj1nCgIwdfZyk7YOETrpCNnH3lrysX9fFc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=andrew.cooks@opengear.com; Received: from andrewc.bne.opengear.com (59.167.150.161) by CO2PR15MB0027.namprd15.prod.outlook.com (10.161.86.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Thu, 14 Dec 2017 03:12:14 +0000 From: Andrew Cooks To: jdelvare@suse.com, linux-i2c@vger.kernel.org Cc: platypus-sw@opengear.com, Andrew Cooks , Wolfram Sang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2 2/3] i2c: piix4: fix number of SMBus ports on HUDSON2 Date: Thu, 14 Dec 2017 13:11:45 +1000 Message-Id: <10a5f5d056511d07c1946d744fc84f243a6097cc.1513215039.git.andrew.cooks@opengear.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [59.167.150.161] X-ClientProxiedBy: MEXPR01CA0140.ausprd01.prod.outlook.com (10.171.15.25) To CO2PR15MB0027.namprd15.prod.outlook.com (10.161.86.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 004491c0-3c7e-4a6f-c63c-08d542a07ab2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307); SRVR:CO2PR15MB0027; X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 3:Qt1BYwBXHkzAKQQ3iu0YKWxGdVN86fHTVglTRVfFG9+EDdY8Bt4McRsE0hzs6DlekdVs0rVgLzehFsWPwbP0ER8U5QQ+P07H5HXuC7veeFyFUI2WBwuNKXWKJS1Vw4Z9aFNLBfEa1Xd6eRwnoTofW1TTYn9k61Y8f/jV12tyT52ss5WJrehzQ4bE3UtjjGIThMJwgYyvRakVdJak7OeTVDG76r2M/xmo2RF81K3Ta4nj9ZT2+qSuz1/A1J/Eq5LC; 25:A3JYMbap3WLxcG4ZRLkk2vxnBE7fWF6lbO3J29TDsnJLynK9wJM+37kk6LNkBsYILKv1KebYa7Y0/pvChCfMFdIa7XZvi1jXLoOpuB3ankUQpOwntEOJepVxTYAxHwSqN27JthElBi15ccewLqp2X62gN+SDUb1KYtKkAO7DEPVIcYceuoAzs9/NPS3SMYAgm1m9u1OMa5BPWYf6HKbB9v+QeufQ/NqQP3Tj32ul4vZqAjlflOy2w/aFeqMMAYlVI+gxjLhrXnX1lwbVzjx/5FtqJzyzZlSGxEzvptJHfyhK/ppy9PTHbfYi87Fmig7xAljPPVH9VVqXDEso83aPf64ujRUbAfffV4gW3zVsEfA=; 31:qixcZYsMmHSayO8RsR2jXlOSRu1YDr0N2ivmV76ki9ct4fDQ/JBwZ+zhiUoT74pVH39mPqN+EJ9tN1he6BQOD3zNJVRjlaLQHnydWI55iEgpUhPlXlzRSW+narNSlGNborLogRKCGiGn8a7ZOmktP/Va9TjQM3X9ch/lVawUtNmCS8IrL2JWI+f5DhH5GzeGWTfwcw4N+e17k4ALX6oQ/TfqwH9W5a1wvuWNZ5FJdLo= X-MS-TrafficTypeDiagnostic: CO2PR15MB0027: X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 20:L3AuLsWBdSoglmB93kYLOUtENE21SrePtJE5R/nTdSGyBIddXiVGy/2nMvjHo4BHIxcoVS+xt0EvshAazFRL0Q/qXMxC7FWu7ng+z0QRaFXYKwNI2lVDnrK1rnxh3gv1SQDq3YRVaOogJoj+1H9qTTx6pJ8mNtJxX7om+dYRv8M=; 4:n27xgwaVItHjZyn4l5IZSKzNCMUSq4M9ly1/EgVcPI4sYMmN7G9jdvptCMZiBXeTlNAnT4BVKLkowaWSB6dJTnbfHWWt6z6AgaNOecKOzeXmhozbY9t3nkurgSmorp1Bw+bUc1p2yUJlmoiTvrUPa/uF+3lP7zqerDH//ARf0k0IODwwsfG1fl5hAk65DwqbsBd+gawqT4QCys9CU7x3rkosMF+YSKCql/OwTUVqTDOdyC/Yz6ASczZ/sYfbbVZKRRekwwUPFI2WCDRUGXqrzQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(3002001)(10201501046)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123555025)(20161123564025)(6072148)(201708071742011); SRVR:CO2PR15MB0027; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CO2PR15MB0027; X-Forefront-PRVS: 05214FD68E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(396003)(376002)(366004)(39840400004)(199004)(189003)(7696005)(81166006)(66066001)(81156014)(16586007)(7736002)(47776003)(305945005)(5660300001)(2950100002)(52116002)(97736004)(6666003)(68736007)(386003)(4326008)(478600001)(8676002)(316002)(51416003)(36756003)(2906002)(54906003)(53936002)(48376002)(106356001)(105586002)(25786009)(6486002)(50466002)(50226002)(3846002)(8936002)(76176011)(118296001)(16526018)(6116002)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR15MB0027; H:andrewc.bne.opengear.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: opengear.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 23:6KyFTXeKYROud3AbS5B4oPcXWKrzlSkXBG94ynNanKxBOOdo+uLpXQJFrK6uS6L1w000/8ur94yWdhP5+4nZDL2lWwNpdRtoZJ1LQIudQhtZLJy5faqpdgTB9idTpb27NTve4XxcqYhIcafQlBmlxgHiIuU3at7bF5pq9hcxN5Mt+WzAh95nXnsjlbGF4bj+u+BGHF1nhkKThyPO5Q+xoVgWz9H/hoBmbESHPkCaO7lrtsdZapgTJaNsiePDC1skB3B5hrRrtY+tWn+suQTsVVCR7plLCafxDWB/hqzlLlJImFs7XBojklwnDgyy9aDZDRj8hHoq1+F1H1ZfCp4NesqSanCvMvR6ECVxC1imCmw6yYHOloaiihDl9hHam9k7vXvJQnbTPKgD0qYEoPo7bQcmqKFqecBVWSZDhYugVBM/qoZtz4sIreW2AZNyMLqvBW7/7k/U+sT2Xw2BgaNjmUjFqYJW15aMKrIL90ZrvRkyaTCNwv37jNCdeiGvmXvc0x/0JPKFHUC0eAEYcdKQWHq17OIrmA4JY2cF83w+VjbiqhmHK/EIT0JSYtR10D3ONDsZFbQKOaV+2EAHKkkVAKBkI3CkvH56OrdwccVSlTJvE77LJrlqBt+UT7fsr7qRWfzEhdbGLf/4zpjJSSvmQ2VfvXZ4jtghqpjqa0OQI8B7mVU27fxwjnxSxi6fVjxHwc7qjpVPlp2bxHOCPWCXf+NrC82L9XQ6MpoO+5GEao1TMQt3Z3GRLGBVJkZ2pBUfMhEtQys6NS5OXOLq50qmMh3p/9JJ6mX047+6n7cCN6geL2W70uzhgUsF1mT/iGOYiil1jfhQXpP9AFJroUDwM5MmfpXdFIeXBNoRmUNudx1f87DS2WkW6USaI4ed3Hqt1Q0kc4YcwcQXW9/rp2d/qGyHp4/3cEjG2Dyf4kp0p6/Qhegt+n6/acJDCdu8Wi1TjiVSWlEx4ULgxBUq5beyWBkvrskeFH04Jt48TPG+36GMY8vl9Cx89aiXOgXocfNjUN3iGUQspuDAlBogcIcs79qtUgi5MbRF9LD2W4neaoE= X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 6:ehOJtp73v5OcQInm2jg/XSc/zsIStP8Yee7ZTAZOnnM7OCyf6ZmB2JylVVkROLP6uKtVq9GCldJoX/qIO7r/aGAUbiAQTF9389OVkNBPWeSGdSoq9hoeP9yYvCVre5Qsbh3jdigkU0uqb6zYRU5JjGvKhe7ivp97xff0ZgjivA0JV53GmfW1I+W7P5lxCTe7cO8Zz9AxrvwymVaUyQAtDoPLvflwn2daa4MB8AWw9qsCdbOpgDU2rQy15NCguQRuPEcxRtWr4BxqYndyYh+YuLyfoEaX3F42rkSUjHJUo7PA5tpMuIPlzrw5HRN2LwmD32eGDe066HFKWbN1HHYr6KnRoDCGDAI7RNEQc/jBUrc=; 5:JihNwE6GGNdZ0nNpjXUdwYZoVsrkSuseesP3qb729uEDjQos6mW8UYyjtblf0KLhw609IKvivDYwl8BFRRX5fASaRHQPDMUAvxi5LwtLtpvIqXo3dqYXlkLrefLCTtnEa6aVH8eb+4f1SvLMzsx1rpX8hbdOwv7ATJ/KSJlIeN8=; 24:oG3trXLNh7+Mt7dNqrCupimqTGFwkX1YtnnbhBNC8UI9MSB1EbVRPfTXnvhP1k5j3WuM453jI9MdjYzIRDBKAiM4B98PVcC44DQW1X7q6yo=; 7:C1V96YhA5Fpl3qmsKCcLvc0RVSdn21wEzn0xembawD1wXoqtt3C/JgQhpD/NVzbj9PIvf++P12OVT6gwOd9yKjLm2k+s23VncQfc+85UGwAz4qSvnHGxYRXbCDYctpCwBRCGxYwGtY9WFpcDvHNfTmSZCJR/JfSF7QbKFQm+QyYXIC9zG7354lRYS81vByDWCSA1dUePnykHEm5nNhjgbfUL21mvmvoPFW/ktcI+O54m/nbI7C8OlS2U9SsEJa0e SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: opengear.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2017 03:12:14.6655 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 004491c0-3c7e-4a6f-c63c-08d542a07ab2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a6251c26-d21f-4164-a225-1f4eaebf5f9a X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR15MB0027 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org This prevents bus timeouts and resets on Hudson2 (Family 16h Models 30h), when probing reserved Port 4. According to the AMD BIOS and Kernel Developer's Guides (BKDG), Port 3 and Port 4 are reserved on the following devices: - Family 15h Model 60h-6Fh, - Family 15h Model 70h-7Fh, - Family 16h Models 30h-3Fh, Signed-off-by: Andrew Cooks --- drivers/i2c/busses/i2c-piix4.c | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index b92ea5d..cc38dc3 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -82,6 +82,13 @@ /* Multi-port constants */ #define PIIX4_MAX_ADAPTERS 4 +/* + * Main adapter port count. At least one (Port 0) plus up to 3 additional + * (Ports 2-4) + */ +#define SB800_MAIN_PORTS 4 +#define HUDSON2_MAIN_PORTS 2 /* HUDSON2, reserves Port 3 and Port 4 */ + /* SB800 constants */ #define SB800_PIIX4_SMB_IDX 0xcd6 @@ -802,6 +809,7 @@ MODULE_DEVICE_TABLE (pci, piix4_ids); static struct i2c_adapter *piix4_main_adapters[PIIX4_MAX_ADAPTERS]; static struct i2c_adapter *piix4_aux_adapter; +static int piix4_adapter_count; static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba, bool sb800_main, u8 port, bool notify_imc, @@ -858,10 +866,17 @@ static int piix4_add_adapters_sb800(struct pci_dev *dev, unsigned short smba, bool notify_imc) { struct i2c_piix4_adapdata *adapdata; - int port; + int port, port_count; int retval; - for (port = 0; port < PIIX4_MAX_ADAPTERS; port++) { + if (dev->device == PCI_DEVICE_ID_AMD_HUDSON2_SMBUS || + dev->device == PCI_DEVICE_ID_AMD_KERNCZ_SMBUS) { + port_count = HUDSON2_MAIN_PORTS; + } else { + port_count = SB800_MAIN_PORTS; + } + + for (port = 0; port < port_count; port++) { retval = piix4_add_adapter(dev, smba, true, port, notify_imc, piix4_main_port_names_sb800[port], &piix4_main_adapters[port]); @@ -874,7 +889,7 @@ static int piix4_add_adapters_sb800(struct pci_dev *dev, unsigned short smba, error: dev_err(&dev->dev, "Error setting up SB800 adapters. Unregistering!\n"); - while (--port >= 0) { + while (--piix4_adapter_count >= 0) { adapdata = i2c_get_adapdata(piix4_main_adapters[port]); if (adapdata->smba) { i2c_del_adapter(piix4_main_adapters[port]); @@ -995,12 +1010,10 @@ static void piix4_adap_remove(struct i2c_adapter *adap) static void piix4_remove(struct pci_dev *dev) { - int port = PIIX4_MAX_ADAPTERS; - - while (--port >= 0) { - if (piix4_main_adapters[port]) { - piix4_adap_remove(piix4_main_adapters[port]); - piix4_main_adapters[port] = NULL; + while (--piix4_adapter_count >= 0) { + if (piix4_main_adapters[piix4_adapter_count]) { + piix4_adap_remove(piix4_main_adapters[piix4_adapter_count]); + piix4_main_adapters[piix4_adapter_count] = NULL; } } From patchwork Thu Dec 14 03:11:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Cooks X-Patchwork-Id: 848358 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=opengearcom.onmicrosoft.com header.i=@opengearcom.onmicrosoft.com header.b="oV3TQQuT"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yxzBj4lG1z9t2f for ; Thu, 14 Dec 2017 14:12:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752296AbdLNDM1 (ORCPT ); Wed, 13 Dec 2017 22:12:27 -0500 Received: from mail-by2nam01on0079.outbound.protection.outlook.com ([104.47.34.79]:7309 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751914AbdLNDMV (ORCPT ); Wed, 13 Dec 2017 22:12:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=opengearcom.onmicrosoft.com; s=selector1-opengear-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=t1oFgZ8W9kKnH1ZlXUqw6YwSBHeatv7tnA/+zsHNbJA=; b=oV3TQQuTK78v2VKH5V4JqoLqNL2ETGoUmzeapS6J8Pi+U14e/KO/HwA09Bq0Ov/4jLJVhKN4/5DuMVV6UWcEgqYS4OGt71uOuQJM/87O71PIJnqsD8AupxpRIItu2n4jHvAj+SXScHhE39tpOpeZ6X3waHC4nxHe0VhVzk82KdI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=andrew.cooks@opengear.com; Received: from andrewc.bne.opengear.com (59.167.150.161) by CO2PR15MB0027.namprd15.prod.outlook.com (10.161.86.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Thu, 14 Dec 2017 03:12:19 +0000 From: Andrew Cooks To: jdelvare@suse.com, linux-i2c@vger.kernel.org Cc: platypus-sw@opengear.com, Andrew Cooks , Wolfram Sang , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2 3/3] i2c: add ACPI support for i2c-piix4 Date: Thu, 14 Dec 2017 13:11:46 +1000 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [59.167.150.161] X-ClientProxiedBy: MEXPR01CA0140.ausprd01.prod.outlook.com (10.171.15.25) To CO2PR15MB0027.namprd15.prod.outlook.com (10.161.86.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b9b3ad76-feec-4925-07a2-08d542a07d9d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307); SRVR:CO2PR15MB0027; X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 3:mm9ac38k1K2uUMPTa9BvUACbdnD1dj9xsxXNsaF4VDA/P9BhzxXXxkpvhlAVc4TRLaoRHgkk5bfrKCvkfhp4UXgdfCHmYm8LEW1/6RkOM/1CSfsxcHZXL9Rr/8ZmYoXwOMMBbOO7o+j8cD5mSu23OIy//8o2odyCvwVXZLysF/mftWgd9BEe9nR2Ne8vUjYH296rPneSrkQaj9YUbnNPMyNIkgyDYYV+/ORVQC71k+98ycLD3vsGm0Jg7tL6pfDT; 25:myOFQTbIA2F/4ArJw6JXa9FxXZRh5uNhRjS6Yz0FjetVv4hrCYzlMUijze8JeXZRv29koyUEw9S9UVCNYSnQmMBHMP3y4AJF8uHBv9ocxe63kQLYFU7wZQPvhQy1/7fkLE0lDfVLbo9jb+pbJUuekMa4PHJbEhdgMhKwVijSelXFg56KGqQUZoSZ+9tjfZRVPzqX7UAcuY0Jey4iMeBLTVMMp5C+zLZ8UOQno3cmE1NlJYY9snPxi/Qyn+P6ToGCRmaKaD4BqnPjk9T7QMLtO9qWP+n8tQEV72d1DceM+sl3vLG+qE5P8ZEo4nTgJQ+IXp2Zt9EG8xEUxT7rv/DVzA==; 31:u5iuBsczFlBLej+FLPVgzPjiFT60rvIqRuvyRx7BpMUtu0rcFHLo9gkDyGIX5kZ4xYasmyYEMoNj77yQoRHxBDRA94n6JYr/mcEoqEd9pLGCbRf0xF2FiwagqcvFgrJBS508B/ceD5OTKgoqCypmqjalSIQ1gb6U1YE/yWakfiyRQWNrj0dJBAw2phAyJliEvyAp7/HEN0nKnJi3+Kmtdt9kyw7+JEo2BXnPryB+dF0= X-MS-TrafficTypeDiagnostic: CO2PR15MB0027: X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 20:hmrmBB9K+oQhjU+EFkspwgGusZra5lVkFcQXFPUyj1MftIqqqwDcdSL1NdqQvKylp01ljgy27MDId/Qajka1bGXI9mtBGldgdc9r2i+Y1oKoWo/IlIVii8Bvjp+45d7twIzlDglBHSGxTKRotDfI+28Hmv4OVmL10BrV1KYptCM=; 4:eGc2wPLTfUH6GhT4XT3RTiHiu5FWQR0wvHAzjryCDa4Ke0lacbXv0TpKByRT/01hiXzEARTZWy/PYxfAvxRvi+PePXaIg56tU72hUzGOmBJKSonzAo9WunMK8xr1z1zSJodGs3sBhFIZzUMRtvkDZGfBnUVdSs+xDlSejsEQAdSOKxl2u5SB8NC1k7LrZ6ksMwISADeW3EQLSTeXg8tR5Ii67GTf+YOmTPdDcFkm4vIKPYzuZO1ncBqJZQtfKU9kAi34sl/SvFrl6fZUL0RshA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(3002001)(10201501046)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123555025)(20161123564025)(6072148)(201708071742011); SRVR:CO2PR15MB0027; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CO2PR15MB0027; X-Forefront-PRVS: 05214FD68E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(396003)(376002)(366004)(39840400004)(199004)(189003)(7696005)(81166006)(66066001)(81156014)(16586007)(59450400001)(7736002)(47776003)(305945005)(5660300001)(2950100002)(52116002)(97736004)(6666003)(68736007)(386003)(4326008)(478600001)(8676002)(316002)(51416003)(36756003)(2906002)(54906003)(53936002)(48376002)(106356001)(105586002)(25786009)(6486002)(50466002)(50226002)(3846002)(8936002)(76176011)(118296001)(16526018)(6116002)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR15MB0027; H:andrewc.bne.opengear.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: opengear.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 23:UpUsP4xo7nwzntsg7lYUJXPOHf005r31Ehl4nqPBjLVnwxaahi3Gksf1nRct3yIcogDB2wp5YYyBS6eKIB5nJT4SvDVeimrTvPclopcxDSoOTRVLXipK5BVijsiZEe8DDnqbVU0WlVVkehJGCo2WMvO12g37wesxzR1a/y08wDnbj33BJ5NE5EvvJLY85idOGh1v/73r2tmsKq9iCKVoXNObFPz0jktxvh+P92UO+5x73wYEmaTEqoiNfzwbrUM4m4jPTBtxbRKvmToNxy2C+OyU1ocrIqaMfRHHzcw9UJ4X+n/EYvMmA3zZ0xzCFjvvaS8H1ix7WY6pgrvu7xOryPTQZ2B629+KAesjhA/RdoNBMtnaFRHqvopCcPV3jfT4/W6ZhNy0ZzSS4rVHSHG0OZE36A4Gtih1gFUCV8XUWmPBD1nhlwXTt48mx3NECejxUWgNuZRo4nQDWiNK9s72xZCcg/BDMN6SvMuT10lFpx0cAbcUggrsemvAo8IAdbJORSDVkahpZZi0UZOfDYYHyMuhgKE23p1CFyUoVVRGSx4BQKFmZJMmJpbtFzstv13HpOB0CxYJ/8+PUJddsbnIsW4d7c51OlitZEW87dlV76CvHwXTMoAVlro9IYHlifwZ+B4g+31JmWzKZ07k5SZw21zCx3ezseVbK93ruQDJSXQPhYjCOlBORyDuMUJ+JRSlJmA/LBIo6F/PxOAJN+hbc9eDc267w4CnXI7YvS9B9bWdg/f/fHrk4c1QFpaMZBjeXt/RuaCqCUxPJgfAmvjbHNV9PVK022Ro9HHn8AA9rsTbVudP7+E1fGSJ7/7+Yy/V9j7rtxY/xkZuDVMgy5j9hw8k531DyUoTkP3G9yZjQtuJqMxbaKgxpMoE1CvbkBOXlz46yoMorQKPvS1gzc+dVdCzl5L/uMaMpagRT20Elt63WcFGFuQ3EJdUDI9k6RxA0tNx3hs8EDu/ry0Of8H9OAOv8QuGDIan57FfkKH050rg7Zj6Rl1xbJbMpgmLT3XxTJmCYonMCdi09bL4MmmRcPOW0GdF4tAqAWpCq/SGxBWPtL6d4vwbUwI7w+i7j5QU X-Microsoft-Exchange-Diagnostics: 1; CO2PR15MB0027; 6:FtFz1aQagYMr5gdcoRWCFTl2V17WeMkmFQ8vWfojapRrnsdEgKYoxY8t8l9Pi1C2EdKTkpyxHLmiVjEzOSjJean9NfauI19R0rdAPUgyglyM3TX6Mlfe1KcyHJH1rwvfGG671w8Oo3L0KCg8i/KZ6EzjJ/ykB1HMQCRo15JZJ/AWG0np1wzT9Pcg2t+t+8MBq3GRgzKBnqPqV51RLI1YI8+83S0/lgHKBjfqDFBpqC5Z+oFVcnciXJrXO6nN9cjiCjManRcFInsqIrz2pIJRq3h7H9pkgoFb1i7NXjVBqfwTi1k4l9Em1kH8j2pOz0VV5/Iibtv8iOAZBZ/DZBsYU3+Y7rXBy2ru+qu/KW5kXkg=; 5:oiKRzhyqFhLVZ0XZNnSqYgeZ/XwpBj29o0HeGL7zdPY85nU1Z4gcbXcZn9jMq5/+ALUy6u1cAns/oAUHYVjaEQPZRefGh27aBAoHhbXqLE0ncZsVdpuK5fcFcEoNExTfvrgOapyoboiVc74z7FcMTOklJgNfJdiKGlubAhFiy0c=; 24:UPv4lJ+QV7TPW8cO3g0QZXfsGJTIvDJFahFpCkIqr+XI2Ys+FdP6ntCElV+uwmZMpMsmT6vQIUU4M+FpgM6Mib6WZh4//0RC1qBijLyHJTU=; 7:WRQaYB9JyF/oxgTCesRVypynlDAl5PSVxtTTqqiwTWtmyhr3rqbsFWZeM0hR3asqlSAeMzDW6xnXNxrSBO1TAMAFoWe33bHTtKGZchfseEKnNJlwFWTz1zZWCyVlKuGKb3FgepvaCN7bECJSJx0DG85uZ7d8cQ2hRg5XteMMx14HxfUYL6KuH0GjCWJIe31kgtl5YoLHBdlratBHwhWkx4ygNSqEcKqDzAM3GVYnjy0vkcyfXwrmTal+fntKNyb6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: opengear.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2017 03:12:19.6186 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b9b3ad76-feec-4925-07a2-08d542a07d9d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a6251c26-d21f-4164-a225-1f4eaebf5f9a X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR15MB0027 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org This enables the i2c-piix4 SMBus controller driver to enumerate I2C slave devices using ACPI. It builds on the related I2C mux device work in commit 8eb5c87a92c0 ("i2c: add ACPI support for I2C mux ports") In the i2c-piix4 driver the adapters are enumerated as: Main SMBus adapter Port 0, Port 2, ..., aux port (i.e., ASF adapter) However, in the AMD BKDG documentation[1], the implied order of ports is: Main SMBus adapter Port 0, ASF adapter, Port 2, Port 3, ... This ordering difference is unfortunate, and we assume that ACPI developers will use the Linux ordering. [1] 52740 BIOS and Kernel Developer's Guide (BKDG) for AMD Family 16h Models 30h-3Fh Processors Signed-off-by: Andrew Cooks --- drivers/i2c/busses/i2c-piix4.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index cc38dc3..65e6390 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -845,6 +845,12 @@ static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba, /* set up the sysfs linkage to our parent device */ adap->dev.parent = &dev->dev; + if (has_acpi_companion(&dev->dev)) { + acpi_preset_companion(&adap->dev, + ACPI_COMPANION(&dev->dev), + piix4_adapter_count++); + } + snprintf(adap->name, sizeof(adap->name), "SMBus PIIX4 adapter%s at %04x", name, smba);