From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E41E409103 for ; Wed, 29 Jul 2026 20:38:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785357541; cv=none; b=LscLnxnzye8BwL8CoyurJfPO0Y0TMZGoj9J36IpNdrSCLnliKW9qtl+CDjWWi3f5B85Mnd34wRLDEEy6F1kz2DlM0Nh9bTzeqjqiFBoGa5pliBrJEJcxb7VpHDD6MWF9wb1GxHovMeprerceJXN+hq8MJa7OX8XELYHBIKOc/xA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785357541; c=relaxed/simple; bh=4k563kvJsFRc6geC8Z6cjhksZ+gK6h6LfTgUFIVveLE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=iYtk5AOf+4QL7iGtPITBhT0AnNk0nvVhmJEAuGfCLbWRiXwaquCxLtq4Xt+1ByZz1NAs2ZKEhnxls+1HdADIKbDrebE0MLEh55MnPf8Dn5jIgZkq0dnSPJylhslZawKpV2/vS5v2O4WQjAfm5JRL8AJAAetn+XYDZLQRlIb9go4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jNL45e63; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jNL45e63" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-47362928f65so1209367f8f.2 for ; Wed, 29 Jul 2026 13:38:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785357531; x=1785962331; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to :content-type; bh=s5agbD9yaHbXYP0FRJ5aEkP5vHdaFzIC43ZEYtBQ9Cg=; b=jNL45e63UVRlJiiIqfZoRQYCH7kPyoXcl4FcIeK9ewV2uNukeRcfA8R//kI5x+O4r0 f7wS++tB5pIlWcehM8QVtkTo5bJl8zuYMaOtpxGR29tnJMwoUb0D5Z1Si04nFCfjftfm XKk8A9M0+JW+iQoCXu63mG8iYdgk7vG7w8Xvd8jG7S8uQ3yNKDfH2FILHYb3/g602cfA JwRIize5Q1y/FJtYx9Pvpkgbaa1iUoGxLo4ifHRYIdpXeMXjLo4S+sJBfe2Ct/hsuBFm O5hChIsjgaBH2/9ReKdklXsM4ZsNoSgfJQiy43B0s4MJPJc3bNnMCxTWFyf9HKSmmsDs ZqUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785357531; x=1785962331; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=s5agbD9yaHbXYP0FRJ5aEkP5vHdaFzIC43ZEYtBQ9Cg=; b=iVLBH06lHA2QAAOD7IPzH6lxoGAmx7YsMyrXmVhP1wE8xZuAZp4Ckd8kzwW8CdmBvz V/JSKaOu3OBPxRGpvqAGL5FPN2k8IsoJPpkvjMemQYS+98G9I3MtAjBLwyL+HVeNa94t De0Hml8S1Kcz8UrexRUEPedOHBAKUobYSt31Z50T9+W5zGtz4Ckmxp/QBCO7xr9VF5vZ hOEimiEvyQMjd+T8ATvbgwxSsyYu7zv4FQFQq+ile+9KgXpYJZHaPYDdGTTSaVI5wMSq veuwWlBG8XxqUmV2GZht2wtllVt0dwG9E5fIEVhM0zfOxBiQaRp7wnDwulWzaY98jU1w g+zQ== X-Forwarded-Encrypted: i=1; AHgh+Rp+gd9azK/1MFlClWQijd2xuHy11QK2dB2MtCEk88GRNAsfq7xfOjsdlX+DA13+Pf8Q9lF+TPe+dqwNsUg=@vger.kernel.org X-Gm-Message-State: AOJu0YwMJ9CTqx5eY1S1yxWMI8MZVMXCJ+fNM5IH1DjprNtsbFAbzibt YFnkYTu4BMTriG4jsjqv2RVL3OCnZvhY0Hl7K1wMk6EVt1C5QXvjPrL/ X-Gm-Gg: AR+sD11PZY4gC+yXo5KW46PWAYunB5KxvNhMD2lS1C96E9ejJv/G5mJ68N2L5+QoTbf dFZUUpDzsQoMBWuDDIei0kCESvjqfDLqV4QAZAkkUrb4nEmEGFAhNGip2WNnFFBpDho++VGR4Bz TeXJjb9+houlf+n702TFNNgoMgXrqTZ/QLIvzUzwtuieZPsgv5i6nYSOldNNhh5MGeptvGZTXiv USN+gfa9W/QdHSZXY8UiiD3gsHQR1tqW2Zs9SFl7DntlYwXpKXK+ck+v8xlyRx4yucjskXTfTVG nBaMWW4yf6NlRbRe67X951xJpDkcs/fMFlvDY4qeGbatr0ZqCZjQNcFqkCYcqpdz+8Vu6lVHxAD E+wrJYJQCvUiu2qzlS0wMHLc4qFbophHqskMWn5nece2gj72Xfuroo8Iqk2GjEhmW/8sONF2IDF aZ7G78CQZ6vzBRfFofL1CO8ovdLcciI1Oav3zGbBdN692m2vvrF98r1UlL458PN1gE/aKkxLPeq 2lzf1nlZPBvsFyUpLUYZUsbDbpmaZBwT0ubyGdoew5uCb4vIEuGf9cHIm5el8M= X-Received: by 2002:a05:6000:430e:b0:47f:9ac6:c9bc with SMTP id ffacd0b85a97d-47fc6554653mr337068f8f.2.1785357530873; Wed, 29 Jul 2026 13:38:50 -0700 (PDT) Received: from nixos-office (195-23-151-163.net.novis.pt. [195.23.151.163]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47fb6b19653sm11358966f8f.30.2026.07.29.13.38.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2026 13:38:50 -0700 (PDT) Sender: Julian Braha From: Julian Braha To: amirreza.zarrabi@oss.qualcomm.com, jenswi@kernel.org Cc: sumit.garg@kernel.org, arnd@arndb.de, geert+renesas@glider.be, amirreza.zarrabi@oss.qualcomm.org, op-tee@lists.trustedfirmware.org, linux-kernel@vger.kernel.org, quic_eberman@quicinc.com, andersson@kernel.org, brgl@kernel.org, harshal.dev@oss.qualcomm.com, Julian Braha Subject: [PATCH v2] tee: remove TZMEM_MODE_GENERIC Date: Wed, 29 Jul 2026 21:38:45 +0100 Message-ID: <20260729203845.387239-1-julianbraha@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 'select' does not work on config options in a 'choice', so currently it is possible to enable QCOMTEE without QCOM_TZMEM_MODE_SHMBRIDGE, even though this is needed at runtime. There are no users of the generic allocator option, QCOM_TZMEM_MODE_GENERIC, so let's remove it. Then, we can remove the containing choice..endchoice, which allows the 'select' to work as intended. Suggested-by: Arnd Bergmann Signed-off-by: Julian Braha --- Changes since v1: - remove TZMEM_MODE_GENERIC instead of removing the dead select Link: https://lore.kernel.org/all/20260715092539.18384-1-julianbraha@gmail.com/ --- drivers/firmware/qcom/Kconfig | 26 +++++--------------------- drivers/firmware/qcom/qcom_tzmem.c | 21 --------------------- 2 files changed, 5 insertions(+), 42 deletions(-) diff --git a/drivers/firmware/qcom/Kconfig b/drivers/firmware/qcom/Kconfig index c7f8413ab996..d99e09c5fa18 100644 --- a/drivers/firmware/qcom/Kconfig +++ b/drivers/firmware/qcom/Kconfig @@ -34,33 +34,17 @@ config QCOM_TZMEM tristate select GENERIC_ALLOCATOR -choice - prompt "TrustZone interface memory allocator mode" - depends on QCOM_TZMEM - default QCOM_TZMEM_MODE_GENERIC - help - Selects the mode of the memory allocator providing memory buffers of - suitable format for sharing with the TrustZone. If in doubt, select - 'Generic'. - -config QCOM_TZMEM_MODE_GENERIC - bool "Generic" - help - Use the generic allocator mode. The memory is page-aligned, non-cachable - and physically contiguous. - config QCOM_TZMEM_MODE_SHMBRIDGE - bool "SHM Bridge" + bool "TrustZone interface memory allocator: SHM Bridge" + depends on QCOM_TZMEM help - Use Qualcomm Shared Memory Bridge. The memory has the same alignment as - in the 'Generic' allocator but is also explicitly marked as an SHM Bridge - buffer. + Use Qualcomm Shared Memory Bridge as memory allocator. The memory has the + same alignment as in the 'Generic' allocator but is also explicitly marked + as an SHM Bridge buffer. With this selected, all buffers passed to the TrustZone must be allocated using the TZMem allocator or else the TrustZone will refuse to use them. -endchoice - config QCOM_QSEECOM bool "Qualcomm QSEECOM interface driver" depends on QCOM_SCM=y diff --git a/drivers/firmware/qcom/qcom_tzmem.c b/drivers/firmware/qcom/qcom_tzmem.c index 0635cbeacfc8..5b3e5a3ad1ae 100644 --- a/drivers/firmware/qcom/qcom_tzmem.c +++ b/drivers/firmware/qcom/qcom_tzmem.c @@ -49,25 +49,6 @@ static struct device *qcom_tzmem_dev; static RADIX_TREE(qcom_tzmem_chunks, GFP_ATOMIC); static DEFINE_SPINLOCK(qcom_tzmem_chunks_lock); -#if IS_ENABLED(CONFIG_QCOM_TZMEM_MODE_GENERIC) - -static int qcom_tzmem_init(void) -{ - return 0; -} - -static int qcom_tzmem_init_area(struct qcom_tzmem_area *area) -{ - return 0; -} - -static void qcom_tzmem_cleanup_area(struct qcom_tzmem_area *area) -{ - -} - -#elif IS_ENABLED(CONFIG_QCOM_TZMEM_MODE_SHMBRIDGE) - #include #include @@ -189,8 +170,6 @@ static void qcom_tzmem_cleanup_area(struct qcom_tzmem_area *area) kfree(handle); } -#endif /* CONFIG_QCOM_TZMEM_MODE_SHMBRIDGE */ - static int qcom_tzmem_pool_add_memory(struct qcom_tzmem_pool *pool, size_t size, gfp_t gfp) { -- 2.55.0