Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp432000iob; Wed, 18 May 2022 05:29:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSxcZIOQ3pSmNx6MT2j1Zqv9KO7HpgsNS5ajTufNy50QA9LMsPDiOATZWhLZKF1Avr/ye1 X-Received: by 2002:aa7:9255:0:b0:505:a44b:275c with SMTP id 21-20020aa79255000000b00505a44b275cmr27689396pfp.40.1652876981049; Wed, 18 May 2022 05:29:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652876981; cv=none; d=google.com; s=arc-20160816; b=DuiXN9Mlud1aM5+inHofuSeBna/rImdQaIrFthqOm+Of+RW2+BmTHqmURG2IWRqxE8 bKAi2HZueOFKd30+tRLtjMOvt8UGNA/oVzyCknHHKelSo89k7uDI+hRStrhddc+QEwCL gs3hE/KLDSGf/cY4RvHvtSg5yKF7T0HsicA3Oc2AMQjfjp5X+SWinicQJUgfZXU3lXUa mqthTXiMQp4zzZdy1wUW1qwGg2LMvuSeUfve66DSSkD+fGf9KtktqPIL3OSk4RTcVteN aLr1tHvt8DCGqdUDRjowHNg6JHwp8ZzjcUv/lLesxGyMCQjGBCPGmHIMhlLnECQue905 gU4g== ARC-Message-Signature: i=1; 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=bvD1rXHdablz5rJLBhW5GbUVkLOci+942Js4w1jkiyg=; b=e9GYyjyPUEsSFUFJbkBkqb1A9xGz/nJIFl6rKmH1ZOQ4RnV0Y8QQxhqfRWPWSQ9+os rMJ2+iphOdqzO1Sz24l9DbSfi9jwfwB9zM1i+KH36tp1vX7bpNCoQl7ZITwcVHCSlQ7/ R+j9mEHIjDfe55cYhB+VJrEdVEK3UWlsf+SOw2Km/MiCbEIx0Ze+nlI0eTcjQ7baz4O2 1zsUeGJtSBXp1aMtrDVjfTMHmaR3kT/mnSRyOQL1JY9NH61dyYrL7ntaKeUcC4QZjI2P u1aWv8T6c6bp3DDDgIh9HLX0ty6xgcrdnGM8W6gJl0cAV/8wV1fCMfFBvKEH02SSOdN4 GTeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JS9Npbuc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id o5-20020a17090ac70500b001dc3db49225si2766559pjt.114.2022.05.18.05.29.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 May 2022 05:29:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JS9Npbuc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id F14C3195E83; Wed, 18 May 2022 05:28:20 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236538AbiERM1f (ORCPT + 99 others); Wed, 18 May 2022 08:27:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47752 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236487AbiERM1O (ORCPT ); Wed, 18 May 2022 08:27:14 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38D1EAFB15; Wed, 18 May 2022 05:27:10 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 5D6F0B81FB6; Wed, 18 May 2022 12:27:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DDB71C34115; Wed, 18 May 2022 12:27:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1652876828; bh=ylNL2KoBbgg1rlNKg/jmvhK/PANiXZGeYbNkevaViIQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JS9Npbuc7Jm6FwtiopPVD5EKXjbYS7qEsBlVir7X7MOnbDA0bW6s7svEQpLLi+uFW Y4iguSzszUm6coaUVH2vm6fFq/6ApLvRpeykim1HYzfCDrX9Hc0W+PqBrZNapsVUJw Kc/WiJQrTsp3ScdCA3VjSANsALaSq87rFXjST9KzZ/KVeooTKEXSfnfqI1Qai34SRq aJFE5+8pbTH2HMhB2R4qxA0WEXP0k04MPBcGO//OswkTBu8W6t1kLGJKmz/SmLvivJ pLYigroyt+flQXTGsK//pyofEj4DvQTTSDEpzjUn31pu7zHZHjjo9y35xzDPPlPQqv TkII8lg5iGcrQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mark Pearson , Hans de Goede , Sasha Levin , hmh@hmh.eng.br, markgross@kernel.org, ibm-acpi-devel@lists.sourceforge.net, platform-driver-x86@vger.kernel.org Subject: [PATCH AUTOSEL 5.17 10/23] platform/x86: thinkpad_acpi: Correct dual fan probe Date: Wed, 18 May 2022 08:26:23 -0400 Message-Id: <20220518122641.342120-10-sashal@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220518122641.342120-1-sashal@kernel.org> References: <20220518122641.342120-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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 From: Mark Pearson [ Upstream commit aa2fef6f40e6ccc22e932b36898f260f0e5a021a ] There was an issue with the dual fan probe whereby the probe was failing as it assuming that second_fan support was not available. Corrected the logic so the probe works correctly. Cleaned up so quirks only used if 2nd fan not detected. Tested on X1 Carbon 10 (2 fans), X1 Carbon 9 (2 fans) and T490 (1 fan) Signed-off-by: Mark Pearson Link: https://lore.kernel.org/r/20220502191200.63470-1-markpearson@lenovo.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede Signed-off-by: Sasha Levin --- drivers/platform/x86/thinkpad_acpi.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index c43586f1cb4b..0ea71416d292 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -8766,24 +8766,27 @@ static int __init fan_init(struct ibm_init_struct *iibm) fan_status_access_mode = TPACPI_FAN_RD_TPEC; if (quirks & TPACPI_FAN_Q1) fan_quirk1_setup(); - if (quirks & TPACPI_FAN_2FAN) { - tp_features.second_fan = 1; - pr_info("secondary fan support enabled\n"); - } - if (quirks & TPACPI_FAN_2CTL) { - tp_features.second_fan = 1; - tp_features.second_fan_ctl = 1; - pr_info("secondary fan control enabled\n"); - } /* Try and probe the 2nd fan */ + tp_features.second_fan = 1; /* needed for get_speed to work */ res = fan2_get_speed(&speed); if (res >= 0) { /* It responded - so let's assume it's there */ tp_features.second_fan = 1; tp_features.second_fan_ctl = 1; pr_info("secondary fan control detected & enabled\n"); + } else { + /* Fan not auto-detected */ + tp_features.second_fan = 0; + if (quirks & TPACPI_FAN_2FAN) { + tp_features.second_fan = 1; + pr_info("secondary fan support enabled\n"); + } + if (quirks & TPACPI_FAN_2CTL) { + tp_features.second_fan = 1; + tp_features.second_fan_ctl = 1; + pr_info("secondary fan control enabled\n"); + } } - } else { pr_err("ThinkPad ACPI EC access misbehaving, fan status and control unavailable\n"); return -ENODEV; -- 2.35.1