From nobody Thu Oct 9 01:13:36 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97DE1270ED7 for ; Sat, 21 Jun 2025 19:56:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535785; cv=none; b=oLgEmL/fdBs/M1goQtH0ZvGKFqjI4LISCivTsVHpJSUmMDC8UPOb9VuYLA3OZbl44Q+6V1lopuXTBf6hrAJ0hVvZOmF+YvkBCdrMGd//xkXd/6rDJiAwExqMrho6tdr5YQD47TXjk9JB8jS5JnKC7Fy7yecm3wwAmNZirM/SWDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535785; c=relaxed/simple; bh=21bPuONwZiRIZFNxfegj7j0cvEH9t3yTZXRBj64vmOs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hBn4rmDt9Q8DuBrq6BuuIaGzBJTqW7nksdbw+tjFgRT9bJFvOZiZAnm7HdtnunZDVCwRmzEr5uVTbrnunlvGDUYd/FkaKvRbzBp4aKzMR3KjlpOJoCe65DvZ2Hj4uJq5GW9WhpuEgjNUKLK62VnakhujX82jvwurRfbEdj269IU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Qh68WRGY; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Qh68WRGY" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55LATD4e024163 for ; Sat, 21 Jun 2025 19:56:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= XUVe7ITUPqyqYVHeOTH14ov/xBRaTDTuVazF2UDYYD0=; b=Qh68WRGYFOzGEb+0 BnSqJfPWgfOQaYguqGUGi1PydfNm1gigS7ihX6Iqex+GIUIWf7QX0DqE8zvSiKnT Tzh6nStYjRIJWQD+F9tQKRzZNT/IXEGqKVTaejWFuKxVI3WNudWooV8YduifxTLF uGtx3Q0iHTll+df4SPMJvoCP1r8NCqx4XQkLuj4ZWmDsYrNtqPZVmqvQ1sYHuGUG y1hBfjnPd2UnD/n5o1ua5Mvat25r9KWg4sGgqdwBuAI30WqDT2EB5QsaPFcbC4S1 rsfDmgms5mUzrQ6EoBkD7zjJagjBfOcaGCXEkyhA+ikVvjDVR4OjDEQFDRmeZbHN KQX7XA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47du0x0jr5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 21 Jun 2025 19:56:22 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4a43988c314so61574111cf.2 for ; Sat, 21 Jun 2025 12:56:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750535781; x=1751140581; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XUVe7ITUPqyqYVHeOTH14ov/xBRaTDTuVazF2UDYYD0=; b=noRn90GBdyW1o03+EFq0eiEe/eK1Vn93HVJY5pieAgpmSNpSXIW0kPuIohWbyuo5x6 fBXkfQ0mYRrjEMPn0Pyl7KoWNIZ2V1ysnG1wsbyEgYfp5cQ2KQSt88o/L4CDSA8KZPJm 5yT6FDnBVEr2132K/Tfe2qRA1BVK8Q/AUjlGQgzqsyDV8RI6Gs3A/UaMjzqzUF6Ku/rr 0XGgUWWFyKopPcU/HShwqzoVAl76lo+P/2fbOB5kaixChT9dBNp1j8mJGlm8FLOL6hC7 R/iOs2mUJBpLUgd/AxjjHfP0YPEWBjO1hdhEmbel8y9qoU7MbV5PzgnjzN7p3ILlQtYu uwOQ== X-Forwarded-Encrypted: i=1; AJvYcCUUZcOLoULsgsrRuzR8tKMKPWpIvAME7GuNBYXu7PUZqgNybzc4Bfn77ckbKc+mlViCZJbAASeWrJ2p2DA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx83IkQt7hIOcK091YEQNT2ly4JF2bxbuNLtjNuCMonhqL2RTHO UIY+DvoHTYNv6NBeG2S1D9PAFibX7suL0Uxz8W8GLgEtu2XJRZk4iYkzGEHWH9pgEh5EHPTK9C1 VOw6HcJuNdYFA/2fGiZlm6QPenFSw4EzAqS9bn0DApg65l1vmDZoh8QWeiFFKNMETi/0= X-Gm-Gg: ASbGncsZQRfSCzm/4M/hzyO9dfSYNF2YXatJT5XLtyvx0WgRquYwx7F+iK8rf/PG8t0 LR8RjG1OzSi7pz6Sb89LqKQ2unDDjVe827GtqZAP2ADusIwyqnIjqbSa816N9eTrMkgeUf/E2Je vBzXKiRJ9dmi+qRAZv5CoXrZ0LZyk3Qqs4bbgjFARp/86ImjUaeLD2/7YPqIGEfClVkFniAs4aL /0ZzLW2XStSsJgv8DPzRC0yzoQtPYnJWNKFx7FnMB66FcHHKZ6ZYxLS9gJ0i2+ek+I6MZx57M8u Ann8RK6Ypa027RrwMo5rapj3qHdTktGm5iNzZ+RfynpSloxyMuxf1UWX/9gL6c+wtzyOwx+w3w8 krEepxvkk0QVEBJEuZmwnMm/DyvifI/xYIa0= X-Received: by 2002:a05:620a:1792:b0:7d3:ad4f:ce0d with SMTP id af79cd13be357-7d3f9939029mr1228160285a.47.1750535781304; Sat, 21 Jun 2025 12:56:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEczp0MIcOxWZp2evH4mmB+hJLicRclZ6gwYKbDPv5vCTz7lCxR1k8cqWFdZUfuUURN6+8D6A== X-Received: by 2002:a05:620a:1792:b0:7d3:ad4f:ce0d with SMTP id af79cd13be357-7d3f9939029mr1228156785a.47.1750535780843; Sat, 21 Jun 2025 12:56:20 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41c3db9sm777299e87.179.2025.06.21.12.56.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Jun 2025 12:56:19 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 21 Jun 2025 22:56:10 +0300 Subject: [PATCH v2 1/4] firmware: qcom: scm: allow specifying quirks for QSEECOM implementations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250621-more-qseecom-v2-1-6e8f635640c5@oss.qualcomm.com> References: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> In-Reply-To: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4151; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=21bPuONwZiRIZFNxfegj7j0cvEH9t3yTZXRBj64vmOs=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoVw5hbhGFspHA26nzXWOV4TXa6iy2zuIB1+khU ktHc4UyitmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFcOYQAKCRCLPIo+Aiko 1UAPCACZAdY8K39NMIStkMZ1gjcotQNyiawh6SOFVEfo0h3PrR7JQHtGBG5tS/IoZ9PkZFc18DG UVdLBsg0fEG46ox5IAKmwiZaU3nb5EoCRYWOFuaS8jNxh9UcYF4bPxpmHcKpkUJnZmcM46+ggxA 4dCAle8tUJQQp2WzkvWjrUNMNVrcKKrb5wgT3dmu/bLbeTClx9ekyRPYz+E7/6cA3quDYi5cn3y s+se97uLfpuEPvoQsAYDi27IN+gCjuTNyDLYJnzROpEb/TevKJYlM8wNY4mNxF3qRlj46GxYIiJ LZfmiWPBbW2fpPwHY1IDTpwj+L9a7DeVXLQYsarvQowTXcpO X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: vNe_h6KXDiIH16Ya5gPKdsL0Qz7W_vmZ X-Authority-Analysis: v=2.4 cv=fYqty1QF c=1 sm=1 tr=0 ts=68570e66 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=wTlJEWXFZO-q-0qxHBMA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIxMDEyNiBTYWx0ZWRfX+4ij2vK1EkPm X9GiI6pdfhJ3TWEQoJnRtxLR3Ppngppw75rPrXoS9TAlU7tP5vnS/hnLw/jtgYyUnjQinj3S5JS gLsLRnqCkTj0upFrhVl0GssQlbXRRsP47eee9XMPXwu8B52xjvEkr03AHeEA7ZDSM9Ml57aWHXz P/pKB0fT1ObmnvnNUHmgEAnrgCp4cme6UyZLuukSWBMpvePOiKtkbxOf0gDQBAvBX2v9hDOlwqO pjqkUpWcNKeAudXfdvu75O8sup0FGpbMgK1e0rZXFXaij0/0UF4Zd+nVt37SD4vm/QFDLkuxJWs TT8wpKBogg1GfMl0xIICjMdPaYEhB0rY0KPqyBFZtCOHDKeHsSAz+dgqDJMVOqMDcpVTd56zVVg 4NUQSujmJWQuyfPIfstCDWgamJ7gUj1BSgdF0RdS7mBZhTphoVXXBgnoRHt6zHwkfvbJUjlx X-Proofpoint-ORIG-GUID: vNe_h6KXDiIH16Ya5gPKdsL0Qz7W_vmZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-21_06,2025-06-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 phishscore=0 mlxlogscore=999 adultscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506210126 Some of QSEECOM implementations might need additional quirks (e.g. some of the platforms don't (yet) support read-write UEFI variables access). Pass the quirks to the QSEECOM driver and down to individual app drivers. Signed-off-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_qseecom.c | 6 +++++- drivers/firmware/qcom/qcom_scm.c | 28 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/drivers/firmware/qcom/qcom_qseecom.c b/drivers/firmware/qcom/q= com_qseecom.c index 731e6d5719f9e3e9e698f5de0117540f51ebab63..aab0d61f0420c4f3d6c1a73e384= 195b9513f3ef9 100644 --- a/drivers/firmware/qcom/qcom_qseecom.c +++ b/drivers/firmware/qcom/qcom_qseecom.c @@ -36,6 +36,7 @@ static void qseecom_client_remove(void *data) } =20 static int qseecom_client_register(struct platform_device *qseecom_dev, + void *data, const struct qseecom_app_desc *desc) { struct qseecom_client *client; @@ -56,6 +57,7 @@ static int qseecom_client_register(struct platform_device= *qseecom_dev, =20 client->aux_dev.name =3D desc->dev_name; client->aux_dev.dev.parent =3D &qseecom_dev->dev; + client->aux_dev.dev.platform_data =3D data; client->aux_dev.dev.release =3D qseecom_client_release; client->app_id =3D app_id; =20 @@ -89,12 +91,14 @@ static const struct qseecom_app_desc qcom_qseecom_apps[= ] =3D { =20 static int qcom_qseecom_probe(struct platform_device *qseecom_dev) { + void *data =3D dev_get_platdata(&qseecom_dev->dev); int ret; int i; =20 /* Set up client devices for each base application */ for (i =3D 0; i < ARRAY_SIZE(qcom_qseecom_apps); i++) { - ret =3D qseecom_client_register(qseecom_dev, &qcom_qseecom_apps[i]); + ret =3D qseecom_client_register(qseecom_dev, data, + &qcom_qseecom_apps[i]); if (ret) return ret; } diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index f63b716be5b027550ae3a987e784f0814ea6d678..fa7a3c4c8f006599dbf6deec0a0= 60e1158c91586 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -2008,10 +2008,10 @@ static const struct of_device_id qcom_scm_qseecom_a= llowlist[] __maybe_unused =3D { { } }; =20 -static bool qcom_scm_qseecom_machine_is_allowed(void) +static bool qcom_scm_qseecom_machine_is_allowed(unsigned long *quirks) { + const struct of_device_id *match; struct device_node *np; - bool match; =20 np =3D of_find_node_by_path("/"); if (!np) @@ -2020,6 +2020,11 @@ static bool qcom_scm_qseecom_machine_is_allowed(void) match =3D of_match_node(qcom_scm_qseecom_allowlist, np); of_node_put(np); =20 + if (match && match->data) + memcpy(quirks, match->data, sizeof(*quirks)); + else + *quirks =3D 0; + return match; } =20 @@ -2034,6 +2039,7 @@ static void qcom_scm_qseecom_free(void *data) static int qcom_scm_qseecom_init(struct qcom_scm *scm) { struct platform_device *qseecom_dev; + unsigned long quirks; u32 version; int ret; =20 @@ -2054,7 +2060,7 @@ static int qcom_scm_qseecom_init(struct qcom_scm *scm) =20 dev_info(scm->dev, "qseecom: found qseecom with version 0x%x\n", version); =20 - if (!qcom_scm_qseecom_machine_is_allowed()) { + if (!qcom_scm_qseecom_machine_is_allowed(&quirks)) { dev_info(scm->dev, "qseecom: untested machine, skipping\n"); return 0; } @@ -2063,17 +2069,11 @@ static int qcom_scm_qseecom_init(struct qcom_scm *s= cm) * Set up QSEECOM interface device. All application clients will be * set up and managed by the corresponding driver for it. */ - qseecom_dev =3D platform_device_alloc("qcom_qseecom", -1); - if (!qseecom_dev) - return -ENOMEM; - - qseecom_dev->dev.parent =3D scm->dev; - - ret =3D platform_device_add(qseecom_dev); - if (ret) { - platform_device_put(qseecom_dev); - return ret; - } + qseecom_dev =3D platform_device_register_data(scm->dev, + "qcom_qseecom", -1, + &quirks, sizeof(quirks)); + if (IS_ERR(qseecom_dev)) + return PTR_ERR(qseecom_dev); =20 return devm_add_action_or_reset(scm->dev, qcom_scm_qseecom_free, qseecom_= dev); } --=20 2.39.5 From nobody Thu Oct 9 01:13:36 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 224D4271454 for ; Sat, 21 Jun 2025 19:56:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535786; cv=none; b=kq1C6ILdZjE3NGjlmZ1uGJrVrdjz+whAfpqE3QCfoQ9EqZXGhnc9pLMkLa5GFcN7y+YlDQJg06XnZJnsyyXUK+jbF0FYeK0weZsgaP6OlrmTPl0tQ6hDbQy8iyiuvPaIzA1MAjIlBkff+C43oqBEgu0USGC08ZNsNn7d7ipLim4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535786; c=relaxed/simple; bh=wG551jlH0C2VxSckm5aelE4czzDPVSQlL7LK/7YjW04=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MzpbBhKSniIWS/hYyx/0rMfJXdPEu5OBS7bJi9LhX9w5dCv4a3JTCy8eDKR+MocypCmQ3QCs92kAyHAyzEzKNZsGrUGBCSbs2mdaTmfQds+TfYBt9u8ybBiIN43CiNa4u3UBu3Qd4VASmr9V0ngaoeFMs34mAMd4PsHYHZg1bgQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=En2oluqK; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="En2oluqK" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55LGsP0o030562 for ; Sat, 21 Jun 2025 19:56:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= cvUFSAy9l8jMi9mogfX6vjAbGULsygLy9EYrsovMUQs=; b=En2oluqKJsfi2sBY GZDSccJMhBIav2jpxtLIkVUSKFjRkURyBuxzCB+Vy6oBl68MZp4uzMzVqYRz3prV PDgoHL7Yy5XLaw/s4Blf10RA4NcQZESWW8cF2e6kZtYA/K5H5gYgudEbAUkScmdp q0dhrCnv3zjEQJBrY4ZOg0wG2onRBNzT9wrL52nd1QKMLZVVqv4/UNGukAXOS3M0 gQSIkvLqYVrXXkZXRcYVOPuHZ49V3cAo/0lvHuFpHQei1lxveAvysPZn0TPp3S+s 5mS7alz11kowGOx3veyWQq89VD8KGtVnOV1JOySyC1k+YDI5itKR2eMNYbUYNe2A WOXgRA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47dpqtrxnm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 21 Jun 2025 19:56:24 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7caee990721so673405085a.1 for ; Sat, 21 Jun 2025 12:56:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750535783; x=1751140583; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cvUFSAy9l8jMi9mogfX6vjAbGULsygLy9EYrsovMUQs=; b=M9I2YvjbyPLb8CJgOI+YvYGI8jr4grW6nwo2wdH/kDtxBoj1ckB79pZLSwfFi2Q5i7 EvL7h3xP9N08eHIcqDZp5dgmZo8ktNPPaGX3IGJmiQI3mGzWhCydHXcfwWXTDqvoaqu2 sOl4PiK9BGatMFUlDfnjg91EzQ7yJYLlvrD5Jn69RJJBwJl75WHVu7GtyFHncWcCJp1Y T59m2mnBkpa1WAlKerylwXueU/NU42zlkK9FzvIJ9GmOqzLiA/kmppgFSrLL7tzWG0to Yc+kdlkaIqMpntfEHpJME5+zR/BE0v4CGum95BuPPjyK0j73QiQ+cU2Uc/2DkzkUQPE3 YMFg== X-Forwarded-Encrypted: i=1; AJvYcCXZcus3V4Bu4Ycye3TvOcODQsIA64QMLhl2qcKZLKUghB5gm++n31kOLvMCzuXlvcTpSRx4r4Z+ETOvymk=@vger.kernel.org X-Gm-Message-State: AOJu0YweBctqNlDijM6vXG31Wkrjd9DD78AfrEDb5nGkJhafNZJbm7s/ XYtCpmdQqfo4B29uCUPzZJpnoerbX3tXAiCqyiAe0Xh5XxncRSkOnsqOQqm6JDZfEp71ni4ZxTh D4nPFUaI7JXTuOnXI3+xn8ae2dMKpZAq04sLAmYdmjve//DDdTPbJ2cWLl4uvpZBviAc= X-Gm-Gg: ASbGncsm7X/CVMk0EaRhureeu4Z4hOmKzhPNO76y0wAnrlnnRn6KW6fao+LV7CWrbs3 cYu04crJ0baFZ6ig5QE4UtQKKkEbh/CrPtI10v5Hrfn1CoLebfWLd3WhuA5/FcO124gjQWuTVFZ E3GxEcz4KGVJllRbnMHj9LaovT19XSPartlCpgtjVJlETDrYzqC/wyItg4NNX8viHYvgMsjOy5X fA4q/f6hiysJhPlQQ33IqPDa7CfUyUO/i5o8i462TLDbVENMg2k1vFeUHGekX7Hljz4bD3i+YDn IBjdLlsYJ6n+JLWEeFFYWG1+8yeUSgRf+2VVLkJRM9AVxm9zZE6Hlah3TcHNR9GD2xPj8ngH9t6 n/v1NrcZYBSEevGDb2dhS7zpym54PzuZjrME= X-Received: by 2002:a05:620a:838e:b0:7d3:8566:e9ad with SMTP id af79cd13be357-7d3f992984emr990755185a.34.1750535782842; Sat, 21 Jun 2025 12:56:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFZsniGGE82LOZjwRAMI5j6W4GAYUxfr852uUROLbuTM1uCFwwQFLWBmWdG0dysN50HDbWWaw== X-Received: by 2002:a05:620a:838e:b0:7d3:8566:e9ad with SMTP id af79cd13be357-7d3f992984emr990753185a.34.1750535782462; Sat, 21 Jun 2025 12:56:22 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41c3db9sm777299e87.179.2025.06.21.12.56.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Jun 2025 12:56:21 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 21 Jun 2025 22:56:11 +0300 Subject: [PATCH v2 2/4] firmware: qcom: uefisecapp: add support for R/O UEFI vars Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250621-more-qseecom-v2-2-6e8f635640c5@oss.qualcomm.com> References: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> In-Reply-To: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2869; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=wG551jlH0C2VxSckm5aelE4czzDPVSQlL7LK/7YjW04=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoVw5hrZNIIHb3EMyqf6Z+9AjkHJP7lCsaTgcap Gm6t6cOvPCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaFcOYQAKCRCLPIo+Aiko 1XBXB/93mfYFN6rPVvIwDX6qQhPHy1n69lh35gdzG33CjTwN7punDuUBy27NLvuPV4/Ypy25qsh FLfe95P+RzWveANHcWnf8oCiHq9A82d6Ix1mBnG2rSQl5b6ATcO4ynG01u5v1avnDrsDSyhgQOO YbUYFnSgliLIIrotj3kf3C+Jt8CXWHmo8EosHYcikSKJ4um7HtyutNQMaoJvUl0Iwla2eaydr4t 5ztvfo+WtgKlc4odf2pmILw2b1DIIv8xiEUYXUhbHOU0axvHVuQbzJbfy0kMvhoAMAyqKqDOkx3 ZrHVoYY7SKsDSBLyxAUti+HoQrKQ0KtSrFrOPiFjIjrv4WS/ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIxMDEyNyBTYWx0ZWRfX4ielwlPn+1Rr BnBxTWlwnosUMT5v8j/d3oQwvDBDZ2/BY21GEGVwA9A+q5wW0s63pwfhYpu/ZlkpjR7JaAFs/SH T/KTIuIAq1YOU6/D/zN7hOT3RZHPSE+dzjjUUHsN/5Oh7pvL4SuhdJ8wNxHAsehkqDOkNEHjfM2 ihAjopI5Cl5TjoGA7xFcPyQdC8pb7MF7wcwSt49WV+EnjzhIfrpoxSyn3c3n0qzVuDkNE52bNr1 DxXH1qYXPHcBBLevXT3clLHPxVfzlDACQtf7otFAxuD7GrR0jJ5Li/7RbPbyhki6DN+TVPhR3U/ TzYIr63FEoOZXNIVmSWxquRcV/zlmIpBJdI2LszpWM0YLoQOsKhYUysPJK8XUvspNPNfbTjQqP8 OQk3ZWNDyx/arjyRQBaTpfxlmbdOVG6O/YumdO6TESpfauEYc1LSzMpGBpgNu0/S8xzsQc6p X-Proofpoint-ORIG-GUID: wAP9OjpoyzvWKt-bZuwzNKazkpIo7Voq X-Authority-Analysis: v=2.4 cv=cbPSrmDM c=1 sm=1 tr=0 ts=68570e68 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=hoImanld2GFzOgiN87EA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: wAP9OjpoyzvWKt-bZuwzNKazkpIo7Voq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-21_06,2025-06-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 priorityscore=1501 phishscore=0 mlxscore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506210127 For some platforms (e.g. Lenovo Yoga C630) we don't yet know a way to update variables in the permanent storage. However being able to read the vars is still useful as it allows us to get e.g. RTC offset. Add a quirk for QSEECOM specifying that UEFI variables for this platform should be registered in read-only mode. Signed-off-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_qseecom_uefisecapp.c | 18 +++++++++++++++++- include/linux/firmware/qcom/qcom_qseecom.h | 2 ++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/qcom/qcom_qseecom_uefisecapp.c b/drivers/firm= ware/qcom/qcom_qseecom_uefisecapp.c index 98a463e9774bf04f2deb0f7fa1318bd0d2edfa49..05f700dcb8cf3189f640237ff0e= 045564abb8264 100644 --- a/drivers/firmware/qcom/qcom_qseecom_uefisecapp.c +++ b/drivers/firmware/qcom/qcom_qseecom_uefisecapp.c @@ -792,6 +792,12 @@ static efi_status_t qcuefi_query_variable_info(u32 att= r, u64 *storage_space, u64 return status; } =20 +static const struct efivar_operations qcom_efivars_ro_ops =3D { + .get_variable =3D qcuefi_get_variable, + .get_next_variable =3D qcuefi_get_next_variable, + .query_variable_info =3D qcuefi_query_variable_info, +}; + static const struct efivar_operations qcom_efivar_ops =3D { .get_variable =3D qcuefi_get_variable, .set_variable =3D qcuefi_set_variable, @@ -804,7 +810,9 @@ static const struct efivar_operations qcom_efivar_ops = =3D { static int qcom_uefisecapp_probe(struct auxiliary_device *aux_dev, const struct auxiliary_device_id *aux_dev_id) { + unsigned long *quirks =3D aux_dev->dev.platform_data; struct qcom_tzmem_pool_config pool_config; + const struct efivar_operations *ops; struct qcuefi_client *qcuefi; int status; =20 @@ -829,7 +837,15 @@ static int qcom_uefisecapp_probe(struct auxiliary_devi= ce *aux_dev, if (status) return status; =20 - status =3D efivars_register(&qcuefi->efivars, &qcom_efivar_ops); + if (quirks && + *quirks & QCOM_QSEECOM_QUIRK_RO_UEFIVARS) { + dev_dbg(&aux_dev->dev, "R/O UEFI vars implementation\n"); + ops =3D &qcom_efivars_ro_ops; + } else { + ops =3D &qcom_efivar_ops; + } + + status =3D efivars_register(&qcuefi->efivars, ops); if (status) qcuefi_set_reference(NULL); =20 diff --git a/include/linux/firmware/qcom/qcom_qseecom.h b/include/linux/fir= mware/qcom/qcom_qseecom.h index 3387897bf36843cccd0bd933dd562390bf674b14..8d6d660e854fdb0fabbef10ab5e= e6ff23ad79826 100644 --- a/include/linux/firmware/qcom/qcom_qseecom.h +++ b/include/linux/firmware/qcom/qcom_qseecom.h @@ -51,4 +51,6 @@ static inline int qcom_qseecom_app_send(struct qseecom_cl= ient *client, return qcom_scm_qseecom_app_send(client->app_id, req, req_size, rsp, rsp_= size); } =20 +#define QCOM_QSEECOM_QUIRK_RO_UEFIVARS BIT(0) + #endif /* __QCOM_QSEECOM_H */ --=20 2.39.5 From nobody Thu Oct 9 01:13:36 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1BAA27146A for ; Sat, 21 Jun 2025 19:56:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535789; cv=none; b=cSvVwMHK+p7to449P52x4C71MOGvniooO7X1ytWNL7SHvfU9Uam1UXd15K++uhTCZoffjsmm6HqDJJ5Mnqo1PJ6kY6VWYB3SVLGlUiRLHutrxS2iZjOr4FzYRo9vG4C8Uot5dK6BC/hzjUleJVqwlgHOyfVV869wMauoEUvIcQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535789; c=relaxed/simple; bh=weSsLLbXmweIsEysxpMRpS7St0Z74YJTWedM4TDgow4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FAv7gePb1hnx7JoRJgjTOi4jhcvlQhSPwkGms/cwkboMQ6uqkPriUW6yS3+jN23/mcitaVyI8Z7zfMEIw7vS5wMpRtTVyCKFQQZQWsLJS6zgtKEBWT1fQPT5n0E1TZs0SzNhV0ei5zkZK8zgB55/jYY775lrslmvY1yBULjZeko= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=GhLM9JwE; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="GhLM9JwE" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55LJP5US001964 for ; Sat, 21 Jun 2025 19:56:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1FXtvYm/oA+Ibq5DjGlmUKY9aOduwgKSXY/MyPkbtto=; b=GhLM9JwE4oaEY3eS 30kk5JvggYqjwHaAIXQnuBivP7tJd6Q7UiJw4vqSinzjd8i15CGuq/NaZ/vxSjgV hioNBM2wDyizUo3393eFmAuW0HjWG1vDwEge0qj/pHFzPjbHZj8TGw/hFL6lbRvj E+0kSesbvHA/8tMc9SQvJRKQOpJNooFPxP0nF/AiZIKNy7E0C8yV+TXfwkoLZpcL kkzt39nMRzoPqEX4svb/PtleXDDcBEI6ShXR3L5wY6KTf59bykbsEQmmfxbiJsEe Ux+mI89CjQZTnr0CXfHZtCEup8f/EbGKP87QUIXCdATSkOSXjSMOiP5+Rc7KKdrk drRBmQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47dpqtrxnq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 21 Jun 2025 19:56:26 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7d40d2308a4so27427685a.0 for ; Sat, 21 Jun 2025 12:56:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750535785; x=1751140585; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1FXtvYm/oA+Ibq5DjGlmUKY9aOduwgKSXY/MyPkbtto=; b=RGmhxch03omGHkZP35ryfq1O1QzZjmGO8AAcgxfwC0IT/L06MRxVfkGYJhdEWn+iCi 5yglH0qi489Z1YpaOzLntcsFLVy9OmnY7vw4dGpZgE+rxHxZqzl1+WYsRdcf8jFVzrDu fCfEETX/VgyUpNLPYpd5z73PxxwAaCDQgPNaiJxU2/9WNYzctmgmJH5pL1ysDzuGd1QE XG22gXJc3NTGetJZ+Q9mBtsk4Nf65Haj6zKb2rx2Ra8fumOMXyNjO8ONKedb94c5mL+z yTmrGVRLQJ1j0jKFi/jf+wenVQiiYlEsLLBV8qoZCUl3qY/9do4pF5k37wKINEt0gOYU G1Mw== X-Forwarded-Encrypted: i=1; AJvYcCWAXb0vzKbQEYyod4tuqkmGMdJjoI0k+nU0cTAjXMXZopcO3GChZg717kN27MqyWahHBiAqlM6iQl9OQDY=@vger.kernel.org X-Gm-Message-State: AOJu0Yx4RY+eqHgvbZPdBKy+7IiO0oBkgGvV0YHfiPK8AzRkVryaW73P Dj1gnaCTMvzBZsDcFuBQlc4cYuRi4hzu+igXuWz9SMAmxfov7QkdiBm3A4FMCcSoxODgfB7w2aS ZlpwSG+SbhziGPgqmQWpRk8QXHHCMETeHsSqBFanyZOcff47Flq+jDzlcIJxbutXWzlKZlSbTe2 XtlA== X-Gm-Gg: ASbGncuxAnwRMoIHC5HsjEUTYVw5oADGQ4SO1Ej3DBOc3vKf2v8ksG31trVMAICUOrd y53XcIKL2sIR2idoG5L25U9OeiQUq27gONwXBDVHHnAUgRnbANs3GHkynF5137L976GjTyJsOqF xKMShCr/qgpg+rJ9WozgNGnewH52kOqrNUn0CNVZ0gbpcWdswGNZ7HFeDK2Aau9xUUqQbe/Xf9x qH2dMoQV5OMBSH/Jy2uejNh130tm8PoH+JFRYNdeTaPs1FY10vwVGWFuvJDDAZ0oFAUY1HzuqB8 p9jAj0QX5YZRjF/a3bzcSK6Jo4QMYrGhr6Dqf+mAcuTpb59jbR8Iw9dpOMhb4E6sRxS5K5aFh+y 0EtkIAcOKgexoagt/INZD04yy+VRqUHbnD4o= X-Received: by 2002:a05:620a:4094:b0:7d0:9d42:732b with SMTP id af79cd13be357-7d3f98d8cbdmr1074126785a.20.1750535785405; Sat, 21 Jun 2025 12:56:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEphDP4IOn/xKx05euM3/unH/TYC++bj6aRlmPjOgRxXWSiKB2HZrEbxSLCpf8wSoJb5xsTjQ== X-Received: by 2002:a05:620a:4094:b0:7d0:9d42:732b with SMTP id af79cd13be357-7d3f98d8cbdmr1074123885a.20.1750535784932; Sat, 21 Jun 2025 12:56:24 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41c3db9sm777299e87.179.2025.06.21.12.56.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Jun 2025 12:56:22 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 21 Jun 2025 22:56:12 +0300 Subject: [PATCH v2 3/4] firmware: qcom: enable QSEECOM on Lenovo Yoga C630 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250621-more-qseecom-v2-3-6e8f635640c5@oss.qualcomm.com> References: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> In-Reply-To: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1922; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=weSsLLbXmweIsEysxpMRpS7St0Z74YJTWedM4TDgow4=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ0Y4X6J8WHnl5LgZrvWzOJ30bbtuGZwy4WMxE1mgF5Hcn law3r2T0ZiFgZGLQVZMkcWnoGVqzKbksA87ptbDDGJlApnCwMUpABPZbc3+z/Q262u/aoYz4ptV JFt0djNd2rKbwSLpwQR2r1DO3yf63T5ePcDlls46VcuWaw9jeuSmw11N79Vy7d7ktYt8O/dcdN4 2kY1mNgqXAvlm/TzyIvGsUHb+z5TFzLyvd/fzJz4xvlcQpmLRN8/HYK2b2mF5zm2ZLKnM05b8mm xxf5rwPK9Zlxtabfg/2howqG44LR18am+NXeehTfqXbkWeT3FwSrofXyyS5zL9g+YR/uVdCz5N1 Qt1837vpNLnGqsu6ZBSV/t0YYRL2I7ImRteMvRJhybWfwhbNf/43kTnczLxVW5LgjJcYjc+0v7N dqlgn6HkTyUZcY4wn7aNu1Q6zsud+2359O3TiKmBqocA X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIxMDEyNyBTYWx0ZWRfX+/LBlIVfwt5+ 5STmVxlgj/nmmEoyESfKbz5XTdqi23rHMuT6/I41dclrNWCF0HYUAu0R2hCxq5orYkptiXN3GpE PszYbCBVG6pyCUrrYI/T458pOZGjq8p4WCCE6c2Xkgbgm7GlYYTT9rk7A08hOzn4CyE3LU0CgFj CRaXQm3i3N93TKCUDaBQQ80XCbB7Q05vgGI2qUdjw0bCjNevRjc1rplYrFWV/tTEqCAynwIyPw0 DdsyBaFguCuxPjwNrsn9MzVrbx1HeIBpcmzmRFLzA1wj3Pl/gpcm2L/cM/IEFn6Eovt/hH8pVLA cgLT8gQyi2PdT3Kb0Z7AkUDUnmBd3Cvinf+zLLTpvSWvt3KndOOrZoRSlS33dPn8I8hHOl2hQbo GKEyyNDndQiFOOgmJHo3pt/cGcuq+JmtkD9aHIb9tgQQlcL4W4EZ+mAAJsTAbYUQo9aquYqr X-Proofpoint-ORIG-GUID: KCWNWz4PpiIaGkeNtcqXalT_d3L0HuOU X-Authority-Analysis: v=2.4 cv=cbPSrmDM c=1 sm=1 tr=0 ts=68570e6b cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=WOWBbpsv7UBti09GJWYA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: KCWNWz4PpiIaGkeNtcqXalT_d3L0HuOU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-21_06,2025-06-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 priorityscore=1501 phishscore=0 mlxscore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506210127 QSEECOM driver end UEFI vars access works on the Lenovo Yoga C630. This platform has only one storage (UFS) shared between Linux and SecureOS world, uefisecapp can not update variables directly. It requires some additional steps in order to update variables, which are not yet reverse engineered. Enable the QSEECOM device on that laptop and set up a quirk, making UEFI vars read-only. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/firmware/qcom/qcom_scm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index fa7a3c4c8f006599dbf6deec0a060e1158c91586..3b1fbdbe79cdfe9dbb1a4ff5afa= e53b469441ed5 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -1980,6 +1981,8 @@ int qcom_scm_qseecom_app_send(u32 app_id, void *req, = size_t req_size, } EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send); =20 +static unsigned long qcom_qseecom_ro_uefi =3D QCOM_QSEECOM_QUIRK_RO_UEFIVA= RS; + /* * We do not yet support re-entrant calls via the qseecom interface. To pr= event + any potential issues with this, only allow validated machines for now. @@ -1995,6 +1998,7 @@ static const struct of_device_id qcom_scm_qseecom_all= owlist[] __maybe_unused =3D { { .compatible =3D "lenovo,flex-5g" }, { .compatible =3D "lenovo,thinkpad-t14s" }, { .compatible =3D "lenovo,thinkpad-x13s", }, + { .compatible =3D "lenovo,yoga-c630", .data =3D &qcom_qseecom_ro_uefi, }, { .compatible =3D "lenovo,yoga-slim7x" }, { .compatible =3D "microsoft,arcata", }, { .compatible =3D "microsoft,blackrock" }, --=20 2.39.5 From nobody Thu Oct 9 01:13:36 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFF8B277008 for ; Sat, 21 Jun 2025 19:56:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535790; cv=none; b=NVL9Iz4aGgDG8POGvXdEdx1Ty5qLepNJt0I2SsQORl8vr9+evCfxhfAKGLotsGbpR+oujWN1lBxsnNhRm832MPFeOMLFov1h9SpiAs0ZIb/0KjaOELvxyX7fcS94AQJsl6ZLtktXEpcmzfNnDmjmVANtk4V+e2oBev/NHneca+s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750535790; c=relaxed/simple; bh=dmCipaDPJe2YVwyZOa+uBgBo5lkKZLTd546OeZ4tdeA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WhGByWjm5nUXCnqC8YISEMBJKtxOOx/tosynUlNy/McWe+pYY//U2bYzp0IsVMO1YMUPnWi4P18XVgUIRVaDvw7QxvYK00bVI9DdIBT4lvhd9d9G+7YzOzZFzBaMnNb0HAECTWGW+7ZoTwYs1+tLARrlB0vMBzFBx/3vZbFB6pw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=VistqUMG; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="VistqUMG" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55LBLGor018181 for ; Sat, 21 Jun 2025 19:56:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= js6tCKZ4RBWtZxDLFFvdhQJKiTQFitZgh6nUQc1LmVo=; b=VistqUMGctL0DUi/ 9SM72S+cbEt8Q0HxzQRo+Fnjx7Wm5/Ygw0GTZFGykTNzZ5/wgGQwydZo3snIE+Uq A9f4uRlHm+QtY6m7MyrCasVjCdPggOXgLUgnzb14POTissWWOVEK+DNeDQkpozju kqcr59DszQ1murEA7FjWbTB+eqpsVDGndTKzbgfUUcPvHT9goE/QP0xlSwW+5UAK +7kAHzViOM4wNl/JiCVPpD/1SHHbYIk6LQQ5fCmWWbz9S7BfmwNZtCTNdYJfdsLo M40dVofQ5+A3dU5pAGyOF3Ld7KyYEv6G3YKgVsQb3J4sxcE7TenbqnLGtbdFgQcq m8/FPw== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47du0x0jrd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 21 Jun 2025 19:56:27 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7d40d2308a4so27429285a.0 for ; Sat, 21 Jun 2025 12:56:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750535787; x=1751140587; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=js6tCKZ4RBWtZxDLFFvdhQJKiTQFitZgh6nUQc1LmVo=; b=A8FFIWpiGMFlQ7YzvyQkobHLtpyOhnqVwxr/PwXhtGKu55lCkEofydL8VkwLRhCKYe jJ7oSaNHrzFC5Pmqb4bMnXuBRzXh+iiduUDKERXIe3wKq2ZmSpjzfNV/TVWTvNsep+ZZ Ln23uCW56WCDBQTgpmBT9pydw2TrO6Cgv3jKdEWDPtscfXpng7MkfFcluuicJiyBA2N2 841JrmPMHflE7Jd7ZQK+tmK5BBobLnF89rDNGYqO6CvNLl1f46a/f5oIk59/DFsqbDi1 DEQOJBiACMHPRaCz8KTLJ76Ydxmal7aSx7w2tufCoAd1v7aatO87pzMwGpDb77GhBYnN t5gw== X-Forwarded-Encrypted: i=1; AJvYcCX/EW8IdfN9LLnbyavYgWLXTJLlQdv3N7XfIUUeeyTGUblfml0wr5E/a2XH1lBCuVjWI1Z7BWUI5JyZGjQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxBaefJR93V9K1IS7624BoouYtwvSePA10nunUeg8jSMBxW9F1x ZOQCdzu6Hxn63qq2sta55JDcqOUFkZIuXDvbqIOzhk+lPIufWHGQVCig3N6nk6STJgmh91Tda8J hpT9qFd9JWeKzsg0kj7quZSvkIFPY0+ofzQWUFZ+hLLAyzJ4ElGjivX1BbZZoPd4Wxx4= X-Gm-Gg: ASbGnctCxXD4Bj7IbaDUrwzppwijrrdDCQsN7GIpGYGgiwf0+l1+zK9AfG6dkUB7vju uF4/MZ57XwaVm0Sf0UtMJ7H/7sp9jiHB9ZbLEnYDKc7s7oYbQ6k1N51h7Ey5badFJpq5RbEn49U TZ/dlRHGBlgaSorVAzdFhd0DqgAq/K2mqEW7Mmm9vOCGUJI7VEEVcZSEii7U34Vb7OWQ1ShBr0l EGhVZvJSwsyxkxRnMhviq437kJwkT/QPi7UA67FjCdIUT3a6K1gdgVFu9CwCAtzbAu+ZgnVLgNy wmy5/+70QdB5+VUBhfvf17tH4XCWQeKS+UgZ0+og0Kw93FsLDVlLGoCvZiPfsFF6b9SD0mcMwcv 8vzOJvXO5TCWuRbBGZz8GIh4CtwyycxgY4QM= X-Received: by 2002:a05:620a:7014:b0:7c9:2383:afef with SMTP id af79cd13be357-7d3f99234b6mr1109778885a.37.1750535786996; Sat, 21 Jun 2025 12:56:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEyl5cNRjU35xqzI1TlNWEdTw1aDtOySJKpk6eUkl28uTHs5uRyf8Muw38NgV5PbrWglll6yw== X-Received: by 2002:a05:620a:7014:b0:7c9:2383:afef with SMTP id af79cd13be357-7d3f99234b6mr1109776985a.37.1750535786617; Sat, 21 Jun 2025 12:56:26 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553e41c3db9sm777299e87.179.2025.06.21.12.56.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Jun 2025 12:56:25 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 21 Jun 2025 22:56:13 +0300 Subject: [PATCH v2 4/4] arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix RTC offset info Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250621-more-qseecom-v2-4-6e8f635640c5@oss.qualcomm.com> References: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> In-Reply-To: <20250621-more-qseecom-v2-0-6e8f635640c5@oss.qualcomm.com> To: Bjorn Andersson , Maximilian Luz , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1567; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=dmCipaDPJe2YVwyZOa+uBgBo5lkKZLTd546OeZ4tdeA=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ0Y4X6L4n8r96z7ncK96s/S2o+JX2Su7RdXap/8SNrm6I 7vU3nhNJ6MxCwMjF4OsmCKLT0HL1JhNyWEfdkythxnEygQyhYGLUwAm8vQj+2+WLROOr3q2V2C1 c9vWUuH+zGeX93eazvKp9fxWUWJ2YQbvXRd2hqVXPRP+fRLu8QoM/7Iono2ZpSI6QiemoijnNp/ Ak/jSss13cx+vmrQ3Lk37kEfY4oxtzbzJM9nE7M2fnhUpuWTH95Eh6Uosg3pw7b6bSxv+vRZg8l Vfu3XW3n1VT7eb69rvzLri9OejxBOGwIC+CJatjGfCpI+U7gY6ff3dzVkLL0uy2erryN6PljdzX uf4v4VxW/btjS1nRfgU2aOsb0ueShQUW3yjps7VbMYNtYAJVjLmDy3ZOlwUV95mfblc3HX2bM2g K2v8P73xihNZ9GWXoLTtct63ntXzGXx+1G3mnuYgkTARAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 2bPL1EOIRfgLijkFC9ZuyDTiyoiRM_zc X-Authority-Analysis: v=2.4 cv=fYqty1QF c=1 sm=1 tr=0 ts=68570e6b cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=lpcYNmPcDvg0ODyLRbEA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjIxMDEyNiBTYWx0ZWRfX99Rjyuxmz+5i k73NT8lY5DlPQN3rDCovxYeFw6PfA1JA1m6ECMFUBWsqsW+H+TCqH+p0iR6nFmRs1Wia6Jo+/bD 5NJsjpSBSj03e/R2GIRoW5KTrfyTqljf9uNu9fO+fJ5ymBZfuyH+Inw3xKjueCa5znuNzA74l1S ud6PcvdTa23KpIdWUEKilpfTZbpeclYCeJRLqU+deXpJmtMcoHqWt+hv8btrbVe3vYTnjmqed/j az5n0jeLwaWoXugRjV5XLGphyLrM5swcWUOxVyYJ0qU05A5GaFrUW39SOgS+vq3KS09ZHSVJvtx IqKaX9BO10BYjkwSfj76fKCiE5vGihLnVzFMAyy3MQ2yGHSTDhBNrNOb5LGMvkO47TgVNFKA+gT xBu1GbUtnjgAR4OCwgLbFOnSg4YxLdyJBJUAflSvTmqYZn2Ng4DgyzLKfV4etrydLFG8TuTy X-Proofpoint-ORIG-GUID: 2bPL1EOIRfgLijkFC9ZuyDTiyoiRM_zc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-21_06,2025-06-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 phishscore=0 mlxlogscore=949 adultscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506210126 Lenovo Yoga C630 as most of the other WoA devices stores RTC offset in the UEFI variable. Add corresponding property to the RTC device in order to make RTC driver wait for UEFI variables to become available and then read offset value from the corresponding variable. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +- arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/pm8998.dtsi b/arch/arm64/boot/dts/qco= m/pm8998.dtsi index 3ecb330590e59a6640f833a0bf4d2c62f40de17d..50b41942b06cf1a3f43f9c754b3= bf2e1eaa4d353 100644 --- a/arch/arm64/boot/dts/qcom/pm8998.dtsi +++ b/arch/arm64/boot/dts/qcom/pm8998.dtsi @@ -101,7 +101,7 @@ pm8998_adc_tm: adc-tm@3400 { status =3D "disabled"; }; =20 - rtc@6000 { + pm8998_rtc: rtc@6000 { compatible =3D "qcom,pm8941-rtc"; reg =3D <0x6000>, <0x6100>; reg-names =3D "rtc", "alarm"; diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/ar= m64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts index 8ef6db3be6e3dffe4ec819288193a183b32db8e8..c0c007ce8682cacd1cbfe816ddb= 975c0a099ac89 100644 --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts @@ -592,6 +592,10 @@ sw_edp_1p2_en: pm8998-gpio9-state { }; }; =20 +&pm8998_rtc { + qcom,uefi-rtc-info; +}; + &qup_i2c10_default { drive-strength =3D <2>; bias-disable; --=20 2.39.5