From nobody Sat Oct 4 00:28:12 2025 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 592A9275B0D; Thu, 21 Aug 2025 15:57:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791844; cv=none; b=YItlyHo9orhIVLr26W93cAbshuDmQX5hUjx0YS6afl+OasAzK6Fk69cCWg+B1zXchDW8Y8H3pLAQ2mLk9FyI6QQ1bD/7Fav9DjgPvhDfBEHXrepfvxA48i30tvVSnvB/D/HtAB3DG/xAyYMhd687JU9TISiHu3O58j/U6fnvK54= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791844; c=relaxed/simple; bh=aT4t5F2y67HWgbmENf4vzAFYl2ef4GaofSdzJe/3ZlA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MGY8J4mzlgcw+6N51SMVMLF14+lS83463zSrgfakSeRK4UUxjyCoBZXazSp4iJ7Isps5uhR/MUC3LVB41kt0YoEY/j+xlfIHnZjxUNAuS61N0awaGi9whvEAnN5YTKJCe54FNvWhCo3U+VoIrzB6I8aKF1ZvfBsGLrZlC3A2Ss4= 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=hmjJNJmv; arc=none smtp.client-ip=209.85.216.51 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="hmjJNJmv" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-321cfa7ad29so1747731a91.1; Thu, 21 Aug 2025 08:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791843; x=1756396643; 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=4j3UGmCjPkpS1tmosPSouCHG7oP/SURnr100ibkxKMQ=; b=hmjJNJmvaY3f3f00j/nlRicgkt+bk1+yqT92l3rxFC2ZV2rPoL6P9QplKW+cBE5XXd BgYXoX025gZE0FUGv82LIV7XrMBwqGN3JswrOcK5xMGhSAwpKeRsp9QTwQsxHQsnmAQ6 iWaZGw2ib/q2geqehjMmH706wvSABJxqTgee30PTn/ETb16LJNx/nh+6svZRz9iq5mg+ EnEQP5bC5NdjDlmSt16kRqZQ9El4fqr3RLYvPA4T7b1ofcALQ5VsIH3N/glfZAmwShQU P7Gsio1O7EG8P5lJK4acWvR5XwuAHm+2M0NEpmsw//Lo7MsOlLMHwUfC3LVV07mfik8v nPRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791843; x=1756396643; 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=4j3UGmCjPkpS1tmosPSouCHG7oP/SURnr100ibkxKMQ=; b=dgtAoS04YGKKDV9caC3478P9zAEf8EGVyGusluLysUHUrnFDSD2liPOB/MwIl7ZBZl 7rULrz2oCh13KKs/vGhb6ubzjEH8I2uuJqeWgQFT63DWucX3I5e1kHR7wHLTMeNGWZAN JIq0YUgbdO6IxcGCqh0INE2Zr55B0VVoirevqeHFVmHFD9ymjteqLkOdpqIrXZa5epCx VFJvfM6hckBtPRMYerK+m8ggF4hVbge13jeKQugSHxQOx8UIugR3QILXS111wll6+wo9 vJo01yBovPJ1Cnu9L5Ystz+e/wsoL8lXaUNkXs4sYnKut30jnVRVNd1J5A/p4ChEQmSn HPDg== X-Forwarded-Encrypted: i=1; AJvYcCWu6F+LCZkRrCEJUnlx6HmMNKPcSDLpj13PGKSLj03IFCTXpxDMvyZFq/uQ8ljtzTpsdJSmF/PMXu2wlqBD@vger.kernel.org, AJvYcCX3SuCVKHmzzPWA7YOxykSuE4a4+5kmOsHAFgo/NZqVcvlTgwbqMWj702fVomTvK9QkbGfSRdv1XElz@vger.kernel.org X-Gm-Message-State: AOJu0Yyq2OUmAR0pW5ByzmpZVG5IqkSUokLw3L2dv6lAJIQfKTvEq7qk hBgGO0zAVGwGFOarfJeAAwMi4MePPM4qULlekOtMER9K+XljQmafpRCa X-Gm-Gg: ASbGncv8JVqYRT0QJeFwf6eFG4fgSlMvUaQ6xT47o0V3R/KQhjZSkwuq/hvAufxajMo KnXjnrm9VSRifWjON/xTHgRDIxrNGOBTDXYjLAe6lfcTjz2gEas66rp8Dt5LUDCRPnnjd6YofPY RsrNw//4h0upo41TwBOCjxbcGfBWfRCdFXwC/0ndX9W3t+UzsnFjWauvjoRhocy+PdtZ7cEFrm0 xiyUBWP7fyW3yRIHwGRJqywwTULlW3gzyJ5fh6SRGtQOFffe2PTlt13ptP+6dYphgR0zypZTDwp pLe/AFXrAXwS52YCMcTPrTTjazbTToQKbj1XqfZ3ZiZAKn7kS7KPsWs9yzpnRLgPST2F2ieE31q 8GqOTjasB3/WqFl+lOy1UoFocM4GBasXYbJ6sXUcKhvlMpeQ= X-Google-Smtp-Source: AGHT+IF9e73V5L0GJ4m8c/wyYuFTuRvWMYZBEUvb8sVuZ4sk4ob+Qxwo84ji2NVWtD5/HFf92Hoh8Q== X-Received: by 2002:a17:90b:3d09:b0:31e:f30f:6d3b with SMTP id 98e67ed59e1d1-324eecf9b08mr3700392a91.2.1755791842544; Thu, 21 Aug 2025 08:57:22 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:21 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:38 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-1-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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=1364; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=aT4t5F2y67HWgbmENf4vzAFYl2ef4GaofSdzJe/3ZlA=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBop0HUUPbE15NZosT3IEFTJW+24ZWMhyU+JoV2Q WVUeBbwX+iJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1AAKCRABygi3psUI JGkXD/94d1kksoerwXSsMGQTysYOmWY5f/NO8PwqSESSbEBiHoUzVpro88j7yHlZRZPsLcHVgEJ fV3x+1Cx+oG8xSCvCMNjXkAog2MeESRudOKu1Ci2lJTAPOpqqDqwwXisGo4z8cyYqUcnrwBEItc UBgM+DbloO6ILChq0OLXgqRdrPKNBe79MljNt7/lDE5jOaNAv6O6gXwpisv2Hv1CrosG4DnzqdM ojiv21uaEkKAATAOBonffdQ8hCdiAUBNSOZ94s4vq0sewDAYLsNTJKbGvTerIXlZWHXv8wSP98o qXoCBS2HVRiUG3K0/oSJSTwGyCZKvQcAgDrmgVi+v6oUuX+7zmzU7CZziPDn6b54EQAR9SlDaCQ oZ9U8vQxAFyY6SH1j6siKQlLpONcSCCrwtaDZIS/KGGa1iWforS7wdL8SKUchqx0rN8fhI6xkFS 2Ja6Z+0X/kwzFk1/1cUHj6hzczTN++6Bj03CUax0Zdu045eHn0o9F+ibkL2zVctLyUyqGYBuse4 nRizdxC2T4CzG5yi7Pkix+hlXQaJF8qH8E8xcL5r1MLXI7IH0HYaCwrmOaRDmENWk3jNzZ1votX gJQT0L8qelm1fG43gboJ6BTIIW+wO0lpILMEWoshhZoeH8VCty0DQ5SJRKDaKUnVCJBZ5+s9E5L Twjq02ZQc7UuNog== 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. Acked-by: Rob Herring (Arm) 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 Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 572EA26A1C4; Thu, 21 Aug 2025 15:57:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791850; cv=none; b=SloFG2la6sutgIP6IAYFp5fE3EF5JqI3uWEl9j0c9LfUHCRwBekIBF59hDcoq9CSWcSjiKr0vnEd0BciaATJcrGi49/Lix0hODhXfFYi9k4uD/8/cawNGcnVxOnHk2WvgefPTF0BNHyn2IdcCpBS+M3by4a1+Y//u/oF4A6L4pM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791850; c=relaxed/simple; bh=svMsQbdVjQ089a4loHQsnYthHi7jkbh4sKxZEGMZ2G4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FcVB87uIyzpeHcxG8FVNh95aLxjDAM9DFgOKVdT0belz79Zl9YzT2WjpH91NMqMokVMX1ACachByZj1Nc9/qQpr6HbJAoR9ThRL+RH6w1oG0tbdKwBpZzzU7036df+voIzlFXZo43ldDhVYyQ+32x6xTcMeKc1+qmox1PLA+zEA= 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=jjA2DRMj; arc=none smtp.client-ip=209.85.210.169 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="jjA2DRMj" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-76e2ea79219so1453132b3a.2; Thu, 21 Aug 2025 08:57:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791848; x=1756396648; 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=liRBVRNyAnOklnxAr3VQmJBjVpYUwLEwgd0SLy2njow=; b=jjA2DRMjqJX/CawUZgrFcKK88ledbVbxaLEi7PIetVGHcq9JpVoMwp51DOSECapAND O/ytwdXDM5UaJf8UvPB6oD3TvixPVS8IWZeNKn0RaPiLDxqdUtCV8qCm2dlIezxI1bZy ku1zqtbN4RLDUeghnYtI/ru8hKH2puJZ2zddromdjumXPCa9tKL5VWRD1GmYk9Gct2EA Lh/AG+BOQpIm775kf34BQbC4AZMHSGKzybeS1WiSSDbVxUQ8sz4OB/+1izA23r8nT3Da Zz7096fedp1FPgSJ5Q6v7k+tGl8X8YGjj4KTZ2uu9l0imW8mHUhv9aACkmgMPZs/c4U1 PHeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791848; x=1756396648; 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=liRBVRNyAnOklnxAr3VQmJBjVpYUwLEwgd0SLy2njow=; b=j1/eKb2EBMstJSEGB/UJom9eSIeWDKN0Rt3lSGOdljr2aCzPjmPmMiPreT8P+snZ+R vwK84J9shMUoOP6TEHd4s8fmImsBH2LAFMj9ijEwGB35qioa5RkDR5WizRlwhI2j4u/b AY9GVpeMk0lNFS9wTxfB2fnXb63duQU+XzO9ApFSWMOTCOiKEl/SUWnzVMPjaXu5sj4j XkZTerz1tAgsGtzXEvBXotTinlOykHdOtwDrPTMhYDBrbZY94/9JyBeLgPJa/VkcZ748 5I7WirDNC15yWkD2Cz27tYTo3uPzKuIyhuH+8oGiJcky6TKGaBZA/u64vV9TuZY4J6Cd rHkw== X-Forwarded-Encrypted: i=1; AJvYcCUb3X3k7K/MZ2PqREjJEmvSG7BHaXpyhrMCq/ylaUWzoxIDMkBZ12awkd4h3m0+u4zpxbVkgca6u5vk@vger.kernel.org, AJvYcCW6shSVKZaLfEycoLGl/h2HqiZegxEhpppt+zo3CRVWx0DncOy3PpuXfraCcy5ucLLMJJ9ofIFm21tb4A5q@vger.kernel.org X-Gm-Message-State: AOJu0Yy/2ZpFprB2JTlE80zrXxM20PU5QkjyCrRSH2u8/6tRMlUI20pP 1NQ+icV0rMUMPC8MLMgiAxCG1YF3EaIGrnm9dgr1pbbSM1WkEdAtJXZgXnCS2Ce6 X-Gm-Gg: ASbGncu0biVejHvb8Zcsy6lQ+xeUrUJIhi2RRjz0lRJdKEvdEaibNucZ8SKiefZGHmB vRVTaQvgBKDfpOk/aP0VX3AgO/e/9rTPYXQI9CXyy5Ro1XAGDO8SrIruNJtkmxHVwqFqKc0U6Ek L6OPjLpbnTNgVfWjn1ny90C8xql+Lzg5tJ1/39EhQuCCqH+Kv1NYjg1IQMh/YE1tAvyQyXslcTi mzhoEqvyw+NF6M1X2ncfzdVNv1cdCrVZ3DQv83N8wcW88pBUKBRtgodfNZCI1Dnbd13/Q7ND+Jp UsMX1gIkr1H0xHllbhXRybov0XgFr5O895uTHVTx3IXGLPpNvt/sYkrWA85T2GvDOUUSVzhIv+o XD8XHmkM+pdM1tqyq8frGuSTTih51lk4m8rLr3zF23fYr9/k= X-Google-Smtp-Source: AGHT+IFJECtN2JBxWTnx/B5whjt3GAKIljMS7Cdf8bpeBXhuCcAUtRueDJJA33kBEPKfW+AfsuryVA== X-Received: by 2002:a05:6a20:7349:b0:23d:ac50:333e with SMTP id adf61e73a8af0-24330a6922bmr4449826637.43.1755791848470; Thu, 21 Aug 2025 08:57:28 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:27 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:39 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-2-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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=1934; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=svMsQbdVjQ089a4loHQsnYthHi7jkbh4sKxZEGMZ2G4=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBop0HUsDkeUyeY8L8Ri1VshHhDwApV456m3+yPI 5Fi+gqjcEeJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1AAKCRABygi3psUI JPpqEACU9bzBFeE/CYD4VSK97ziuAegkJJYF/LPx5Ws6y6IIDDAhrhJKUyNxTI6OpltFHUqA0F/ i4ANEHT/uMb2Y9iJr9Ydp6oP6s6bex2+Jr/xYe3OtGPO1cWitxqEhUORWZ4qViICtbJ6D/H6Cwz CZ2+GyBHtn6vggUsNFH0hJMJ2h32eRNBlP8i3MRI1k+RUasl5GQIQLwMRhlVuUJ/1mdkqzIqKEm 0PiIXBv166RtN0aWa3cC/3Ck+vuK3Lc5pzpj1JLM6hyDTW0Xmhq7j3gR+f3GF+x2B2vQ+/tccQd Mn81SfmS7f37AcPsh1PfvmHs5xJjOl9T6ryDVFNIwxMwpPGf++ISMkgn0zvwj9x9jXfbhFhBiMn nCSOWlAI1/q+2hn1lbgtdVM0b4ZNWcoakAH9CVoOWOU47okzBVXfK9FKlCb86eYryM2KlvXfCez 5utJZjQdIL47aXWOtrSh8U5avHWRj5Ondzi72vl01s3g9Kn4tYOzFh2g8mc90aOhgR0yUTYtycV bAn2p4vHQfOJZqLv6hXlzIyp5ROriNbr7tw0jaFRYtk+uVIvJr5/asLUQBAE2DX6J+XUWHr062o cUfoL0d1tyLIFPSuvZ6QstRD7eGGBfpd9g7IGp1eRPz5isuWprfzyC2alt+VrBhp7kmyErDogqW Ktfu26RYg2uDigA== 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. Reviewed-by: Sven Peter Signed-off-by: Nick Chan --- 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 Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.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 CA75C26CE3F; Thu, 21 Aug 2025 15:57:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791857; cv=none; b=WHiCZeQzTblIHsTe2YvCzGwcbK192o8v7vzNCiesYt6ltc98Fk9e8bU5ycF8ezYBO9J04ud7K6pqjbUCW5l++nsnMH3MI6LGLuHEwUWb9+jWMXsIUi3HnsqJ8uHrdGIPDf7z6tPkZavgMiLoDdzsRiSC9IOgsTF7n5IKjlinnJE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791857; c=relaxed/simple; bh=v4OiVJFsSwjODAdi15xQbBcLXhKlJm7rChMF33HLKjg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RYpgbY0BfC9hmlZ/D7sQWRZh2zl8uf5gAAjm3IcqSKv3P9wFLKWO7d6r2Yfqi6NJvLK0muisEZ9zvr/W0EjE8aPmq3rFSNSvKEjEYCS2CYFbjl/R0L0waKXIR8r0R49sejJaHzHIO0/JWzkZ90ntckVPmEEf5k6Bitv2j8gSjv0= 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=I/7/+zh9; arc=none smtp.client-ip=209.85.210.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="I/7/+zh9" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-76e39ec6f52so1490254b3a.1; Thu, 21 Aug 2025 08:57:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791855; x=1756396655; 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=l+TLtxQE62J5KV0O9wYqUJlCIzAdogQJTkJBjLbCxYg=; b=I/7/+zh9qo0vydxngHy8uS4N0jawPy0n28RVXfmhfY5mlkGoPWZb++c6qYxXcDwxTh wL8DiswLmcoPN+KW47sVjavRBbBbKYJoyMy+DDPD9F84ZpCWNdq/zcSl3if/+WtPwQzm plAMZcCtRpZg18c/NJJloBZph7zAD2nMaDodXDUhqrxqPkqdcP0B7b/gCj+PeA6VfkZE m7Bm3CygK5FDlrMaHxrpqIRm6RH1QJzBR5/RLl7FC/RrHtkrkFiDH/BvINJyWrEQCDF9 t6jIeSwTLBXxIIDLJbMyofgZ6GhWFHcIr99De7HPn2iGKYgsH4uCI5ZRqkSb6vQ5Ab/+ uzTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791855; x=1756396655; 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=l+TLtxQE62J5KV0O9wYqUJlCIzAdogQJTkJBjLbCxYg=; b=PATmznoLjpZBweL90lN5FNUggSN1jDhWbEM2G/xGhnPildLKwMYBw9mMD2txQ/3sds Wp0h64H04qZYPV1InISfZV1kcgMdxcFob7e8PhBZDd1S17HN8cE3npc9rbZvZjWsXUVb xDkN4brQAb+5VnUsTTa+hiEhRYB4x8ItxOqztkFVgfFYNZ+Ojgah0VyqQv3HfZ+YaiTN ieeErz6jQh3/BUblWI/YGblOpjq7Qx7ifc8eOpp+wsnq7I7r7q1LglbPMwcJw0TGITn9 HOfj0jMTB1kFjovqH5wiOBr47G+mA3Pj0ZtJwndkx6cIpNfV9qLVMjrq14x6+IDt+VEt dPmQ== X-Forwarded-Encrypted: i=1; AJvYcCX3Uk2mxefXK60cNgXoa3NtYixDPsR9eF4aZ53ydqH8xgNEKfjsKxDJ6cpq+36YWzHK4enknMG88dmjjg3z@vger.kernel.org, AJvYcCXgPu604tZueJTfsT3udtODhnXG+yxCMTZipdB841VIvmjReewDl0P3DoinY0t1rsuJbIFWvewqsqi0@vger.kernel.org X-Gm-Message-State: AOJu0YxPxoJqSCLZMBXzRpBtLZAHAmUoYNJtxGvsv9n+AgXbxLfHWz9A og2ZmJ9p/6lDyVghkTyMo395NczY8y1mxHzwNNMkVkyLO+f3J72K34D/ X-Gm-Gg: ASbGncvzUR7Jq8t1o6cFmy6i5nuSFLSSpPxE9QYu3A/njfu1/lRYfJSO2wbtY80qfMT YPwbAPLZx4UOSF6v3uxRim/4yEQq0tM+BPLxVPgAivsZP6uWuyML7FE/+rDlGtNUekqlkHINlC4 RZKbjWSnuvwhGgFsYnP+d3llnBTE/DrQuE8MMw2LyOH/D+p9fFuwD1GG/S1PzJfsszJ+eBImv5W bpcgWl9wyfdL1OSmu4d85CGnAt6LyVDpWNTEsRHFvC9lB0XYE30ewYqCS4E9oDM2AeCVwOOd/77 lMhptAvtxAm8QQr21WCIk8fdvDa+JfEf2tphxBd7VAVGfrQ4El5+IoezQ4Slro6cZGzdUHM996v K01FZZe6JiaZ2JHY5IFlvSPB4o3iWQwpngvAwpcTWilXTILg= X-Google-Smtp-Source: AGHT+IE0wcnJHKLEW1RO99lnzrgpQRtwp6zZL3gPMRllIkPxphhvBCZH1jAgYyHmbKF4OaX4kboVfA== X-Received: by 2002:a05:6a20:3d1c:b0:240:1d13:ccc1 with SMTP id adf61e73a8af0-243307985dfmr3463057637.11.1755791854959; Thu, 21 Aug 2025 08:57:34 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:34 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:40 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-3-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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=854; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=v4OiVJFsSwjODAdi15xQbBcLXhKlJm7rChMF33HLKjg=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBop0HUF7nwsx/EDWK2zDtfXq72ykV0AI3cjgEEV 9AO6pJUDl2JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1AAKCRABygi3psUI JPjzD/9ULBgNc5mV2zbwjOSGof+wpPmRDRKVbasRayoFp2Fx2wctI/7F7cyPCE9Vb3aimuNSW0U pm77OfK34fZPTWk1BYskORnZHyFhJ2xQROrBFLne7E6gwWbuMLUpjPKZmfWoAWE8lIRwLVTyLku hENiMjSDmjT7t0M35bgMOWz40E5Dq6i+tRtnIXcvjOzQJJDG9Ir+ZrIeTAd4vEbv0WPmctsct/V RsIJ/+zK3gDLE69ojf6Xe0HbaxNvpG9sHtNWnOQF95PZlahElyHS/2LPkPkGkcOpDInKxIjrY30 UjZ5Mqwh4TTQW3MZLEC5kMcTxtLUDCVE0UJF/duROcUkeNU3yBuBnq0yrHGctbrNIouX0F3zp6p 86G/vg3AXEg+UfoOz20jaB8X7S2FWgMdgS1EL7pL4zs+QtFMUOn1Ow18Pb+0R5iOD2AWMxNcqB5 znSdFSuFwV649uwTBtLSrsBksi3V/C6HVYCr8jM5/MXKoReGZqVv6P8CQL9LDGmm7kdWcyDu744 VDoxJK9wDnDuMojz046T1LbYdMfyGOkrBWJTKl0FLP3wM8BRu5GhXZi+2/7a5Vl6lWzi1fTg/+a TN2vlU5yiz07qwLCsV+1lB2m36dMV+/4uX1V5KpG2WklJxNn+fcBEXJ9ZWezH4wtk1Uw8QCIzrk dG8n95wcQFyR2bQ== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add bindings for SARTv0 as found on Apple A11 SoC. Reviewed-by: Sven Peter Acked-by: Rob Herring (Arm) Signed-off-by: Nick Chan --- 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..c8c62f32988238c5dab93bdb04c= afcc41129b423 100644 --- a/Documentation/devicetree/bindings/iommu/apple,sart.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,sart.yaml @@ -34,6 +34,7 @@ properties: - const: apple,t6000-sart - enum: - apple,t6000-sart + - apple,t8015-sart - apple,t8103-sart =20 reg: --=20 2.50.1 From nobody Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 0ECD627702B; Thu, 21 Aug 2025 15:57:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791863; cv=none; b=kETdAF7eTgNeQ9GoWB/iSS+wvS3HtLS2OjuhWg4U1MyxOX0U0cwQTZJJAwkBb5yvhHSeadejXfmcgQuiXzUgoxULceF2qaZAAP4O6zBzbqdohBhDiqLYehpG9dyKB8V72eosgK7HIvSFUWFWDYIt3dEdgWo86OZtOzx0dv8nN1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791863; c=relaxed/simple; bh=SfdgOsOFi3dLK60ZgLb2wBFpqlY1bGwIVMJiWwSGmDY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GEblOm/mxxoBvbG7SsRJTqhcwxLOiU6cUpLZ3ggvF8y9sYaEqux5+zbJAUePehBbx9NYDjHfVYRbfnx9aKa+RzttRX3MAFTR71GZdZeeVlS6ZlzysjU2qnJzaA+92qNYD6wuba2HcSuuXZudUsTlW5njBGhwEiufnDv87FExzQI= 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=Du4U08og; arc=none smtp.client-ip=209.85.210.169 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="Du4U08og" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-76e2eb20a64so1389100b3a.3; Thu, 21 Aug 2025 08:57:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791861; x=1756396661; 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=lR6d/3iSNfW69zNSjSYVLBPlm+V1j+wnMpITzuYS4AA=; b=Du4U08ogHLVbAcU8tKLeCDFzhV9ivkTrnIeQEwsTv2bXDzl4+5UGpXPtqODPP0DSDt 7R40AWiHO3P2yC7KKJ4zct8XmvxN6A9OIhXVy1EwJuZW/BpuJ1k1qrV2Idqkp08JX/YV OYO/fIWJ7j+RjtcrmcGnS3CD8IwWlGVzht4gW0XwZzwrxQFKdHkly9ZoSDVVQks3ofDj jeMgmzRhu27UFdIYq8jk+xoPVFZELFphUv5pWCiq2TVx7KuKkfNgcyhPN06FVSgo5PXK Zng6Ab1e/7Y189BcbCYUNUMEl4vUFie1mnHDtUYbl3Pbw0tcuhhW+o2bQmTiNOPiXiIe JfvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791861; x=1756396661; 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=lR6d/3iSNfW69zNSjSYVLBPlm+V1j+wnMpITzuYS4AA=; b=C7/NhMek4wSacZ/P0o7j/QHwNiHthiibqRiw6jRQp6W8yKNGdYmmL0+bGNw4eiedHz 2zyQwRbT4Jm/mk8qan+8bdALj1ZBYGm0nu76St75/e4xPLTLJbKBjNeLgJEyTqescbWE wsa4WCexq579eRoe9Mm2vQSKS9IrExbBN2XdSlWl/7XX+qfLDMF5lMRkE39lqCcq/C00 0POltrkiFrfyDHmU+9J+izwVFxRyEve2G9wMwG3BK+6bIQsejf+JDZpSjlMHLTmgICgE xoh7Lw8Qra7PdIfPdwhVgzYg6OlES3k/ftRjyTqmF4tIb57tHDaBj9hN4oAGaYxUjMqn PR6A== X-Forwarded-Encrypted: i=1; AJvYcCUm646iXVAj8Gfzzii8HNqmHS0P/7nzr3JWWPJeA4h4cKw6RrnEyAimlLE6O99dMkukE8fRXCEEkjFVymww@vger.kernel.org, AJvYcCVOzDM93UVkFpeWg4e4alDSoQkJJD4C3uu2fheJ9Cru6fjJQ4FyM+WSVWr4sqh/ODNKr6eRFVwGqMX3@vger.kernel.org X-Gm-Message-State: AOJu0YwYDbz6kl2iONVjS1r+qHt+kHPwRLRcTWOQkwW2wASy2/hj9PkB 2WUSKnszCx8HjiBPRLBrObOWt2fmyyBM2BYr5Vag3twdIeXk8VcIjpFuPW6au5OC X-Gm-Gg: ASbGncuZ3n5pIMincDubSNdIjTU35vvpFtItyTB4wJLm2+K3u8bfT0pFq4jXejVPvNs IuIFTcBHUnxqFaqoEmtJYsck+2C9oL61qoWsyDds0SOueN9uzSfVg5r5GlMh0r4cZrrNO24Pp5w btcd2xhEITIX1iixd1qUVjCzRMbWUogQMfPQ4ppAvJxBH5sFERI2FjaBynOLaJQ37f4gZpFEZ0m r5vjBTQRcB8iXAWXff26wGtkAjtwz3d3ddWzcrm7NyhVX8rqEP3imwynqGs1gsSfC6W2JhgF36x tbuW7Q39si25F6NN9SRaMY1tak4JjYdALA5PMz+fnf9M5BFnImqPtokzaFDs74VIW/DvErXcmsz 7GWXe5LA/YfmBlUdJh+P6hC3Hl8ex3uI5SSp59bRoSnqxKAI= X-Google-Smtp-Source: AGHT+IFaU8yhtF4FFIW1hpaOV+kXnGjxNNTFWVUFtb6OBi3B+EkjNWrkNm8/OJ6NhTYEe/kYZZJ70w== X-Received: by 2002:a05:6a20:1594:b0:23d:68da:e40 with SMTP id adf61e73a8af0-243307ca9f1mr4413857637.19.1755791861128; Thu, 21 Aug 2025 08:57:41 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:40 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:41 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-4-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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=2768; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=SfdgOsOFi3dLK60ZgLb2wBFpqlY1bGwIVMJiWwSGmDY=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBop0HU7NMtHnDkY5eAbeUg897zyDtXJql3NIamI rTb/5lcQeqJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1AAKCRABygi3psUI JMYhD/49jIthH6VQtzMK6W2zDSG32o6Id0W/AMPYXsqaYqU5n8yIYzQxh+q4gahOIF/mXdloZTB 93x5zyPVbtFwwBEkANe4rDpwYqUKuuVMYxpWMd0Oye0wcvjNNkPtVMIar/d5dXEki1gGBk1RnA0 GuA/y2QzBC4jfmur40VswT4HmEvN5T7/HXdaE3zS/uxQPfhatEUWjC9Tq9/16CcVISf5TUWyWGj sWcLbdSRtRYpO5KSAbxkzSVsPBEVZv2i55IIpa4g2FWcHSTuKQt3jJr8/6FXlGuPsc2+rvswJEg TL2Zrs4nI9nqA+mHcYLzq8DqdnMU4AiMQdSEK9/6EwSgGm0nLPNUb8VW6JpOTQSsFSZTira5e9r mE503tlw9DVn9n5tteADeet1LcNtQI1GUuEQZHWI9hEgEAB0pw/4PNSVLz29tJmBZBljQwCC13D Pgb2Sob83ISI9pVshvulPR7iRRF93g4NLV8MWWLwXH1Vfy55vDszY6L6xoH2yIpUhgpYE5OqipC 6o6lWV4MgMbdOR7ovpubJDs5BWviByBYSSazFjlIX80CKPeViTNDsM/mwEtGQXQZfbfpx9USdJt no3pwe4OfZiSOWPoG68N4c0PVc/LkhvUm0sy4KesT8v7HTk1ipCminef5J+BzFWxsX6JkNdZxJC 9oEqRbSmCDAQ3aw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 SART versions that uses different allow flags will be added. Reviewed-by: Sven Peter Signed-off-by: Nick Chan --- 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 Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (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 ED06D29D272; Thu, 21 Aug 2025 15:57:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791869; cv=none; b=ZqehXDxt3AlbL7sjNDA/iBE/VH2YLVx7JuGkM/tShya10v71MAa886o0dTStFTCY60IA4VvoTNoRbA2EGdYGfuZ6lUZ2f9YhEe4bpEj+bEiL0xarUQJcBxkBpTnHvQXidas1kJlsUQ9ncuraSRTI7u3aBAAIq4Qo5aK7hx8wO/I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791869; c=relaxed/simple; bh=wJH6bCh+c84MG5dltlJIecbSR1A7z9mKknCoraX6plo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=km8ItN9JZXfmsXF0VulcWL6YjjnvomDTosFWB5zGNtzAvd1C/goqgl/WphtJn0qTXPQ/ZY+jpvgRZprmCovQsBo9LQ247DbV7v81+By4IEiOkZGmb3ihIdOSPDA2RjTjtkCwONIJnjpxnhl2aWHE1FhyAJRVyPnICqktRVFyz9s= 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=fW0MiWog; arc=none smtp.client-ip=209.85.210.176 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="fW0MiWog" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-76e563b25c4so906682b3a.0; Thu, 21 Aug 2025 08:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791867; x=1756396667; 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=WSlcmBn836lmKLvSRFZVTpwMuANIj5L8XhF7F6TdWMg=; b=fW0MiWogLWoiXsTc5vIzAoaoJw3syuJmepzdQT14ozgD0oXyFCvhmUmQZWmR4bANox ms+lCuUheqPabee4wVojVEqulq18BMb1AMkjpAeSBBI5KNPFH1sTINAAd5JlwiQYiNYa p3ieJhnwwSbMrTmKT4EsV3mnkV5JtjNa5EOisba/20L83F35kDu4oInAIr53rAXjCTUh 3bSON/hKm0eYKOr9PHiKcaBO82/WmzC77ZbTx6w+G0mATPsTHyucTDt+dwmJ5V109bw5 Q125EkA4x/f9bp9Kgy35QLHvplDR68cpWjTlRC3Rg9ikDz7d42X7Mv4ce+YmTiUwSZxD TZsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791867; x=1756396667; 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=WSlcmBn836lmKLvSRFZVTpwMuANIj5L8XhF7F6TdWMg=; b=PayVdPuAQ8ftPBL3vqnTIUMV7+aKnIYPzRb4a9PK5iVEQNWu0Ti15k6L9gw2YAVkbH Yh2oDsUKedRY/KY4uPMEbPtys4i1dj4S7brp23MGy2frF3eIgP1SVUdz7KDi2URgvRR0 M+k+xMqLlKdqkfEb64gJoyeBwI81Rfka6rZRyHTmZyiCWvVz23Cbw0l3XbLZJajx3lxI y9KIOaDEDoDO+pynxHIYaTfU7key/SfoXPtm7S+xrbjUcgDc0c8KBW9N345Z/UEiLrQH FaPn5Ae/Fc4shA7ry2eD9fxz0jzYq8Q5f/gN4wQ8PufsbGQ8UZRvwaYLYWpGprxN77xN DNDQ== X-Forwarded-Encrypted: i=1; AJvYcCXOqm079AprLfEfgkCROcB1jdstW32ot78VNIeAJH+IF7MUuY4Crdc4DavbOmdH7rMvtCOsMVutBdjy@vger.kernel.org, AJvYcCXa0RIRux9s//Lhz4z2Xmd3TzMvl0yQXAQq5VXBLvUJSZwcps5BpW5C36b3lLrl/WIpbR1IHT9COx2cAhl9@vger.kernel.org X-Gm-Message-State: AOJu0YxCxiFaKvqOqL1Z9CfsGA2PqxtxBhneOoR+UwkMbEiPNieLJFQU 9PZDgWrhTw6Y2rphLJ8jSs+aQkvEihXuwe+FSBU+QNYIP1dD2r82Cw/t X-Gm-Gg: ASbGncsGFmMGrqefigRYn/ERrJeq7KsGtG5ZkKJqFCbP88HLomxfSJDH4AAihdb6bRp 2UayFJ6vqTqpPfy2ADzYQzp0bzyz5dYE8EEqHL9pE4WDIekqk2DnSixDi6lt//xCNQVqqrQ7OzD moHYVTKYribj1WfjM51EK2HxR7zz/mwPKh+wClh8X8+6JRb5Wq2ZaNJt+5zF5P2M34XBaf4BxN3 pb1dFugTQyhtJ/IyV5AhZm32+ATYBjMA91Gq3zF9DWDiswjicBqp/Z9cgaSbqqFoytGmRzmx4jo mgQbob3Z/KKIablUDhx2me7idP6OhU1Lb+QkwJ3+6RDqxemG1EZ09X9c15y9Nb/CzPauWiVFuuI wiZytz1QZ1+xC16I9p0Sl947LyKhjyQFTIDKNQrRIQbh3kbU= X-Google-Smtp-Source: AGHT+IHE9fgaPPSfoST2vYimjcU0YIs92qxt+lOf7Yhtfyjt1G9Z059hmKnvX2aribVrwcXalhAGdA== X-Received: by 2002:a05:6a20:2591:b0:243:78a:827b with SMTP id adf61e73a8af0-24330b47cd1mr3790459637.51.1755791867100; Thu, 21 Aug 2025 08:57:47 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:46 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:42 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-5-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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=2791; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=wJH6bCh+c84MG5dltlJIecbSR1A7z9mKknCoraX6plo=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBop0HUSDKOE7o9/KxkLrLGisPDzdwRuzUZKZVkV 7t/hhYav/uJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1AAKCRABygi3psUI JEf3D/9MTNaRSanW5d+XC6IKcZa3GXuBd2THZSYlnSMl/pfWwiWIbQF5SB4vv859yM0RFDxVNMW enLM8hzLdaD5r2oRWcL96Nod5A4EqiuZvW7aGis8F/E+kjVUPsn0xQnS8lKuZNWMBVNoIzSrUor E36L2vEbycW204QtjTRjwf14pH7jPEkmqIOnT0yO7nvbEVTdydbNO3uUX5g5J0Yro1eWXpUAEs9 m5W1CEKXBGH/T/KB0xVf09DSqJSBXaiEe+sd4ApT8v/HZsUSZ3+pazTwk3Yqk/OLoVS+NfVM6bb NNxHirWbh0or9sSKaZ8OPRYD6MiFPT3WdjW5c8ujlR0xZ6yJvP9gKV7ERuEGuNo3gw75yI4pihD zYHh/7Wz6gnBZR129m7mJYboTPn17sO777Khk9lxyD+0V9xzfoUnr2Xf4Jr9qObs7peOHkrsBPP Pzqfj6X2P92L9oQIEVLeNNHpX2YcMNtQ9V1g1T2De5yCIX2Z/eLYXFOef1MDbycGXWyE7XA0qaL ED2IcpHnSfBe1Cy7gsLVY2znvNhiELVxQ4bvEB8tKDNjhDpDtYla2IpttmBlFMuO5VGC75iyJ+e C3heKdxfJwbYnLLkrwskHcN2AWgVDklnhvps4Hzqm8M4NlL6XHB39DsxPtEVp6Fdiv7QrtH6EnO XKmwQT0EXEP0rjw== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add support for SARTv0 as found on Apple A11 SoC. Reviewed-by: Sven Peter Signed-off-by: Nick Chan --- 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 Sat Oct 4 00:28:12 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 3D20B27CB04; Thu, 21 Aug 2025 15:57:54 +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=1755791875; cv=none; b=MZpYxZTUwIHBbQ9FAg/T2mey6bA/vZm+DdsJQNLFtYTzQlunqpXCD1SJ4sJLyoIe+gsZvq4MeSU5cCk5YqefHdKkZwsBRqaIJv77RBIIlrRsP81aXQyzLc2ARCFmg/PIeOoyH0JLXX3aCPJG3PnwyjIaVAfOnb03CgzVxDeYKaU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791875; c=relaxed/simple; bh=UCisHMuxtAwW4uphlmL614TcUp9WjlCZlTIn0NRlWVg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WvQ5YrdogHFxy1Gf3qDP7WPOtuIql+03lC0Zprn7omuRKvt32D8Qo2nTSDzICJBY1djJOAIzXEpYZGEvv8jP9xX6mTL2duTpzHRLMmINILWOzlBLkt0xx3lj3HAGicrr16+iroqfkWHA3A3+6n9J83n27SaVgRXzhVUpxONdt+Q= 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=C+CZBy96; 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="C+CZBy96" Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-76e2e88c6a6so1122776b3a.1; Thu, 21 Aug 2025 08:57:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791873; x=1756396673; 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=C+CZBy96E2CVPUm6JHGYQn46M23LcX1sWnkjHRLUHsztTbp0WnewO7o62VYAzv6Evi Wrm2MCemjE+RZ1mEcbc9yJDixwcW3b1bksqCdhAsYTscLve9sacY78x0UQj5AGf+lbAU cdlVClaL87DNP+meuNf3nuI1MfLpQl/jGiTlPNwyigCXQwDgsDEih5D8BPU/jkuIdpA+ TGzwyqAMqMZG2L6AIfrPzgt+qIUzXXntJ8bLTOJ6zADMYSwrcSXQqESpWvnkULNRn1eZ 8l16YPFeN7Xa/ZldPrrxAH8vST7GyjqvnJ5qIriLGnc36L8nF9gNSFllBpQm1/22bcsB lrIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791873; x=1756396673; 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=ZLdV0xAQd/+jUM1WYrpLZH3JUAG5dJGAXfk3FhGwGxTXXBvQxgOzlWXNzirb+1jNrM C/CpgT5XUOxapa05quTDzJFtxAjwJItKVJJa3O7hin5SWvn+d0tYNvm7hUvWGr8uWPkk yVmylk9GIoaBpYQEX7H+6VTWrPS/4TWaWX5vUDq2lbZofKnToIeS1DRVJZx9cPjuS+bI RgxsXe6yaMISyg2MdmTZ8jxZqtX/CHVf/1H1r6HreP9lRMm7xNvGniw10tyIsc5VF9eJ HmidDGzStKuOGPRxfw2wnQ2lA76/hRMg9U+E43DSubR5HItTiqlsLEDo3gIkZlMOWN9n h3PQ== X-Forwarded-Encrypted: i=1; AJvYcCUtR9aa/jghysH71D+RUch7SikuGq+d/Zg0g+70cpsEdKbwSzxv2ZjcPkLXu1+WnHzPIbYDetlNhuwA@vger.kernel.org, AJvYcCVOZNuLmYM5CPg2NCPrWheeAV71sRBC0Xk6wXUUd2pUQsuf+IR2YqKrCHWoWQNwj/fGV04dfVVTd+WRxKhM@vger.kernel.org X-Gm-Message-State: AOJu0YwBP+ybzgcbSJGEZwUb35t2SRiaiBLwAJVvj7goS8Q4fzPfIEqD dAlrVZ1Qg/iOoFhPk44sb6N14LStdI5p7Y2xDQ+XueRpA1NHCJFRCCGx X-Gm-Gg: ASbGncvJQ4iK2HmHR2XwOSlU1nwJTsHtI135Uw14U0WWUgk+2lKx3gyPWwQwKCIEVux G3Y+XHKCOG9mVAcgQXcVfFgbKsOrWFEbtXeHmRbwL3e5QwyqVdB/pLcIKksMWEp6zuoAPw6cGad GP95dR7nAa5vP6sVmslUb4+PeWet4RxVgI/79wT6wwR2+tjfaWNnQRlCbe6q+GbYLfVYpZal/VH bqJnNzmje1ltgvvK2mTk2Req1fENMkuFzKfFHbQq76NNbvB/8uMyyyVtVXtATmhXWJ+TiB7EgHb PFbMGDSJASqh9deG3s1qRGIU4qf+JrhOPqi0myMsqV366VTRrm61ltnQhzywCkMJeOupzi4WHLK pGpcUkcy2aid8hS7mixDZvZiRaZGLKn0KydKTlxCUTLPlgRM= X-Google-Smtp-Source: AGHT+IGl8DhfBnfyyRb/1wuIt4ZnuuK5v/ajSI18QqjSW5uA5+dCScmkCcOWU0FTW5Qiao6GY4NPmg== X-Received: by 2002:a05:6a21:999e:b0:243:78a:828a with SMTP id adf61e73a8af0-24330aaa986mr4832755637.49.1755791873031; Thu, 21 Aug 2025 08:57:53 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:52 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:43 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-6-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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/ZANAwAKAQHKCLemxQgkAcsmYgBop0HVe+SYcZ4v31RCzG+zBlarAEg9e5w9fD6uT 6uHdqv3tdGJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1QAKCRABygi3psUI JKl0D/9L0mE7dXU2s95VtJEOhw9hiZJoAf0kmkheBDiq2ex+CgUM9689RXA8Q5UIFgqG3HwcT1u qdSi9MwNSV+DmDZa0NteXj/QA3FPkz2wu1qFqwGiTDMOt+V/nB0yK29xB6a8mkzdQU9BI5GvCtj 8iupQqETr3cuFkQ/wUH4OfFwgxxN2TBlOLUPedcog2Esg1Gdl/oS4VKymOgOMEZTJkWWGzUCvH1 Tb7gEOdgDmdt86gzbH4R8hC/a5NPIdw//ESycyj+0mAOn/CRpGSz1ql9cTzfrAEG5XjqAd76dar xyFOG28eH754ZioFrxEA4nbNtZkptM2JQUyxJrnafS7BkydNBN4ihW6ZXT6FgB59AVUT8CCKUo7 IOKblLdv3m104dkriKSm5IN8RO8GI23IFnvmRkn7NB93PeEp8nc+F+SpZep9I+aODBxxnavPfBB LW3TVrL0QsMpDU3YzP9g4SEqFSswAzJDLKv/JR21yoFbYH5yZmaxtlcqk58X+apLffev2Rt12EJ tnQQKquhH/Awk+CFvyVMSo4sswgvsdXpdpjP5wLqW/iXt10Hfn5VTnpkFAoRD47IuJxfVdlR7A1 B7W234hW/PkZgtLyYnAkThuEdXQHpKthI3H5Ht49QcHOXhTJHAWD0CDaO2ACod2v/gRFQ5+TL16 Wmv/t0XQ1D945YA== X-Developer-Key: i=towinchenmi@gmail.com; a=openpgp; fpr=4B5278785C97ACF79C3C688301CA08B7A6C50824 Add ANS2 NVMe bindings for Apple A11 SoC. Signed-off-by: Nick Chan Reviewed-by: Krzysztof Kozlowski --- .../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 Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (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 096ED275B0D; Thu, 21 Aug 2025 15:57:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791881; cv=none; b=jxSyKCWUTVRDcJorjsXcPz+6uVTCYWwDQC3HMB7w4SAy9v88KYiWKjZLk4WWiFYNbKR2JZmiK3sBmavQ1c8PABQtFG3HKtFavIGA+d0KbzW/4jVKffQRw2C+vvx+Ff6XDrmB8XcPlAbHHdwbcrbP22tvxaygT3oITEU378rQjxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791881; c=relaxed/simple; bh=l8WoV3YlyoxpdOjeHsTAr+LWXJ/wtTFGjsdJKC46ar4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b+SZ+tbtVmyMvbvzmPUAnaSkQ8L5+gYTfuGrTeJG64Pcsw53PWQTID4yb5OSP/EwD12lKxBXrgmb1VQrHffAR2jNkFozODEvpdXJc6WNDXUVoxUh2zf4vbMlH9EBNqeyfHClkPEMEktUrPj5p1YvN4C3ZYt9FgRYWCKghJEL/jo= 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=MnAdf3Ge; arc=none smtp.client-ip=209.85.210.174 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="MnAdf3Ge" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-76e2ea6ccb7so1034950b3a.2; Thu, 21 Aug 2025 08:57:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791879; x=1756396679; 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=7voIdUaBxDRgC5zsji/FHeXok30rGXfnded7LBrZ1jU=; b=MnAdf3Ge1ZN0R8XWKOzxbpq0/E4mufix61yGwvXwScyOT5qcbk5Fvs7L+/DXn9TMxD OgpIKA6nvx+UJg2y8UkvDTGA2Om3q19rBPieH10sQY2u5j8eJ7/j7AobsacVOZnruxDV 27KBE8jaAZ6zVqhaXLIfzL8ZDqmqCPp4+zPEnabxE43oKjzldQIk5TyxSmWLQ1mjC43v f5jwywTv07sm0Gw5M5ZyKIBF4r1JdoEGjPbMkKfYLAOdC/3ur0Nj9ZiLNP036Ec7A3yl tWYpqe0Phc4S2dIVV8+AfDRkLzLUtp+CqMQtIZBUJSePxEMf6ww8mGGC1qcQUQOVx+8d scgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791879; x=1756396679; 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=7voIdUaBxDRgC5zsji/FHeXok30rGXfnded7LBrZ1jU=; b=q4DK4RxRHpLjpxMtxxHN1sEOJ0KAsxhSKJ6JeGfWeYM58r5NY4pvWBui71xUV1SmMM Tj1Mu7WZrq0R+Zzdr5aWmVfeI4SkEZPqYEI+4NHiU8kXS5iI5eb16QAols9HuREAie8w ZxC3VFvZ5N06Vwe3vrgEy+rkYCFUABMnHG4lJTxpZWJrJX94Le5DFhrKxZHEUc9uMHek ixedimMv9y551el4UwtkkKLXDrWmvj0aej1kXXAoaKp5d/O3bcTWXeSwWPSlw8WUbPHb xTMIv0I7bv3MsD8eZS0XxFFxgNUTcaifPk4Qv7ccM8PE9FrHhnryGvRH7GWPtbE97ULE TtaQ== X-Forwarded-Encrypted: i=1; AJvYcCU70iUtBBMLcn6wZW91Rw9m0Lz91Kd9aNeE68z7tMrdJz7vTzfcPWToR/fZrzJMuQPA37Lj1Pl4qUBti6YK@vger.kernel.org, AJvYcCWZZQsgoleMnWsH2cYiArnHMHwamhlR/LCXdCxsI4W6JGD6NX6gFSGzsDNJPhnvq45ubd6oENRsFq7c@vger.kernel.org X-Gm-Message-State: AOJu0YxZsoE/yiBb8+s7EpgSFIPBgtePFsViZAvLfArPI8ouLNhVcB9T 4AFtQh6x/ydGDSggdj8aYEwIOVVXKjeD3E8JfDWIAf4Rgwj2jnCM2VpM5R5fEIUM X-Gm-Gg: ASbGncseTO2ptXcLiGJo00Z1oTMFNtgFCt7vlQ/whkllaTfk2LqpooR1SdkIRX4xCtd pZuiEAgfsymMbNtm8eXWyOot3p7iHdXRHLbhyIWf6TDRx0KQprmvSnfDCdzjimilaaEBCxfgkK2 aHMSGT+I54KLd53jli1tJ0T/vOa0cn6gNDA/AkbGIx9TXHEosc/CO/Nkzlx+BWi5QxJ7IJoueeo NBiU2ig4qa0jRnmflj7FW0H2Q2Iu3j9mIoTQsCYDf5Fza6Zq+lGqd2IoJXEbFzE8nvfSRvBRSz0 STypFy03mXBgtQdn+ivUeUtCuX4h/Qqy09R6cRzzc4hRY30d+kIyeUKUIOtz4VC8mvSOfX52Y75 qkcaFR6laPqRtDWV4XysaNp08RSXU3Dx5UYixHhyk19YGqrY= X-Google-Smtp-Source: AGHT+IHJ8XiiMKNg9oU7aMgvuJznSZ90yQjZ9amgqL1Eue98y8of0rhI9lWh/pPHNh28cv90SzmelA== X-Received: by 2002:a05:6a21:9992:b0:21c:faa4:9ab8 with SMTP id adf61e73a8af0-24330820cf0mr4907458637.10.1755791879271; Thu, 21 Aug 2025 08:57:59 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:57:58 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:44 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-7-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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=13100; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=l8WoV3YlyoxpdOjeHsTAr+LWXJ/wtTFGjsdJKC46ar4=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBop0HVsE2yJnFM9MBvWj878fzdyalrFpk6pG2t+ qRo+8bT9GWJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1QAKCRABygi3psUI JPHpD/sGzwgCfR/nENB7AFQtUmMGkWVUO0+oXslTj4LzAl+hMFVX9KBDo08K5x48YtZB8LT3o1w EGa9TTodg3kP7ENDgIfEDkfVoTLWa1RAdEcIDHcLtezxds1PBtTrQiuQMJWLjFN8rWwv2JqLVoB CosDzppTfBXQ6S5SRPPRbQYe+j//zZh+vXi8xBTnsvLIkQFWmLc2vrrA3xqb1ORjp1ZLJpArqLF xvKTAwlWxmdt+IBr6rgC5H3XSfTWIp9/jBzyOPGeuaWoa9Z7mJOJ/Pdf1+T/xiGGkVg51cXanz9 X/O6JKNtm3avrcesfAdcqmDTbTmr01HS3ZtLf7R+0dZ/zyDSBRcdnaTts+XCpiReAhhRIDA6wsI qY/wv4atjfUetFYbeoSb+FhJM6MdDzatoyY4gORPZQbFE6Yg8cCODoNUuBuwKh1rnPmRte+MibO 2WOnwrphb6jz/j4jUsSS5KvAU9k+81h9F++uGfAZskxsv9YzUYR/oMab7En/MekbzjEreBmRZsT 7LbH3PASkOzOh2sxh0NqwtTv3IpJZL37+DY/9yhbgk0aNsWRIfkdIWApiZMEn6/DRT/f4JvK6Yx FYF90n3G46dx2nGur411EqXSj1XK31rQ2DjPVma8Yyc8d2OVVKIxQvl099OQJ0IJv75sIi19AOc z2AOzeY/+SzB67Q== 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 Acked-by: Christoph Hellwig --- drivers/nvme/host/apple.c | 196 ++++++++++++++++++++++++++++++++----------= ---- 1 file changed, 136 insertions(+), 60 deletions(-) diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c index 1286c31320e630cb012009d6b962526e0553869f..d899ea3684af1d02daa236c77c9= 73f5831d8f593 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) @@ -280,7 +290,28 @@ static void apple_nvmmu_inval(struct apple_nvme_queue = *q, unsigned int tag) "NVMMU TCB invalidation failed\n"); } =20 -static void apple_nvme_submit_cmd(struct apple_nvme_queue *q, +static void apple_nvme_submit_cmd_t8015(struct apple_nvme_queue *q, + struct nvme_command *cmd) +{ + struct apple_nvme *anv =3D queue_to_apple_nvme(q); + + spin_lock_irq(&anv->lock); + + if (q->is_adminq) + memcpy(&q->sqes[q->sq_tail], cmd, sizeof(*cmd)); + else + memcpy((void *)q->sqes + (q->sq_tail << APPLE_NVME_IOSQES), + cmd, sizeof(*cmd)); + + if (++q->sq_tail =3D=3D anv->hw->max_queue_depth) + q->sq_tail =3D 0; + + writel(q->sq_tail, q->sq_db); + spin_unlock_irq(&anv->lock); +} + + +static void apple_nvme_submit_cmd_t8103(struct apple_nvme_queue *q, struct nvme_command *cmd) { struct apple_nvme *anv =3D queue_to_apple_nvme(q); @@ -590,7 +621,8 @@ static inline void apple_nvme_handle_cqe(struct apple_n= vme_queue *q, __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) + apple_nvmmu_inval(q, command_id); =20 req =3D nvme_find_rq(apple_nvme_queue_tagset(anv, q), command_id); if (unlikely(!req)) { @@ -685,7 +717,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 +745,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 @@ -765,7 +797,12 @@ static blk_status_t apple_nvme_queue_rq(struct blk_mq_= hw_ctx *hctx, } =20 nvme_start_request(req); - apple_nvme_submit_cmd(q, cmnd); + + if (anv->hw->has_lsq_nvmmu) + apple_nvme_submit_cmd_t8103(q, cmnd); + else + apple_nvme_submit_cmd_t8015(q, cmnd); + return BLK_STS_OK; =20 out_free_cmd: @@ -970,11 +1007,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 +1108,54 @@ 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 which is required + * since T6000. + */ + 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 +1326,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 +1352,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 +1360,28 @@ static int apple_nvme_queue_alloc(struct apple_nvme= *anv, if (!q->cqes) return -ENOMEM; =20 - q->sqes =3D dmam_alloc_coherent(anv->dev, - depth * sizeof(struct nvme_command), + 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, 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 +1465,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 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 +1502,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 +1690,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 Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.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 7A28C283FD3; Thu, 21 Aug 2025 15:58:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791887; cv=none; b=KCTbMJno7lnYcNXFGXPr5fA1FHZuYB1J9V5bUbk7bx857J405K3azJpgx1FZismWEHtQ8SzJbw8ofV715nk8euP0HG/qIWdMpW5EB3sg9OmQspAtHd6zd7ai5KpipdlmuVv2Js1ctHeuUM907BsDuocIeLOcCH5FwRdNxiafdYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791887; c=relaxed/simple; bh=pTUWkvNCIyhLcProl9XhpfAEq16p+fwv6rNm58M87Cc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hk6cpo49xPS2+5bw4SOcagJS8RAUKRoT0j5UmLjBtQeOb9eHYU4YmCDoUOILwEbVkvhc6deQ2qvqb/YkeJcW2Z7Dg8UgxSoxWKfOZlYetXAuc12q8/a/iCa996+LnSaijn16702aIiXKDYT0uk3c3KJlQw55zsA/8xAfBxJHxq4= 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=BsvbrIM1; arc=none smtp.client-ip=209.85.210.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="BsvbrIM1" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-76e2ea79219so1453858b3a.2; Thu, 21 Aug 2025 08:58:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791886; x=1756396686; 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=BsvbrIM1A9oIUNiZBjqoNiKUfOicGAydxEh4zr1kz9ZgqTBSZ+EO2aa7IM5+z+/0og RdVRYPZePu0ziNJdRrk8TSLcqAz25iROvqKBAVMtM1ViFIXjR62EyjyHvBYHOzJBC/N2 KWeJ+D5rjf7soDJaNz+x8NgiiR6KacLxTi5vc0Hx6UZwgjUkmVuQc26igPfLFw41Ij2f 2wPRn4AoeWGeq2sP0ECi+QBLC/rvZEampP4KmvSLlDOs/syOtuGcAOdZqKwlOs4yLVQf U5nIsjM3kC0trDVK3lyxjQ4vHSbC3HyMpko6zUvLj7T6AIy6PsbsHEdOW8ZZiX0bOZBj mBlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791886; x=1756396686; 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=Acrjd79vEP0fSXTmlNPd2yox0TjGrvtg8ZZKWqaxhobogE/JCBbns2+ynalldfS9Wc bTgt79HjCM2QBw5m0W8lU5MtpRJGSAiW+hB4FsH3GxfF58cyUS1+SdCC2SAL9dRJCrHW ygsZHAK1+xH41MWKA3SXj7vM8iyk7Jud8EWLoi7yXy5eNhEXsXsI505ym4HGLJCUS7Z3 ukyNKoesYMAZFlyqbWJmMwYIfQxTmFSyNylprIreDmq5/jkJ6cNB8zmQmVBR88agv7Y/ P21gj/m1VSlbVGWfgxNSh6iZROkjzZAiBfTXA787gPoiclmAQbylyd4Vfv/io2nSTRQi MxRg== X-Forwarded-Encrypted: i=1; AJvYcCVZWiEm86YIRzjmSDsXEOgBVseG73BObN0ouVclYG8i2aQsPliDT2oKWF6d7VBiqx96zZwYoItYgGrEJn4H@vger.kernel.org, AJvYcCWE/34jz+YEbc1lEOIO8QbfB1qbMuoupQVEpUTy9pAxrygMKaWTmqIP4qeUiQatfb72ZpvMA02RBIa7@vger.kernel.org X-Gm-Message-State: AOJu0YzyDEGE3BRtqoZtuWGxB/DEPIPXqS/NqOle4xvh65JxBl9b2pzf 5P7JBt+Wg8wFtXSUFhUd0hbbn1yefviAybr49SiWjvFPREAipY7dTZs+5Yw1tA8I X-Gm-Gg: ASbGncvJzlfv+j++SAQY/werpz3EP/3HSrxbAoLYCrlobcPrZcAEUMxU7l5xAu6vQGA PUsmuiGy/HDjWZu8iL1eekZLIS9qc0/pG8BX6CeE+8i6/NL9wCh+tr3yiyIVavAKORiJwE5K/zt CTOkUgtECaN7qRxp0xZekBEAi+/3nVpyO8sGhqR9on2QhFxdIUlWfk7VcpM+UG4crX81XGM3wBf U88+7rjvPkZnp8qw07VZljeBrdbZafBvRQd3O+UgADhRodP8Vqp/dLtbiICZRiB2dDCilfTKKdm cWLaqdtswutdxm6ItzryeQNXPOPQt5kxhh2yqkuUlz1LuU1SV16RC7bR87g9TIuMgEWEus09KuL lN3peFnh0bT40gAfHKJA78gi17klfe0LRIvizR+GvP12VqeU= X-Google-Smtp-Source: AGHT+IEANrnSY6fFShGILep2ycHZBMPux8sJi2tr6F2Rs1Ziij66iom0whiB3Kjde3in4VCY4nqZlw== X-Received: by 2002:a05:6a21:328b:b0:240:75c:6f40 with SMTP id adf61e73a8af0-243307c954amr4973125637.14.1755791885735; Thu, 21 Aug 2025 08:58:05 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.57.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:58:04 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:45 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-8-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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/ZANAwAKAQHKCLemxQgkAcsmYgBop0HVmCaSw/+oi3sVEhtvuJHWUTvf8G4prmp// YiXmbkm2zaJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1QAKCRABygi3psUI JNK2D/4mz5vu/Rrjfd46ezfd+12en5Stf1fevsnGAnRYJmwNP8Zj6ewOMDKb4Hckbr65gbaranD OJvCXduPVY9ZRPucRECvzMASR04HDR4v2cIHjb5up1ho8zS+wLOfRxOYNEaZO5ktb1B9ArBaiGA wfgnzBeZdkzBMSo7YkVwl+NzOOxNSQTLT4uHdvz49KXPWLrFN32P72V3ljyxXnQNlCAtmCNn8uD xx3eH94bhUFbM3S5opENJyqagxAa1FBemcAN+hRu/dRqQfgK1swLrWe0Oy3OO1HmGpmEKbvXm8I MYzrAbr6V0FqLUJvbPh/Xck2EdsfumT+0+PG/p50KfM7pLvKQDRqKMMxAqlXlliR3U/XkzcZPg1 FsgQKhYDvympCQs1t1eycSHUAZu04LFNHFPuIA3IX4HTBdfV5ch2xLMsm9jXK0LWYej7A3V9V1S JWMx/i1eZWu2XGGRM3XkORCctP4PXtasy5MJqaQ4r7oKj+1kemOwGWZJnmY5bHeYyCYE8amrOlk hIoe0sRkETeS2C/+MJq2ODhDJHwcj5XuEAz71QwW7r7pbQ6jXoJP85oZscInTKf7cpAzzS+Xcnt iwSaZm1PFWWRGr66hmj0ufw4LKq3Mjrh9lPlH8mQOwFjp1T73EEdYaSnw/W2H4MiB7PibcEv6Vm k5r4QFW71ZZa3fA== 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 Sat Oct 4 00:28:12 2025 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (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 6B9A5284696; Thu, 21 Aug 2025 15:58:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791894; cv=none; b=OCY+s53eUpfBybQ7itnVXEWqGffPKHZVXOmVUzYhlHTlvYUCSEz0sCG1PBV61oJW8JHf6eE9cv/p9FtgfwgvdiINQhoCpjY3oXdlEQVKLy/w2dke+lHi6CGXxN77P77JJRdMJACwS3eApL5Xc1fpvhKAlzDVv4NxSuNytN24Re8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755791894; c=relaxed/simple; bh=W450nZF9q8zgSwZAzN00gO+pHroqymkBwDRdi0GaMOE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YUMBijnsiI+xAUiLqrywPcT0kb5jtvykdHjqTB/d/iPv4ErF+H/YRWmIoq45mvMUBCfQJklzwu6nUijIkMC0YuKobm1E7gyrkGwgjukfY7Xxt16SBuA4ALog19lrRonqFO3AzfyrdD5uU0ikhOt+53nvr58hgfLnuEbUgkSWg64= 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=nE5meurF; arc=none smtp.client-ip=209.85.210.174 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="nE5meurF" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-76e6cbb991aso1147708b3a.1; Thu, 21 Aug 2025 08:58:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755791893; x=1756396693; 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=nE5meurFQVpJAByq+Ncw0Trll6f6+OC3q6ohNDt4Ai882EX7FTOFVu5h7gfsp+monQ ZPhQaO+DYwQglcGsqP/IB6+Xss/cdQ1WZyNTwPrOnjaSrjlVYPytJji/MwXcNYQ/1txI m7DKaa38224IhyCYN0ayCYXu0zlj7rkV3Pz+ZGWaLhLsK4BB5XvcSQvzk8JZ7lZ6RvC3 DWUHHZA4oDBfGJYPXSDWTv8mcsvDl+gXNcHnTqzIz1mxs08PY9zB8Y+nAWVaT4/Hx2Os fZSAnHMeshK9muqQIaVJq3/Gl9FBZyCxGswXiie0MljfTwQVeqVrYhRLdfpASE7SnH2D u6Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755791893; x=1756396693; 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=f85CV4rQVuhIfG6GyLIaIS9a4rybszT0Cbr9QxPQ93VgnyPhIuSW8SCC2IW4sVHtib MPlsLSWmh3poAIqaltUawr99D0vJ2J1sfL0ZVTSH2OEdpbZDqe9ZFiUHxdFX1K0u9EJ1 8GG8UrPK8YQ0NN3akj+JVbegOgkuRJduP6HEjyi+5cE6DkTe5wtJy8sq15QFe1aVmQFW 4Stwk6R49X26cHX3kJWaM0haXkPIfxC+iGID00DLo20rca8DkggeyroMPKrF6W0pvIuQ 0hQN1EAZwB3uuGDB+4wi38Y+6IzLAT+ImlOiSoRI2C38sYYJ4yc4miSKTwg4soykaoVu 9uTQ== X-Forwarded-Encrypted: i=1; AJvYcCUjQpXkMBjh7GwWbe4O/k01Xy4qT8gQLQ+b8ctqdtmZPw+dKeiBQ1q9vqvyKD3b8kkhLR/v0/CF0x6jjAZ9@vger.kernel.org, AJvYcCX4B37YE5dPyu2xs/DOdBO8KdYGHXfDRkKDw+bM9MM3uehscq3cEMGKTwjXlHaFBCHnK2S3wDYOErQ2@vger.kernel.org X-Gm-Message-State: AOJu0YyHwdtmMi4r/OVZSVmmNC3dXjDSrQObx0+qoKPjZbHYgQ/pNWes uWiop1QDD0f7uNFN7UtQnYnEiCvu/vHTehuIsdiFxDCytJIhEW91sPi+ X-Gm-Gg: ASbGncu32DAUq3IfduyUS2Ov2qzNYn09dQ18OW9CE16nrUFaWh5KHcPsHDeykAS3W90 wNwtqu0COkM4n1zJBist3YoDhs/kmk6S3zKNRcqkIUfqJekKiAk9folloEjSrorLXXtldKLSRQu yhBGUcHeVPLRzGqAAM2arX4U+pzGQP7uGmwQUV2rmpb8MMQ22ZJ9jjLn0r9lVfdoXkTUungY5Ap ErP8yZJ8JzmBY+KWxSB1hiffSgPeP38G9VGCtPBIrz1AZYdNd0rRNDVVTTZjOo/kFgJ6oofmvLj nY3clb+YiG2rovO4HUJA75yZC47U8FxsFBJ2opieO0VErml87Pk0AeLJn3tl+DoFG4n3dRRZLnc Kp67+nT651ACSn6KJqSoWeja6Ck2u5p3TzGVoexaeGTmRJcQ= X-Google-Smtp-Source: AGHT+IE1q9OtVvcB7jD7CQCK6LT73Fkhhe6O1oTYoqIaF9COWn7bTSzZtptOlx0VklEzRU+W2Yg10g== X-Received: by 2002:a05:6a20:7d8b:b0:240:387:cee with SMTP id adf61e73a8af0-243304a2ddfmr4276481637.0.1755791892695; Thu, 21 Aug 2025 08:58:12 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b47640afb33sm5094320a12.38.2025.08.21.08.58.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Aug 2025 08:58:11 -0700 (PDT) From: Nick Chan Date: Thu, 21 Aug 2025 23:56:46 +0800 Subject: [PATCH v3 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: <20250821-t8015-nvme-v3-9-14a4178adf68@gmail.com> References: <20250821-t8015-nvme-v3-0-14a4178adf68@gmail.com> In-Reply-To: <20250821-t8015-nvme-v3-0-14a4178adf68@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/ZANAwAKAQHKCLemxQgkAcsmYgBop0HVNEQSbAL3+tZjzyN2WWJPuPis7prsUJE4e r+/j8uvOM2JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKdB1QAKCRABygi3psUI JHtuEACKC0KzhrgUSgUD0OWXRKnND+KJS6S49TEY4jfE8wS0+7bDXXPBH2LHqwFwyEyUHh/y45R QBMjGqJsVuFtjLjuAqJea9McDOJOf4anhYQck9UPhKFl5+COnr9pw9/Hw9HrvMN+hjML603tkJW MW3sW4RscbE5AOdDH1+W3o7Ib11FaiVAnEbu+XX0IsRfOgEVCg4QdPWM/UCcaBk3FZGMS3abXGn r6lqK/zwO72cRcZg27mdKqnitSyjbmqBF8ojB9aGNnET/9OeyaH3tn7JSIASY1wlarATt+z3GyB zkuVbwthmU8wJHm3xeq2bzEdpAdRxY4qn/OY08yzrXaJKnJi+Ex0yiqW5eHXXyxWQylH62oUP// 3YBFV4eFtDyGy7ApLSESHfrQ5ch3m/1J21oOOR5+LB2yzcOUajZkbCK1AzgzPHb7cz6cZI8LQeJ 5QKjLbi7r2JRXTjlszmvxMpi/0Eq3ap3uCeV+rs3FQn/N0N4Bau3X+joy+3xKmTHGCR3GEhqGgx 8rRN5rSrgf/UTKqsiUq0C4XPwE5nCOvg6WczE8UW5ORdm7z3B3ls0HvvzZRJsnDL2mhYYlRQJ7z l+TYMXGGRm7oI5MJfKau2yTunT+RcXdSK6+6kA2NjHOcNyRxOs5UeT9TLiXcEDyZYFFJQ8fPDDG iFMSRxoy6aoLIKw== 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