Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2535240pxb; Mon, 19 Apr 2021 07:57:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0asHs54rPpRrRh02D9DDCiE9Hf5tC+n8mAmKK9NS1e/mUfepR/wv1EFHGRpmC+7us/k01 X-Received: by 2002:a63:1357:: with SMTP id 23mr12279202pgt.284.1618844276481; Mon, 19 Apr 2021 07:57:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618844276; cv=none; d=google.com; s=arc-20160816; b=WjsdNY2qUwdFAbWA7JS/Itimkdlmrib/O1sV8A4FALAkPZ+mWoaVgHhw7qkJmHPkj0 OwSb2BXHn1Ar9pdtEFIJhDIajv9+SAc0OJB2JKdW9lqHFedmWV5jCefXTjo7dayMeUUJ ANkx74hqmGBKFX8uoldTz/iULp4US09W4RAYdU84I54eQ6+Z5PUZGXSffx2Z2caCgjAY ZAaQ7TfOonUjBFBzlJDqGdV9Dt3U3l3JOWux4gszWkgMgoFAWPh0npdyiqewnFTh5Ipk 3whm4jXv6FNdQuV/lbHTt1g+DF4/DCikfy1VbxoGWoo8RZ0PBD5fjYAwbQwW5d5U5i/2 MNSQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TWHQxrgrhqR2QsBmkiqGTA2L774M4ehWRKUmehWkZj8=; b=ufAJZWazGQ3M/hRkuxUAXVYODnyO9rk7LjIUjMeT7T0nhwzF6AFWttJuuVyXYcmysk i0qrFb3ShRUFpnA5oo+YlcjhQmsgR3vYsmV53YQ6XcmcEnYXOU25BmjqN0l8QdwVGKfi iOlDIPV9gf4GnAXAI0fO/gP4gKet4KnX/Y39LNThVN4S93sCqrTQpCMgzDMwZ+kuEFuZ MRW00+/T2RanQGEJTxvLQRffMQkWS31ogq6FA/DoHOVsCdKeUCq9OWtolBVy1OCx3gbK LZL1RgS7NkZGisyUssSNbzXyV0S956dCl5kRne5qWTOrCGqwnYNVAx2k9BCeqsyiRBjU A9+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="cND7J/hW"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f9si18509129pln.165.2021.04.19.07.57.40; Mon, 19 Apr 2021 07:57:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="cND7J/hW"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239448AbhDSNJY (ORCPT + 99 others); Mon, 19 Apr 2021 09:09:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:43744 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239447AbhDSNI5 (ORCPT ); Mon, 19 Apr 2021 09:08:57 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id EBA0261288; Mon, 19 Apr 2021 13:08:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1618837704; bh=echiII9LJeo6bGJlWY8pdQulXOUmVokpdL0zV8SpY3Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cND7J/hWnjy7vPw/FXqjaMzlpg+pVuMVcg/+Xk98550LUW2fwWB2SJmY4y8JHivTZ npynaGlKMKJ0uD2Cjl50HotJgTTDpyilJOyPTIfWrtINyyluo3knwcKZoNjRzPA8w6 EUM6LxjZfEiftlfSUZUq3ZD6pmUOVo2C1bFZmkMU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hans de Goede , Jiri Kosina , Sasha Levin Subject: [PATCH 5.11 003/122] AMD_SFH: Add DMI quirk table for BIOS-es which dont set the activestatus bits Date: Mon, 19 Apr 2021 15:04:43 +0200 Message-Id: <20210419130530.287313574@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419130530.166331793@linuxfoundation.org> References: <20210419130530.166331793@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hans de Goede [ Upstream commit 25615e454a0ec198254f17d2ed79b607cb755d0e ] Some BIOS-es do not initialize the activestatus bits of the AMD_P2C_MSG3 register. This cause the AMD_SFH driver to not register any sensors even though the laptops in question do have sensors. Add a DMI quirk-table for specifying sensor-mask overrides based on DMI match, to make the sensors work OOTB on these laptop models. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=199715 BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1651886 Fixes: 4f567b9f8141 ("SFH: PCIe driver to add support of AMD sensor fusion hub") Signed-off-by: Hans de Goede Acked-by: Sandeep Singh Signed-off-by: Sasha Levin --- drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c index ab0a9443e252..ddecc84fd6f0 100644 --- a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c +++ b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -77,11 +78,34 @@ void amd_stop_all_sensors(struct amd_mp2_dev *privdata) writel(cmd_base.ul, privdata->mmio + AMD_C2P_MSG0); } +static const struct dmi_system_id dmi_sensor_mask_overrides[] = { + { + .matches = { + DMI_MATCH(DMI_PRODUCT_NAME, "HP ENVY x360 Convertible 13-ag0xxx"), + }, + .driver_data = (void *)(ACEL_EN | MAGNO_EN), + }, + { + .matches = { + DMI_MATCH(DMI_PRODUCT_NAME, "HP ENVY x360 Convertible 15-cp0xxx"), + }, + .driver_data = (void *)(ACEL_EN | MAGNO_EN), + }, + { } +}; + int amd_mp2_get_sensor_num(struct amd_mp2_dev *privdata, u8 *sensor_id) { int activestatus, num_of_sensors = 0; + const struct dmi_system_id *dmi_id; u32 activecontrolstatus; + if (sensor_mask_override == -1) { + dmi_id = dmi_first_match(dmi_sensor_mask_overrides); + if (dmi_id) + sensor_mask_override = (long)dmi_id->driver_data; + } + if (sensor_mask_override >= 0) { activestatus = sensor_mask_override; } else { -- 2.30.2