From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (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 636D71EF39F; Mon, 11 Aug 2025 13:51:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920287; cv=none; b=T3KAEHnPv1pTby5AQUO5pbY+Z8cm242+e4dhT/NqWrNctI7YWXTW9MNBGMbGmjxcYdKj3g3Ty693VQRd0v2o9wT1K68Hdd2iiPmkLbd5o+ZOXho61ixtXr3izR2Ekf0FGwPzu2xkTUsNGMZIY8/LT73fSAWs7d32WF8S9Ia4b4E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920287; c=relaxed/simple; bh=vsY2LxZcawhqMw/s5IJH3Qa/QDQv7w3VsaD857GZcqg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g5IbTTwZM+9nQGUsVhvhO/5WqwLEgf2do6IGHyONziOL3EmuqobD/KBR5AAUbNJtdQQBynra45YXx5odDrfD8JnsirMWsD3cZsMdxOzpN/aRsev6mAitRNaJZU6o+dkfhuSVDD/qGat8BbEyZG3+yYU0n26ev+9mUJcos4jMsUw= 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=E+rXDI7g; arc=none smtp.client-ip=209.85.210.182 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="E+rXDI7g" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-76b77a97a04so3874313b3a.1; Mon, 11 Aug 2025 06:51:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920286; x=1755525086; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Ab/nfPMw843eKZIzh1MEFIjYGxeCe4JAvrb6z0G3ci8=; b=E+rXDI7gWrx0yfERwXW6zyQjEcjOxewC49qCQCZN51s+IHI5ZplDCYi6f9ygMXvsF7 nbPAAjZ/WyyKNjDKv+I6/XoA3ehDAlKUklsRsMO49DHdv3O+kwPqPa90hzPlzZvHQlDb SHXiW0KJGF2MBoRyDnCoflJew8lokZSg8r5DE0krL5F1omlfzSCVJcddVW82WHmHwtdM CLVcEhCAZVf6apnO1YSjg+UIK8U9vPmdoIja4MBRnIq5qXhUGwaNHZl/B0FnBu79MUbq bCD6JYTEc+PtM1GzOaWUfYodMPDusr5AU+ROrFZ/GE2KLGFD5mY8H92yszoUPhZT238F m4OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920286; x=1755525086; 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=Ab/nfPMw843eKZIzh1MEFIjYGxeCe4JAvrb6z0G3ci8=; b=FuxPCcAxT0ReETGebC0pSA2+/vVJXJWPac0epJUe0u1SCjneMQBPB58bw/768SaUYr 9L8P4Q24vl586bLVslO/h54CJEabs/H1PCVfQh9rfrdun+ptLU32MA6wRC0YnMmWIATu EGYjXw0GrffqcTDJ6bHo0glUZjO+B1vIKcPOO+6dnAL3YdybsoKW+71oU2B/gVvVsoj1 HK3jT7xc38SpcCHBvfMNzqWXfIArRYaGFDxaOXI79LV07SNYdEGF0SrlWqrDG3wokIpx 1hj0ZqmJZhX2B9Bw86kiWztMk6L4Auop89t2kDB/BJdbYfekI3uXHZZMAZ4D929mXX8B 9JXQ== X-Forwarded-Encrypted: i=1; AJvYcCUPuTuQ95op1nSJBCEAgqEF9nD5uMEc/53vyhFAeZCluJazrhqwPDXFil4Ecl6nB3rozv/+ML28TPSi@vger.kernel.org, AJvYcCUWSlB6gPiOeuodaLRm8Te0zjL4oEc/Zd6I/6MUiuVm8gVI/BWVHZRdh7vhBBYoEE9q90r3dfBQnTL5gxtd@vger.kernel.org X-Gm-Message-State: AOJu0YzkQY6acEWGd9nAyVKtT71NU8K17pcSatc8+BgXSJWQSjgXk+o8 VXMJ/k4y6lzYm3xEXvcBU+JJQtnqVQvMjn1OCbwRqgpW22mDiKMGtxJt X-Gm-Gg: ASbGncsWvi8cIMc4cSH9zWzqrM86AaQoSndAwYh35nGoKjKd+Wwh1tKtfzkKqebSoTz rMGwOupA7Ccg4tJXWIjqjqLMaPeaiDL1tf05KQv2ISBL5lDDfkAPrm3ALuXIjf0/kHsdNmKHN6v 1hHar2vW9jvZZXc6+jrqgq8xMZt6d2PRoQE+ZqVt/+KeTrYkgTri/SF2eo4hiPcnQkjUIX/7bcL jvG57goKgMLHm9FlMTISL2y8j+WZkJWMBK2oyOkC8pjR5xwOLgh0TVuDsm0UNax7RZOad6gCBOg +3SBejoDyzhr6zFoAXQPloBR6WqbK1NW6VErdMAVva/Om9h5lK+zBpd/WHNFIIpP9sBhzJSPYDe cnlWrFycWRXlZqBjGriqXubwuJxD1N/yJ9D/AVBUd0Cy1aec= X-Google-Smtp-Source: AGHT+IFww40/ClkPYxA7P/SDXLTgj031HhNn9dtfaoB7f1h4Mue1IW6LCE6otocYEXgs/2Rx3IFTPA== X-Received: by 2002:a05:6a20:939d:b0:240:2473:57c5 with SMTP id adf61e73a8af0-24055160423mr20825244637.26.1754920285410; Mon, 11 Aug 2025 06:51:25 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:24 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:53 +0800 Subject: [PATCH 1/9] dt-bindings: mailbox: apple,mailbox: Add ASC mailboxes on Apple A11 and T2 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: <20250811-t8015-nvme-v1-1-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1317; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=vsY2LxZcawhqMw/s5IJH3Qa/QDQv7w3VsaD857GZcqg=; b=kA0DAAoBAcoIt6bFCCQByyZiAGiZ9VCg1SNuFuRtQYHU7Ko65u2SjlDXr67OxKAIlhnOA/x9P YkCMwQAAQoAHRYhBEtSeHhcl6z3nDxogwHKCLemxQgkBQJomfVQAAoJEAHKCLemxQgkVBMP/3AD XG5579GsnDv3PE0P38gtqmvfnHLEICpLLgy06SxvD9gt89Wf72i8W6pLjr2QrSMjg1oHxD0i8UR jjfw2UXKN/IgSe4jLH3loLBm1aLil8sAF7P30v6N7OEuleofgtcDs4sH+Xb1vTuKOVUllFKYXcF l+zW7wJYGcXoLu78dlryBBAx53zZ1IDjFh6UoExBhCN8Meikn85tIlyDM1XKYU2fu/AeUhCGBjw +iNQC7imeTw9GsWyQ8E5sftOFV9XkcDJnOA14AS3in7IJD8DxXCWDtXwPDwUXBVBGytTaEGece0 Ogzhyp+d7EE+GEPBNGbuhr35SAozALWljqHhmf61mILsdozH2ANgks5tVF2aD1qEjGFtQFkjWry ZDWoAHASPCJ5T+sAV+jp56pR/1tOU/xnQpJ4+ELmnn8MMAxS5bDd7eKUMXkQHLze8tvnwFiF3vn XqQ/B+RaqT7KM/Lf2mGO5JanAykB50OuQX6ccnpeAv7VU15GHKbbAXXcssCnV8HQp43WwjDvkKu etjdjXDbL38FRe8qM8xYloXU14WYw0svs1nYorwUEssHYemtpIJ7eC1JxyrlXOeRWP1a2CPZBYc 7/RUGQYSK9M01WXO1lr1Fbl15K3rfRH8FvCPdvTwknAJ+9N2YauKyzdeW6ASol54Dnb7R1zDkG/ /DWz0 X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add bindings for ASC mailboxes as found on Apple A11 and T2 SoCs. These mailboxes are used for coprocessors including Secure Enclave Processor (SEP), the NVMe coprocessor and the system management controller. Signed-off-by: Nick Chan --- Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml b= /Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml index 474c1a0f99f34777e1bed7fc0a34f89320a93b7c..bdf58f03b84833ecd93a34b91f6= 262d1706a002d 100644 --- a/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml +++ b/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml @@ -33,6 +33,13 @@ properties: - apple,t6000-asc-mailbox - const: apple,asc-mailbox-v4 =20 + - description: + An older ASC mailbox interface found on T2 and A11 that is also + used for the NVMe coprocessor and the system management + controller. + items: + - const: apple,t8015-asc-mailbox + - description: M3 mailboxes are an older variant with a slightly different MMIO interface still found on the M1. It is used for the Thunderbolt --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 EC9B4202C49; Mon, 11 Aug 2025 13:51:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920293; cv=none; b=NsMMm4wQSMcDBlGW3GB664hxD5cQk8ZD9U6mFU6QncA1WF5y4Rlm4V2JZ74L4bYP96jyz9tl+9tWdGX2g2Nwmz4YgK+XwqNB3VOdidy2mYQheQ2I/WMu61e3ThgHhwEp3h+IkKcGzpenrrDYXPVAqx/pVubhXdJcVqaSm371bpc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920293; c=relaxed/simple; bh=rwyfTWY33eH9/JkH2R41w9Wvs6PBkQcZY8fhDT+IUjE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mkEWkGGA3Sze4goITAU3mqKCJt7zbWl9SXJ9Hw8MStIu6frmDMa+FYsZF0dl/GQ7qrzg66UGagq7/auKFUEBTYRZxJXS9Ft4SJP79P9ojF9mbvWj57/qoUpwOCS8QEiJpvB1wCwltgSRhnrSBX3Lyn307jTcEhvs3w+Yy12pyMQ= 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=aNSaLt++; arc=none smtp.client-ip=209.85.210.175 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="aNSaLt++" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-76bfd457607so4229776b3a.0; Mon, 11 Aug 2025 06:51:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920291; x=1755525091; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=G+4DQ9gFfqWg9bYh04jDrMGb2bGde9Og3BcDQZ7GXzI=; b=aNSaLt++iqWRn922ygm5M+gJGZjC31jjXj6htM8l+Iu3ELyRrgcG8kMZUa0hcYkZPk A17h/S895+Jb06wkS6CVwSwJseyC2qV2hzM9FeC01FxE/MiwSziMdYR5k/Dnm50tKTJC EbZ2vNeFmphVfM8wU4Vu/GGlOkmC1FoWjq7VL9g3YvYRljV7PVePeY++Kdgm8si0Kr6j U7vkojTv/J54Q41eT+xPPIZODC6tPac7P9FkLDCOqOJ637o/dyL3tyAplEBrikxIR1o+ caSTytZGGpKwF07cSczm+Vva7NzRX1xjFXxXHeMIpO0xDnRtsuSSQOmLzJL9FIi9jipZ M4yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920291; x=1755525091; 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=G+4DQ9gFfqWg9bYh04jDrMGb2bGde9Og3BcDQZ7GXzI=; b=M5XJ7ZB64XQo3777A9/8uGPelzcmFmwMo39ZxMfNIvVUpvAlDjiK4eKG2Nq2eFTDe7 HvLpMtVH/VSF1jYifovvptC0DIXoKYGZgyGVbxodQKgfzK+Gh2wAxCnwM0gNjXwT1VnY +ZHpFJCsKruJPYo3Fbyj8VzfipcxvnI3vSWZzt65nlrofQ3Xa+geNJ9EL0vnf09TKtWW EuSdzzYQCS7deCykj6as6qRaFSDpHmjTUfBkjU3tfdq/ad9EcUrsvnqmD5m4QtJrEy6t cMNTO+T3qvSC7KEkTbxJXa0r8Cg0Wn/YTEcHo+IJ6CVL5AcO0NpsVR4XMu8ERRNVunFz YLJw== X-Forwarded-Encrypted: i=1; AJvYcCWAORvq3I2tsuEpi3tNWaF7GlCIIdbW/GfC6lQvNz7ToW6GCCQUUHYos01LbcsVRywwKKnbjOyDpQAJ0Ypp@vger.kernel.org, AJvYcCXH7FpoyWIR8ci5dfhbBsUNNKbG52VvjpbJb1VDO6wQCW++5LlpBFBbDpv3R3iFICTBS06SGa3q4Bj0@vger.kernel.org X-Gm-Message-State: AOJu0YyZ3ge7BwH78QfL2lzfjmwasfBF+dWf9CpMd4jHFebUsyw42ORN lmb5W7X5mOH8/25HPBS5m+OSvEVOIXL2kUs2+fhVVJOWYhhsKTA6JzQH X-Gm-Gg: ASbGnctQZmDECk35QwoC7BFriOfTMWtFgGUDdlMkn3ZbOYVt3z+ZYTDpnrw6+EbN8L3 6K56iNGgofwXO9VWDpiRjGuy8cNHu6z5QaX2vfFh9Yj8Us73QceU7Pk9EYrZgEe/7K+x9z2Bi6Z 31Rx623MntcBZrh8xh2qFbQEqvxE4fosdFwgC9uW6kn8CmlumkEnrXsnZXP4xq9riudO167zmXM zOffp4UAKfK+lJwiM6mvh4o6ZFQdyIQzsymgeRCl2tAKbr0IGAoq7EaXzzLzo5ZcyvedXv4p4+3 P1UVatjeHI8K/uUftbZOUirCWMAWjc13coXGDROAW129Xm7/dSNW6hMl59gOmK8A+i/wYyn4ndY 7HjCA/I4OrQFoiWGeq5cjroRrzZCFHFOHd0uN/gffVB7l6c8z3osu/pkusg== X-Google-Smtp-Source: AGHT+IHza1fW4UR+ZAa981Mk//ah0psUmGmnKePPNhzQLBjiW4IikcyFLH89QSp4rbQ69Ase7x7TcA== X-Received: by 2002:a05:6a20:7f8a:b0:240:43e9:6cb7 with SMTP id adf61e73a8af0-240551fb001mr18843076637.45.1754920291256; Mon, 11 Aug 2025 06:51:31 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:30 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:54 +0800 Subject: [PATCH 2/9] soc: apple: mailbox: Add Apple A11 and T2 mailbox support 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: <20250811-t8015-nvme-v1-2-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1891; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=rwyfTWY33eH9/JkH2R41w9Wvs6PBkQcZY8fhDT+IUjE=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVQudOR+VSigIgYYBjen/pSrND3fNHu5gx3t v0Alm1eGAyJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UAAKCRABygi3psUI JKYXEACymLu/6TH8J0+/T0V91LKlcavy6HnXo0LFirBif/9o5t1dfJ5yjxGlBO6Z1Z/Vgcmckmy icO9lENZrFE3D78uNj+Qwk6QbNnKKWPg/dlUKoRj5bKFmJWvnvQ4aLkXVzArxKPqgmNasnh86XB 9iP+k3huSCfnNor5IAFCeHwSbBnpH4V3pW8CEL7glJDGRJwyK1xOjJFk09RBev/ej/MWNRfQCbw oTGGGzhVBoZ36hfc/lTrx8lOytQC01PyEnmN82HS1ASgVCz42/VuTgjm+NNX/ghzm6PuPv6IA61 spstvz84jxbigjK2czdXEIQdACdyIXk9g0BcRh7nEe1A1bQkRE1EJ0vH8ND9I40mf6qZjBMmebg NUMEZh+6qXpFejhVyGXAFbyH7CQQyje5S7qkKXBwu9Yl9YGRVQ3by1B66o5AQMoOGZ1c9cV6AD5 z89XG5JXa7l/oO9te7Cs75Wlm2kC1qq1jT9lrWFh3XRcLFzsGJTl97nr6auM3KAoxmJ3zCCFMmm FHDWC8QUDeJxCAKsQedw13eiUcGkMaBhJHb5ByQe4HwF8ErM6kMjXDLMVRQ3YWYT0VBg0G9ZBpa bw4YB1AEURxDCOFjyUFoutlTMrBgTbXqE6njnA0T4JOW5AXp2QInJNBrUTC9uEn9ws9+bWi8aDe 8FayRVsJAt+R/Zg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add ASC mailbox support for Apple A11 and T2 SoCs, which is used for coprocessors in the system. Signed-off-by: Nick Chan Reviewed-by: Sven Peter --- drivers/soc/apple/mailbox.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/soc/apple/mailbox.c b/drivers/soc/apple/mailbox.c index 49a0955e82d6cf5eef83e5f63ba8d31194c65324..8f29108dc69ac964236121d439e= 86c923a441265 100644 --- a/drivers/soc/apple/mailbox.c +++ b/drivers/soc/apple/mailbox.c @@ -47,6 +47,9 @@ #define APPLE_ASC_MBOX_I2A_RECV0 0x830 #define APPLE_ASC_MBOX_I2A_RECV1 0x838 =20 +#define APPLE_T8015_MBOX_A2I_CONTROL 0x108 +#define APPLE_T8015_MBOX_I2A_CONTROL 0x10c + #define APPLE_M3_MBOX_CONTROL_FULL BIT(16) #define APPLE_M3_MBOX_CONTROL_EMPTY BIT(17) =20 @@ -382,6 +385,21 @@ static int apple_mbox_probe(struct platform_device *pd= ev) return 0; } =20 +static const struct apple_mbox_hw apple_mbox_t8015_hw =3D { + .control_full =3D APPLE_ASC_MBOX_CONTROL_FULL, + .control_empty =3D APPLE_ASC_MBOX_CONTROL_EMPTY, + + .a2i_control =3D APPLE_T8015_MBOX_A2I_CONTROL, + .a2i_send0 =3D APPLE_ASC_MBOX_A2I_SEND0, + .a2i_send1 =3D APPLE_ASC_MBOX_A2I_SEND1, + + .i2a_control =3D APPLE_T8015_MBOX_I2A_CONTROL, + .i2a_recv0 =3D APPLE_ASC_MBOX_I2A_RECV0, + .i2a_recv1 =3D APPLE_ASC_MBOX_I2A_RECV1, + + .has_irq_controls =3D false, +}; + static const struct apple_mbox_hw apple_mbox_asc_hw =3D { .control_full =3D APPLE_ASC_MBOX_CONTROL_FULL, .control_empty =3D APPLE_ASC_MBOX_CONTROL_EMPTY, @@ -418,6 +436,7 @@ static const struct apple_mbox_hw apple_mbox_m3_hw =3D { =20 static const struct of_device_id apple_mbox_of_match[] =3D { { .compatible =3D "apple,asc-mailbox-v4", .data =3D &apple_mbox_asc_hw }, + { .compatible =3D "apple,t8015-asc-mailbox", .data =3D &apple_mbox_t8015_= hw }, { .compatible =3D "apple,m3-mailbox-v2", .data =3D &apple_mbox_m3_hw }, {} }; --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 0631A1E492D; Mon, 11 Aug 2025 13:51:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920300; cv=none; b=cj8AUTDkwWMH0fIvgNMIAPpe56+/iXi6GOdmXu/lTdCpcMifSC1J8r+wtsZ6uOdzWTxvloaVnQcPecUgt8/BeWhZFqK6sziy1YtbScHPRmdPk08UiYLNM3jkkAHTJlHBOtVqG/yW2pIPnZm+iLQW1Ook/81OCK7F+JImxrRpLnQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920300; c=relaxed/simple; bh=WsW9yxxkWE67nB6JIFQv5v8viYACQD+qfWrPx8gpdkA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=S0oZpIek9fNZes62J24xo6MDinPhu1oMHnRREmq6A2JKXgMMldWwrrZRwum3zWxxcxnTjUlB73almzdejpHif3Bu6E09cGSnR6q5LQDRTZXi1MejrJzq3iLZPMe/U504MI4v0lt+4Z3LcpPqRDtk5qw9tnLfqukgjcKqABft+SQ= 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=OrC7r+vf; arc=none smtp.client-ip=209.85.215.179 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="OrC7r+vf" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-b4209a0d426so4383240a12.1; Mon, 11 Aug 2025 06:51:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920297; x=1755525097; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=lD/WrxSX1/EFla87ahcJA+QqQVIM1RkgY0PCe9xlzK0=; b=OrC7r+vfkCxT6jkX7Km2bFBxqufO2+DdZriUoMsg01DMzq1He5HRo18hWLnfnATfR/ C1WpPVt5IDTYERsvf9PgVuoDCNTzHJimQrZX6yQ7RGkEUhsuLuUN/Vg3h/O0qd3L5dVS G6NP4dbI1m9HCOm8Ba8cBaFPhpzQXx0ytnyQOCZACC1DDaTm0UU6OtaD/tdsqkeObp+v S+Vc8iMcgs68ACWer1bi/tSyq/kBpGMkPyZPzPK1rChrKMIejptr3joaoSPXEwyUoptG qUGHnbPgORUerykm3Louj9KCdObqsF9u9UU/WhSOklJdJF/57kgYGNyAQ9CkUWGZ4x2v ikxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920297; x=1755525097; 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=lD/WrxSX1/EFla87ahcJA+QqQVIM1RkgY0PCe9xlzK0=; b=ipy5nl04B46nRTPh87UtuhqaAFGf1Dj5DR2RGIIHPyJivEsDDTaDC6yDcQrYMAhXoV ajksegOGV/D+C/6ghrJItM1YUtmD4zB7ujtURDP1SVkPzsGUeQh5kaBrKFI8NDFo3Zgq PDZ5gGx37SKYxGTkYJl1rzF5DNfKKSeSsuSvkDMDlO3/f6XwQ3s6EgVk+2LEwrw0yaeM cR7CvgMbkrgoz6IYBt/9LjxzsXmYayzFjDU/ppa90wSEjYq3lv96MC96ZPEtvxPvkLS/ vZKaa84y0Y1d2GnChkERimmvLrnWnxijXOZuaBpmfxgmqA3XYE2EzRglF1YpXdIRHNvx 8SAQ== X-Forwarded-Encrypted: i=1; AJvYcCVl0Wa9Xzzhl3mfK31QVX3EuXrnpwZQ3PDwSLAhlpFczzSpP3n6E9J/wJS6T/5F75mkMHbaeHXB4gQJAx3R@vger.kernel.org, AJvYcCXUzUJUFsW9ae986wGHEbhDU0cC81of+K75jzPEX48TYgYbao08iCRyi/coB41EbJSMupuzBgM7Cun+@vger.kernel.org X-Gm-Message-State: AOJu0Yy0Yil3mhDzFE0PrOTvXLyJEp9ngc2K541zfKHrWZBcWPH3pHlo 4UXZbX1+imWv29e/KyFnm9H5h3BJDOwqVh9WlxTemPZ8TAdbpGJH0PDI X-Gm-Gg: ASbGncuoG39OLL9IC7SeZC8dceP4DKMZNcNc0l4Q+LIr40DDlHmHngdb62oImEvKC0H yoBZ1L7AMdEGMHufbD/XY1hYxWZk0JaoaT/R91G8wvSRmliDufHNQdvqztTsLjd4U98mSzGcWhM K5+QPz/ocOGSWK+TL4QHSHwtmHBEtkdmxlwNbw/ig6gJttg/7IKeOs+/xh/3B5ALhZEfTYE5QqF C67v83KlZY0o64/C+rM7JSgDv/SgaXQlgsQPNlD0VZivXJZFp1kjAbelrpMgwMOqw2rvnyfqibQ voFAdGp14sP4eszUueYahCyiORCBjH9qCm7aYS+vPNoHl7HHHW+DyJswi5jBYtM1aAFWRZrS1jf for1bLhQEsBeXm8DD491bIXV/oGOycZnNjZTyYMHEH3P+ZKA= X-Google-Smtp-Source: AGHT+IH9KDpx03ywNJvdLzBAfBlJLI4oeKmVAO5UR+drZaqVUoplxQq1MfoVtn8zvLDNwTwHUy4OvQ== X-Received: by 2002:a17:90b:3c49:b0:321:75c1:65b2 with SMTP id 98e67ed59e1d1-32183b45760mr23917637a91.18.1754920297041; Mon, 11 Aug 2025 06:51:37 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:36 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:55 +0800 Subject: [PATCH 3/9] dt-bindings: iommu: apple,sart: Add Apple A11 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: <20250811-t8015-nvme-v1-3-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=776; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=WsW9yxxkWE67nB6JIFQv5v8viYACQD+qfWrPx8gpdkA=; b=kA0DAAoBAcoIt6bFCCQByyZiAGiZ9VCgpq+sLCPb6h7skrPDQfu6PKhvLP5vmejwncunolc9M IkCMwQAAQoAHRYhBEtSeHhcl6z3nDxogwHKCLemxQgkBQJomfVQAAoJEAHKCLemxQgkx/AQAJyL UoiKJly1Puh26oQIp/eE1rItZVtYiLLcwoNLwy26TFIVgQpbz6CwutVT7YMNMFjKRGST/KXTVUG nNOAq9f+JPjb0vKn35FO3X2RTUudGt5tBsN7gP1WAuHwL50pVLUpwlr5mOmUEnPoxECo3su4Gpl u6D2Q+RHjZKv4m8wH223Xlww9RFi7gOYF1LDYJg0Ijn2n6NsoFB8NnSGyN4R3exhrXw3s5ByJBt MPiEHWglVMs29eju0clMKjW9fk8/3C/7UP+rJ00B0z7tbymKxWlf7joJREw8NY9k8DMow8DkL6e VXRkVr7XloyJiCxp7K3knbiafjV305yNWNHCFKyBPdySFHfSdGdac2y30TXDK2t02z0vQyE3ily 7jGglW73k7b+fiU7tn89oiTUbdh9u4JbjrXLYuLejcmBZRpUyY4D4K+HX0mDeGy1NxIMG19xZRn 7g8sNiuG4nsROjMUz4hvB6p8FxHhHtT9AFVtEwYn1sbtvrZSiLTKKt4PrVyP4C3OWUlkOFwFAoR RhLj/kT8mq0Knaubp168KQbr7/vRLh2CvOu5/HVVjNsR9hRT4u3udves1TxU/nW8kKzsc/YFt0p TTYNHDSVKn/R+NaPaAVYFQqZOwMjKMB9LHIgLvQsqLD9rgK8AaxdU7MR0iKg7wjOvLYTGfAXd3H cYc+Y X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add bindings for SARTv0 as found on Apple A11 SoC. Signed-off-by: Nick Chan Reviewed-by: Sven Peter --- Documentation/devicetree/bindings/iommu/apple,sart.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/iommu/apple,sart.yaml b/Docu= mentation/devicetree/bindings/iommu/apple,sart.yaml index e87c1520fea60a2de549aa8a469fcded52e3b6e3..95d55ec688779bd52b8aef316a4= c1ba7b7449574 100644 --- a/Documentation/devicetree/bindings/iommu/apple,sart.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,sart.yaml @@ -29,6 +29,7 @@ description: properties: compatible: oneOf: + - const: apple,t8015-sart - items: - const: apple,t8112-sart - const: apple,t6000-sart --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 801C71E492D; Mon, 11 Aug 2025 13:51:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920304; cv=none; b=mm6LaBH71oKXj7/wroT68YVa7ZzyvvpgBEYzLjjdF2aSgtLhqtIZDQudseCRxW8boTs384N3eYg5Je/jyQ9pAS8Wq7xbHXLe1B51dRA14nrfmoxxElCmcoEG5gH7fGCzaZFnSyf1GRs7ts+wwvEu9Mn339Wl8t13puN+KRte4QM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920304; c=relaxed/simple; bh=qu53Npl9p1UJIa6YTj/hRvC8zr9mwt5eIRHVXIxtFxQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DzpTIG1BJEBrj/x0c3eYQCzrsqisjCqordizIY3cIW17bFxp4x5E8K57b0uJAlKeCSDosn5pPUW7ac/fmXRtihE3DY2rJQ21WIkrIhEGmi+M3PTFWFgK0BuNK2dwD9JsfrkTlRHgYg4bqyHASG8ret6AwnMegGWIBQyvaLT5yjA= 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=KsUcrYVb; arc=none smtp.client-ip=209.85.210.180 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="KsUcrYVb" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-76bde897110so3441349b3a.3; Mon, 11 Aug 2025 06:51:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920303; x=1755525103; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+Z8PyP5sKcVvm50Lc4ho4ozdCtTBci5j1M5U5sqHCfE=; b=KsUcrYVbuZ5wS8Qr34175v0eajFFumnOBkFRbdjoJqbWgFbftolo/phwwoAlnerY6u lh6s/wf1JMZr6X8HUHni3xyqhQ0YkMHL4I1v6vSe2QSN0GxoOzHMqk8fU6j07Cpqltw+ p3G3sw9z5JWsJEr3/qg7l+Tj4DDWN7IO0WIa3eF91nXs9p93H16oTahPXpgwPg18DS0m AzIFYgZLWKvyqdPcP6hG18G09a9LKqoVJzqU6cEUE0dOdhPuui7T1OWcItwTQr9VVnT+ zym9QM+r50ZT9c4UKuxXxhXM3VKdFM1grkwyJoOGxbmb7d+wdZTvq7c/Hi69z4OkrzJ2 EIWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920303; x=1755525103; 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=+Z8PyP5sKcVvm50Lc4ho4ozdCtTBci5j1M5U5sqHCfE=; b=XTIBr0zCLHdHk4uijr3qsNbBwXKhsMfbNlbURt2BukfBAhLE8sretxs7R5tybFaMKg iCF7gmClCBzCEsyppbjq+DNfM9yeqD5Dxtipaz38lINKM+iDroSIW3zS4IIJtC+UaysE zC09kCWB8xQwcdb9ShDLwkcoNyuuAbhepD5/IyqOsfe//GH0wUxOMZP2E+0tBTXMWwTo /x0Xdw8trVfP4v6j3+adZ+u1qRIISz/R+nWdHbbf/bfM3uDDYVKqeeHEFGJ7/k6eUBM4 YZEDOt4T4ogNkdEu9H89MIXOqgg0tc7h39TzzWiZ0knuG7imjvTKlFcU3yjMRxFksAKh hd3Q== X-Forwarded-Encrypted: i=1; AJvYcCUMm8gagJ97hN9OYo5ElOGh8GTWagFE/vHGYCA1J7ZTDFLAl4YF7ZaYnBXx8gHh+ZkvUbHTJlAGoAkV@vger.kernel.org, AJvYcCWXHZGZeZr/K778/DhGP1rgcTFqplK73vlUgziRhgNuumpnko/JPxgAPniprMnQyets9AHl1JKOozRtBnmC@vger.kernel.org X-Gm-Message-State: AOJu0YwoK9PAeb9/fuwL/xRpxscgIiSlKrGrxvgcfYwFcCR6YCTClKUl TRFw2RK8i5/eqX7ebVAaYSFadh9sY7IEPSJNm8kTdl324QU6qSMPVgEn X-Gm-Gg: ASbGncvVvY3vwelm/LfU+vGasSdyCWy1QbPVmB7iHbJVSSiPEjgLRJE1AtUf3LYrgD4 jhHz/5IscwXvNr9CCYLwJR86W6EK9iOqQz3lsRSXS6Dk20FPjd5oJrhlEDqq7nolD1Ck5KB7hXt RBfsN78igBycAGve4eoneTXgTXBteLSIoaOme6Dtb9rBkDXkJ1XI2Nhkp4smkH8yVf/rHbJTcrH DWj/NzAq+zYpW9DsLEuxDbO8YuD9HDSW7IJ3i/bZi0f4IRo8M0CJ2UHiMa43TgLokYeXLVtuhwU 2uETWyNx+6+GiFJ49pBr3rUyEKrbyYTHIsS6yLBgmmYWmJ9gyT5ytruQUw0F+tA8t8GGh2L+5Mt 9uF97koZOfO2Qycj7s6hJFKCQmltTBIXhNkc5CrhDsHCDNG4= X-Google-Smtp-Source: AGHT+IHrA+7zJge9i962S6orPzAQDEhO1XUkEFQ5EVyEYNFg3sFEV8xqGFfQsZM23vmED8/k7VCvpw== X-Received: by 2002:a05:6a20:3c8f:b0:240:195a:8324 with SMTP id adf61e73a8af0-24055015142mr19729554637.2.1754920302821; Mon, 11 Aug 2025 06:51:42 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:42 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:56 +0800 Subject: [PATCH 4/9] soc: apple: sart: Make allow flags SART version dependent 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: <20250811-t8015-nvme-v1-4-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2725; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=qu53Npl9p1UJIa6YTj/hRvC8zr9mwt5eIRHVXIxtFxQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVQh6mVaSEh/31vtj9Sp/TjrE7dHgIyGxnSV ZSHXuJG3rSJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UAAKCRABygi3psUI JMdNEACdXz4QPo+kOUFthywvLIAGegRvepLxUfokbyfdsVmpojMj5j9zId3XrjZaa8HjvdpGKmE rZZGAFvoGvQfoE/WIO2Hn1MS26yqKsXPYsIxtkaQnAuObrk2MhZPxHCcka4i1aokE8sC9lAKL+/ WwNhnJr/hD5WTXNy6wC+RBRn4tXEdiOI7/Ix6tts1yudkv7AhcmLE4u6G5QuDs+8t8FHIA9Y+wo AEmSOYgHvNYgA2jvkRzinP0p6ogaX10fBWbfMlN34q/OHGUN6MLsHWhrq/KnOlYnfdPuvWYCXnF j5b6JVgeZB8TJH7fol5y549AWuyPtfVkyrsCoPfRWd2kssvzwjmcYX+eTlpLhK9REMjWTTc0/SD jWQpFkqaYYAUrqGl8WozokSUmyXcVwyzC60zqOpAqPAbFuz3xb6fPkFatm7RB5/9KRQwnNmqQX2 EU1RBIF/CxOMBhYAgMaL0GeQT+4xMMc8twKbo8+XNJwuZeY9E0cJfTLhEfJkUzfIpv6rb/iR7gN 0zE3w+661aGxZ+mpWdJYw6kKLSJNdhAzEjrB+8vIGNF7GaAFIIHPBJa1MuafMfvTzAYRVZmJ3UK KzuQzPYuHQhNcKrimU/dsRcNl8OQyzso+9rPKwiTQaKpTuieMMwgj2cTa0fCYOA4Jd95hwZU1lJ OvHb0vAmQYyExsQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 SART versions that uses different allow flags will be added. Signed-off-by: Nick Chan Reviewed-by: Sven Peter --- drivers/soc/apple/sart.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/soc/apple/sart.c b/drivers/soc/apple/sart.c index afa11173689979f100a63221af03214f4a928a7c..318f6e518a54f6edb8b97e32051= 9df8f77c7f143 100644 --- a/drivers/soc/apple/sart.c +++ b/drivers/soc/apple/sart.c @@ -25,9 +25,6 @@ =20 #define APPLE_SART_MAX_ENTRIES 16 =20 -/* This is probably a bitfield but the exact meaning of each bit is unknow= n. */ -#define APPLE_SART_FLAGS_ALLOW 0xff - /* SARTv2 registers */ #define APPLE_SART2_CONFIG(idx) (0x00 + 4 * (idx)) #define APPLE_SART2_CONFIG_FLAGS GENMASK(31, 24) @@ -38,6 +35,8 @@ #define APPLE_SART2_PADDR(idx) (0x40 + 4 * (idx)) #define APPLE_SART2_PADDR_SHIFT 12 =20 +#define APPLE_SART2_FLAGS_ALLOW 0xff + /* SARTv3 registers */ #define APPLE_SART3_CONFIG(idx) (0x00 + 4 * (idx)) =20 @@ -48,11 +47,15 @@ #define APPLE_SART3_SIZE_SHIFT 12 #define APPLE_SART3_SIZE_MAX GENMASK(29, 0) =20 +#define APPLE_SART3_FLAGS_ALLOW 0xff + struct apple_sart_ops { void (*get_entry)(struct apple_sart *sart, int index, u8 *flags, phys_addr_t *paddr, size_t *size); void (*set_entry)(struct apple_sart *sart, int index, u8 flags, phys_addr_t paddr_shifted, size_t size_shifted); + /* This is probably a bitfield but the exact meaning of each bit is unkno= wn. */ + unsigned int flags_allow; unsigned int size_shift; unsigned int paddr_shift; size_t size_max; @@ -95,6 +98,7 @@ static void sart2_set_entry(struct apple_sart *sart, int = index, u8 flags, static struct apple_sart_ops sart_ops_v2 =3D { .get_entry =3D sart2_get_entry, .set_entry =3D sart2_set_entry, + .flags_allow =3D APPLE_SART2_FLAGS_ALLOW, .size_shift =3D APPLE_SART2_CONFIG_SIZE_SHIFT, .paddr_shift =3D APPLE_SART2_PADDR_SHIFT, .size_max =3D APPLE_SART2_CONFIG_SIZE_MAX, @@ -122,6 +126,7 @@ static void sart3_set_entry(struct apple_sart *sart, in= t index, u8 flags, static struct apple_sart_ops sart_ops_v3 =3D { .get_entry =3D sart3_get_entry, .set_entry =3D sart3_set_entry, + .flags_allow =3D APPLE_SART3_FLAGS_ALLOW, .size_shift =3D APPLE_SART3_SIZE_SHIFT, .paddr_shift =3D APPLE_SART3_PADDR_SHIFT, .size_max =3D APPLE_SART3_SIZE_MAX, @@ -233,7 +238,7 @@ int apple_sart_add_allowed_region(struct apple_sart *sa= rt, phys_addr_t paddr, if (test_and_set_bit(i, &sart->used_entries)) continue; =20 - ret =3D sart_set_entry(sart, i, APPLE_SART_FLAGS_ALLOW, paddr, + ret =3D sart_set_entry(sart, i, sart->ops->flags_allow, paddr, size); if (ret) { dev_dbg(sart->dev, --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (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 6D3A91F873B; Mon, 11 Aug 2025 13:51:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920310; cv=none; b=Rtmch70Jqyu5GQn9hSH5M9ac5p5FtO11hqE1BXaFW5F3vXUq3mxH31S8GpULyPmHrKRklGiGiGmH8xKjD7VoQhL4C076dzFvx2GK+cH48mdGv74d0OCrWLp+EwFQk4auVuKZOB9lDFoUymCc7eQhFpAJ3KtDLXZ9HB23GzHTG8c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920310; c=relaxed/simple; bh=HASc/UE1e+zwLEpdDftsFG871JkJOER0qIdXrNOZ2Wc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZCxo+Wv8A43W0Jwrg00u75G8lXC1jsxWnRVgTcgfgNOHMU4v+xCbUGb2RONTC5kn2Yva1aJkCuiflkpc3zZaJLsYekZcx2JXeaQuIsOKHw8wXS2GsWj8z9x3KGRtgC0rBILnvb6UFHJYLR9h/+NQCOmsP5BzuN4YsY2zMZRlVtQ= 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=l4XCf1XT; arc=none smtp.client-ip=209.85.216.43 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="l4XCf1XT" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-31f02b6cd37so4548180a91.1; Mon, 11 Aug 2025 06:51:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920309; x=1755525109; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=lEfy1d6REVklGGsJ2sHwNoDWcI0j2BApVTLhGkHwAVE=; b=l4XCf1XTL6m7pC8GZ9aLiYSYIqzqSp7ioumfeU+7X1KmZTn5h2Fp/AlJAMcqs7uP63 q5LbeEW2LDOMMKomJpZmDfj85ZlTygS+4IPRYO5gYh1aDc898mmPkeFmOWwpKolF1zjd zji66uCJMMJ5a/PnCzaxJnogmd5cp4wkMRIzt6YESB8zouujtimrJw+UnqmlONPSrEAi c472+aSlcvUNE8lNyl9zIzkMQV8QhAKR09NG+pxU1d0lr6aJuHyJvIS6DyDKSni89yHv xvPslXLY0C2WeH7PrS5Z2Kq9FdpRpE67GgbxpWOoLqKy0FWVf1J4wVpY8tnPKUpnIiAV ojsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920309; x=1755525109; 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=lEfy1d6REVklGGsJ2sHwNoDWcI0j2BApVTLhGkHwAVE=; b=QkxZmkmfEBV7kQmO2wHrltVeEaV68eztB1ATSUWZmrQP3rQ0XJ28juFy0bG38+RH6P Zr9xWOHezE7VTlzC9oi42I1waYjyxDobzZZHL2BmNe3Tg4HakDtPPyCDJPyBSCkBQBpP 7ZgYbl3+JoJxJkSdIBtGGvKnc50kuUe+AgYYAbfBspIVJbAXr1vsfWTpylruoYnljaeg y2/8X9OTacdbWZFAnmvawAMucTe+pACl14DZKwTO5pWolObtzMdYox4kXy/eUH/MEew9 OG2Wk5hsAxnGIaifgGKUZd3+LMqcaV1LmrN/ik2p+onHbX0/4rVJbyXuovx52t1fkoKf tQaQ== X-Forwarded-Encrypted: i=1; AJvYcCWYiYR7ZaNIj2v2EkwoAQn/1pxjsgEfbOB5/0Fkx43kPLjs3G70C9Cz+PsaGX3UHaoiCJB2if0tZhgLZEjW@vger.kernel.org, AJvYcCXV+qDXG3cpMme1590NaMccXEzkNCc/SjRvCS6u9N+TpgSo9NkAY74b9At3CPf9QShPiXU0BWpp5/4a@vger.kernel.org X-Gm-Message-State: AOJu0Ywxuhg9AkSm7isRlDFADLBB7yTSCk+vnH+7qW/GBF1sHnhhijtj ttf+fdrhiJnza++fH4+0RxISnCYHoGVHQ4jXpwtQqZLuqpmgfG8taFhT X-Gm-Gg: ASbGncttk7HpEOixObQNeSdN7PUC+BTuVDjrzo0y3hKUUjzt6RB0rpk4yj45cUF7LSB B/TTdkQDxiJEgwHCnRQixXbr27Kjh3aKxM6/g4BoPFbxgKlk7tik3qXXAibQlCEi5+kqT5Ac6AX STHiMbLTBkRO8zfJFn5LsHIvSs9nvvP8Yf5j/ifQ3C9cJnO3phWPy8z8UExTIymmrDkpfFWo2Fn hsttx3yljaETOmlKtpPIc6IFt/mPJ9aHK7TErjNvafMJ1ZIodW0UbDc9zavRSB13LpWriEYX4V/ xvRYAXCUW+XV2OqqkWd/lbaEMGR9aaGROqSd8bXDW4LbDBwjEIhGj03B7aQZcn2nW43oVSuqqGP Gu+gOvIVL2+ZCMyyupsnUCc/e3DYrx5GIt+1LwJq/k4ZBYb7QtgBzhXT5hw== X-Google-Smtp-Source: AGHT+IH1udNShnfKQ/kNxUt52VN2M3uRw5amTvYb5XrrZ+KNWAr5SidXvoeniU5jkLgzVeqPaTf4kQ== X-Received: by 2002:a17:90b:4ac1:b0:31e:b77c:1f09 with SMTP id 98e67ed59e1d1-32183b3f438mr18169391a91.19.1754920308652; Mon, 11 Aug 2025 06:51:48 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:48 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:57 +0800 Subject: [PATCH 5/9] soc: apple: sart: Add SARTv0 support 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: <20250811-t8015-nvme-v1-5-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2748; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=HASc/UE1e+zwLEpdDftsFG871JkJOER0qIdXrNOZ2Wc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVR3nGx5ONiMyduDBTlKlsmAlWnDpuM62Yq3 1N3xXx229qJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UQAKCRABygi3psUI JFIYEACa2AXuWbCL6bohXb58bhGalXB85bannxcDnOvFbk/9hPyEAcJYLE3oWmi6q8/BnaarPzy vtJo5ryAavk/GuSa2O39JQf4IOiemJXMGfUmZed9Jik0ezLUStqfF8pRmqBa26SG9Lo5m9blora r39zadSvSE10FzjxQPvib1FzmseVjU1LaPLlMuiPjSWyNwOJJoqJGw6m/rNgK/DPBXOFSDktWLN CEztWyoefNWA48CV0Chcl78Gdmc9oeGOW4MPfG0od56w1IBkCctlMG7EqvHwncVwBWaDxjI/Nw8 hB6LEODLbV0xm4E3giTEFuPIDMIH9pLLyawH9Bw0CE8BUCdTIh4lg12cTgad4eDPlJC/OxdZYf5 heIITrHpz896bc1SLDk8xBH6bZYruB/QDZ0cIsmV970NLUJM1HoslVdaxtm9WhpQ3/myGaymd5V d4KDoBiYzGj7r6bGsfFRlU+dZ8kxa2n4L7TBHldf0R1Z2e0qTA09rejZaXjg0NUxceqm5kkueT+ rrJBk64uLytlRjdkZo8iRV/Ghkkx/rz6wxE2Qr2ovmE3LeUgVs6A+kLcYe0hpc2onC5/UXELzJk s7JrSKhzY/icHhpfMwf9x/Mv7wuNL9wNlFayZULYU5GXzbI8RYn3L2ZLAQt1RntQbskORxNxjP9 XIrzGyz4qHp3GHg== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for SARTv0 as found on Apple A11 SoC. Signed-off-by: Nick Chan Reviewed-by: Sven Peter --- drivers/soc/apple/sart.c | 49 ++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 49 insertions(+) diff --git a/drivers/soc/apple/sart.c b/drivers/soc/apple/sart.c index 318f6e518a54f6edb8b97e320519df8f77c7f143..4ff1942b82a74cabeda99540ba6= 3c6e92386986d 100644 --- a/drivers/soc/apple/sart.c +++ b/drivers/soc/apple/sart.c @@ -25,6 +25,18 @@ =20 #define APPLE_SART_MAX_ENTRIES 16 =20 +/* SARTv0 registers */ +#define APPLE_SART0_CONFIG(idx) (0x00 + 4 * (idx)) +#define APPLE_SART0_CONFIG_FLAGS GENMASK(28, 24) +#define APPLE_SART0_CONFIG_SIZE GENMASK(18, 0) +#define APPLE_SART0_CONFIG_SIZE_SHIFT 12 +#define APPLE_SART0_CONFIG_SIZE_MAX GENMASK(18, 0) + +#define APPLE_SART0_PADDR(idx) (0x40 + 4 * (idx)) +#define APPLE_SART0_PADDR_SHIFT 12 + +#define APPLE_SART0_FLAGS_ALLOW 0xf + /* SARTv2 registers */ #define APPLE_SART2_CONFIG(idx) (0x00 + 4 * (idx)) #define APPLE_SART2_CONFIG_FLAGS GENMASK(31, 24) @@ -71,6 +83,39 @@ struct apple_sart { unsigned long used_entries; }; =20 +static void sart0_get_entry(struct apple_sart *sart, int index, u8 *flags, + phys_addr_t *paddr, size_t *size) +{ + u32 cfg =3D readl(sart->regs + APPLE_SART0_CONFIG(index)); + phys_addr_t paddr_ =3D readl(sart->regs + APPLE_SART0_PADDR(index)); + size_t size_ =3D FIELD_GET(APPLE_SART0_CONFIG_SIZE, cfg); + + *flags =3D FIELD_GET(APPLE_SART0_CONFIG_FLAGS, cfg); + *size =3D size_ << APPLE_SART0_CONFIG_SIZE_SHIFT; + *paddr =3D paddr_ << APPLE_SART0_PADDR_SHIFT; +} + +static void sart0_set_entry(struct apple_sart *sart, int index, u8 flags, + phys_addr_t paddr_shifted, size_t size_shifted) +{ + u32 cfg; + + cfg =3D FIELD_PREP(APPLE_SART0_CONFIG_FLAGS, flags); + cfg |=3D FIELD_PREP(APPLE_SART0_CONFIG_SIZE, size_shifted); + + writel(paddr_shifted, sart->regs + APPLE_SART0_PADDR(index)); + writel(cfg, sart->regs + APPLE_SART0_CONFIG(index)); +} + +static struct apple_sart_ops sart_ops_v0 =3D { + .get_entry =3D sart0_get_entry, + .set_entry =3D sart0_set_entry, + .flags_allow =3D APPLE_SART0_FLAGS_ALLOW, + .size_shift =3D APPLE_SART0_CONFIG_SIZE_SHIFT, + .paddr_shift =3D APPLE_SART0_PADDR_SHIFT, + .size_max =3D APPLE_SART0_CONFIG_SIZE_MAX, +}; + static void sart2_get_entry(struct apple_sart *sart, int index, u8 *flags, phys_addr_t *paddr, size_t *size) { @@ -319,6 +364,10 @@ static const struct of_device_id apple_sart_of_match[]= =3D { .compatible =3D "apple,t8103-sart", .data =3D &sart_ops_v2, }, + { + .compatible =3D "apple,t8015-sart", + .data =3D &sart_ops_v0, + }, {} }; MODULE_DEVICE_TABLE(of, apple_sart_of_match); --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 387031F37D3; Mon, 11 Aug 2025 13:51:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920316; cv=none; b=HldfCbV6LkmPOtJAcz99rPWxXK0bFcgWMHLuSY4PffgXtlMNGVhLHZMPomlPY62SWlc4Ql3eRLi4zWI9Ft5aQ0kgpVhIImnN82PmqxMCPCkq7+hP2gDmFoRzYRQj/Jjno/16w9MzGqUDFyCAk1AjGp9OhZZu07cseERT57xmAsk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920316; c=relaxed/simple; bh=UCisHMuxtAwW4uphlmL614TcUp9WjlCZlTIn0NRlWVg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ca4aW0Q8KNSyardU89YFWkf+h1OQB2yWqZhpwHzka0uGxwCb7WanUHiMv4ugeinIuKzZduFUPLO6jYnKHtikC4dw4u4ALrRParkLgj1I9ECXPNyRlXxDivdvQ0HZ4mm5HvHzSwf7KWy9gL8NZpBSpZ7mVTGdpr9dbW/+tQNrt08= 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=cfeIYatt; arc=none smtp.client-ip=209.85.210.180 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="cfeIYatt" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-76bf3dafaa5so4855172b3a.0; Mon, 11 Aug 2025 06:51:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920314; x=1755525114; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8BEwZHZ+L3ilTH9rJUZDkczC6u83Mtp4BtglFfrqDMI=; b=cfeIYattFbqR1zUV0njDiQTgXOV1pRm/wG6ewIsCEjP0d2DcsfiU8J7NIaGTEkUS7r hrW/YpUbXll6OHpusw5hMqRKvAVkdT3wSg4cwr0GH27DUNpNszQ/bbXkHLWM9WXAqBat fy4OGmYg4iUVMV0oUl7JuRwi4w1lD53IGFEqghAAYr4yPoSI//NZ+W37sdVzVrDcsUv6 fWpjHRtp+z4VQ4AhkS+vvCHLIG5t0sReHnJfdquAr30OrpS4oaqdFaZQai4IyW/3O+iY yqf2hLUV3nnOfmvPjw7TGE9AizZiGamodenmwa0MTZSOcSC5oOIgDOiM5OlHoGKgAkEf Uaww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920314; x=1755525114; 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=8BEwZHZ+L3ilTH9rJUZDkczC6u83Mtp4BtglFfrqDMI=; b=W0yu68K8zhItN8wbY1u78bkK7fKxSUR5Jv/GX6RMipf/HPaL94vSR/lRV13U1TG/sq U9EeM1GeAuAbLfwYLIVK9VxNvzPW73RagCW2+vfluTabbsu0MZXOFb43PYN3xFnLlOOG Ql69uB/LstR9nhdN6maa4iuckBZSYeAWlvHUkLphnGmfsFrfJOtXjxi/KJXNqvc2Kp6s Y0urTC5jNCi4DUeB6leSLgiB5jzZAyLaO/V1UA8GJI680KNNapEQtSwio94B+w8DvszI 8XPV4o7EouUpTzp1T+BQRamE0PgK4hZowi4z0U1xlaGnDqxhqnIUYhI3NcZwkD1szH0l exBA== X-Forwarded-Encrypted: i=1; AJvYcCWdWA6nwAyHzWz6R8nBKHnYlRJP67u1QJYu2Bl5tV/9Bxd9jG7GIpI+Cy8clKQe0RD7N9S5mdLw8N5iBFTI@vger.kernel.org, AJvYcCWnZ/aO/7JdHSNwCoI1lIvIXJfe0ynlXSe5uye5wzolG8oxuzLquEm2HfbrR34ClNxCZXvMXGDpvDzF@vger.kernel.org X-Gm-Message-State: AOJu0YwQuynnnmZuHF7sf+oI3UJEAObZ4KtufG0Ywi5W9FI2MvbyEI7p To7kpMn9INsreIea7rqhfebOR+ZROW8lNtcI7wW44d6B32Xk2Or4Ul99 X-Gm-Gg: ASbGncuf3RbW7T5LKQS/5TbB08JgfyMA4nwGVYr966Pe6ZRpTkT8WNsBfR6KDL5nJFS 8qFTHfJzxbhPNnivy+yBCQSiXy/dSvIoZCzbh7kdLx3WnD8AP9IgXVzQf+C6aAhWdvQtU3mki1l enpCtFp0n1qvPvJHSrCFsXBuEetCWHi6wZrayVeMinEF+pMKnFHmbTJQbwJY6CIfG9y0vUR3cpQ hC53y44T8uEN+mFo9w/Eu59RzBP53ZhSG3+pD7YaOviX75IX+RVl9nwJVBArjqLvhxuS/aBBu2m knzb7KRjISmazAB1CcOsc602CFHoVKEv9RTygKNSQ+BTKVvdkuYUTpjcUO4U19IY2IyfKGzikpi 8C4nbc1MhztDNcjohaDFY0xsdpjFpqAKz78rhxYTNT59l7XA= X-Google-Smtp-Source: AGHT+IGhE+hSwc9ysPvVz7jbqtKJ2dKarkpmwubjOr30BSYSqZyhNCYRQjTx26kCmxQPcCpm1AuJ8A== X-Received: by 2002:a05:6a20:12c9:b0:238:abe:6363 with SMTP id adf61e73a8af0-240412d3d1bmr30536141637.14.1754920314461; Mon, 11 Aug 2025 06:51:54 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:54 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:58 +0800 Subject: [PATCH 6/9] dt-bindings: nvme: apple,nvme-ans: Add Apple A11 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: <20250811-t8015-nvme-v1-6-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1310; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=UCisHMuxtAwW4uphlmL614TcUp9WjlCZlTIn0NRlWVg=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVR4bxz+MuUXxpiFshyYD6ViYMujQXc2DuHt +wsEwye3/iJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UQAKCRABygi3psUI JKqTEAC33mI1jzeS8VVyGFEq/BiQe/bhvXliEN4SdCe2Tf6qLrBRqeMCfat6HbLoCja4CbUVsSe Wemni/JKDF4aHY6dMInba1FQ5MCA8wxD3RTKkJEhbX9XWcY2DGJPEW+lBuwfq5IdtpdbGPpDpwj zkAFEHlpl8MUaWTG7GSm1OY0HqYFLEEuAIbYr6uEeKrBhI96Iwb0sg0WXb783y9dQ3ry3uE2UT+ OMuetIm7TibCt2bAlSkvgDYC72Rdt/curbxJ5Mdd9fRVB8aICuA0yKN0tan1nViX97O4TqKukNM oVh2gJgU1zt4axuYbPHfR+d1Mj5l+C2FYEP+rm1sP+0yG2HgGerJek2XpOjzLKissSw852P4/Vf imtGgV1Mud0iXKrxkEGPdyFX9+xWpSuN46Cld2ktxXGZuXmWOf56m00c3X++7B2KXGpITfnMwlH OmMc7flr9uQ7l/f17nBHDf8n5nEee9ymqZVYaHPqLPv0B1jRy1D/ZM8rCursoteS3Ll0lE5U0nl cJP6/uXAnYMBiRnM31x7J8vJErU1S39eSCcNR6Oitlpa35p+W6q6VQjcqTXtKks/fWGUrQk1u6H COIuCWyD+4hp5tNOO9FRIZRJTLU9mDzqtvNvjp8QZt6nU8K+yYRcd5SI3f/opD8MH7GOhyJoNjU cXMFsGdgsiST1Qw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add ANS2 NVMe bindings for Apple A11 SoC. Signed-off-by: Nick Chan --- .../devicetree/bindings/nvme/apple,nvme-ans.yaml | 15 +++++++++--= ---- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml b/D= ocumentation/devicetree/bindings/nvme/apple,nvme-ans.yaml index fc6555724e1858e8a16f6750302ff0ad9c4e5b88..4127d7b0a0f066fd0e144b32d1b= 676e3406b9d5a 100644 --- a/Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml +++ b/Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml @@ -11,12 +11,14 @@ maintainers: =20 properties: compatible: - items: - - enum: - - apple,t8103-nvme-ans2 - - apple,t8112-nvme-ans2 - - apple,t6000-nvme-ans2 - - const: apple,nvme-ans2 + oneOf: + - const: apple,t8015-nvme-ans2 + - items: + - enum: + - apple,t8103-nvme-ans2 + - apple,t8112-nvme-ans2 + - apple,t6000-nvme-ans2 + - const: apple,nvme-ans2 =20 reg: items: @@ -67,6 +69,7 @@ if: compatible: contains: enum: + - apple,t8015-nvme-ans2 - apple,t8103-nvme-ans2 - apple,t8112-nvme-ans2 then: --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) (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 7344320CCCC; Mon, 11 Aug 2025 13:52:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920323; cv=none; b=UIxlvkUAEy891c5jyiTKhLID9BINe3sQt7WNulfucMo54f6NgaUxzaHjRE0gw180dJUcf6wBjQeBs6GnlJhjldHF6+85J8ISiD2j/cM6VjzMxEAv/UOQrczgqIqq+UIFTpXl7DoZ+iL1AAviHxzsQIKUhfnVms00+o0FHpY6ha0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920323; c=relaxed/simple; bh=xwGRhjwxZQn3QrQFndXM6wysZnFGir1FPx3rOGoUXeI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d23FwGmWCKBXCz5J23GOnZC97Vq3q0UKPPcDZ6lnlC+Cz/ykBP7FKIJ/PC19Q5x7EwqgHqxZ2nmJJq9umJFNyqxGnMF9evVW+rLXGGC3yGfJ5e0XPCvv+0AVZqG4lP8Yh4GP4O3OvQJ4eU/HbvmQ3glbxL2oelu0Jk+poLmuyr8= 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=VVrj6sin; arc=none smtp.client-ip=209.85.215.172 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="VVrj6sin" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-b3bdab4bf19so3464939a12.2; Mon, 11 Aug 2025 06:52:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920321; x=1755525121; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=cyff53E7cWTqYFn1aBHJtSBwhGzOEO7QV9Injq+Dikg=; b=VVrj6sinuvW3rx1MnxNui5R2HOS4FBZ0qQwhqxVMfoQ3NZnZrzvq7WhFVY3G0l2W9e NzYBDVDEtFWnKIrhiD3NR5L4zsRVzmkKQDUcpZq3DTo3ArSRkmQztuS98BTX99/R/zWe 8sylAy8i1RNeXlvJc9I9U+fIPtVUMzG4HIY0rrtei7xQjXAtRdlRdC7B5Aez+BrECEqI Cvr9AYltHSxCMx6uKJshySyobxha2dESfpFUWOFP5L/4Z+PTsXEZjOzi0r/jhKs+RQ92 45MX1JtddZSW1VDul3CK1m0cqgIV/4Sggp6RyTScfrVt2TJ+D08P0VTBucPeOW6OahnC rMBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920321; x=1755525121; 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=cyff53E7cWTqYFn1aBHJtSBwhGzOEO7QV9Injq+Dikg=; b=qWOd0bGoXNRSorlyr/v+Ju2j1ws6P3PW7sLVFlyz0yePvLE0RV2uHBYVpsiL+qGbY1 emudIA6nIwlJFE1Oob67LkwwOXDRRT3s6H3K5iyaHzTLUE74ty5/+oy0KIw5q9aLUVrT XdeHMKLYDBDfvgK6Xk2F7c2wYXZc756+MLZE20sAQLXTQs62XooKwITn3qGb+r/vL4K4 46QYnfm05G3SETzdENuZFTYXXQ6qnEZ/1sq3x5Tb4wMgHQuxE14ZDHG+9p5ud4KrtOsE wgfRpyUVATb8MCUGZTc9ebeX0a3EZ1Mt7dWLn5QIwqNSFO4Xt+kbHpU10uVsUuisl2xF qLSw== X-Forwarded-Encrypted: i=1; AJvYcCUDItUr6cXn2VuNeKVAcad4HD06YVEpdgL65J1A8uFur759xRprzMtEkBRW9iAR16iVYQSLXCdxE0lXKdht@vger.kernel.org, AJvYcCXTN1x6bQabemkEUHl88jIs2mJxijdJWNjhvq3kXqTii+G3H8XrZuhAMFS91Trbz4+DtIEWwLSIGiCq@vger.kernel.org X-Gm-Message-State: AOJu0Yyn4Gq8fHJ/Ncw2MjsvhZiDAncS/ljD7IIMtYH1xjLb5KBHG2Nf AqxP6y8t+CyNnt0gh1AuJGcKqXAnM+Li0nteb7zIC2LglSr5iwmmo8sS4CiXzg== X-Gm-Gg: ASbGncv7eHaLA9RrdcNnFRyGnxZMVzjV/9k6dzkloD4LgirPUootQUh8m4akgoLKs+E 5hfoj1omK2KMq9mOn2ipHMEDcjKxDk2PuYkko3im8OIoqJlPYMsypQiHoGyWYN3d7xKHytyN5u9 H8rtzuVqP4KswDcr6MEmG2tF/GSJ24XKBk7Dffb1gcdJeWTsKkUskWv7AAm/a92HeH+AWkWAmIG WSS/DeGWRv1jzhQaI1WLZOCOt8fd11qVPU9VYP5fVKSv8KQwHULfG72J4yMBdfx3HcSRzNScgUp r1qb3owygncN7KSSDwYxdJDk8WnqfShuibYTSKvYubm3YpFiQEyj0Rfv8b0XuWpLIX8T2dpUJOn rGWgikNYYCBR4pvSY8yGYXjhcmV71P/I0OTBIIGozjjXgR8o= X-Google-Smtp-Source: AGHT+IHMbJveXjM2OcAcfnj4O53TSkST5LudUWzFJqSL/qRs9GyJ97dCzGpdD0lUES1JXHr4QEqGeg== X-Received: by 2002:a17:903:1106:b0:23f:cf96:3072 with SMTP id d9443c01a7336-242c21e08a1mr207855805ad.26.1754920320363; Mon, 11 Aug 2025 06:52:00 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.51.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:51:59 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:50:59 +0800 Subject: [PATCH 7/9] nvme: apple: Add Apple A11 support 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: <20250811-t8015-nvme-v1-7-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=14196; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=xwGRhjwxZQn3QrQFndXM6wysZnFGir1FPx3rOGoUXeI=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVRxsBWYSVn++HlYiYcXBcmochf7pFxFb1Tq laF892nGMiJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UQAKCRABygi3psUI JLYgEACUhzuRTtfMzSJBXNrmBiQOGSLilZH5n2uKlysZZsMQ5iMwV2qXiGFRGT7Bfo50ns1k/tV rnti2qRZFV041tw8lNbm2/crk0HJ+n+4/1omHC3cE5NxPC4RtVQx/XiCqXxrbuPEXu/wrgfuUq4 1Pvb7+qfcisI6fKz6WHeRnupDirnSHlHM9xFyAR0MUPr9CCfEqXzAWhiwVExPiixJHdAcuw9mCq OCHh9yf0NAqtrcQtvnjGC2rDKDU8hK4HNMZeNLeFzw0SgHIfrR3ppykYfAZGC4Vftv7NIO67eNR 5OTHJ7V+Ssewi1nbj2bsZR0NHD+SEqG5xtMEq4wLrBc1VpmESg8kR5n0WcDbCAHN0fEkL1ugA0O l0XpbYguwSMmv7ICo20F2wErBC2IAf7dwxWUVurWvjyB4VvQEMfqngDcABAwotI2mPNdfkw5Ld4 6nWbEd+rO40Fj1mKjX4A//vjmBY8xY5OoBHFKbnh9Wm3pUwO5BVcXI5YiRCwDJ3Ozg1h3pELeHB Djqh/WCdXxJxglsFHT+JbZCQZh9Qa30B4WrKp0Nu3D5Xhsck8ObBDd6g4fy+FN4SczylTtOWapE QEInhKTpCO5xD14g5kGOyD/F5g+oQKAxmxddXy7mQOdF0a8/Psw70CSD+TXno6MjODy26RyUPzp g8rxG0iEfwX4+ig== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for ANS2 NVMe on Apple A11 SoC. This version of ANS2 is less quirky than the one in M1, and does not have NVMMU or Linear SQ. However, it still requires a non-standard 128-byte SQE. Signed-off-by: Nick Chan --- drivers/nvme/host/apple.c | 228 +++++++++++++++++++++++++++++++-----------= ---- 1 file changed, 154 insertions(+), 74 deletions(-) diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c index 1286c31320e630cb012009d6b962526e0553869f..69f618c8f2e62e3b2dedf5fdf5c= c8c3f189c6578 100644 --- a/drivers/nvme/host/apple.c +++ b/drivers/nvme/host/apple.c @@ -35,7 +35,6 @@ #include "nvme.h" =20 #define APPLE_ANS_BOOT_TIMEOUT USEC_PER_SEC -#define APPLE_ANS_MAX_QUEUE_DEPTH 64 =20 #define APPLE_ANS_COPROC_CPU_CONTROL 0x44 #define APPLE_ANS_COPROC_CPU_CONTROL_RUN BIT(4) @@ -75,6 +74,8 @@ #define APPLE_NVME_AQ_DEPTH 2 #define APPLE_NVME_AQ_MQ_TAG_DEPTH (APPLE_NVME_AQ_DEPTH - 1) =20 +#define APPLE_NVME_IOSQES 7 + /* * These can be higher, but we need to ensure that any command doesn't * require an sg allocation that needs more than a page of data. @@ -142,6 +143,7 @@ struct apple_nvme_queue { u32 __iomem *sq_db; u32 __iomem *cq_db; =20 + u16 sq_tail; u16 cq_head; u8 cq_phase; =20 @@ -166,11 +168,17 @@ struct apple_nvme_iod { struct scatterlist *sg; }; =20 +struct apple_nvme_hw { + bool has_lsq_nvmmu; + u32 max_queue_depth; +}; + struct apple_nvme { struct device *dev; =20 void __iomem *mmio_coproc; void __iomem *mmio_nvme; + const struct apple_nvme_hw *hw; =20 struct device **pd_dev; struct device_link **pd_link; @@ -215,10 +223,12 @@ static inline struct apple_nvme *queue_to_apple_nvme(= struct apple_nvme_queue *q) =20 static unsigned int apple_nvme_queue_depth(struct apple_nvme_queue *q) { - if (q->is_adminq) + struct apple_nvme *anv =3D queue_to_apple_nvme(q); + + if (q->is_adminq && anv->hw->has_lsq_nvmmu) return APPLE_NVME_AQ_DEPTH; =20 - return APPLE_ANS_MAX_QUEUE_DEPTH; + return anv->hw->max_queue_depth; } =20 static void apple_nvme_rtkit_crashed(void *cookie, const void *crashlog, s= ize_t crashlog_size) @@ -284,21 +294,8 @@ static void apple_nvme_submit_cmd(struct apple_nvme_qu= eue *q, struct nvme_command *cmd) { struct apple_nvme *anv =3D queue_to_apple_nvme(q); - u32 tag =3D nvme_tag_from_cid(cmd->common.command_id); - struct apple_nvmmu_tcb *tcb =3D &q->tcbs[tag]; - - tcb->opcode =3D cmd->common.opcode; - tcb->prp1 =3D cmd->common.dptr.prp1; - tcb->prp2 =3D cmd->common.dptr.prp2; - tcb->length =3D cmd->rw.length; - tcb->command_id =3D tag; - - if (nvme_is_write(cmd)) - tcb->dma_flags =3D APPLE_ANS_TCB_DMA_TO_DEVICE; - else - tcb->dma_flags =3D APPLE_ANS_TCB_DMA_FROM_DEVICE; - - memcpy(&q->sqes[tag], cmd, sizeof(*cmd)); + struct apple_nvmmu_tcb *tcb =3D NULL; + u32 tag; =20 /* * This lock here doesn't make much sense at a first glance but @@ -311,7 +308,41 @@ static void apple_nvme_submit_cmd(struct apple_nvme_qu= eue *q, * and the final CQ update. */ spin_lock_irq(&anv->lock); - writel(tag, q->sq_db); + + if (anv->hw->has_lsq_nvmmu) { + tag =3D nvme_tag_from_cid(cmd->common.command_id); + } else { + tag =3D q->sq_tail; + q->sq_tail +=3D 1; + + if (q->sq_tail =3D=3D anv->hw->max_queue_depth) + q->sq_tail =3D 0; + } + + if (anv->hw->has_lsq_nvmmu) { + tcb =3D &q->tcbs[tag]; + + tcb->opcode =3D cmd->common.opcode; + tcb->prp1 =3D cmd->common.dptr.prp1; + tcb->prp2 =3D cmd->common.dptr.prp2; + tcb->length =3D cmd->rw.length; + tcb->command_id =3D tag; + + if (nvme_is_write(cmd)) + tcb->dma_flags =3D APPLE_ANS_TCB_DMA_TO_DEVICE; + else + tcb->dma_flags =3D APPLE_ANS_TCB_DMA_FROM_DEVICE; + } + + if (anv->hw->has_lsq_nvmmu || q->is_adminq) + memcpy(&q->sqes[tag], cmd, sizeof(*cmd)); + else + memcpy((void *)q->sqes + (tag << APPLE_NVME_IOSQES), cmd, sizeof(*cmd)); + + if (anv->hw->has_lsq_nvmmu) + writel(tag, q->sq_db); + else + writel(q->sq_tail, q->sq_db); spin_unlock_irq(&anv->lock); } =20 @@ -587,10 +618,17 @@ static inline void apple_nvme_handle_cqe(struct apple= _nvme_queue *q, { struct apple_nvme *anv =3D queue_to_apple_nvme(q); struct nvme_completion *cqe =3D &q->cqes[idx]; - __u16 command_id =3D READ_ONCE(cqe->command_id); struct request *req; =20 - apple_nvmmu_inval(q, command_id); + if (!anv->hw->has_lsq_nvmmu) + cqe->command_id--; + + __u16 command_id =3D READ_ONCE(cqe->command_id); + + if (anv->hw->has_lsq_nvmmu) + apple_nvmmu_inval(q, command_id); + else + command_id++; =20 req =3D nvme_find_rq(apple_nvme_queue_tagset(anv, q), command_id); if (unlikely(!req)) { @@ -685,7 +723,7 @@ static int apple_nvme_create_cq(struct apple_nvme *anv) c.create_cq.opcode =3D nvme_admin_create_cq; c.create_cq.prp1 =3D cpu_to_le64(anv->ioq.cq_dma_addr); c.create_cq.cqid =3D cpu_to_le16(1); - c.create_cq.qsize =3D cpu_to_le16(APPLE_ANS_MAX_QUEUE_DEPTH - 1); + c.create_cq.qsize =3D cpu_to_le16(anv->hw->max_queue_depth - 1); c.create_cq.cq_flags =3D cpu_to_le16(NVME_QUEUE_PHYS_CONTIG | NVME_CQ_IRQ= _ENABLED); c.create_cq.irq_vector =3D cpu_to_le16(0); =20 @@ -713,7 +751,7 @@ static int apple_nvme_create_sq(struct apple_nvme *anv) c.create_sq.opcode =3D nvme_admin_create_sq; c.create_sq.prp1 =3D cpu_to_le64(anv->ioq.sq_dma_addr); c.create_sq.sqid =3D cpu_to_le16(1); - c.create_sq.qsize =3D cpu_to_le16(APPLE_ANS_MAX_QUEUE_DEPTH - 1); + c.create_sq.qsize =3D cpu_to_le16(anv->hw->max_queue_depth - 1); c.create_sq.sq_flags =3D cpu_to_le16(NVME_QUEUE_PHYS_CONTIG); c.create_sq.cqid =3D cpu_to_le16(1); =20 @@ -970,11 +1008,13 @@ static const struct blk_mq_ops apple_nvme_mq_ops =3D= { static void apple_nvme_init_queue(struct apple_nvme_queue *q) { unsigned int depth =3D apple_nvme_queue_depth(q); + struct apple_nvme *anv =3D queue_to_apple_nvme(q); =20 q->cq_head =3D 0; q->cq_phase =3D 1; - memset(q->tcbs, 0, - APPLE_ANS_MAX_QUEUE_DEPTH * sizeof(struct apple_nvmmu_tcb)); + if (anv->hw->has_lsq_nvmmu) + memset(q->tcbs, 0, + anv->hw->max_queue_depth * sizeof(struct apple_nvmmu_tcb)); memset(q->cqes, 0, depth * sizeof(struct nvme_completion)); WRITE_ONCE(q->enabled, true); wmb(); /* ensure the first interrupt sees the initialization */ @@ -1069,49 +1109,56 @@ static void apple_nvme_reset_work(struct work_struc= t *work) =20 dma_set_max_seg_size(anv->dev, 0xffffffff); =20 - /* - * Enable NVMMU and linear submission queues. - * While we could keep those disabled and pretend this is slightly - * more common NVMe controller we'd still need some quirks (e.g. - * sq entries will be 128 bytes) and Apple might drop support for - * that mode in the future. - */ - writel(APPLE_ANS_LINEAR_SQ_EN, - anv->mmio_nvme + APPLE_ANS_LINEAR_SQ_CTRL); + if (anv->hw->has_lsq_nvmmu) { + /* + * Enable NVMMU and linear submission queues. + * While we could keep those disabled and pretend this is slightly + * more common NVMe controller we'd still need some quirks (e.g. + * sq entries will be 128 bytes) and Apple might drop support for + * that mode in the future. + */ + writel(APPLE_ANS_LINEAR_SQ_EN, + anv->mmio_nvme + APPLE_ANS_LINEAR_SQ_CTRL); =20 - /* Allow as many pending command as possible for both queues */ - writel(APPLE_ANS_MAX_QUEUE_DEPTH | (APPLE_ANS_MAX_QUEUE_DEPTH << 16), - anv->mmio_nvme + APPLE_ANS_MAX_PEND_CMDS_CTRL); + /* Allow as many pending command as possible for both queues */ + writel(anv->hw->max_queue_depth | (anv->hw->max_queue_depth << 16), + anv->mmio_nvme + APPLE_ANS_MAX_PEND_CMDS_CTRL); =20 - /* Setup the NVMMU for the maximum admin and IO queue depth */ - writel(APPLE_ANS_MAX_QUEUE_DEPTH - 1, - anv->mmio_nvme + APPLE_NVMMU_NUM_TCBS); + /* Setup the NVMMU for the maximum admin and IO queue depth */ + writel(anv->hw->max_queue_depth - 1, + anv->mmio_nvme + APPLE_NVMMU_NUM_TCBS); =20 - /* - * This is probably a chicken bit: without it all commands where any PRP - * is set to zero (including those that don't use that field) fail and - * the co-processor complains about "completed with err BAD_CMD-" or - * a "NULL_PRP_PTR_ERR" in the syslog - */ - writel(readl(anv->mmio_nvme + APPLE_ANS_UNKNOWN_CTRL) & - ~APPLE_ANS_PRP_NULL_CHECK, - anv->mmio_nvme + APPLE_ANS_UNKNOWN_CTRL); + /* + * This is probably a chicken bit: without it all commands where any PRP + * is set to zero (including those that don't use that field) fail and + * the co-processor complains about "completed with err BAD_CMD-" or + * a "NULL_PRP_PTR_ERR" in the syslog + */ + writel(readl(anv->mmio_nvme + APPLE_ANS_UNKNOWN_CTRL) & + ~APPLE_ANS_PRP_NULL_CHECK, + anv->mmio_nvme + APPLE_ANS_UNKNOWN_CTRL); + } =20 /* Setup the admin queue */ - aqa =3D APPLE_NVME_AQ_DEPTH - 1; + if (anv->hw->has_lsq_nvmmu) + aqa =3D APPLE_NVME_AQ_DEPTH - 1; + else + aqa =3D anv->hw->max_queue_depth - 1; aqa |=3D aqa << 16; writel(aqa, anv->mmio_nvme + NVME_REG_AQA); writeq(anv->adminq.sq_dma_addr, anv->mmio_nvme + NVME_REG_ASQ); writeq(anv->adminq.cq_dma_addr, anv->mmio_nvme + NVME_REG_ACQ); =20 - /* Setup NVMMU for both queues */ - writeq(anv->adminq.tcb_dma_addr, - anv->mmio_nvme + APPLE_NVMMU_ASQ_TCB_BASE); - writeq(anv->ioq.tcb_dma_addr, - anv->mmio_nvme + APPLE_NVMMU_IOSQ_TCB_BASE); + if (anv->hw->has_lsq_nvmmu) { + /* Setup NVMMU for both queues */ + writeq(anv->adminq.tcb_dma_addr, + anv->mmio_nvme + APPLE_NVMMU_ASQ_TCB_BASE); + writeq(anv->ioq.tcb_dma_addr, + anv->mmio_nvme + APPLE_NVMMU_IOSQ_TCB_BASE); + } =20 anv->ctrl.sqsize =3D - APPLE_ANS_MAX_QUEUE_DEPTH - 1; /* 0's based queue depth */ + anv->hw->max_queue_depth - 1; /* 0's based queue depth */ anv->ctrl.cap =3D readq(anv->mmio_nvme + NVME_REG_CAP); =20 dev_dbg(anv->dev, "Enabling controller now"); @@ -1282,8 +1329,9 @@ static int apple_nvme_alloc_tagsets(struct apple_nvme= *anv) * both queues. The admin queue gets the first APPLE_NVME_AQ_DEPTH which * must be marked as reserved in the IO queue. */ - anv->tagset.reserved_tags =3D APPLE_NVME_AQ_DEPTH; - anv->tagset.queue_depth =3D APPLE_ANS_MAX_QUEUE_DEPTH - 1; + if (anv->hw->has_lsq_nvmmu) + anv->tagset.reserved_tags =3D APPLE_NVME_AQ_DEPTH; + anv->tagset.queue_depth =3D anv->hw->max_queue_depth - 1; anv->tagset.timeout =3D NVME_IO_TIMEOUT; anv->tagset.numa_node =3D NUMA_NO_NODE; anv->tagset.cmd_size =3D sizeof(struct apple_nvme_iod); @@ -1307,6 +1355,7 @@ static int apple_nvme_queue_alloc(struct apple_nvme *= anv, struct apple_nvme_queue *q) { unsigned int depth =3D apple_nvme_queue_depth(q); + size_t iosq_size; =20 q->cqes =3D dmam_alloc_coherent(anv->dev, depth * sizeof(struct nvme_completion), @@ -1314,22 +1363,29 @@ static int apple_nvme_queue_alloc(struct apple_nvme= *anv, if (!q->cqes) return -ENOMEM; =20 + if (anv->hw->has_lsq_nvmmu) + iosq_size =3D depth * sizeof(struct nvme_command); + else + iosq_size =3D depth << APPLE_NVME_IOSQES; + q->sqes =3D dmam_alloc_coherent(anv->dev, - depth * sizeof(struct nvme_command), + iosq_size, &q->sq_dma_addr, GFP_KERNEL); if (!q->sqes) return -ENOMEM; =20 - /* - * We need the maximum queue depth here because the NVMMU only has a - * single depth configuration shared between both queues. - */ - q->tcbs =3D dmam_alloc_coherent(anv->dev, - APPLE_ANS_MAX_QUEUE_DEPTH * - sizeof(struct apple_nvmmu_tcb), - &q->tcb_dma_addr, GFP_KERNEL); - if (!q->tcbs) - return -ENOMEM; + if (anv->hw->has_lsq_nvmmu) { + /* + * We need the maximum queue depth here because the NVMMU only has a + * single depth configuration shared between both queues. + */ + q->tcbs =3D dmam_alloc_coherent(anv->dev, + anv->hw->max_queue_depth * + sizeof(struct apple_nvmmu_tcb), + &q->tcb_dma_addr, GFP_KERNEL); + if (!q->tcbs) + return -ENOMEM; + } =20 /* * initialize phase to make sure the allocated and empty memory @@ -1413,6 +1469,12 @@ static struct apple_nvme *apple_nvme_alloc(struct pl= atform_device *pdev) anv->adminq.is_adminq =3D true; platform_set_drvdata(pdev, anv); =20 + anv->hw =3D (const struct apple_nvme_hw *)of_device_get_match_data(&pdev-= >dev); + if (!anv->hw) { + ret =3D -ENODEV; + goto put_dev; + } + ret =3D apple_nvme_attach_genpd(anv); if (ret < 0) { dev_err_probe(dev, ret, "Failed to attach power domains"); @@ -1444,10 +1506,17 @@ static struct apple_nvme *apple_nvme_alloc(struct p= latform_device *pdev) goto put_dev; } =20 - anv->adminq.sq_db =3D anv->mmio_nvme + APPLE_ANS_LINEAR_ASQ_DB; - anv->adminq.cq_db =3D anv->mmio_nvme + APPLE_ANS_ACQ_DB; - anv->ioq.sq_db =3D anv->mmio_nvme + APPLE_ANS_LINEAR_IOSQ_DB; - anv->ioq.cq_db =3D anv->mmio_nvme + APPLE_ANS_IOCQ_DB; + if (anv->hw->has_lsq_nvmmu) { + anv->adminq.sq_db =3D anv->mmio_nvme + APPLE_ANS_LINEAR_ASQ_DB; + anv->adminq.cq_db =3D anv->mmio_nvme + APPLE_ANS_ACQ_DB; + anv->ioq.sq_db =3D anv->mmio_nvme + APPLE_ANS_LINEAR_IOSQ_DB; + anv->ioq.cq_db =3D anv->mmio_nvme + APPLE_ANS_IOCQ_DB; + } else { + anv->adminq.sq_db =3D anv->mmio_nvme + NVME_REG_DBS; + anv->adminq.cq_db =3D anv->mmio_nvme + APPLE_ANS_ACQ_DB; + anv->ioq.sq_db =3D anv->mmio_nvme + NVME_REG_DBS + 8; + anv->ioq.cq_db =3D anv->mmio_nvme + APPLE_ANS_IOCQ_DB; + } =20 anv->sart =3D devm_apple_sart_get(dev); if (IS_ERR(anv->sart)) { @@ -1625,8 +1694,19 @@ static int apple_nvme_suspend(struct device *dev) static DEFINE_SIMPLE_DEV_PM_OPS(apple_nvme_pm_ops, apple_nvme_suspend, apple_nvme_resume); =20 +static const struct apple_nvme_hw apple_nvme_t8015_hw =3D { + .has_lsq_nvmmu =3D false, + .max_queue_depth =3D 16, +}; + +static const struct apple_nvme_hw apple_nvme_t8103_hw =3D { + .has_lsq_nvmmu =3D true, + .max_queue_depth =3D 64, +}; + static const struct of_device_id apple_nvme_of_match[] =3D { - { .compatible =3D "apple,nvme-ans2" }, + { .compatible =3D "apple,t8015-nvme-ans2", .data =3D &apple_nvme_t8015_hw= }, + { .compatible =3D "apple,nvme-ans2", .data =3D &apple_nvme_t8103_hw }, {}, }; MODULE_DEVICE_TABLE(of, apple_nvme_of_match); --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 DA94719DF5F; Mon, 11 Aug 2025 13:52:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920328; cv=none; b=WSHC81sj5F2zhceESbbEBp1kCaczGXFxAwstm7Ab9ep3BbTI6mD5XCUOMYirRZvW0PKu+Tw6dXD4CRqwXs8bPETterDMtIwLMNR1qvOFGAFzRq6YKazgUQlJDyULAcdAwEq9A80OwSQNc19Nu129ElJ1QfYlqCsA4t72rpP/BjQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920328; c=relaxed/simple; bh=pTUWkvNCIyhLcProl9XhpfAEq16p+fwv6rNm58M87Cc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mmNpqL8hHDC+MzmVtdMG14HPNCTWD7Fk1YcuwYxtbJNHDXgr6ixzVR6yYq0h03hHk4/j1OaTLJ22csA/MOpPy+vD6do/bvcmGYdcNOgHf8sTndNGcY9blKOPkIl5ji5s+QIpYNIyIjRHXyi/c/xvxNd0AtlWW2pQT0XPNqmdE20= 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=UMxQ6pKW; arc=none smtp.client-ip=209.85.214.178 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="UMxQ6pKW" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-242d3ba2b44so12818185ad.3; Mon, 11 Aug 2025 06:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920326; x=1755525126; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=7jrUSLF8HrmgX2IqYpc6hu8jyDWmvx8chNYfkelzvuE=; b=UMxQ6pKWpTY8UmbONnWaevCA9SeTr63A3zfFv9C4YVKrEP3HCWma5+8aqr6EZrUCSE PVfSw++OJHuduF+2sGhjtMjsEKJp0M+d+fMWtnBywG5+HStq1y3tFvc5dcbWwXIZ5raZ /7LVlq9Eze5ntJfChZsv/1kZlRdkORJa4BUp1pZL65Kuz4noYt71U5D8JPP4wYQrn3+4 NL0pQiW9c6qLxQfYjAs2yz8YdLb15vdcj/XQb/TfLBSKTgTqa1D0wWclb4IzGjIoFwLu L+hyg5Y/Y9vF3OpRj/dZQHRJp03CoN5uSMd0Mqm43guN9rpNYF1H7bz50Yp2ZBXZ8dQx 8BqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920326; x=1755525126; 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=7jrUSLF8HrmgX2IqYpc6hu8jyDWmvx8chNYfkelzvuE=; b=ADDcs/NrlLgqOSWCU2qqTbGsCjbXFJZ5x69S/DZkRvdRpiJVmXEFXO73qdYrKNGKBd xsf6CQDrH4jKfMznbgA4ZQ9h4mSXY4wTBjV5JRy6u6dS2Nb4lUUn2N6Ve7qHdR/ocKgb Gz40yjqDClF7Mc4AoTR2VkMAG3rHehHSkvrvt2OK+thrij+DxJSuj86Kh09CjBRm6AIu t7YuPai5YD+fYdMy976975tSh1fmp4ars5mryKI6IjLxFpyMNmn6Z4M1z5rbBBRZE5HV QcDgtFKTpvfk97nM8C6NAZmnfvs6U9Qz2Pk45kybw/2DN/Wgz1cNz6fCFmZcQgydmJod sYdA== X-Forwarded-Encrypted: i=1; AJvYcCVoJ3afCTlzGMX5QNRGKFKkdTXFXXV30Ji5ekmFooHWB0LnOQnzryC+xBH4+Qi+oIN7X5ViDxkA2RGI@vger.kernel.org, AJvYcCWDhi9bp04ySzJuam4LyaN6aZPCw1BbUe3TjeEA3XDQhoMPFvB0N1CkW7LPvgEwmgnKnGHm3GYomsaOVpXi@vger.kernel.org X-Gm-Message-State: AOJu0YweqPsFBPhpVgL9gNokAP/quLy7SGi+zjKEmSDPdnrD8rhW4s5q 3RfHzffFKzY51l/sBy/FIGrfL4QTvMzQ/FwnuCyXDPiH4y9oYIbUHi52 X-Gm-Gg: ASbGnct0z2Fd4eohSyZu+QFs5icWhkItD7N4L9SGA5V7OAe/Z7zpZADTD+MQOMn7GZH aEqliJipOQo9g6nguMzPfzm1g0FFIvjYOzp/x7P63JpQ+qXVjt+v7eAVAcnhzJhveU82WYosjEt RmdU7a9DeGDyUhTh/7dlsikJpuQUQS2n50jRDAcUaW1lCNfWMNDjYMrPCV4Qb8Yvhbd2V/sYT1z oHdzVK+jWKpUqxh0c5x+F47segNlRMV6BrUecb+g4JiyJHbLO4EZS/inEw+OdUxKACkkTzHR1H8 DlYB1YHtEmUFXpbBI//vDpIrY+Lp/K8UA4L5jnBqao59+gkpzn1f+I7Kw8GMaxl+69TPrmmomeE gCPkyQn2q3n7mXZdK166uIF+0PHZCjeWlTsrlPhHlRsiLVdo= X-Google-Smtp-Source: AGHT+IFgm4RzzzE6J5r3iBNe2NZOigsbOyh949b8qoEAVuFdNMyuLJZ2th5tpGzARJNLzEYMcYkYag== X-Received: by 2002:a17:903:4407:b0:240:1f19:d35c with SMTP id d9443c01a7336-242c2209b65mr207786575ad.39.1754920326147; Mon, 11 Aug 2025 06:52:06 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.52.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:52:05 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:51:00 +0800 Subject: [PATCH 8/9] arm64: dts: apple: t8015: Fix PCIE power domains dependencies 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: <20250811-t8015-nvme-v1-8-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=798; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=pTUWkvNCIyhLcProl9XhpfAEq16p+fwv6rNm58M87Cc=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVRpulWh4MRp5/M2zxFrKVaLRt4h6MaA0rMR +QTSNA7W/uJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UQAKCRABygi3psUI JIJaD/4ole1VdYaF3B3syLR82Nf1oZ+zvyPX4nskCUA+dlYnOPXR/DgGgwNxxRkSfTJkWvTjxEf b/sUDSZQzdnbdO60VfzpXw4yaBcWWMvjnMcisU/kBxYW90no9davink9VsL/5jjY+X9DegWBdsx I3DTjjBi7hIUc90SZF/sd6SULA87lmyM0rrfNORPgcTKNBalPldknE+rIs0Iv5fBdNId9vdsmAX 4UDOjEE/PMVO4cOYCth+kP1Iz0I50BftFGakkSEObwVzMkbXnt9NcaQYmnLmmqwhXtTHuJ7NY3n Fwlu9wDTRKWV8rsMB6gwlDC9ZnuMi0Ndlnc/1zHfkDi1YqAUa3vK3qZd8qsvPAHe+iUzjpq0gGD 5jVIga74uOTkS2de52aBK1M8Cpn3Ln3xyWrRhyPEdtUzjx0DlmRnXcGjUt0V+ObyGINdSbs6BEc Ab6qBtZpNDDYaqUqxnC5V/o7qCHfK7RlXPVVw/NPISdXxDbkhvrOIqmXJW2FuN7mFgb0iRpPXuA 6VMBCnxr5sWvKMPlEV8vyGAIZE7JuznOvv4DbzUwedcsKItgSQ5KT6mujiB8nloLKwI4hWJ8/f6 0MTe4J1fFcTItTHtf341IPux0FyNTG62adT4oNHIWATLDI/I5In4VM9rm4UHUmADSeqjBqTeLrA yu74lDeSmi/0JkA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Fix the dependency topology of PCIE power domain nodes, as required by ANS2 NVME controller. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8015-pmgr.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/apple/t8015-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t8015-pmgr.dtsi index e238c2d2732f7944dc1f984a4eb647ba212b9ea5..1d8da9c7863e5b7a732888342de= 9d481f309edd8 100644 --- a/arch/arm64/boot/dts/apple/t8015-pmgr.dtsi +++ b/arch/arm64/boot/dts/apple/t8015-pmgr.dtsi @@ -658,6 +658,7 @@ ps_pcie: power-controller@80318 { #power-domain-cells =3D <0>; #reset-cells =3D <0>; label =3D "pcie"; + power-domains =3D <&ps_pcie_aux>, <&ps_pcie_direct>, <&ps_pcie_ref>; }; =20 ps_pcie_aux: power-controller@80320 { --=20 2.50.1 From nobody Sun Oct 5 00:12:00 2025 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (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 B6A991E25EF; Mon, 11 Aug 2025 13:52:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920334; cv=none; b=poy0GaBEs3v0iKorV0dkxy1Yo6gd/s8jVO5rpCkhZmlKpVY8O7Xtw7HlUkrNxJ3c8SmcON1qXaJKvCeXBZmUfwmzo6AYvr5+PxJ/6cjtN3xcoFd2xDuv1cCo3nZpigSYRoDwgip2v4xL1hehBoO4u3ZTT472UBZUwfbXtcI5jr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754920334; c=relaxed/simple; bh=W450nZF9q8zgSwZAzN00gO+pHroqymkBwDRdi0GaMOE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rKbixWnh9kpQ6oFjes0rYOxzFRduzwCy131KeafCeA+0pWZzBabGrFbANsw4K/+WHcEhCbQMupai0wXm2RckJwbqeCBqt+mIUl+3fIVxW3HfnhAFuGb1e6mqZcI7h8ETLJtWbCwPLtJBDkIhMDFS+aeZPJdouKU4AfwwMSNSQec= 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=aEigY2uV; arc=none smtp.client-ip=209.85.215.182 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="aEigY2uV" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-b4255b4d8f9so2871423a12.0; Mon, 11 Aug 2025 06:52:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754920332; x=1755525132; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=F9SU02hcw6WNKVO382VnK0doOc9DExiucOzxMaULtIk=; b=aEigY2uV0fgHTS/8wcswgq0INht7rj4aD//4JHHrHYnHawloWjLSRsbrtVd8q59OHH 82O+020oHJ5Y33J/rASxk1zPbcnI05FmR2JLXsfqnf9CLRjdSWFGUEJs0yiFhyLq6+my 0o1axjV4+cuY87+eTUemhf4RU4Ipn+8culR1rRjSzq7OYFEUsXdHCjKI391+/kbOV77k bHkhWZplZGe32K7d9JFnX1mlPY1xR7dMufv52jWO1uRI9UM+k6jTu0t52G5gfpgTTE2l PwSffhFPyBDyB5aALJR6qbf8RX+mbCZP3UgH53I6hV3SoLon3eKU8XU+TWeGK68lLO6e VkKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754920332; x=1755525132; 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=F9SU02hcw6WNKVO382VnK0doOc9DExiucOzxMaULtIk=; b=FhvtVwTuKhO3VlTz9grXLZ/Y0zHSyz4SYo2zW/7mqwI9IdiFIfzs09wgbW4u6n/KIi fHVq2XxuU40PNVyfupvJeJpOUPb1AV/KkpChYfRzYAF6i9utGX/wBu7jkayR8J/tfES5 ciRF0d+FlaAT7wh68Id4jRA32haIk0tP/GI2FGzIwxcM7s2ObjpswwBa7Ur4B7ajwj3I wkkETEtSmKRlqzlYfKBzS/m8BiKB+LP1AfIkliVCkwKAtPmSJf/K7X/JKn5DKBP8CtuD 0c5CLUhO8wqRut87UR7ha5sCgH39rxTh2A4AHAmBVPt4Z3BcRPiEVMWtk/mkYxdhfk/e +zmA== X-Forwarded-Encrypted: i=1; AJvYcCUAW71nSOHvkiusSX+nHKhfqjBLMV4EpSNWRuXH/vQeR3pSnwzDSMG8aGYiU6yiv3lmAuoVMzBLKUAW86UG@vger.kernel.org, AJvYcCV8WyE2R8pAR437Jjv3pKQg7SRKtWa3ogURJMM5UJYzlQ4U5ZualJgSrCRP5T87ZKdnPxxE8yD2wowC@vger.kernel.org X-Gm-Message-State: AOJu0YypDhqQJ74UOrWZOyrekC5OK2VImj8+v3bD4VYqRNdJbRkoeo7w D1zfrFNB36eGUVI6hqRmASw82UCQs/z7sPE/1J5a+/TR/7bTtXLVSEMZ X-Gm-Gg: ASbGncuRR5wPaka/KHiZOXNv/M+m5lvSGCICgFQyfgtvPQltxHpiqYeCayHcuC9cFqm enDf5943WLphF8hs4KEWybKROdMVkblAXeyVZSBcKqm9YFHm9lxLJWYfkCoFPnO3jLcgoZllqNm uDnJBQMuJIfHRmfz4PAEm+uqkRXgIV7ny1/Ek0ej1v7Bus20KLOrgBTkELjKI/MRNhN4FTAp++I 7so2/19yKakO1IBxuzZ1tr3XiWOMPWkvS9GR/3UGg7oxC3IfKUZp58RsiB2lQ0VWb0+x+OqCpXo LzzmJtUv/P/WdtCi8XeSM/UuEMAyH0hhXrmD+LC5a6igs0U3GYKTtI/Wr27JvPngtJ315DPuP77 Zw/OP0Lfj08EGI1qegmvWf/29qs8uiLFqMy1Ou+IPBnuZKy4= X-Google-Smtp-Source: AGHT+IHsxIyDM9j4Z56s2PC1p2LLkjNdobtNOeiBJ+4IdAtlR71OsGV/hp5bGiCrntnf6+2PClAPZw== X-Received: by 2002:a17:902:fc87:b0:23f:ade1:2227 with SMTP id d9443c01a7336-242c1fdb174mr191343675ad.12.1754920331944; Mon, 11 Aug 2025 06:52:11 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b422b7b2700sm23504993a12.15.2025.08.11.06.52.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 06:52:11 -0700 (PDT) From: Nick Chan Date: Mon, 11 Aug 2025 21:51:01 +0800 Subject: [PATCH 9/9] arm64: dts: apple: t8015: Add NVMe nodes 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: <20250811-t8015-nvme-v1-9-ef9c200e74a7@gmail.com> References: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> In-Reply-To: <20250811-t8015-nvme-v1-0-ef9c200e74a7@gmail.com> To: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Jassi Brar , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Hector Martin , Joerg Roedel , Will Deacon , Robin Murphy , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, Nick Chan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1720; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=W450nZF9q8zgSwZAzN00gO+pHroqymkBwDRdi0GaMOE=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBomfVRGHgf36cod0yWTvzYD2KxQiswdaxCj9aUt tnU+n5OXvSJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaJn1UQAKCRABygi3psUI JMovEACF05H0isL+zJmzsPyQ+OL+CT/ADfwinwpz+nd6NB3OCFBCrxMDJrsuBwHrK+qRDxrFkJ1 MgPJTnTKHdAwcncxg0XAvPwwjkOw1mGsAlhdkfH0DB0PR7RBHQOnwn30fn72ANfuvmv5mibqJGS Nn0swtMKc5++lCZGmJCvsEohtABmLqP6NBTDOlw3R9iqYFARLmIThIO+G891QQkvmKHU4aE6FvR 2lcw7W0MEMVTDi9HPA0IVC8FWoYEsiMeGm3GtSW5ih+1K0EK9YzJQjecCS8xhxEzi2IEWmDaJpY jpcBaoqzgBKLXU7haCecTUccUhDZGnr36FwEUG6QRye6WUNi1WFmdHHZRlWb4mhG4wokiqD0vSh TuA5lKdme1ZatKrQO5t1+3CgbWQrq74KScqjwSBm/LxHRw7gv7JMo0Xbv+a73FZ825cTjkNBj0X 4kf8iE2o6Py54WsrEW5MlcWm0fTEGiTjmbwtcx+9Z3/ESNqTJ9kX52B8hqbbcfryK4SnPGmpsDD W01JLE+28XAeqkgCAHACHicCRA817HiQxJxK311b67cN1H/ye1nrD6EyF7qunCM3N3PPE0d1C/o u7pD3rg+pwSBVuwnLaYv+d6Elz0RWwHCtox3IaIF8aI+kv6mKysVNpZqVdd+5lbXGtrNeyavCD8 CPIZJYWQS4uWqtw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add nodes for NVMe and associated mailbox and sart for Apple A11 SoC. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8015.dtsi | 34 ++++++++++++++++++++++++++++++++= ++ 1 file changed, 34 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8015.dtsi b/arch/arm64/boot/dts/app= le/t8015.dtsi index 12acf8fc8bc6bcde6b11773cadd97e9ee115f510..84acf2839fb6279dcc956e1f4ce= e1afa909d2f27 100644 --- a/arch/arm64/boot/dts/apple/t8015.dtsi +++ b/arch/arm64/boot/dts/apple/t8015.dtsi @@ -402,6 +402,40 @@ pinctrl_smc: pinctrl@236024000 { */ status =3D "disabled"; }; + + ans_mbox: mbox@257008000 { + compatible =3D "apple,t8015-asc-mailbox"; + reg =3D <0x2 0x57008000 0x0 0x4000>; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + , + ; + interrupt-names =3D "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells =3D <0>; + power-domains =3D <&ps_ans2>; + }; + + sart: iommu@259c50000 { + compatible =3D "apple,t8015-sart"; + reg =3D <0x2 0x59c50000 0x0 0x10000>; + power-domains =3D <&ps_ans2>; + }; + + nvme@259cc0000 { + compatible =3D "apple,t8015-nvme-ans2"; + reg =3D <0x2 0x59cc0000 0x0 0x40000>, + <0x2 0x59d20000 0x0 0x2000>; + reg-names =3D "nvme", "ans"; + interrupt-parent =3D <&aic>; + interrupts =3D ; + mboxes =3D <&ans_mbox>; + apple,sart =3D <&sart>; + power-domains =3D <&ps_ans2>, <&ps_pcie>; + power-domain-names =3D "ans", "apcie0"; + resets =3D <&ps_ans2>; + }; }; =20 timer { --=20 2.50.1