From patchwork Thu Jun 15 16:03:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 108622 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp754172vqr; Thu, 15 Jun 2023 09:17:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7YwzLcs0rYjbB3ihZNM6w8qU5MmZ0TFMAOtbO0B0B+fa20Kmgm0Jcf/zRkT4+89Y/wLWH+ X-Received: by 2002:a17:907:2da3:b0:973:9521:cd50 with SMTP id gt35-20020a1709072da300b009739521cd50mr21470445ejc.41.1686845860130; Thu, 15 Jun 2023 09:17:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686845860; cv=pass; d=google.com; s=arc-20160816; b=YyDGDyVjBWQUC/T9db+NaCTyDFM8hMIbJhx/hEZILJddj4nluDS+qls1UYa4ARN5Mr ckvLSRId5gxCddSUogfo97gTF7wMTFRpIbAetDehHGf5R0OoiSa+p2XfPvPenOm+WTUS HBhXQaVXkuUvI2dYwdDOfUGToPD21ZEfF2ZOUojDoklffeMYlI6sNtD6u+aZI2OSgyOz k0JJIkYWQgtn+CyaJTx+Tqpq9zHdOpE+NXxdnk9t8Tfy3gaK06cnu0fdzsjU96tuRkJV y5emyMhmS5AJFwdw5O5lBrJWJ6gBM/W2FqtE2JYdjXf5A48ZUZkYxO9XZB3rrB7kDRLQ qLjQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=PpO0lnvUMogbOpycuhb4m1lVwO3CTOkHVKveGcjGPjw=; b=hJiQliBsKhhh9CTEpJPfw3Qu1pBid7O+jbannb3jGAO8um8z8oJxtQHg9vioNkSvoN ywYSZyRgH+PPtMkEYVi2i22Lv7RJbWu0Tca5Sy87pbJFnbzEktlqR04Y9yKpCBalc1lD 3vCaTepCGA9pLAsOW/W4o20v+5hMKS8+6U+ofcWVPpP748aoJT6SkEKw26QKu/HPtBrC g+24e6NdT4tBVIiihIN0y69epYtrQsYqs6U0eBrpMbVTIzC6ybqXPQkz5LwDqbtwVk3c C8sDmv5hZb92RD4S83vOVud59rZkPpxPovyjhc02jIWXqCo08v6uPJoKODEu4f3sOrzJ V4qA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=URmhxBKB; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id la14-20020a170906ad8e00b009788da05d2asi9850960ejb.757.2023.06.15.09.17.15; Thu, 15 Jun 2023 09:17:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=URmhxBKB; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233922AbjFOQDt (ORCPT + 99 others); Thu, 15 Jun 2023 12:03:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229473AbjFOQDr (ORCPT ); Thu, 15 Jun 2023 12:03:47 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED03F273E; Thu, 15 Jun 2023 09:03:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ItjQ1oh2hfVs+eOQJYXKSwY6+tfBvQZ2MKlPLFBhpAXN1dJjevCEJud9ULRN7pjzkiDixV/995GyKVyMqdB0d3z+9n0n2CM/Q2vrM0/B8+e6+1DpW2B2iVbiDOKxTJzDlzicFZEljck1D6LntAABEkQQtvoPPAwam4ubwKu6+KetVTEvbO0xVDYdiNyTWf1nDzA+gLId1MN9AhfKoKd/Uv0wM7YOFIfKuZmfSXN3CGJZXf8Zs/4tErpB6ro1RlvTb/HSpSbCHN7uQfuKF6JwDrprFlP7GoLIEBHXKkDBc335ugDW/annq6hFwHIhHLFvGrh9CwYAUO3qYbBDKd/Jzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PpO0lnvUMogbOpycuhb4m1lVwO3CTOkHVKveGcjGPjw=; b=PiJMK3B1jAoYguwX4O5YqyeKmZav3UETdru3X5X1DHtTPGqfMUwmajIrCR0qI3btJc2RRI2rE7mABnSSWIObfrQx8ZJ7Ti5boNCg4QTWZDql9Zw28xUNHIiVIalThdJssJuYeFZ4D4yRyeCje2alodET4O/RkWMipQDIMQ32MdoJtIlQkgypvqe3g5hNMkZk60yMxxUG0g2eaWW9pIqfr89vtmEsOyKEZrjgjcNYCjrOMwuCGg75c+iYynweXbJABhQVFFLVTBOMoUjfOudyBy41Okr/ZpmrkkBI9aI74hJ4Fi5IurlWE1EbYPx9oOlU0EFtZncpNPDW/nxKgiUMDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 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=PpO0lnvUMogbOpycuhb4m1lVwO3CTOkHVKveGcjGPjw=; b=URmhxBKBeWTt4VabO6v9jJl1edAnqzkvIpcGGOQhds6T47tyQ5D5hbI5+XDSp072nN4BiNNwgug4MQnfayT5VC7gnro/1779J+JmgoZ3ffSPLLWgB25eILiMZgwiqsK7NTH/5zqXY2zk/0N0NjL2aEfwfNiYcVg51jAggfQoI5g= Received: from MW4PR03CA0245.namprd03.prod.outlook.com (2603:10b6:303:b4::10) by CY5PR12MB6347.namprd12.prod.outlook.com (2603:10b6:930:20::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27; Thu, 15 Jun 2023 16:03:43 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:303:b4:cafe::7) by MW4PR03CA0245.outlook.office365.com (2603:10b6:303:b4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.25 via Frontend Transport; Thu, 15 Jun 2023 16:03:43 +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 MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:43 +0000 Received: from quartz-7b1chost.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.23; Thu, 15 Jun 2023 11:03:41 -0500 From: Yazen Ghannam To: CC: , , , , , , , , , , , , Yazen Ghannam Subject: [PATCH v2 1/6] EDAC/amd64: Remove unused register accesses Date: Thu, 15 Jun 2023 11:03:23 -0500 Message-ID: <20230615160328.419610-2-yazen.ghannam@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230615160328.419610-1-yazen.ghannam@amd.com> References: <20230615160328.419610-1-yazen.ghannam@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: MWH0EPF000989E8:EE_|CY5PR12MB6347:EE_ X-MS-Office365-Filtering-Correlation-Id: a0377efe-e404-4d59-f6e3-08db6dba17d1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YbnHz1ryxcw3gf/QhvyXRKslBq5Bt+qC+BKJrNGIUBiPPj2bBb6r9qYwj5XmnktkI1vSKmun7qxw+GlDSymy5XWzNjBGOmdKcy85j5aalnrsb9Z7epg2B09p+d56txyoa7eaf+I24ZBMmnG2bLOONqQ+hAd2H2RODfIUReanKoH3cJxBhi6kfjfo5aU7Qu034ZcW/HvLpRoEobj6qcbZWNaQE8E+86EEXeOkbLIIXH01rBLQ+PXF9kPELuvYVBeO6SQ8h8zU80fPLBQT4/9biQbvOulZ0MysFhnWg7iEs5lIMRffrJVM6ThbMI2+NAJ7Yt3Ar6EaO0eGhStkDhQdJ97d1S7z6kDytiWG8+PQGfzqCTxbgBpjmlOnG5fMwwrvbWGdnR9IVjvwAld5skT0Kvkew47uGE7eLSUjhny9gc6+jif6fSg+MmS1AXNARqYe1Ga2KZduOKcRmVUl1tfEI3M7Zn4VhgxDrQKOIms2i9XkP8WjwrPWLanjd6v1qmZR6rgjbw+wXxTYgWHeKD3BHT+8etwc287EJOO9GltG5KDOO1RhiKlfOD8e8kccHIBr8Ssp4vjF+Clp5toxElFfJmmwbPNPqqRalwoc00ZWs+Qc7UihwnQ7DNs73B8xBWkHtnrUqVZ+bSZTTE9mEocV36FYL+PVTmkRfiJ5b7WKimAZWn8aMcBK3FWrhibxS4hzsRGViQgDOkG45JqXPzos2mmVyj5+GJTK49egKG8OTqOpk0x4awOUJUJhFR34ZLWN0SPu977fxAEd7/kQN9hKiA== 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:(13230028)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(5660300002)(82740400003)(966005)(81166007)(356005)(336012)(2616005)(83380400001)(426003)(1076003)(186003)(16526019)(2906002)(26005)(36860700001)(7416002)(47076005)(44832011)(478600001)(40480700001)(6916009)(70206006)(316002)(6666004)(8936002)(8676002)(41300700001)(7696005)(86362001)(82310400005)(70586007)(36756003)(4326008)(54906003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 16:03:43.2475 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0377efe-e404-4d59-f6e3-08db6dba17d1 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: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6347 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768786084541413952?= X-GMAIL-MSGID: =?utf-8?q?1768786084541413952?= A number of UMC registers are read only for the purpose of debug printing. They are not used in any calculations. Nor do they have any specific debug value. Remove these register accesses. Signed-off-by: Yazen Ghannam Cc: stable@vger.kernel.org --- Link: https://lore.kernel.org/r/20230516202430.4157216-2-yazen.ghannam@amd.com v1->v2: * No changes. drivers/edac/amd64_edac.c | 17 +---------------- drivers/edac/amd64_edac.h | 4 ---- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 5d7c080d96a2..67feebc1eafe 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -19,7 +19,6 @@ static inline u32 get_umc_reg(struct amd64_pvt *pvt, u32 reg) return reg; switch (reg) { - case UMCCH_ADDR_CFG: return UMCCH_ADDR_CFG_DDR5; case UMCCH_ADDR_MASK_SEC: return UMCCH_ADDR_MASK_SEC_DDR5; case UMCCH_DIMM_CFG: return UMCCH_DIMM_CFG_DDR5; } @@ -1605,7 +1604,7 @@ static void umc_debug_display_dimm_sizes(struct amd64_pvt *pvt, u8 ctrl) static void umc_dump_misc_regs(struct amd64_pvt *pvt) { struct amd64_umc *umc; - u32 i, tmp, umc_base; + u32 i, umc_base; for_each_umc(i) { umc_base = get_umc_base(i); @@ -1615,12 +1614,6 @@ static void umc_dump_misc_regs(struct amd64_pvt *pvt) edac_dbg(1, "UMC%d UMC cfg: 0x%x\n", i, umc->umc_cfg); edac_dbg(1, "UMC%d SDP ctrl: 0x%x\n", i, umc->sdp_ctrl); edac_dbg(1, "UMC%d ECC ctrl: 0x%x\n", i, umc->ecc_ctrl); - - amd_smn_read(pvt->mc_node_id, umc_base + UMCCH_ECC_BAD_SYMBOL, &tmp); - edac_dbg(1, "UMC%d ECC bad symbol: 0x%x\n", i, tmp); - - amd_smn_read(pvt->mc_node_id, umc_base + UMCCH_UMC_CAP, &tmp); - edac_dbg(1, "UMC%d UMC cap: 0x%x\n", i, tmp); edac_dbg(1, "UMC%d UMC cap high: 0x%x\n", i, umc->umc_cap_hi); edac_dbg(1, "UMC%d ECC capable: %s, ChipKill ECC capable: %s\n", @@ -1633,14 +1626,6 @@ static void umc_dump_misc_regs(struct amd64_pvt *pvt) edac_dbg(1, "UMC%d x16 DIMMs present: %s\n", i, (umc->dimm_cfg & BIT(7)) ? "yes" : "no"); - if (umc->dram_type == MEM_LRDDR4 || umc->dram_type == MEM_LRDDR5) { - amd_smn_read(pvt->mc_node_id, - umc_base + get_umc_reg(pvt, UMCCH_ADDR_CFG), - &tmp); - edac_dbg(1, "UMC%d LRDIMM %dx rank multiply\n", - i, 1 << ((tmp >> 4) & 0x3)); - } - umc_debug_display_dimm_sizes(pvt, i); } } diff --git a/drivers/edac/amd64_edac.h b/drivers/edac/amd64_edac.h index 5a4e4a59682b..ce08b99c6523 100644 --- a/drivers/edac/amd64_edac.h +++ b/drivers/edac/amd64_edac.h @@ -256,15 +256,11 @@ #define UMCCH_ADDR_MASK 0x20 #define UMCCH_ADDR_MASK_SEC 0x28 #define UMCCH_ADDR_MASK_SEC_DDR5 0x30 -#define UMCCH_ADDR_CFG 0x30 -#define UMCCH_ADDR_CFG_DDR5 0x40 #define UMCCH_DIMM_CFG 0x80 #define UMCCH_DIMM_CFG_DDR5 0x90 #define UMCCH_UMC_CFG 0x100 #define UMCCH_SDP_CTRL 0x104 #define UMCCH_ECC_CTRL 0x14C -#define UMCCH_ECC_BAD_SYMBOL 0xD90 -#define UMCCH_UMC_CAP 0xDF0 #define UMCCH_UMC_CAP_HI 0xDF4 /* UMC CH bitfields */ From patchwork Thu Jun 15 16:03:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 108619 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp747035vqr; Thu, 15 Jun 2023 09:07:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4cIDH53y1xi4Vr90DvXVLkiV55t8rsHo3sSbVZPn32FlrDiQFU7A5bp3jt/GhrFvuJkXEZ X-Received: by 2002:aa7:d4c5:0:b0:518:791d:596a with SMTP id t5-20020aa7d4c5000000b00518791d596amr5973290edr.41.1686845277919; Thu, 15 Jun 2023 09:07:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686845277; cv=pass; d=google.com; s=arc-20160816; b=eBOUN0CErRwFCjYLprkiqR5cooA0Mx0B247h7qxhxW6t3r6U0HmzFmbl8rIVlrgrX/ 7j6/8TuXazatQnhVdjPR4HeqamsGAwKDW2yI3PYramwRoMIpkImR+dCd+D6OEiVjcqKP nhQ8yzTMKaGeir0iHdhwFQJWLs4kWTRE6tMkzFIkRbjEX1lJwNMX6TMO9t0A3Tk1JC7H 4T8dhCYmqSPD43ZTZcKutJhSf/4pYCzX3NEMew0CsLsHqbeJisOqmMDWIylXCOVKuKD8 UmsxsVlgi2pRokqsLrzDX53Frwprr8AdaDxFHAqhc5kD6X2AN6V4abGTTZmyf5nugo8H 0KFQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hZm/z+tvSvGNN5IQANLWkWGEA83rebFjqmt6TDUAujM=; b=zg48fwUuKCPBBL3yr4fpJjlS+aPhvCDjfq/pvxWBuIWfuvEmvyJKulXNS8l5y73cAr qxJSKkmOMYuwZAb2anCWXj4X8LNGHHrF7PF8dDCJ+zG947Nev1+RdzGPRzoxBkt/gDzj H4EwVocsHFhfyT4ZpVOPvnnStCA+0AH7QSgf5StqFCQbrfyoZl8giAdYN0GTlSNn/RX7 xm1kz+hxxr1jjXttS7nFJpnyc54LDwkghLmy2idQwqJo1gkwnp8g2XAmU3Ib4uUQo6pA qelX7kNkm0Qki9ofdl0mQ8Bylhg3VGvVftWkIR2j08JIEdSgJ39ADF+hveiPEcTiumAu zreg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=oEtYNsd7; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u3-20020a056402064300b0051877247889si3853675edx.356.2023.06.15.09.07.31; Thu, 15 Jun 2023 09:07:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=oEtYNsd7; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234524AbjFOQD6 (ORCPT + 99 others); Thu, 15 Jun 2023 12:03:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230003AbjFOQDs (ORCPT ); Thu, 15 Jun 2023 12:03:48 -0400 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe59::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D73A2952; Thu, 15 Jun 2023 09:03:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L/DvrMV6vbx/c/8jGJWFbr0ALy1WeGWLCxwdCuDwJZpIy5S3JubgBcH2JmAYXXSCOg5SDbniZP8ncm/CRdfYuNrlG6ns4IVzE3nj0JH/jQ3alR6nexAm4VQyHnBR1SpRZi2oE4LDsbzG2MkBz5Qkd/x+5UXRbZGmfzpNIuhl6skV8T0G1KyoKUxu6cPVMQTT1ba5n7/T6EYGjPC0seLZ+i6F7KaZPOgDbcU2WrL5UvvGH+rMeJZdvncVXYYxhfZHXNhbXMDhTO1yWQLgmlNIGGNmdP383aspSbXZpXuqjFTaMfNudEDVFN7Z0H0GD0Upvfgae6qECJyuKg+NJhk8fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hZm/z+tvSvGNN5IQANLWkWGEA83rebFjqmt6TDUAujM=; b=NDQH4FlIwzHwe6ZTy2wd57BMB8XEDMeejQIXfjWCQVH7tYuOHJjTNlbmnqP+/3HnrheKBPl4upF/kq3CW2nPZiugwbCbZXYfBZtk2aigc6DSbhnhUZIP1zbm7w3BgB1tZM9ChPEjVXwFj5jWNxmw4/DkV5WjDxXZwd+9ob95ph65Zbnh38Knqe8BMt3gqY1rjk50EB/KHRyh2n8dh81FAlYAZ4jfrPvw0UyGCZJqgMiHtU/CipM+HqvSTIM2JkUwZp/6ul5bdbIwBouW0Giesiv0/7C/GKUe+5Wba+J/oxaAoSPzNYjYe3XZ6vcGXQQxn/RN7bK9sb0nCEuYJ0N6eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 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=hZm/z+tvSvGNN5IQANLWkWGEA83rebFjqmt6TDUAujM=; b=oEtYNsd76B0q3wGlpWlX/U2AYxftaMJu6ldqX2OMkMEQwFLlfi8sNkHu/+fMqiIPDHt9KTYgop1VLT31hROwywftQkbgN9puUSAw/ZQb9p3cCzNPYaaG0Y/9bZi8i1RlHdfEiMGpxc7ljh67Daf/xHJvx405EgCtCZ+ovjgaB2Q= Received: from BY5PR03CA0003.namprd03.prod.outlook.com (2603:10b6:a03:1e0::13) by DM6PR12MB4057.namprd12.prod.outlook.com (2603:10b6:5:213::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Thu, 15 Jun 2023 16:03:43 +0000 Received: from MWH0EPF000989EC.namprd02.prod.outlook.com (2603:10b6:a03:1e0:cafe::69) by BY5PR03CA0003.outlook.office365.com (2603:10b6:a03:1e0::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37 via Frontend Transport; Thu, 15 Jun 2023 16:03:43 +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 MWH0EPF000989EC.mail.protection.outlook.com (10.167.241.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:43 +0000 Received: from quartz-7b1chost.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.23; Thu, 15 Jun 2023 11:03:42 -0500 From: Yazen Ghannam To: CC: , , , , , , , , , , , , Yazen Ghannam Subject: [PATCH v2 2/6] EDAC/amd64: Check return value of amd_smn_read() Date: Thu, 15 Jun 2023 11:03:24 -0500 Message-ID: <20230615160328.419610-3-yazen.ghannam@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230615160328.419610-1-yazen.ghannam@amd.com> References: <20230615160328.419610-1-yazen.ghannam@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: MWH0EPF000989EC:EE_|DM6PR12MB4057:EE_ X-MS-Office365-Filtering-Correlation-Id: c450d177-244b-4726-5b32-08db6dba17f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8ss4n9MgNnOeAq9z6ibOdEdPodbx+JbQDmcFgp0UcsAeDlurRpaRJTG/NTXCbL4DGqLDVcKeJYpXxDd9zfaD94fpC30FXfZg6NuKIqVdLjVKuAPK4b3KATo5uW00fqqHBb5sLXOlEemkmwiX0wXDhKnagD0e/k49tfbSrc+IbjkF/h3Wl3YTQSrgCak9CAFXLdbGPSUddW3jCiTgptVTi8x2e83dlxBB8EYbVaL4hp1E4lt1t06Mc/S4ZCc2jqopSBwfyToyQD6P2yI4VTlaYuSPVAOBCzMbRKy1L30cfrKZsYcd3riXyj72shYGX4rkJG9evHPPLDIncFuXZPrxvJAWP4WJhCdsunJ8f9X2fH6Lcyg87h0YSKBff81YEMs9RM7t0Nd1Qpb7wvKQ25YqXI0v9T+fnftoqgxUs9Ah28OQfOwGDALamLUKgpQ9IIXHhmrq3hDYTl477IYR2ZiLm0Qy9pLEwcl5FvSYdyZbNKOAEGVXKpmKgIDyD8jTmd5FNjg0gui1fhX/3pVReC62iIYJIlsGeAvzkc6Aej0sTLP6Gfxwgy8IT38WTShppvNl1Nf6kNWna8iYHeeB7HiasbvLE+jJVZUZS94VHPgArLHu2874ngE+0T8/CsjWIJ12wjxt5ujGyHmiUdPxAuTSjH8huCoFeiHTnLWYb2ZUxsuCgE2FTJCSzhVekWYQrXwNOZoYyvNVdYmvz1zVQrfzYPkb+scXUPpXJExoRdyi0wNmhyXmR7CypZTLI3gvqPPQgfXFwVO6ylyRf41BlRtMwA== 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:(13230028)(4636009)(39860400002)(136003)(376002)(346002)(396003)(451199021)(36840700001)(46966006)(40470700004)(1076003)(26005)(36756003)(186003)(16526019)(478600001)(966005)(40480700001)(6666004)(40460700003)(7696005)(2906002)(316002)(41300700001)(8936002)(44832011)(86362001)(81166007)(8676002)(5660300002)(356005)(82740400003)(7416002)(83380400001)(336012)(82310400005)(54906003)(47076005)(426003)(2616005)(6916009)(70206006)(70586007)(4326008)(36860700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 16:03:43.4951 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c450d177-244b-4726-5b32-08db6dba17f5 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: MWH0EPF000989EC.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4057 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,SPF_HELO_PASS, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768785473924352765?= X-GMAIL-MSGID: =?utf-8?q?1768785473924352765?= Check the return value of amd_smn_read() before saving a value. This ensures invalid values aren't saved. The struct umc instance is initialized to 0 during memory allocation. Therefore, a bad read will keep the value as 0 providing the expected Read-as-Zero behavior. Furthermore, the __must_check attribute will be added to amd_smn_read(). Therefore, this change is required to avoid compile-time warnings. Signed-off-by: Yazen Ghannam Cc: stable@vger.kernel.org --- Link: https://lore.kernel.org/r/20230516202430.4157216-3-yazen.ghannam@amd.com v1->v2: * Include amd_smd_read() calls added for GPU updates. drivers/edac/amd64_edac.c | 51 ++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 67feebc1eafe..4f6c31c193d8 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -1703,6 +1703,7 @@ static void umc_read_base_mask(struct amd64_pvt *pvt) u32 *base, *base_sec; u32 *mask, *mask_sec; int cs, umc; + u32 tmp; for_each_umc(umc) { umc_base_reg = get_umc_base(umc) + UMCCH_BASE_ADDR; @@ -1715,13 +1716,17 @@ static void umc_read_base_mask(struct amd64_pvt *pvt) base_reg = umc_base_reg + (cs * 4); base_reg_sec = umc_base_reg_sec + (cs * 4); - if (!amd_smn_read(pvt->mc_node_id, base_reg, base)) + if (!amd_smn_read(pvt->mc_node_id, base_reg, &tmp)) { + *base = tmp; edac_dbg(0, " DCSB%d[%d]=0x%08x reg: 0x%x\n", umc, cs, *base, base_reg); + } - if (!amd_smn_read(pvt->mc_node_id, base_reg_sec, base_sec)) + if (!amd_smn_read(pvt->mc_node_id, base_reg_sec, &tmp)) { + *base_sec = tmp; edac_dbg(0, " DCSB_SEC%d[%d]=0x%08x reg: 0x%x\n", umc, cs, *base_sec, base_reg_sec); + } } umc_mask_reg = get_umc_base(umc) + UMCCH_ADDR_MASK; @@ -1734,13 +1739,17 @@ static void umc_read_base_mask(struct amd64_pvt *pvt) mask_reg = umc_mask_reg + (cs * 4); mask_reg_sec = umc_mask_reg_sec + (cs * 4); - if (!amd_smn_read(pvt->mc_node_id, mask_reg, mask)) + if (!amd_smn_read(pvt->mc_node_id, mask_reg, &tmp)) { + *mask = tmp; edac_dbg(0, " DCSM%d[%d]=0x%08x reg: 0x%x\n", umc, cs, *mask, mask_reg); + } - if (!amd_smn_read(pvt->mc_node_id, mask_reg_sec, mask_sec)) + if (!amd_smn_read(pvt->mc_node_id, mask_reg_sec, &tmp)) { + *mask_sec = tmp; edac_dbg(0, " DCSM_SEC%d[%d]=0x%08x reg: 0x%x\n", umc, cs, *mask_sec, mask_reg_sec); + } } } } @@ -3153,7 +3162,7 @@ static void umc_read_mc_regs(struct amd64_pvt *pvt) { u8 nid = pvt->mc_node_id; struct amd64_umc *umc; - u32 i, umc_base; + u32 i, tmp, umc_base; /* Read registers from each UMC */ for_each_umc(i) { @@ -3161,11 +3170,20 @@ static void umc_read_mc_regs(struct amd64_pvt *pvt) umc_base = get_umc_base(i); umc = &pvt->umc[i]; - amd_smn_read(nid, umc_base + get_umc_reg(pvt, UMCCH_DIMM_CFG), &umc->dimm_cfg); - amd_smn_read(nid, umc_base + UMCCH_UMC_CFG, &umc->umc_cfg); - amd_smn_read(nid, umc_base + UMCCH_SDP_CTRL, &umc->sdp_ctrl); - amd_smn_read(nid, umc_base + UMCCH_ECC_CTRL, &umc->ecc_ctrl); - amd_smn_read(nid, umc_base + UMCCH_UMC_CAP_HI, &umc->umc_cap_hi); + if (!amd_smn_read(nid, umc_base + get_umc_reg(pvt, UMCCH_DIMM_CFG), &tmp)) + umc->dimm_cfg = tmp; + + if (!amd_smn_read(nid, umc_base + UMCCH_UMC_CFG, &tmp)) + umc->umc_cfg = tmp; + + if (!amd_smn_read(nid, umc_base + UMCCH_SDP_CTRL, &tmp)) + umc->sdp_ctrl = tmp; + + if (!amd_smn_read(nid, umc_base + UMCCH_ECC_CTRL, &tmp)) + umc->ecc_ctrl = tmp; + + if (!amd_smn_read(nid, umc_base + UMCCH_UMC_CAP_HI, &tmp)) + umc->umc_cap_hi = tmp; } } @@ -3891,16 +3909,21 @@ static void gpu_read_mc_regs(struct amd64_pvt *pvt) { u8 nid = pvt->mc_node_id; struct amd64_umc *umc; - u32 i, umc_base; + u32 i, tmp, umc_base; /* Read registers from each UMC */ for_each_umc(i) { umc_base = gpu_get_umc_base(i, 0); umc = &pvt->umc[i]; - amd_smn_read(nid, umc_base + UMCCH_UMC_CFG, &umc->umc_cfg); - amd_smn_read(nid, umc_base + UMCCH_SDP_CTRL, &umc->sdp_ctrl); - amd_smn_read(nid, umc_base + UMCCH_ECC_CTRL, &umc->ecc_ctrl); + if (!amd_smn_read(nid, umc_base + UMCCH_UMC_CFG, &tmp)) + umc->umc_cfg = tmp; + + if (!amd_smn_read(nid, umc_base + UMCCH_SDP_CTRL, &tmp)) + umc->sdp_ctrl = tmp; + + if (!amd_smn_read(nid, umc_base + UMCCH_ECC_CTRL, &tmp)) + umc->ecc_ctrl = tmp; } } From patchwork Thu Jun 15 16:03:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 108623 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp756615vqr; Thu, 15 Jun 2023 09:21:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7TEUTRlsesIDYFxgy3iScweVCMcYOkD4Dx2VL0zlWIlvYr5gzR/UHgfvJtKcg9lsqgqhl2 X-Received: by 2002:a19:ca5a:0:b0:4f7:b640:fa40 with SMTP id h26-20020a19ca5a000000b004f7b640fa40mr2306051lfj.43.1686846081474; Thu, 15 Jun 2023 09:21:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686846081; cv=pass; d=google.com; s=arc-20160816; b=ETabwAXONEyEXqUnISfMmM/Ip/rmAf/knqs9h9ZZEaktFKN9GmTv1fYtnIwRwu++hx 6gnItt7ppL0KcFCY/8XR8hm3jwXlJEUKNPM7M6OjVWfD5F24+VPKOx8raulAB8EfGtpy cA+se+AkK+OeGoHv+918Opj79w+xD3myMcZDG/D6JjqfJRxULRtvArG8lhL5eQLr25nO ZLNSYB+d4nTZrfARUgMNzhExcVL0Hd5rl/d5SFiWxY5RtoI5x+w+2LcHQz53n4JphyyR 8xjjU4IzogNKa0txWbK9pW+fiqIOQMpmRXTIpt556dPjVQiuT/BvI5p/Vo09uT30969Y uYJA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=wv09vh/3iS3GQHdwiIKsRLm5TCml32iKvra5Gp72h3I=; b=wW5X9WyQ7jLbvjxCfs+LUlp39Y+ZnJqqzawc5DUd7ypQF6UA10PBYyYPl3M5dMHSLA vsFyFV77o5KkH57fkH9w4ANRmou2KeOpcKtty4kGWuQVF1BtFsyEIytd9pMbi4hKGJAe ZERPmTwwX7Um+fX1hEU7OiG2pBmY2t0pqwulp+8dYfHONlrqS7hHCQMG2oENC/Lz4SAw le6J23cxCj0HbBReFsjxlgvgZj4FY6HNPU/Q5miZev/Ybvps8/NRGACvHS+wvhcSiFX6 v0YMqUdcWvGblnd4mZ7R5U2g1yPAOa+cTpRvi/Tv908939oP7PN5Zep5e+9tfEX4wfsh HHhA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=VjgZkjUm; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c24-20020aa7c998000000b0050d06635c10si10238312edt.529.2023.06.15.09.20.56; Thu, 15 Jun 2023 09:21:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=VjgZkjUm; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237131AbjFOQEI (ORCPT + 99 others); Thu, 15 Jun 2023 12:04:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50068 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234041AbjFOQDt (ORCPT ); Thu, 15 Jun 2023 12:03:49 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2065.outbound.protection.outlook.com [40.107.237.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C45B10F6; Thu, 15 Jun 2023 09:03:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W/aCEWUfHbKbmFj0zH6Pusnpw247qDHRx/iLk6hS396CqoLv4XbGgS12uC1sWqyS1Rap51ml1sgrRrCyylt9gunIBZ+CbMzaIUS/+RwZOvYEfCGxf67/Z7eu7gWhjxsDIZ7oCLcKa9PG+GmE8IzNDwQQ4H3HdyKMenspqHc7WiBahfc86FJuorUpZ4KdcCeGE823d4qMW0ZtUpMI4nAYkYmPgFigqDHgdsL4BGYw0T2LUOw8iE/1z/g1nEIV66JMOYh7caVA9nIviVrab5ynos0EfxNprrBXfCfHcgF32eVw+V2G02kntbYWpXIeIHS8K2iIUacilzN4ccb56wdPLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wv09vh/3iS3GQHdwiIKsRLm5TCml32iKvra5Gp72h3I=; b=HXdc5zNVr+Ifi2wC/LlzXYFnO7gNXtMAXm6dEQ+Gu0z8F/nB/4RYLkbl+z4iPH6vRhy+sDGYsvhWQv9Q8AuKX3IhsVUVGNy6weOAZseoM1FaKhpeByuSvqPUW/6/RXIvezUKOWF0IFNhPb83y0sB09AvXFBq1TLgj96eogG7ZIi2A3m34BIfEtJWdTCY5E8t++RVscSqKAjX+EWu/kQfN07JCookJ3UZY7XCvqBadHS6GZxwKtfZgluW5SpbN/Kefyn110vwJZi+aWeaRRKz8+Onvvy4YYTWBOd+tLVPt3Lk8eLvU5ZNv0YWXyDEJDsnfG4i1Iko2UsC+zIqMNjGGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 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=wv09vh/3iS3GQHdwiIKsRLm5TCml32iKvra5Gp72h3I=; b=VjgZkjUmaEpJx7u7h4VB2aSezS+pYHE1OHDrGJlWn3Mj1OvKljUpWv9lbvekBsRZj+qEzEIR/UG4S5pYPIbxglztbjROUDxrFc3LJZ8iY/V/36TBppwgV5SqtLKCY0EHMXKZxY5OA9NyOvbSm+tTw/cnssHwix1bWg+wbJp0CFE= Received: from MW4PR03CA0268.namprd03.prod.outlook.com (2603:10b6:303:b4::33) by SA1PR12MB6774.namprd12.prod.outlook.com (2603:10b6:806:259::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Thu, 15 Jun 2023 16:03:44 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:303:b4:cafe::41) by MW4PR03CA0268.outlook.office365.com (2603:10b6:303:b4::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:44 +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 MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:44 +0000 Received: from quartz-7b1chost.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.23; Thu, 15 Jun 2023 11:03:43 -0500 From: Yazen Ghannam To: CC: , , , , , , , , , , , , Yazen Ghannam Subject: [PATCH v2 3/6] hwmon: (k10temp) Check return value of amd_smn_read() Date: Thu, 15 Jun 2023 11:03:25 -0500 Message-ID: <20230615160328.419610-4-yazen.ghannam@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230615160328.419610-1-yazen.ghannam@amd.com> References: <20230615160328.419610-1-yazen.ghannam@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: MWH0EPF000989E8:EE_|SA1PR12MB6774:EE_ X-MS-Office365-Filtering-Correlation-Id: c14fe072-7f39-4e5d-d9f7-08db6dba1897 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FVo/Z3uo5/jMUUC3oyvWuFvujJ2hh3ljp0e/iU2Ck0/Cn+6M9baQnFj087DXdnfNsoeabbIy33ngLMaZgfWS9K+nyuAranbKjZsIcWIpbDYne+2lSSxTaTI7+5Z2+hM+82Wi7HV6KHwO15YeDhO8aZbymc3Gy6nRT83+UfiQ3N0glDBEFiUdlI4Vpq2GgxNRQGt+r69J/AX7w+pAarbbHJCUKSgdigSiqS8ZSX4P1CFtLEu01lKpKyauD9LiFhfBb2agHDz0kj0K9ddmZEAfHB8tsb/WDYGrn6rkjaPQIVmxUdlUK0six1/EoCAhwO3Z6WiwHdyi5soyisoqmIRRkAp5IT/7OIcnZn6oyuqeh1UtyJt1B5FbbFRnjHHtZ82KGTrvcLfUk+YbWFnSehqrxbUC6tvI8/IF+uPmHSuVDNIcXJnHq0PitjDRj0ItoW3BC6wZ7eG4tMiqcxCNkW1AYGrhnkOiERwNMG9X6lyb+l/B2/6iGHe6a3+yEYqoFZr0pKyFUEuHWu172MbTKwd3bStFg5V7Mh4i2Pk2Rl/7Unkd8tZO/2WjBd4Z1+pba79YNHGqWjlsn+tK3je8rmMUu7/BU++rY9h871E/Yl9Pp5lYYQQw4q804PjXD5AcsyeFFSU2V512rSiOKmUPlCyqVnznmQoYGWEYWyIvR1p9X/Jox5Ew9da2VxkIvBnD4zcs9XoUf0kSrHUV3DFHKWICUKhQV1NZ/3SatU9sh5K8XSiNjh7RuiFHf6MFwCmGnMV3zbOKhS+6LVSnh4s5m2xNaQ== 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:(13230028)(4636009)(39860400002)(136003)(376002)(396003)(346002)(451199021)(46966006)(40470700004)(36840700001)(186003)(82310400005)(40480700001)(40460700003)(966005)(7696005)(6666004)(478600001)(16526019)(2616005)(26005)(1076003)(8676002)(41300700001)(8936002)(70586007)(316002)(7416002)(44832011)(5660300002)(36756003)(4326008)(70206006)(54906003)(82740400003)(81166007)(356005)(6916009)(47076005)(86362001)(2906002)(83380400001)(426003)(36860700001)(336012)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 16:03:44.5444 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c14fe072-7f39-4e5d-d9f7-08db6dba1897 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: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6774 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768786316569406017?= X-GMAIL-MSGID: =?utf-8?q?1768786316569406017?= Check the return value of amd_smn_read() before saving a value. This ensures invalid values aren't saved or used. There are three cases here with slightly different behavior. 1) read_tempreg_nb_zen(): This is a function pointer which does not include a return code. In this case, set the register value to 0 on failure. This enforces Read-as-Zero behavior. 2) k10temp_read_temp(): This function does have return codes, so return the error code from the failed register read. Continued operation is not necessary, since there is no valid data from the register. Furthermore, if the register value was set to 0, then the following operation would underflow. 3) k10temp_get_ccd_support(): This function reads the same register from multiple CCD instances in a loop. And a bitmask is formed if a specific bit is set in each register instance. The loop should continue on a failed register read, skipping the bit check. Furthermore, the __must_check attribute will be added to amd_smn_read(). Therefore, this change is required to avoid compile-time warnings. Signed-off-by: Yazen Ghannam Cc: stable@vger.kernel.org Acked-by: Guenter Roeck --- Link: https://lore.kernel.org/r/20230516202430.4157216-4-yazen.ghannam@amd.com v1->v2: * Address comments from Guenter. drivers/hwmon/k10temp.c | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c index 7b177b9fbb09..70f7b77e6ece 100644 --- a/drivers/hwmon/k10temp.c +++ b/drivers/hwmon/k10temp.c @@ -145,8 +145,9 @@ static void read_tempreg_nb_f15(struct pci_dev *pdev, u32 *regval) static void read_tempreg_nb_zen(struct pci_dev *pdev, u32 *regval) { - amd_smn_read(amd_pci_dev_to_node_id(pdev), - ZEN_REPORTED_TEMP_CTRL_BASE, regval); + if (amd_smn_read(amd_pci_dev_to_node_id(pdev), + ZEN_REPORTED_TEMP_CTRL_BASE, regval)) + *regval = 0; } static long get_raw_temp(struct k10temp_data *data) @@ -197,6 +198,7 @@ static int k10temp_read_temp(struct device *dev, u32 attr, int channel, long *val) { struct k10temp_data *data = dev_get_drvdata(dev); + int ret = -EOPNOTSUPP; u32 regval; switch (attr) { @@ -213,13 +215,17 @@ static int k10temp_read_temp(struct device *dev, u32 attr, int channel, *val = 0; break; case 2 ... 13: /* Tccd{1-12} */ - amd_smn_read(amd_pci_dev_to_node_id(data->pdev), - ZEN_CCD_TEMP(data->ccd_offset, channel - 2), - ®val); + ret = amd_smn_read(amd_pci_dev_to_node_id(data->pdev), + ZEN_CCD_TEMP(data->ccd_offset, channel - 2), + ®val); + + if (ret) + return ret; + *val = (regval & ZEN_CCD_TEMP_MASK) * 125 - 49000; break; default: - return -EOPNOTSUPP; + return ret; } break; case hwmon_temp_max: @@ -235,7 +241,7 @@ static int k10temp_read_temp(struct device *dev, u32 attr, int channel, - ((regval >> 24) & 0xf)) * 500 + 52000; break; default: - return -EOPNOTSUPP; + return ret; } return 0; } @@ -373,8 +379,20 @@ static void k10temp_get_ccd_support(struct pci_dev *pdev, int i; for (i = 0; i < limit; i++) { - amd_smn_read(amd_pci_dev_to_node_id(pdev), - ZEN_CCD_TEMP(data->ccd_offset, i), ®val); + /* + * Ignore inaccessible CCDs. + * + * Some systems will return a register value of 0, and the TEMP_VALID + * bit check below will naturally fail. + * + * Other systems will return a PCI_ERROR_RESPONSE (0xFFFFFFFF) for + * the register value. And this will incorrectly pass the TEMP_VALID + * bit check. + */ + if (amd_smn_read(amd_pci_dev_to_node_id(pdev), + ZEN_CCD_TEMP(data->ccd_offset, i), ®val)) + continue; + if (regval & ZEN_CCD_TEMP_VALID) data->show_temp |= BIT(TCCD_BIT(i)); } From patchwork Thu Jun 15 16:03:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 108618 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp746829vqr; Thu, 15 Jun 2023 09:07:44 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7vmx71njkZAKIeaC1tF+L1K2vzgNh+9BeB91AxEPOs6UnjhdULUseADEx92Qoxjb8u10tb X-Received: by 2002:a17:902:e548:b0:1b3:8f19:e970 with SMTP id n8-20020a170902e54800b001b38f19e970mr16598304plf.67.1686845263785; Thu, 15 Jun 2023 09:07:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686845263; cv=pass; d=google.com; s=arc-20160816; b=j+eHflqB3Z35v4gKlToi/8I+Ng078gAFPJ9viKYabgCBzR6HjzAeqH6GwZMkCZGBOy WvpgF+pnEYHhVG78U8dVSluQuOZFn6pT4vqoAaAQl/LXwHbzTLuRRYSMNKR3mwDnsJEO qpXNQW/Qwpkb4YcZWgyDutVI26+WGyWOh6YNG9bIRsCCG/TSWkenbBDmn+wTYBIPR6w6 aPcdaIN9aPrcZicCxp/xO+4r29hVCdqqn9Qdbb15WLmreEsKB3f7twvbrNXhTagbs5/i 4eyukwZ9ojO/maM+97OBk2tnxgk+XNWP927CfSnwX5K0uD2ADuKXFMneTXK2juPLghky aVAQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VtJwBKizAGp9kKoGXBrxKv24NxCNB76IKoZe2sOvSII=; b=SajMeA0yAZrgN8IfaU1a+Kj4Wh0Sqcdq5r1P1oGFCyNQlMy3TCn8zjZtLfvy5DVfbA K3ZdASGRtGj5xXOFGg7RUqYSoYEyAAI4WSkHMQbaTgYp7Ms39q9ccB6J76lhJrmGHDYI UBnyBL1p4fh7bcNutK/rSHjRtJq/KFyNGsqJv8/aF+acXm2KB9fZQY78NA4/pTifLIBF UFl3TTiN7NAC0G27vcGAh/cJbILKmfM6Ch/Hvet62aBRvGJbaYdemIxL4rJbHv00hA8q q5HDh8c+JoTr/B8jL0g04iEe1D2eEHZNRq4CgoIOwRNC/EM7KPqn7IikfBtjxSu7CBLH RLnw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=2kebBYgG; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h13-20020a170902f54d00b001b3a1845497si10459825plf.535.2023.06.15.09.07.20; Thu, 15 Jun 2023 09:07:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=2kebBYgG; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230003AbjFOQEC (ORCPT + 99 others); Thu, 15 Jun 2023 12:04:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233430AbjFOQDt (ORCPT ); Thu, 15 Jun 2023 12:03:49 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2080.outbound.protection.outlook.com [40.107.244.80]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23638273E; Thu, 15 Jun 2023 09:03:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eQiQEBVVmC5qcLRWc4EBv7lo6Vb37CRuh4SLBiweNqQxxrkNdO4Qugm8ZSqlseaIwDn5KmCZyrYkJdCkmITPnZAoIEd5KEV/NTlsb8ov+2lGTDFbiFIpn1msJYSIOigEyyxVWmxW72tMS6GGFEsJvzLaqCnDK3AnlCMrDfmpjy7k/nqE6tnYxNmafUDx9AltUpf4GjBy7JI+tJDozfU41345GFB4vt1HDDsq5Bx4w0KidC3k82Vn7gDwsoNioAUtK9LHy2qq1aFQUeTDKemoLWR/zCmuC7FguG0mxRVr0KBME4Z4cpuV9x0Nsukqp/1TkvAwHEf5ljeTETiLyF/DXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VtJwBKizAGp9kKoGXBrxKv24NxCNB76IKoZe2sOvSII=; b=h/g3Ld2B9ZN5Hk5lgZhe7t7a7yyTP7TS6Wu3hXK/T2wyM4rqrwI7WsGsJStQZS3USCeq53bMvX0eCf7X/MCSRURSKOGvYaX2TWRFKINurjIyA3lpZJPuFuGdDUrg/8EehAf28wYSVb0dQMaWGHlOb/SFNE5ZUOcgqhp9Xed8MSCxgOFb+fNz5L+99RmrEKi+yBGtyi8rrTxB6Tq6PKebuUsmKvBt0kNEDqVNhZpCPbqy27HzFUBosr0/U6BUWdmGf9kbsvS9DP8W/4ytz9YVNRnkMHIr9dbK0nj52oRixlTBhpwgxp/L+C65PiO9zqJ1hwJn5ueREJ2RnILbQZMaDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 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=VtJwBKizAGp9kKoGXBrxKv24NxCNB76IKoZe2sOvSII=; b=2kebBYgGvs9IYW/QfCUCEHXnp5QUg7G4jm3NOEV87XPCvfCOTYKD4RcfW9KTGdq1zLXHz9Hg9lxXD/pvEtNslT4curoHW+AfDN/WoOdypQWZT91kQycYJc68YlF7TUPemBy+R1Imio63rcrxzkFwzbWD2C99ZCePqy8piiunPv8= Received: from MW4PR03CA0257.namprd03.prod.outlook.com (2603:10b6:303:b4::22) by PH0PR12MB5468.namprd12.prod.outlook.com (2603:10b6:510:ea::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.25; Thu, 15 Jun 2023 16:03:45 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:303:b4:cafe::fa) by MW4PR03CA0257.outlook.office365.com (2603:10b6:303:b4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:45 +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 MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:45 +0000 Received: from quartz-7b1chost.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.23; Thu, 15 Jun 2023 11:03:44 -0500 From: Yazen Ghannam To: CC: , , , , , , , , , , , , Yazen Ghannam Subject: [PATCH v2 4/6] x86/amd_nb: Enhance SMN access error checking Date: Thu, 15 Jun 2023 11:03:26 -0500 Message-ID: <20230615160328.419610-5-yazen.ghannam@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230615160328.419610-1-yazen.ghannam@amd.com> References: <20230615160328.419610-1-yazen.ghannam@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: MWH0EPF000989E8:EE_|PH0PR12MB5468:EE_ X-MS-Office365-Filtering-Correlation-Id: 713b32c8-d8eb-4953-fccb-08db6dba18fb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BfRbm1fwZ1UO996pszlvpmGUyFis1+N4dVI7Kf7DnU1PJZgcZsubX4SouNcsgsDxslchoD/0gqF981z7bavyIt4XI8cOVu8SiyFT3KpRAQ5CZm9csDvXKJ2aO0neTKLNSB2HmAKK7w5wDuLKPuBUkWUOJrhXAncQhIamHv7etbV4jU2dk+dUAt8Xow7jv6azD0U/J2Q3tLXEPJjY7CMYQFETgsjpmHsuyqWcixY4Kpn/2CrNjHafm2QE1tnBDNIDQZKRA9A5kvTMKJ57sJJIP5RUjIcmUAhk0mDBQ74cyQ+C3Pc7BtIOif+mT9zeebIoVJMH4qwojRntKyxJgG3PzT6/0yD615JVpEA16jqxfm2AZ4ApsE5/LJ2VrZ+B4kl6z3f1Lel9/ct6Igcnex96Fj5rYp2EF/kxWLLRN5VLsknClxlqAA+dhVfzgHcCVK0LTgnPyo4lBHJAsNWNqEDMU6yOELScHNPbswStbA5VIh5LU+Rjg2ZflnNn/q/xLLV3cAzEeK8PuVaLsA5NNEivR5J5jw+QapDndL9DEq8tImhcGFGWPARz/WF5iA9SsscynlA2oNXtj3uM6fBoFaAXy5f/SrJVlx+wg+9T1EYaJbuPmqZ5bBzeq1A4nLop598vrDh2BLjs7EnB0PS/Sw/feFSRjG/SFX4nfKUmxNOT2nz9N0JnGmr1etDLzGsRh/zagjemHMCmiJghhhGwZouYMYAE+nGk/CEHxI8yKbYtQwrzXM7FgTZYdQFwuFHewM2aTMvY0oZYfzl1B2w0ACj+BA== 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:(13230028)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(5660300002)(82740400003)(966005)(81166007)(356005)(336012)(2616005)(83380400001)(426003)(1076003)(186003)(16526019)(2906002)(26005)(36860700001)(7416002)(47076005)(44832011)(478600001)(40480700001)(6916009)(70206006)(316002)(6666004)(8936002)(8676002)(41300700001)(7696005)(86362001)(82310400005)(70586007)(36756003)(4326008)(54906003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 16:03:45.2006 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 713b32c8-d8eb-4953-fccb-08db6dba18fb 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: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5468 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768785459039621787?= X-GMAIL-MSGID: =?utf-8?q?1768785459039621787?= AMD Zen-based systems use a System Management Network (SMN) that provides access to implementation-specific registers. SMN accesses are done indirectly through an index/data pair in PCI config space. The PCI config access may fail and return an error code. This would prevent the "read" value from being updated, and it would give an indication to the caller that the read or write operation failed. However for reads, the PCI config access may succeed, but the return value may be invalid. This is in similar fashion to PCI bad reads, i.e. return all bits set. Most systems will return 0 for SMN addresses that are not accessible. This is in line with AMD convention that unavailable registers are Read-as-Zero/Writes-Ignored. However, some systems will return a "PCI Error Response" instead. This value, along with an error code of 0 from the PCI config access, will confuse callers of the amd_smn_read() function. Check for this condition and set a proper error code for SMN reads. Furthermore, require error checking for callers of amd_smn_read() and amd_smn_write(). This is needed because many error conditions cannot be checked by these functions. Also, drop the extern keyword as it's not needed. And remove a warning that will not be trigger in many cases. Fixes: ddfe43cdc0da ("x86/amd_nb: Add SMN and Indirect Data Fabric access for AMD Fam17h") Signed-off-by: Yazen Ghannam Cc: stable@vger.kernel.org --- Link: https://lore.kernel.org/r/20230516202430.4157216-5-yazen.ghannam@amd.com v1->v2: * No changes. arch/x86/include/asm/amd_nb.h | 4 +-- arch/x86/kernel/amd_nb.c | 46 ++++++++++++++++++++++++++++++----- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/amd_nb.h b/arch/x86/include/asm/amd_nb.h index ed0eaf65c437..e6fe405aa567 100644 --- a/arch/x86/include/asm/amd_nb.h +++ b/arch/x86/include/asm/amd_nb.h @@ -21,8 +21,8 @@ extern int amd_numa_init(void); extern int amd_get_subcaches(int); extern int amd_set_subcaches(int, unsigned long); -extern int amd_smn_read(u16 node, u32 address, u32 *value); -extern int amd_smn_write(u16 node, u32 address, u32 value); +int __must_check amd_smn_read(u16 node, u32 address, u32 *value); +int __must_check amd_smn_write(u16 node, u32 address, u32 value); struct amd_l3_cache { unsigned indices; diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c index 035a3db5330b..60bebf6d4a37 100644 --- a/arch/x86/kernel/amd_nb.c +++ b/arch/x86/kernel/amd_nb.c @@ -163,6 +163,38 @@ static struct pci_dev *next_northbridge(struct pci_dev *dev, return dev; } +/* + * SMN accesses may fail in ways that are difficult to detect here in the called + * functions smn_read() and smn_write(). Therefore, callers of these functions + * must do their own checking based on what behavior they expect. + * + * For SMN reads, the returned SMN value may be zero if the register is + * Read-as-Zero . Or it may be a "PCI Error Response", e.g. all 0xFFs. The "PCI + * Error Response" can be checked here, and a proper error code can be returned. + * But the Read-as-Zero response cannot be verified here. A value of 0 may be + * correct in some cases, so callers must check that this correct is for the + * register/fields they need. + * + * For SMN writes, success can be determined through a "write and read back" + * procedure. However, this is not robust when done here. + * + * Possible issues: + * 1) Bits that are "Write-1-to-Clear". In this case, the read value should + * *not* match the write value. + * 2) Bits that are "Read-as-Zero"/"Writes-Ignored". This information cannot be + * known here. + * 3) Bits that are "Reserved / Set to 1". Ditto above. + * + * Callers of amd_smn_write() should do the "write and read back" check themselves, + * if needed. + * + * For #1, they can see if their target bits got cleared. + * + * For #2 and #3, they can check if their target bits got set as intended. + * + * This matches what is done for rdmsr/wrmsr. As long as there's no #GP, then + * the operation is considered a success, and the caller does their own checking. + */ static int __amd_smn_rw(u16 node, u32 address, u32 *value, bool write) { struct pci_dev *root; @@ -185,9 +217,6 @@ static int __amd_smn_rw(u16 node, u32 address, u32 *value, bool write) err = (write ? pci_write_config_dword(root, 0x64, *value) : pci_read_config_dword(root, 0x64, value)); - if (err) - pr_warn("Error %s SMN address 0x%x.\n", - (write ? "writing to" : "reading from"), address); out_unlock: mutex_unlock(&smn_mutex); @@ -196,13 +225,18 @@ static int __amd_smn_rw(u16 node, u32 address, u32 *value, bool write) return err; } -int amd_smn_read(u16 node, u32 address, u32 *value) +int __must_check amd_smn_read(u16 node, u32 address, u32 *value) { - return __amd_smn_rw(node, address, value, false); + int err = __amd_smn_rw(node, address, value, false); + + if (PCI_POSSIBLE_ERROR(*value)) + err = -ENODEV; + + return err; } EXPORT_SYMBOL_GPL(amd_smn_read); -int amd_smn_write(u16 node, u32 address, u32 value) +int __must_check amd_smn_write(u16 node, u32 address, u32 value) { return __amd_smn_rw(node, address, &value, true); } From patchwork Thu Jun 15 16:03:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 108620 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp747140vqr; Thu, 15 Jun 2023 09:08:06 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4QKVHnt6tlmyk3m61a+eqyG7+hX/v8vqtsM01p92JDytmLCE5M00HP7hE5xg5wIxfDJKcX X-Received: by 2002:a50:ed91:0:b0:514:9cb5:ee1e with SMTP id h17-20020a50ed91000000b005149cb5ee1emr10667643edr.6.1686845286148; Thu, 15 Jun 2023 09:08:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686845286; cv=pass; d=google.com; s=arc-20160816; b=KhF06aP24zYTMjkrscT0vhBREc0n/ehvdahbleykUaOZ8Jc4VHZpbmbhiCFNTeq/H2 CaJ1w4AN2RG7XNvoNoyM1sGggICYujYhR1U93Tw4ebAI+noXAb9+AofxeiYaLpMElA5e byse/8NtsEvHYQmxxWkExH1JwTGKOAxmpPSBshf94MFEyu5FMLlpJ6wzwSWwN/WLbg9a 4PZCKOJOGSv4FsxXN0B/yBUPeGjAiXXcTe+heqFNAQ7kfFlEqB4yWnSpYjVyRQfLlayr UMOdvH18qDmAzfiJ+uefw5FHnAyp8DpBS6PvV3k96e5Ns6TmqJvWNWW9okls8EMlQiDM fXqw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8n6pR0SsFdo/0r+QsQhrVNyQ/1Xi+TgwPwV7FJp1+qs=; b=rTqbPapW3KXdFnvPQW4OWR5Q3cyFe6Uy/z3meih4cpiM7vJsNEs1ld7k1wRVJksR9h BHUmFR7+yPkQDNXrE6JzrA9GstPj0Drk2SkVTUp7OpAr17ml/yslEQXuVTIaSLw8mbfW X5QD9efhrfxO74Gp6cwqFgzv6tZi1KqVTtwBawWIkoGn5znWsX26Y8b0CIbWP7x47atg qSWDHo5XqDOV7NYomHIk9Xih5P8oUzIObkIuIWA7iEDmLNK1x8R402sm9THQ3EXovfNP Izr3RRvLvFLE3timZPr8Yywt7NRCP3PI+sqIV0xvpisxG+O9aQI0gYOGURBF1PA0sdiM rwqQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=yHiFiUK7; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u6-20020aa7d546000000b00510db7b24f7si10475040edr.676.2023.06.15.09.07.40; Thu, 15 Jun 2023 09:08:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=yHiFiUK7; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236910AbjFOQEM (ORCPT + 99 others); Thu, 15 Jun 2023 12:04:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231713AbjFOQDu (ORCPT ); Thu, 15 Jun 2023 12:03:50 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2076.outbound.protection.outlook.com [40.107.223.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C6B8E4; Thu, 15 Jun 2023 09:03:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OE2q1YgsVuHWmuYpMSOyAt7nLHFg4BniCyDISezhTM5rn/fggr7G3M7syb3x7HklbUs87eosDkJe5CudoqK+a1e9bpyICXJUpVnqeIdlN4Ofoz21jZX9QlwZrMlzEZjIUevlCtKhf9PWZyu7jSdQIQJeCL5p0cm/uynzK87IJShEar+4vFe/DCk0pBak2BPS2rBCQak5Mi2sZJXYhy+N/Y9YErBy67/4CHiR3oRRQLd9Saa/cVxpKVQQ/wO6iTW96UXYS/RhvaPaYj+IIpAoOGKerEpmFaK+9ybFopANxtEPWzX3IdzOKZHlgv6SpXRjT7jfmQCiVWkaGomxlRF1kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8n6pR0SsFdo/0r+QsQhrVNyQ/1Xi+TgwPwV7FJp1+qs=; b=JImipQ81VQELXjuNiVMArYqNDql3ZCHwjEHOnyX/DE9xdfUFBaDrUXVKUPA1ZZVOsr9pafRUB2OTHBEv8klleQYJTjGbI2FfdgbMWsnO20YAQI9prttuXFEhThmW8cB7HNHoOI6i2dQ6/bDVzXLUotCwf/EUT/JdW7Qc29qFKm6I9ZnsZfC0FEypeVCf1h7RNeYQx3IML1FXLfVIXTUyClP21Ga2OrbFnIdo+aTUL//g54aHLJpy+ifZTFNAKLDgo4QSfGZKAM+24mxgpgDh49Sd80re3bnfy7nal4fLUm9GjF93ITQZtFTg6EVHEuJEV5ixDZpUAv40LfH+GYvx9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 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=8n6pR0SsFdo/0r+QsQhrVNyQ/1Xi+TgwPwV7FJp1+qs=; b=yHiFiUK7SfMBkxGXNc33KwfEJAZvZfYWA/962gYvMXxpV0sL/RW9YTqKB5YyAWiNZNXiovXzIr6DvfrE1e7Yi9IWptq4AKmLsg9kUY84w9K8PbJku3WN3BYaSVtblvN+FEM2z7NMKHEGe78Wp0Lre5K1h9067ZIVQpyVHmRfpb0= Received: from MW4PR03CA0265.namprd03.prod.outlook.com (2603:10b6:303:b4::30) by BY5PR12MB4870.namprd12.prod.outlook.com (2603:10b6:a03:1de::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27; Thu, 15 Jun 2023 16:03:46 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:303:b4:cafe::f1) by MW4PR03CA0265.outlook.office365.com (2603:10b6:303:b4::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:46 +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 MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:46 +0000 Received: from quartz-7b1chost.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.23; Thu, 15 Jun 2023 11:03:44 -0500 From: Yazen Ghannam To: CC: , , , , , , , , , , , , Yazen Ghannam Subject: [PATCH v2 5/6] hwmon: (k10temp) Define helper function to read CCD temp Date: Thu, 15 Jun 2023 11:03:27 -0500 Message-ID: <20230615160328.419610-6-yazen.ghannam@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230615160328.419610-1-yazen.ghannam@amd.com> References: <20230615160328.419610-1-yazen.ghannam@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: MWH0EPF000989E8:EE_|BY5PR12MB4870:EE_ X-MS-Office365-Filtering-Correlation-Id: 8df0a458-a603-414c-b8df-08db6dba19ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DqFWcK1R9Qd2DxQxtloXZVhdXn5dvE57vA71bbu4PzQFQxpc5HJ2qD+31rn0BHzZymxwGzvffHBE+dxVeS3GkTDiOdNHSIi4EY0EuIebMqv3T1s4JCegcvEaJS8xK2IzIwGPMxHOVv9QHulAd8GU26kkwdnKchlwc+8/jYVHcRsTlMn0dhOoucyR7BAnPV+htYLDKW5BU1ZOy57OR5wm+rGIHhk3m+dVxUTPRz4nAZNL8//habS+PIG5OG/tN5zx0hBrMc4RjYEzP0vd3knaxXh2jFN/W71+Dly59XSKNqElrg3YIzCJOEfN8az80NBvAReEu5b5pv6vSmbNIKc0YogY86kgz/aiBGNLkK2cnDxWH3r6H7CVPf9WYTV5Y+HYb53VATeyEw+Tebu9Fd//Pdi/V8YkqsKVLKE1eM/iB2baUnSIVAeHE7wgQ7SM/uHJbN19pH+JuFgH23CHXeAEk3mLY7pM2PXHWnIPUPC5SJbZ4CgCCko7Ob9V+tWrjZIvl/CMlH6J8FdqS7moRzUXe6lmia5Kkyvvey1HtNySHVa3RFttv2T6F0KW2N0i5LeCChRpxe9duglj7PDPhPeJrluG+r4RX9MHN8Zm3Q9Z8ueqIFN9b1n7SQ3CLf9kh0AdwW/g0NL02PldIAkMeY3ZIZIUq3b/HStNwgAmqlse4ndL2+P9nFWEklPKn3KeFz8DVw6D6Qgnpnr81WxvRuMO6J9/VidkbST5HzfWdoNIyzB20ITRVqlgZJ/FBzK3+tV9 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:(13230028)(4636009)(136003)(396003)(376002)(346002)(39860400002)(451199021)(46966006)(36840700001)(40470700004)(2616005)(336012)(54906003)(83380400001)(426003)(36756003)(70586007)(47076005)(4326008)(356005)(82740400003)(478600001)(81166007)(70206006)(6916009)(2906002)(6666004)(16526019)(316002)(186003)(7696005)(26005)(36860700001)(8676002)(8936002)(86362001)(7416002)(82310400005)(966005)(41300700001)(5660300002)(40460700003)(44832011)(40480700001)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 16:03:46.4662 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8df0a458-a603-414c-b8df-08db6dba19ba 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: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4870 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768785482651554154?= X-GMAIL-MSGID: =?utf-8?q?1768785482651554154?= The CCD temperature register is read in two places. These reads are done using an AMD SMN access, and a number of parameters are needed for the operation. Move the SMN access and parameter gathering into a helper function in order to simply the code flow. This also has a benefit of centralizing the hardware register access in a single place in case fixes or special decoding is required. Signed-off-by: Yazen Ghannam Acked-by: Guenter Roeck --- Link: https://lore.kernel.org/r/20230516202430.4157216-6-yazen.ghannam@amd.com v1->v2: * Address comments from Guenter. drivers/hwmon/k10temp.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c index 70f7b77e6ece..dfbba8b72f43 100644 --- a/drivers/hwmon/k10temp.c +++ b/drivers/hwmon/k10temp.c @@ -150,6 +150,13 @@ static void read_tempreg_nb_zen(struct pci_dev *pdev, u32 *regval) *regval = 0; } +static int read_ccd_temp_reg(struct k10temp_data *data, int ccd, u32 *regval) +{ + u16 node_id = amd_pci_dev_to_node_id(data->pdev); + + return amd_smn_read(node_id, ZEN_CCD_TEMP(data->ccd_offset, ccd), regval); +} + static long get_raw_temp(struct k10temp_data *data) { u32 regval; @@ -215,9 +222,7 @@ static int k10temp_read_temp(struct device *dev, u32 attr, int channel, *val = 0; break; case 2 ... 13: /* Tccd{1-12} */ - ret = amd_smn_read(amd_pci_dev_to_node_id(data->pdev), - ZEN_CCD_TEMP(data->ccd_offset, channel - 2), - ®val); + ret = read_ccd_temp_reg(data, channel - 2, ®val); if (ret) return ret; @@ -389,8 +394,7 @@ static void k10temp_get_ccd_support(struct pci_dev *pdev, * the register value. And this will incorrectly pass the TEMP_VALID * bit check. */ - if (amd_smn_read(amd_pci_dev_to_node_id(pdev), - ZEN_CCD_TEMP(data->ccd_offset, i), ®val)) + if (read_ccd_temp_reg(data, i, ®val)) continue; if (regval & ZEN_CCD_TEMP_VALID) From patchwork Thu Jun 15 16:03:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yazen Ghannam X-Patchwork-Id: 108621 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp748081vqr; Thu, 15 Jun 2023 09:09:16 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6XRTl/FnbCjo9rx6pS1HDPbTmWmeXCPmimHfnSFJmeT8g1plgaodNjP89Vawe1D3OBlfF6 X-Received: by 2002:a17:907:c1b:b0:979:65f0:cd12 with SMTP id ga27-20020a1709070c1b00b0097965f0cd12mr20438900ejc.15.1686845356399; Thu, 15 Jun 2023 09:09:16 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686845356; cv=pass; d=google.com; s=arc-20160816; b=LuPmiRC6xNu5QTPHt7UCRnLJtQxkOVKiQSO1ODUJJ8kh/uSSV+TbDVVbxNLOV0yf/d BUuehLmJxjHpV/u1+/X51bUAMZt0eKyPhpF1/8U38dztoEOBYD34s9p7P5+iqgLu/qe9 lfG+EkRIbeeAp1N/iCuDCVGbpf+NwnfPxycsTQ7xKnl7873EQU3vI75rMaahzWXQmnvK 99bacBEuvCHSIUvHGg+ospIs94UH6tsYE9eP+r8XaaJ0mpVOmxNjQjMycORaCayJskyx djuZ5X3FsPyJ/rLccSbjGwgDtjrWlsGMLqwu8+4zz2BPhYkecZeLet3PRcYtULfA8VGU 25/g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=7p4zo5ayo+Kmd3jmSYZOOe8kuz8N+Ns8XahyJ3wyjPo=; b=nz/81jcFlly/tu9S+VSCddfKfXJJzN4Q5MR/qp6kt9hzdNMw1SozfSxRiLYntLmAOT lCWPykA7CXJZgoh9dXsg3Aa9AFpPpeEkmnuTc8+eTbtfrFL+FfvF857fdb/qSVW/8lhr WSEBC4kt1WOSBga8LPDs9sAdyxna+ujzv2ELl8i6QEDGVxHKOLG7GX+S3Qf8ymVK93uH ebDvV9vSePfVyzg4nDHE886/ABSmL3E+uRtTk79vlUq1vBuDVI73l1BTJHnIbJQZ4y6+ AAJEy4720R+Xb/O2rZYQOlrZlL/3SHqYin1hbZbiG0cTirFaauSdjKjv9yFr2Y4eMvUT hJ0w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=iYS+dmLP; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ci21-20020a170906c35500b009538667be5esi9047234ejb.424.2023.06.15.09.08.51; Thu, 15 Jun 2023 09:09:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=iYS+dmLP; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237247AbjFOQEQ (ORCPT + 99 others); Thu, 15 Jun 2023 12:04:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234795AbjFOQDv (ORCPT ); Thu, 15 Jun 2023 12:03:51 -0400 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2064.outbound.protection.outlook.com [40.107.100.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F1082949; Thu, 15 Jun 2023 09:03:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VJEBnYGYkfHpsQFSP0OYJ7EBJbBHzP+K4pEF/mduHIm9d0a080EuUusR5TtFHbjx888YTnAXzS8J3s3nRXJQRjqEHG+K4P2dC/jJo16n2d+AK+eqVjDrK3S96wAl+u8+UtwELjGfykEGMSmE6L+DuwRokQz6xitbM+dUAClJWzV9dAec4nURKwG4ENnjF9pr50LaqwDS3iDLHF1MktPFpezHFIu/+giqPSa+z09Czp8xptjDaMjZlc17E4CbuYefJuqwHpjWl8rUmdZfCt+3Sx9Wu5nepTM2HOt0NXSwrjDk8wEojcRGZPuPBcGt+ZPMgxZE0xzCOiyk1oa7QB8ZZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7p4zo5ayo+Kmd3jmSYZOOe8kuz8N+Ns8XahyJ3wyjPo=; b=gqOKnh46bW7FvzwwjaL5BpHgnZyhYAbdzrKCexTrJPEsgCpy17z0M5rFDogz/q8irG+CTTKdghgYXCcG6Tp5ahJDWeySGIuYgEzzGeHcQdtHOqcexqq/+GibKLlIy6a+U1mOFoEQKH+HwCFCs01KLI+x8lRUVWrp/RYa6N9B3Fq7fdlVNE1h67Vwet0GOhuFKdfR/skTx+cWSgz4Gm0/cnUUMqpZ3chKuzMcpZccH44vvw8P4pbpVNGhmsPy8Iduuire+WIu+J/xNScpFF3gVPrlFmDf81voZrjuloaPee7pZ9DIom2g/EI1Zp7sC5UX1ZuZzzSI3TSl05gBY2rhtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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 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=7p4zo5ayo+Kmd3jmSYZOOe8kuz8N+Ns8XahyJ3wyjPo=; b=iYS+dmLPpmOY85TFiCyJoH4sJ0HNRHQPI1yt6nbiYCYTU5Q4pH34mm/M7TY/iY/K/kmT3EvW0r12wCRDBwTlY6r01/pX22ArjXo+FYml1tNh+ph8Z2OjQmrMC2npA5pkTr4rsqe8JuPNEnEAmkawjRMbqBmV5VxFWIkKXP3mXWo= Received: from MW4PR03CA0255.namprd03.prod.outlook.com (2603:10b6:303:b4::20) by MW3PR12MB4507.namprd12.prod.outlook.com (2603:10b6:303:2c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Thu, 15 Jun 2023 16:03:47 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:303:b4:cafe::91) by MW4PR03CA0255.outlook.office365.com (2603:10b6:303:b4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.25 via Frontend Transport; Thu, 15 Jun 2023 16:03:47 +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 MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.27 via Frontend Transport; Thu, 15 Jun 2023 16:03:46 +0000 Received: from quartz-7b1chost.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.23; Thu, 15 Jun 2023 11:03:45 -0500 From: Yazen Ghannam To: CC: , , , , , , , , , , , , Yazen Ghannam Subject: [PATCH v2 6/6] hwmon: (k10temp) Reduce k10temp_get_ccd_support() parameters Date: Thu, 15 Jun 2023 11:03:28 -0500 Message-ID: <20230615160328.419610-7-yazen.ghannam@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230615160328.419610-1-yazen.ghannam@amd.com> References: <20230615160328.419610-1-yazen.ghannam@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] 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: MWH0EPF000989E8:EE_|MW3PR12MB4507:EE_ X-MS-Office365-Filtering-Correlation-Id: 580ed92a-a9aa-46c1-6628-08db6dba1a09 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tRg7L7/RA1vJFmRNhWYr4C/gLSgSlrN+1va26FJrxeLBpN0M7e5Ic2BbZLXIixSDXxseQd4xdVg8c6lnWty7CQSe6BHBS04sBciA6bXKDtq+Mab/8Y7XfDn7IRN8GqiFcdGANIMblN7T5tczqzgzEDeJUINBpWGP9HGMM61y/w8WlvK7wBsrw9Gq7p6mS82s8GOcYNyq9DouhnPkOc20XKnWga+tiS93dBg+CgKE/QL4OzKdlqmXZC8tn2JvB/WWKH2KI1AwtSS845ja5yGQXvU+t3uaKKlGlCDmfQYJkug3KplMGkPgWcLsE7DKlrZI56S6Xn+OAziLQI+nIe+UY4KYwLd6SryITW1kZ7PfGMIWhBJMDeBqDMHZLwkUVrIPWP0aP6ke4MA2kk4unSUCqZDPTEN3E5+ubyHN9+JTLkUjGpLjEeYTZ323MGkeAFbwx4kG7yApxJCBvhyv6/lmgesK3jxq0KNWZDXRQ+oo23uScbk3j23BC0x7pdlAIfjlnQVx8sdQPXggtnCF7vqkTy9HWoROYA1rOT1NduElUFlrXtkQ3lDXw7dZhJPTmtRiZSbaAQBT1sDnHmQwaoa8RFULJBvistTeW8rimDyMolFEpd8mWZyvgaCm++5+5LEFLq2cpeNj0GTqLlCUgekO0PFpweqV6opbAxKRu1XaQPnIq/KXLg8zZtJWOpzt35er1RpTheyJv8b1mWx4ohrYEcc1ytfMgdYW8VbvOMVJjE6YP8myoyPSj8xhpckMCYZsbVRWEY24RWlW4VvH4Jmr3g== 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:(13230028)(4636009)(376002)(136003)(396003)(346002)(39860400002)(451199021)(46966006)(40470700004)(36840700001)(5660300002)(44832011)(7416002)(8676002)(8936002)(41300700001)(40460700003)(2906002)(82310400005)(36756003)(40480700001)(478600001)(26005)(86362001)(1076003)(2616005)(47076005)(83380400001)(336012)(966005)(7696005)(426003)(6666004)(36860700001)(356005)(81166007)(4326008)(6916009)(70586007)(70206006)(316002)(186003)(82740400003)(16526019)(54906003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 16:03:46.9819 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 580ed92a-a9aa-46c1-6628-08db6dba1a09 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: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4507 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768785556317030944?= X-GMAIL-MSGID: =?utf-8?q?1768785556317030944?= Currently, k10temp_get_ccd_support() takes as input "pdev" and "data". However, "pdev" is already included in "data". Furthermore, the "pdev" parameter is no longer used in k10temp_get_ccd_support(), since its use was moved into read_ccd_temp_reg(). Drop the "pdev" input parameter as it is no longer needed. No functional change is intended. Signed-off-by: Yazen Ghannam Acked-by: Guenter Roeck --- Link: https://lore.kernel.org/r/20230516202430.4157216-7-yazen.ghannam@amd.com v1->v2: * Add Acked-by from Guenter. drivers/hwmon/k10temp.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c index dfbba8b72f43..dce97aab2fa7 100644 --- a/drivers/hwmon/k10temp.c +++ b/drivers/hwmon/k10temp.c @@ -377,8 +377,7 @@ static const struct hwmon_chip_info k10temp_chip_info = { .info = k10temp_info, }; -static void k10temp_get_ccd_support(struct pci_dev *pdev, - struct k10temp_data *data, int limit) +static void k10temp_get_ccd_support(struct k10temp_data *data, int limit) { u32 regval; int i; @@ -443,18 +442,18 @@ static int k10temp_probe(struct pci_dev *pdev, const struct pci_device_id *id) case 0x11: /* Zen APU */ case 0x18: /* Zen+ APU */ data->ccd_offset = 0x154; - k10temp_get_ccd_support(pdev, data, 4); + k10temp_get_ccd_support(data, 4); break; case 0x31: /* Zen2 Threadripper */ case 0x60: /* Renoir */ case 0x68: /* Lucienne */ case 0x71: /* Zen2 */ data->ccd_offset = 0x154; - k10temp_get_ccd_support(pdev, data, 8); + k10temp_get_ccd_support(data, 8); break; case 0xa0 ... 0xaf: data->ccd_offset = 0x300; - k10temp_get_ccd_support(pdev, data, 8); + k10temp_get_ccd_support(data, 8); break; } } else if (boot_cpu_data.x86 == 0x19) { @@ -467,21 +466,21 @@ static int k10temp_probe(struct pci_dev *pdev, const struct pci_device_id *id) case 0x21: /* Zen3 Ryzen Desktop */ case 0x50 ... 0x5f: /* Green Sardine */ data->ccd_offset = 0x154; - k10temp_get_ccd_support(pdev, data, 8); + k10temp_get_ccd_support(data, 8); break; case 0x40 ... 0x4f: /* Yellow Carp */ data->ccd_offset = 0x300; - k10temp_get_ccd_support(pdev, data, 8); + k10temp_get_ccd_support(data, 8); break; case 0x60 ... 0x6f: case 0x70 ... 0x7f: data->ccd_offset = 0x308; - k10temp_get_ccd_support(pdev, data, 8); + k10temp_get_ccd_support(data, 8); break; case 0x10 ... 0x1f: case 0xa0 ... 0xaf: data->ccd_offset = 0x300; - k10temp_get_ccd_support(pdev, data, 12); + k10temp_get_ccd_support(data, 12); break; } } else {