From nobody Sat Oct 4 09:39:52 2025 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (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 EF6E630149E; Mon, 18 Aug 2025 08:43:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506612; cv=none; b=qpHd6sO+prRImDwTtXbd/QCNT96h+5GMnHuIshxTVEP3d1wksmFVPeQeFh3pS8bLmp9y4aWpkQ5vKxuIJEEJrpvtmWYqOTaapBpSmXYKQd27fx2h+uEwp3R1bSrhWTFuk5dU/VguEjAQH8wov49e/5vqCE9fCoDokdjfKqkoRC8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506612; c=relaxed/simple; bh=vsY2LxZcawhqMw/s5IJH3Qa/QDQv7w3VsaD857GZcqg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TqfwJwWDnGP2DdYwiaY7NNeYdB9U14xGDE0YqKh06SUCguQWRD23uS1J1EBVMbs9ZWlBJE5565YXYBKIEh1+i2tU7EbI0AdLZxKHAeg/ob6Av/fHen2Ce0iTpaJNvr7a4F55M13AI2wopNTnMgXIyESDoLNhPO08EoyxEeC6tEI= 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=SgSVI/DR; arc=none smtp.client-ip=209.85.210.171 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="SgSVI/DR" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-76e2ea6ccb7so2751370b3a.2; Mon, 18 Aug 2025 01:43:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506610; x=1756111410; 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=SgSVI/DROP7hPGzlrM5pYZMqGqn7Vz/mtHTmqXDnFcvPzV84vcL4RoDFIUroVdlet/ vFGzk3+iicCaqQiBawgjzrwTrI3CDKg9ZfOoELwqdOaPtznwSNatVsF/jl/tsZA7b2Zf 1wC2SBz9D6a447S2rB9D30n1hpBSrpZf8/CjzOgrhPG6OtXRVtGy9i+ziQDcym1+4ZCE 3fHa1dhlLSm5PbFFPZLJrn7UG06AalVNQRfWluPIV2scD0TqeI16OguhOlrDBwSpGYIa 3x+ScX3cktkDzyOTZjxcOjMOkpi/zrFsmynnRej9NPEhoKdJzlBE/W6+Ys91a5RmM0ja /MSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506610; x=1756111410; 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=d4EoJF4RduTiyFcseR8lXTsjlRGR2u783PKGFXqKMKUxX3KLBEyc8KkeNKewbbbYnB XjaXiO+xiz+tm665bGID9GxC0svxZhmMfqKbNbd0rHk4FR1iKymkGCQE2KdGy+kfPMjO Wm1qIlC1xyFqIoq+WJ9oPCF8aCV1uxyk0UakeLLyjLvvKXiNKBLOOj1OGbHkiNBrCpkC zRGTox0oRtB2vvSGndzEXxFC6ruar5Gd6fKCt9Sd3Sg3fQvY7vT2BHbzdcvNEw5Qrcz0 BwZP8SopI3FmT/FK6u3v2GiFXvdRc1oac9+oAhBhjWPkyjlaPqXm4x7s8+f0SeMYD4Br 1dzA== X-Forwarded-Encrypted: i=1; AJvYcCUUENJq0IzV9Iao4/HyTPJ3yj7ula6d7bs+dAGtFisjQzLr/3VngOXEr+sN/poVD3k0zDD9sRl+d+dX@vger.kernel.org, AJvYcCVgkZGjItf+iDDYVPbVMA1J5wOnIYUo32/+tARj1i6VsdSMBup5Aml/ZkuXnYPTfFIa/9CKoVIpb8uCT2J6@vger.kernel.org X-Gm-Message-State: AOJu0YwuVfm/escgrfLH7HVuXegHMUrJ3kQR0LxDbO2S8Wuq6su+kcex 0+Ima0ZFBnS0DeG/QVA6vJOwN6B3rtLWYXkEGbvMqaxxQ2lu/17VybzN X-Gm-Gg: ASbGncv/aR39TcwK5HabcLGLjxC3PSEnwxFuRAJjJTiqdH1tmzoa/bO68m/Ezns4puu F6YT8RkVZB9LordP6eBCZ1G1dBngiMETTwN3gDGUwbTfGbk2SxWX6uwb5bhyHFhBDKV31ngW5wz z0jB4VPs0Dj+AZHsBTuZi5eRtMyhtRPIi/XoLK6T8BtMqz1muNthry8ugPaLSgBzyjtKDwupC3p 6iQtV3E9all0jiBEJX3iD9PSAyXUYd6yLW3YhwuvzRGvPzfjGlqIwpBjBpsqPaeU2dq3CfVdEBX BvPG+KaOUcTIFLZDyxeKH0bYUir/njkx9Zo3LPKdRtgTp5BFUPGwLdHHfBFMaufD1EDcDXWPes0 vAuUMZUyYHJq4Tv3IudnkWIk+8g9ciP2vt6QwMnt3sTlLNkk= X-Google-Smtp-Source: AGHT+IH3faNDzylzD0VDv8Y+qqSpzsBrx/M1k4bGkBOGU1VP2ePH7Sqk6RK7FHzo52EeYG4HYqUC7g== X-Received: by 2002:a17:902:ec8d:b0:242:1ce4:e4f9 with SMTP id d9443c01a7336-2446d9c64admr141732475ad.53.1755506610186; Mon, 18 Aug 2025 01:43:30 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.43.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:43:29 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:42:54 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-1-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoouekHBA3JNgEkbcxb1qrPDbRHzmVLLnTVmcky 5RaLd4oGx+JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpAAKCRABygi3psUI JGAUEACHsbI+FHcbJBapYoOszX5QQh6fS6dV6ukZSZpH5IJsuhx+4NIp7tg2wqpS7YRCuEjRQOX YJJx16lKWjQwFpzsR2omcDJfxqXcUA+Tm809iYgdkDNPSeScAGBi35AtLvk8KNbiFfzSiJqsHaR PJDnR7MVMOb5BK5nZdhPLXySqzEiZkvUxb0WPJDXZOJ9ErQygRKAkUPLqvBMb1MrGT78MhbwBi8 Giwd6FiFoUWf/FrtIzXWZcEvuwIX29x3z6yqZAbG3eiPV3waEr/Y51xMPzw1zGVJQruMb6WYBq2 tlZwPAv1Moo8n/KqnzswCvikGRj8mc8oGLkRjPUz9QW4pu0l9qbJ5yc/DsR4YRNeTUpPqCmNE9d P/YmSyW1dIjehZHUL/XjGW3LCG3zekN15tXLXATKCG5m0E01P7t32G4v0S3ngjLsLRM5jXUATSn jT1oKiGokPTrlyOCZummYN8+6YdVnJJnZezLFkRmKD0GICTrZCWyBF/fqxMHTKOXY8nEZUEy+3m j7Sl6vgoelGCbSa2ENOE6qoIDvMZAgWMsH6fafFmgmJNaytYz5WpwQzRMjrPqpfIJ/fXnQQ7laR l2K+A63zdf0GLp67J5koiVNxxGmAoaCwdtMQyyA+dGfWKAN40Je5L+N+PP0t9HyMSKaNPa33Lly XO53R8O4FyKKNUw== 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 Acked-by: Rob Herring (Arm) --- 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 09:39:52 2025 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.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 2DE0130149E; Mon, 18 Aug 2025 08:43:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506618; cv=none; b=sx7eHRj0i0t8iC/0biUj4konVuQS3UJo1ngNUhTPXR5rKc//Tud/JeoQyEwYQEcAK/4hRyAClF8vje86gdxJXM1tXfc97Nyig3hYSG4eCWzJkFhi0jJWwExKM0PWWGZHbSdlJsMxnvNAf0BQvXZ8LYOFnZO9SkZ5egDaKK4xxlI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506618; c=relaxed/simple; bh=svMsQbdVjQ089a4loHQsnYthHi7jkbh4sKxZEGMZ2G4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oEkSuIMY9dBs/0ulSP0ylUcXokE7sYq9oN2BcCPfk6yAOuu80Zds07KRZoeg5uuYAa/z1k8IuCJrrBFUGOzegY11gJt3120hukJDD7a8z7i3o5O2YJqWE33/S1Nk/fmnXcjF76Sh0m0AJ3tO2dMgestJ9G1FjJEsEQSQh+H6ohM= 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=WErQeEiM; arc=none smtp.client-ip=209.85.214.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="WErQeEiM" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-24458263458so29661655ad.3; Mon, 18 Aug 2025 01:43:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506616; x=1756111416; 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=WErQeEiMTq3fV/4ZuEZXQEvVKKNY3SMORIKcn1aOYaIoG93fMccD+E3vg5MliYeY0k KulxGvGNEf9L4jXzyoBZFOKutDCsAk9ASDpeKbliSeaKPMF9e8o7An6gleT8s2qKSxoP gqG3rtPdhe1NzEuKX9/0tTUVf0CJ8dbaLmAJ2dh6ugVOmc7yIXszn1fMK0iZjQawgYOd GVuNG6ArcFu+563NLfNVdIuia7MriPWTS+3CQQCVvC6Ik1y0TGwe6CNG+qfQ0yVIiijj Pr7MH0b98dBzapB9f7aDRpwiX24Iq/RO1Uo97voV0b22k0NWE2Ye+lVz0Wdth1UAy0Xh uNSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506616; x=1756111416; 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=I5q1LRZ7l0FKkWSEWdodKVxjKII1PWN/503Ywh0Dm5dqHr0lGrj5JqD3dWSoFAkZzl tfptS3S6zS9NKtxkP1h0WdnQwfL2U67ARaaJw6IeBthgskhkC64NMfaw8PtR3soUAol+ DnQFLv9DjbW37V+2CAipMpOYzBQYKNeJGRNqLwF0pR1lbExCEZPnujCgULPDl9ve7R4h tKWJpiOd9Vh73UEpz8/+nd6AlL4V8YhF1KXA8tkPHvN//PLYJWUNi27f7XO97/k4J8/d Irp0wJxpX/tvN3zKBKCmIdL+3pP/9d9ABjfi8l/txg2fK11lfAnTDjaSQilC02Zpwxd0 C7Yw== X-Forwarded-Encrypted: i=1; AJvYcCW1G3Dno/eicFJDc9dIBSkv1LLwZ/vfgdH/gNuu2ytMtKmlVgQIdtiKZWqG7JidzXXbg3aVhTvUkLY/kA9J@vger.kernel.org, AJvYcCWXAcEevfUbMAAu17B1f64AtTZ5zpHr3nlGUPqBVfaxq7IaP1WcZgKIg9ON6XWokbmCulQelU0XV7lX@vger.kernel.org X-Gm-Message-State: AOJu0YzoFnyV8qxxb1UDQK+6tSYrJsbnytzfyuSWNrTjl4qPLedIHD3R rL3vfCQegOVGu+LvhRV+2f4szjnf6py7+KU7nYiCebO1yPWrB3B9Lndo X-Gm-Gg: ASbGncv0t5usFvwmP6PdDQ119csm28H9oRK9FWRl4rbaBNZGIoKvyvr+m3Q2FbB22sP EeeinzjtLiHOusmDEOG422GiJ0wT5N8Aq2pRwSjX/xAnqSi55nW/sUAN+lSRCNUAx+XFyLccz2F 5c8Ddb4jKHFqVOI0tlmCRKUEb4rI5nr/DYoXA5ka7Iner5GXSMyf4cQvFlRPnVioZVmuC+y/fiK jAJ1fc3Gi/VygqttaikF4t/i6IWpVKKcrsqkcZV68FjfULJW7OdcBSVfUorF4+l+1+iayqMu27s k3PoxXOcoYP0n742EGStsg8q6Un7ptWdgtzcNYXgnUohi00fPj1pbKSCyj1xVQwFgQn75/oMDMS sQ8OynowThm/W1/H+HJeJVVe09u4eBaByNUMby9gPoepR6tQ= X-Google-Smtp-Source: AGHT+IHQuRcWK5Ty3gJ8EDDZyN29LLDBRSuplCA9CS1qObTIJotcC+MlRz8nfjoDQTZLml+SROaIIA== X-Received: by 2002:a17:902:cccb:b0:243:80d:c513 with SMTP id d9443c01a7336-2446d6e444dmr157996225ad.4.1755506616342; Mon, 18 Aug 2025 01:43:36 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.43.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:43:35 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:42:55 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-2-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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/ZANAwAKAQHKCLemxQgkAcsmYgBoouelfGGdkBgEHG0WSSN06ixVCaplhe9IXYpwA fSyXY6BH+iJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JKi9EACPGx5B4ynlooZmqJSOUDRbTtw86AQjMxJMrqdy5M9a1dzv/ohFAvFKQVLkTWDQJGsNEMT 4RtdLI4zz9tUFdf//1mm/KicenY/m7IcOgEDsHpD9fQ5qBphjPm5/VZtiUt5L9xi/3rOXqf6key BNsUCY1kM46g4TbPTKnh4ztQMVoyI3jjBY3QQXG04K4zZfK5sTpDx2uVkk8T/yYbu5ThaAvHh2O VXctp72NYqR4fR9ANuln87BRqce6uRTZnyq9xZl4HGext90aQtMG52Ng/T1voOek3oSCvJgxbXZ 4r+UePjqz77cmbN1N4qdjPql4Y8qemXMpHkMtGoa7ugfi5VDEbFVbVE03PKr424RqZBtOEMpoT/ uflfkwncEWHHXVaYhT2d56PDjPT2sgiTEZhL4xEq0dTpI3fmtY/jr44Tq9+05EtAHuKpjAgHUP2 1y5VX02TT6/BzZU1adsjPlFMHiw2013wQXEa+AStCGIv/3i9YJ3/Jsi0xhMd0b8qEEslubbK9Xi 7BfSuo9xGQBSzPVXcP1GBtogu/XCbTQn9M/NRLy9d5i5NTdXKNCLqfoHMIqMN/39zgy8WexrhVo i7/woatmmUWbQU53nzm7IpIWuuiqTIFh5KOfX9Cb6eoLi4heaPFsp9vAg9Z8LCPASVZttAkn1Hg eKljbtns6nT9W4A== 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 09:39:52 2025 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.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 1E7492E283B; Mon, 18 Aug 2025 08:43:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506624; cv=none; b=qZLMABi14hP1tsrT6QAC9XvX0dlzVGd7WcCSjD71EMyZ2rF03HwkFLkThbh8oTN5wCVYmss1tf5tzV9kLfdnaLDm1zZOk4nQoZRaMM85OlOx4Kl/P12l711PX0WkuecAttbN9ewjQ1UE37VknxTYayCzkJZmTMIku28uFJ66wdM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506624; c=relaxed/simple; bh=wfeQYcQCRdUqIZWllk2wZ5t9grHRAxtFZe3NBrLJiwM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hG8dPMLhUWbbxIjDYoBjaVvEMwxhd1kzQCC2uSuRB4XCX4sm0ad4n22tPZUXGd9r0nC3sBFAi04l5hpoIVbR5GBJ+Mi9BLevby2OR4dAhbCQ36nvIxjcb49Fvta+FPD4NrQlxH8PeaS7+DvgZDW4PaxICK6hGUhOrMawCmBctuc= 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=YTy/g6HK; arc=none smtp.client-ip=209.85.214.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="YTy/g6HK" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2445827be70so42124155ad.3; Mon, 18 Aug 2025 01:43:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506622; x=1756111422; 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=FSMLqQCi3JFRl+5II1bxu9Sm2VnKzJTs6Ar/7xglwSU=; b=YTy/g6HKjXsxSN1SUMLiNIpzJ3qML2H0VT3eG8Mk/124UjjNWplEjR3UA8KfIdDHlx xE+OzBTAg4BO6KePUxMVru6BiRCWCtEgniyVmRM83ouaOZ7nf49qWj8hZNWlmLi4WDJJ uKdh77IVr+pWown373QTazEwhAQQrGd86ULHmO44txJcecnvhO1OAzZ/XyA9zkXC0u4D DLdYyLKjt2g4A87X0eu98ac8EDmHQDQVOpvUZMqkDefXaqwqQ/rg3e1C5SSrXP1MBybl qY+v5FrS2cLq2e2MBPzv5A28RagpXSOt6zyLkfOyiYET49o0WH4/1CoW07/EgNZe5Iyj rkKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506622; x=1756111422; 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=FSMLqQCi3JFRl+5II1bxu9Sm2VnKzJTs6Ar/7xglwSU=; b=lIrQJDO3M56Tpyv1xzWr37tFzygTXqALgeRNZzwD/x/lliWNpEgibBoUduWP5Ofr4z xFF/qawR3J1hHzsd8k3ATs2mAhXe4alSZzNCWRSXvvZuzB7iS9jWblH1eFWyHQqh1Qw4 I9pIzRgdbrwc9+xhLoOFZ4UDJXLhq5G4VTRDT8qFR+3zanry7+RMXGcfFMBl/3hjuJaq W49Eb9IKxP5JsVIuwYc1iwE0ph3lFJSeZTk+3xda7Q/cGzZfuqlENhP5WoSYAYuWNlfr ngjeVLEg4xg7DSGpxdwfHRx7OmDtD+QE54fAEPVh8IuDPdP4cC95KsDr3MxfFGLFcueB vFjg== X-Forwarded-Encrypted: i=1; AJvYcCUSaI5XDHyH1e2Ay3bDxGTSWu2aeEQeK09XT7Fz7dsUtPcVKmw3eaIvgAga8IppFfslITaQOWJTb0Rk1WuK@vger.kernel.org, AJvYcCV6KmL/McEOegfWMpS1zvhgAI48aStxAMxfFX4wtmtSh46igPohDHkL3+DoibukY2gC6ROHEZFRS4Gk@vger.kernel.org X-Gm-Message-State: AOJu0Yws4hJWdinSKUDOZAnH22kcvdSu2aXqUYzmR+VhQXNHL6mAXhGj QmkhcerVQMOOLQMo1BJo4/HqW/SCONeaI8vOjfcEYv5GmDaRknfP8VVe X-Gm-Gg: ASbGncuL+OHFKOt7LRvD/40H+DD/sHbsz7RcAiGulESP4RZ2A/q3BKMcGeYjZeUa3qU zxo/rMZyRNegqm99DCbuo+MnJ2sgMXwWYDfdt+XgOsi3Hf3OAQd1AfPxULskOYoi0ukqw9Nm5qC krIh62hkxh0PvzsQj8h0sZ/DIQ2+iUPcuoNFJY/Mx7C4E0TUPGr5XlN4oCwLeNW2eqFpXEcFNuA aoFMSSfBJOvtoTU6VRIjj5IV6+y1Jrq1JjqMoFcoHEjMug1SOagf9rv9m1ncA51gYxE/cAOr0gr IxE5QN+0Af/6E2xP15cy1Z9yOP0g1DimzPhMkjRKzU9Alsm5ytYAfeqvjAdkYHaljBKn0O3Ft+n +bjRMXoTIb7+SKIOBd0t4PL7McbHoEgJE59ZrWJoUZPNYLB4= X-Google-Smtp-Source: AGHT+IF/h6xzRZDylkBa1DogMzbFZ9ZNolM7ThCwkCRwLY7MWhdX0t6RGaQFVvUpBph9fcpGuIpgGg== X-Received: by 2002:a17:902:e549:b0:234:d679:72e9 with SMTP id d9443c01a7336-2446d5b8566mr181472805ad.12.1755506622219; Mon, 18 Aug 2025 01:43:42 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.43.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:43:41 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:42:56 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-3-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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=819; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=wfeQYcQCRdUqIZWllk2wZ5t9grHRAxtFZe3NBrLJiwM=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoouelpFr7oTbmVaqjHTmHzVQtKtTAyaoCZyIV0 OEs8q6LnoSJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JN/tD/9YeZd1u82jIKk1o5aqzHcZaPiNzKg+Z8D6TaUSqhBLL7SGu2a838sevRrqwkrDU7zLaoI NCBVXOvZdrQiGZppjOMBYORwUy/a7Uh6KguUxykovjG8WacAQ3YOG5WMI4YLNp25E/F4iZKqG4g bXdczMVA9rQnNTvzXJNknC/PAfCBHOHA3ltaNyToYPHcgtp33lVD7ob8TFb2ZUNfSsOiQ7b5tB9 wgPDPrjV7noCvwZBkJXl4GGLAyWrZN4jY7GPjEBXK8555ARCvnxLVIDfDgBRFSRChBA+rrfDoTY OQ78//CizYG0morb5ebeb/yaHmFqPSV1vUgfJIH5rkJ3IkmgmxT9ayoRkHROpAGEYTo/4Mw7yq4 PBJHTKDLLR2vrZ8ss+K5j2GhiPyuU+/bEUaLxaL+lTKVM+z7jgJh4MeWefGyDiJA2KlLrF0vNne e9mFmfbexhzoU0orpmmRyJgqoU8FFa1acrsQxjqFhrSMyAuHe9bnlfVB7aOWEy+NFqUQkKdtXu3 M6jjXwXonWLea08JMf5edO5CQ43opJy/eEHPLzZiVBUCCFBXRDVhf0zmriUvLaQA6uTpu0GinBQ DOGBa5ptbDfr2BsNhfKWIX3adcZ+ApxFpbR4arO3tIaAaZsAX/7ibE/eQ5p8p+qrVPRnb6XPRxu jAf1llI0PaMFEyA== 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 Signed-off-by: Nick Chan Acked-by: Rob Herring (Arm) --- 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 Sat Oct 4 09:39:52 2025 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.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 E74FC3019C5; Mon, 18 Aug 2025 08:43:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506630; cv=none; b=EIga/ROos9nNyEY++CdQzb+wpoNvfa62T5F8Brzm6jKahooy+icVaa5OuOjYTuVQoIMfdU7kmZioVcDLpXKHqXedkJT2HruzsTF9R79TAWbsWtXwI/vebVwMFOBdU3dB6Qh+H22rl0sXYbHhJNkdWiH1wx2NRhNQXTKmOcOkq7s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506630; c=relaxed/simple; bh=SfdgOsOFi3dLK60ZgLb2wBFpqlY1bGwIVMJiWwSGmDY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TIx8sNHmjzehOuVczlIfCLaVV+O8Ir7qvArpjJ4aUo1iuV3O82jV5ev6QLzS4djeywEjwDT/eZORKqdTAqbYE6Vr2bjyeiTuCCH7xkAdNnxNXh5N9XqvEydPsFizyQvGLgabAiOOaHL3uKbP1pIReA78MNilrQo+bs2b14PNEds= 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=CYghNQIh; arc=none smtp.client-ip=209.85.214.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="CYghNQIh" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-24458272c00so38988995ad.3; Mon, 18 Aug 2025 01:43:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506628; x=1756111428; 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=CYghNQIhPG2KgcstX9tnXGXwSeb6Ox0ErYLVs1TsJRbZkkqwQLZp4Gcs2ZCpGJPR+S HFOCgi+YNWWR6qRBldvmnZ3fLIqlRWeFrI6kMsgPAoqfkEr5JwcQNsr2k4Qx8bx0oKlg 95qtnfF23IynNZqi9sUEs3+7S0hH253N8xNYwwH8JwGkf35nwdQK+ju6f4PN/Z3KYPQ7 ySx7+4+92Roq72rz1cjF/JJEemyCV7KFf92GHGqWP+iyKHZ2TRIPJ52/IJrD92tjBD8t bM77w5nqy3xQmoE74kPraQZZ3B+XvCWBHER/UxyYRci8bL59zlZmggFjcK+pP4UBD88L faxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506628; x=1756111428; 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=YQWMuXXvQqevksc9HQJXncoCiuomZapu84fGqXnWg+0vv76f67z5aj3osfS+gAa/T2 4+mmh8qI8TediB/0K+PnMKLPuVp3uCyHXOlFpsvL2GH2dbMsbAB+k6xNZkE15jADS1hS xnUAUKxv6y4PXgrDqscqGxAYEqWYpPta9MyznrHQgfMmc95o1LXJ+DbDh9DNpBmMipbX nUQMW87So+IQW5T0KYwDEJQxJhqkXIb3ixqevQqNoOluJZbk3LSeZOCnqDNpq4Tk3c8G lhX/+s9yxQLChuFh/tWNl0dscHVlAjPpl6CF0g/v9DfjURI+c9FfYdQsiDSiYpQ3Ck8T A/NA== X-Forwarded-Encrypted: i=1; AJvYcCUnKWXtSvVaG/k/Y3lPUDOvmKXls7ECZIvOgqmwzGQ7PC8UhUWEUtHA8Gh003tv3+MT2n58HjwQECGg@vger.kernel.org, AJvYcCWTxbM13wle0YEg9lljEIUsohPWONl9l/0cSyNNK71IQ4LzTBDzohTsx/YUzyoq0iGc+BmmXpVSTJe7wjDo@vger.kernel.org X-Gm-Message-State: AOJu0YxvZ09JKet2Q+S+eKYZuxk4V+pIoXNI0MmXtdrJL2d1sS1q4iBe 7GBdPY5KnAAhqz1UgdbS10bJD46EWnW53X2jqBEQ4f+w1bHOGpx4wsb0 X-Gm-Gg: ASbGncsTV5vMmQT2GHZQX6G0GPF7twUzUyMt00mSo0x8mZ0t3UymgastfwzR0kHVQGN k63ihqJoRTRlyjFoqjYWk1Orm3uxKMVwocKMTszoZ8KaY1+0V7ACqdX0npe0JMV3hxs7NcvykSi l22C0kdI5w38mXh2TxexySdbcnLC2f/jxug9GlySlbBO+uxrpJ/DGNVhwxJalEgLTxDHnkNldBG xQ6BO6updHqxVYXiKtcx7+qhm+zUEXpXI1lTqz6HP2Ag6ddlt9A2g55Xx85ntjefe46mEOPKXly /RY/0qNVge3HCRh1kSViBIhyWwDl9nUBYO6xR7E8reemBtK5bdGe9p9sOMqeDklT0vlBHoI8tGj nXECAC9JzuAKZE9An/mdpa3LyF7foEWIyE4PsCEPuyLvVXrE= X-Google-Smtp-Source: AGHT+IGE0067BnqCsNs4bYtEQYzzJ4UirziWwa4iYUzmO8cpWyztzcvYDjdk1rlUKAgEjbaBIMQQEA== X-Received: by 2002:a17:903:1a2c:b0:240:50ef:2f00 with SMTP id d9443c01a7336-2446d8f407emr157641995ad.26.1755506628132; Mon, 18 Aug 2025 01:43:48 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.43.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:43:47 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:42:57 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-4-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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/ZANAwAKAQHKCLemxQgkAcsmYgBoouellqqMH4V1jKMBzMhHfZrJO3Ydy7TcAv3fU mzAcpZmYteJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JBSAEACShbYtnm9veqAOH7lI1/GZtCd7iTn7NwNjLKYJCZjq3yEnkhimjP4juRRTv5iz1xUuRmC MXxW7WqQxAx1f/aAGdD3IYPSjtyA54MWPXesBRUkI/enofpJH+TW6uhs9W7FFPmC4rYBsDEm4fF V/5EUWfSYN8FJ2mC2mq+J+de/x5f+liD62wXjiCapu0CggzjOohIJ0+jjL6WVX4yJDXpfwEDIH1 vjqtG116IqW76NfkHFZFq5EyaiLSprlAmFsio0rjQ31LFlLKFOkbT65OX4XKPWJreTevTOt0NZ6 FnJ1VhTJ8pkSvRwsTEUKU8J0E21dnSj6U+rLdVfzjduUnqrljcgC2zmWUDW49vutVfb+KhRtZra s22lDgrQBFBX7vAaDR18a31ttMjPllD3YcEqQuZXkXpjKn38TizxwyLyiOcsw0TFmqWtGaKm5A6 OJtM2sNKMDuW+w0vEKi0zY9LoAV261VD7WqKk9fCYFvQ6cdswkLoNYd8heyFHoKhwkFbhvv4PHb vJElNLuTXfiHkBUlGqeyRZylNvMCJkzvTbaD635wXjf/raQOFAhyR+S+CYSErzGqyVeJKRGXPmD rp53KBdtTrqzbJphtsxkJe/Adrm/HWWGXzPQJJ7sBf1z5a5SQ+gKiPRKrcVKWp23oFKxTKFAEaa 5p1slDUgrXdxSNw== 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 09:39:52 2025 Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.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 D49EB304BC2; Mon, 18 Aug 2025 08:43:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506636; cv=none; b=LBnVIjOnrROo5MTOOl2/h3PvOOnvdziTJoXw/xdRcjIdL51sF/Q52tJnHaosh4qEJ4md0ZBQMFbUJNy0sIHlaq5kMfRU3E0s3AIG5xkYu5NSTP52ug/UUHh3hHVJ1s7KGWsaYPHra+sW9gmScmsLN7HpUTpPlv8bF0LuLUUzAWs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506636; c=relaxed/simple; bh=wJH6bCh+c84MG5dltlJIecbSR1A7z9mKknCoraX6plo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YB3Onz+/e8U9A1UVfgylLnqH0THo/lNYyG3MKukPyHSdXy5Brq/eEHAmVyA2UwfCri636Hr5GRr1XrGbB/gO4dNO6tkuItybE7+VPo5G7qlpX8BMJ1s2OpyuVU1faohA+TKmYNiPPoc9kMMFS5buCiNwCuzJX/E2SHl2YnugcZA= 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=EPwQgW7d; arc=none smtp.client-ip=209.85.215.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="EPwQgW7d" Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-b474e8d6d01so114549a12.0; Mon, 18 Aug 2025 01:43:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506634; x=1756111434; 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=EPwQgW7daafJ0WNAftWDvnyd9qKK7frxTRcjnZvekvLDYgCgIowDbDnmXxnj0VP9Ln /xA4rGXE951JREn0Hmogsfs08sHQpLQvl7FzQnbTAzIQFnHNLVDsPJ/1e9cA1CuAvPrZ iwngMwbGbGt4o7PN+xo/oSx2Js0D2z1EHJb9gnL2rWR/0ZNvcROh2nMp6Z6sA/tH0w2+ NpqRviIElTmdvKu/7q8Jo7Z+ejj/bwm+yUbkQklpsGwTub/cOwZUE1ZawJQjHVNgADUB sYClHVdD3rlF5LCZR+GMSjwoIUsJNStvA7xtr50j40bu8hzBoNM2xzFPr65XFxbNSPJo Bs4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506634; x=1756111434; 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=JcL/pZQi8uneqeuhZ1LaJ18UvzxCFhd2A0OSDyPjOVXlGugTGdrUjQzHMy09kno9HI /WK2JGiZXQCJae+hk2ZglvVOrqMxbA/YQTpPzqv/EDPWhV2RXsKdY0XS8hbBACxnQBHv DXcdWOU7EmfwLzjM5uTLwrtPjs7k8Cy/gRRIw5MNIc0k5Xq4rxCNUC+g5NtFGtd1Y8DK AGDzuEoUEBUO215/yizwRSL4K1Xc96QidDev7TFaORCFBZUMfYKiiBu5+1B4YImtyw1n bfICYuERHnVRyN1CTiZb9HkErvdZbd68kRF6tW3KE5RRp/T6T/CPOv6gI/mY8dJHcPJp N2GA== X-Forwarded-Encrypted: i=1; AJvYcCVqkfo+HoP0t0eB7j/2goKW0X6pYxgnMsc+lfYQ0+22q3m7P2UuxIGNeDPT8Xg4wXSbZekiHG4CO4Ka@vger.kernel.org, AJvYcCWVJw5tLpJPzT6Gn9YZUblwFiujQDQzp8RE6yRDvRPZYVpJq9nyjJTsEStMPafWJj2+ewmKRu24yVu0G4uA@vger.kernel.org X-Gm-Message-State: AOJu0Ywf9fJhD51knvK5aN+zj+sYFvTTaooMv6sjPZQcKYxtsTBonIoT hp9WlJcLT6ll4i+O/MN8P1arMJ4TgE947ENF7oF/iIOvv/TP0JlRmttb X-Gm-Gg: ASbGncuAL+hPtlMqZuqv15ZLHjoJkPATL19svvMtCdrAhJ/g+O89qcFgaBfHypZ9RCM wv9uyU9y6QTPEV7w2OImMPdBW62QSV8+1uLDY2mpEgpuFMm3KVZHfNvoy/v0UR6ecQVzmap1x+S mKNhNUD6oS5rXi7RYqe6iiXA54q6n9CJpU61U5A2L/TkHhXsTmp1vz8TA0Ezc0iFQpK06L7Bfu0 KpOQ14NTNWlrE1Y7baKA78G+iUPR4h+PkOCJMLf2KwjHqzkxcXUVMJszPdPXwOf4ANo2klvFKMP y/DNc7fofBIFHjDTwzK72hLAfpRHdLrcFhsM23MELqMQ3IlTexS0Ar/PW+S1FFWu9dv5mjcsOQy 6bxfbW+NM+r1qmZmcfKG5PKj5C3MqPDwbQ+vGdxsXuAZipqY= X-Google-Smtp-Source: AGHT+IHZT2isaZc8TNK+Ul72AEXTJHFHaWWnaLR1o3EAxYeINyGXfuxT+CWND5sj2IAPUNrSMUB1ww== X-Received: by 2002:a17:903:1ae6:b0:240:25f3:211b with SMTP id d9443c01a7336-2446d980b96mr146776455ad.51.1755506634073; Mon, 18 Aug 2025 01:43:54 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.43.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:43:53 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:42:58 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-5-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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/ZANAwAKAQHKCLemxQgkAcsmYgBoouel7tB5pMk9ZRPwFi3VYfo+wHw0Ob6V61kt0 cM9qXkKNL2JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JAzLEAC3GE6E0JJaoSCxIkhKLQwRO5CQqJZORLUx2kZckZ15RN2ygxITFBkfPiprq86LvbbkbkE I0p7uritaNmuEOWjwLU0GLKgNMgDrdHOVr46dPQmjLA+eYyZdLDBWVcgPh19bhvkI3vNYiiiLNY T1aA0yScyUMImiJYFXJ7JetUa+L33QKyMVYEo3ahLtQgDpgM+N5xBWz5Qb7xczGySFHR3oymxd7 CE++jb6XpkCJ65D3KUIx5UihSCcya0EdlU0a/wJJhXgBe3Z44PUuhxHibvVQNBk2BWZ0dCJG8Sk Lc6fUQA+mg8RiZlTyPaW0lfhWkkQm7gU4nIjhC+b8r1ZQ8/82kIxy5Q+zxw453asfjDntuEdml0 Rx0YGtaqd6XTWiDi5jiZAEi6uJba+cmA39hS7G8LhGiTpsvI3ajeqaRAIaLXZXnJipyEIz1Bg67 LhzLbIaK2SbgcfrU+I4LrZULDInsrjjSC0PLZ/sQ9ipvWIXLCzotPFR5IuzUaesLEueit8tmRjf SJhZOLzPmKai2LhRugKpEpD2OVRhzYZtHmFiZWoVmpIf/kLbXyT7sFaVgVfdMmkyOzbVgCs3gb3 KuymzpXLz20+s/gEvuuKa9OXRnMfKHrDhUVNtdeZ93M/BJOGQ9QacRoQp0kNnlrtVcnLeIffl+E gNvlqFtZeOmGY8A== 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 09:39:52 2025 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.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 A463F30499D; Mon, 18 Aug 2025 08:44:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506642; cv=none; b=aTKxYRw1BOhz2Ga1+3ehPL8qsd5yznXdRfiK7ZYi7qALuXOXuebOWLETa7ssx0Q8BlobaV7db74pL3rIg66up9U2tSRb75VJowymgeh1ZY25hSzufv/TCtgbxazarATPk9X91mtNlhIU23j8B7cAA48nHfHhnbAnhYVJ/A+MKOI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506642; c=relaxed/simple; bh=UCisHMuxtAwW4uphlmL614TcUp9WjlCZlTIn0NRlWVg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bV/kNr9zg3OzGFGC88/nEeghaSVZ9CLfpA58GpvIpElVD1iqnbliuHQSl0h+k5YtSGNwlsnUpdhSXfzWMubDd11Uwad2HQH1W55WM1tGYGztmsbVcGx6jZGBCS7zpYYpQMoX4pd0nB5bivGZnN3P3iAqMwirWXUUsAVWs5PK4+A= 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=kJn2XZ6c; arc=none smtp.client-ip=209.85.214.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="kJn2XZ6c" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2445811e19dso29384375ad.1; Mon, 18 Aug 2025 01:44:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506640; x=1756111440; 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=kJn2XZ6cHZXEC6ZUNSPcJG6UQaQ9sNOGZSnV82AESxkXW8ifstkrFtEx66Z0aKZsA7 S4AVb6NPZOjAxw2ZWhSALMnAhNa9f5SSlVgqBrqdRlssKrP5jmWmfBZDoJFFTy++HKCD No2fg12pkxCzOY4GaMnoWgtQ6AoXtOlU1MTDNHyPqEMpTKlJ+KOCTBs8o8u9jgHB6RVU OxDQ3cfwPvDA22B1ko0kNMQCY3ROGPQr8waBXA/8fYpxIg6v/FqY2+BiO+40QxGEaLyr jKtUm6yaf1h1cTVj5kdwwI46gKgU8JOxIPqFD8txkyeH9M2JkEhqQrWPUdtnGVglzMEB fONQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506640; x=1756111440; 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=IzQ4MI0CwdyqQbf5vckBBdui0s85afPYUi6YsqUUyV8sbtEKtzhJz1UAdMz8LU06Ht URZHXDKBq3BSwU5xkrKrMLYZ64Mr4Oc+YinB+8uXW8XbvCDkDtMIAkusl6mT+Bfv9Luo FexaHJ8DaScJmuMiYSK2oNGrG0cMNuBIQhhDXJ+bMyY8TF+pPb1NyterBtyRs/I2hw1a jgqxXcMUK8invyBtpHFm18cFVY2qh1LWCEXxX7BapMUgdYgpoPYuBdI9ZJgxI4PNN7EQ Este0JKshoc2jL6VQNv8fcWj7+6WMVIhH2p6ezlWoR44T9vCfXaVukgTX/9skLXbLwXv quAg== X-Forwarded-Encrypted: i=1; AJvYcCU4TyXtf1RNNXpPJj9aDw51g28PpRQoguLetUqeraOmrfwJjSfIhMUWxtkVzq6V3dyKNdeVgRc2mnv9N2Iy@vger.kernel.org, AJvYcCU4WF5KFgvBIQ0M7xP5o+7DxEiHkn6eNWzyEbtFZ6ax1Kc2nkpiTkTiGSAOGR3bFL7ojmpuUcMgFS5T@vger.kernel.org X-Gm-Message-State: AOJu0Yzg//oVpS1lUH9s4mw7BdY8AxK5G/RCOtgBrDZAEh4zjM/Pnseb JIEgUegHE8gGx8MOCv1SCi/7OHJFjSbhvTeEXyHIUJTCSsxCmkXLNx9Z X-Gm-Gg: ASbGncvZcVV2Hz8CPrSTGZifxYwix2DRN2FGHUTF46fYUZLpg88FwTNqiqlNgnSD3Kr ZdlPdT7R4weL4gUVfHwXnz2r3ubn+nH9ngyxuK02JoKBEO815W/uslNK+IZlUguF5n36OPuCwz8 sqhcUKmhKd6bOkNw1vFxUyhcO1vGaTJekdRpITtdfUG5OZ6k2DNCzWpNkOcnY6eOCo0GJKufi3s 7STkpBaFMjfjNCZaZlG+wPn9Fm2u4KShyEzQ1UmVtfe2Auhfy4sy0Kj5BPoiaRezdjySGI6MlO3 IBOzpHqG6lpXMrk8862TRegWTGDq+ZCcyUUW6bc6qmVDBhnuZNpDBGH5m8Ic7D7PUMrqyAf1eHB aaVVeESqBAvdIKIUL4zVDHcHnPQW0QMfheqE5Pdroyxvwq1s= X-Google-Smtp-Source: AGHT+IE41TgaDK6U7fh0y68RK4M9hHY2iTY9/syz4IuIq1e5ai42XH7ZdeIfRSVEhQVGfnthb5LW2w== X-Received: by 2002:a17:903:2304:b0:242:b14b:15ab with SMTP id d9443c01a7336-2446d8db8fbmr133100255ad.42.1755506639947; Mon, 18 Aug 2025 01:43:59 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.43.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:43:59 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:42:59 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-6-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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/ZANAwAKAQHKCLemxQgkAcsmYgBoouel76WKJHT6a2iEtG2nIQSl6p8GRmIT4TNIr Xm/tahu1kuJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JH+QD/4iOQllLnnWwQJNPY5oL2ee4utIpCyxF094977VkZE8cu11GVaSzIu+vwks3UlOctE1/vh 3M5vIVvKzCAQdKgP/hteJAXI4ORPUYXNdTy0OGn0Fj0uB/xNFWrkC9sMhtE9lnNb0GBc+lL5PzX RGnyCP5QXVmM23oBXVe1OaGgjfnOtpIbNAv06wWJv/Bl4qucj7bb2LyFmK8cXM1IEcT6agBzpv7 b3foA51U1DraEa+d9Jq5zfc7R8mc12vXcAhEpS5o2iTxChjW7Tb7L+sKi27pyQaOzUJE6UjNRqR 9gzojiBQzVjS+o2+JfTYJc51+fpoY1nNpg+nzXM8Vm5Ab21EQQqPAPdfEPWFcyGN+suIvZzPjVq 0yN1QONYRLODY4YCVDVoM3inRzp6FzDavxwbyWiAhvX7vjEK9iIRXsLK5rDDAJC3HshOp9sKivR RLSUkoEnaJXWpCp5ImXwpGlIH+10suCQBDMDaumHOdCRrVXFOeKa8dl+cIYlw0zCoYk7aocXFtM grLxE9ZmZj0ZN3tyetAIMhWlwioazCLlA1Qnf9BSbpYmaZWjWfK6hrPH9WQ5SZ0zlL6cIlOdf8Y NVJIkscN9u+moAMEN118ut8e2Id1o37RLIs4oxboX6NH+MJLeeNQkCp3eHUzWET5DP8N28r+TIY vfsSluB8+N4II0Q== 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 Sat Oct 4 09:39:52 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 D05BA308F02; Mon, 18 Aug 2025 08:44:06 +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=1755506648; cv=none; b=YKL7TWn/z50fgvYhSTRmnw5WEAQsktUzSd9mBS/fBZaiqIlISGoeaRbmiC7yKCod1JeTDL8+JacCFd9Y2RyGVAmcDKRxxbmTscUu7r058sx7+r3V14SPZ/CTTmxAI4CuUqhNUiUtdCqPeBCxk6mGkixv+zBs2Pm5DPC8dac115A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506648; c=relaxed/simple; bh=o5LJJMwTtsVbnSLH+/OYa2s6s1EHDZCy8cdlkUZK1bQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ntht57ygLcl9PViH5y/xJ0qDkM3Mk+IzDEAvcuGcr0Ci21wsc8ooojBMpWTgI2MFO5enIMomR4TbyN9tqvaXyc8FalAXjoW+9oMgNx56aKMvdml35IIzCt4zEWXeNuI/FmsKkjEahZG/iHKHgiV0kmp5iYgnF9FGZbbngixG8mQ= 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=SJiVdLYR; 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="SJiVdLYR" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-76e2ea887f6so2790131b3a.2; Mon, 18 Aug 2025 01:44:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506646; x=1756111446; 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=IqOtN4IH/xkxIsMcT4OL/9ZRyjFeoBWhcMonq91nfe8=; b=SJiVdLYRsNOEFSbLQnn0X25tjPsAxFWhNj7vUQNZ04DOg4107xsgLD/OOyB27CS8m2 W2F2Kz5KXuLD48rKvAbMt/n3MsIIU8fMUzGxk8D3V2ay1Prlq1USy4JOHXNeoXZqyMcA XHbDgMun8YkiGKYquR0vs1Hiyv+28CKlCKZoTnCovDcW3gfU7PBIhmMNTVh8Ki/nu2bS NFvl0CIQZjXIS9E9DL+wHFMxE6g8ykfvycoKvFbAhbHH+ppkkub+oAnReSi0jaJ7/9xx bGCxNi7lGyw8TQxIHUgABn94tUQC6Ni+2P84U8sVupuKEJLXvpKtj5yR1FGo97VfUtsa wbiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506646; x=1756111446; 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=IqOtN4IH/xkxIsMcT4OL/9ZRyjFeoBWhcMonq91nfe8=; b=wTDepIjU7cNYpXt11lJDXUbmzDTr/pN+I3oib6JkwyEPhvbcyV0qbLKHvWdXgM50Cs EhuWUWxLjRd2uDGKEJ0hdksnNHLi7f3YxJ6dOVMZpKRfdqD8qjthYghg+cT5zRTgz3VT qnzJ3K+BYD62bz7spgi+A9nvQCLVm5a5B4fSw//7Z93BWnCvMKiV1ENAIYBIR275EX15 hgR4RfjLNEJ3PDBEpS+3ayDynj+KnwdXB1fdFQn8usfUX83ypK+WLeCBzDuhCvzyEBqk 7F43QnLfz39RermSZS3pWbCejZ3k7jkqpjXx6bYyHcTHnMKg9X0sWS1W79rEn4T22Qzg 9Z9Q== X-Forwarded-Encrypted: i=1; AJvYcCV7YXtTzNoAtO1F3CkhaUCc7PGbxPyNlc9TPFrxRbHbojmrGQEOe32UzKiU/9TQETaq5KQ0XPuO5aIz@vger.kernel.org, AJvYcCWrUShBe2st6S7MT/epe8xG4tovuK2+h/O9FwGkkHxBgDZwTPvXN+fgaBkoKhk6WIg1Qd8ehnuqvXzGKs1W@vger.kernel.org X-Gm-Message-State: AOJu0YxozjL4D7G8K9NemPK+GfWK/7/avTBJMO4NCjl2V99687roZ4nJ AqA9bdfNoQqXzPWNt2j/zwcUVt86XDjs0VrCQrWP0CY0UhWPIIFMSA6y X-Gm-Gg: ASbGncvggLFOZvL2j20QqW+Li2lNVNQ0LUh8OsD6d3O08Tg5MdX9p5bAuMEZ71w/qe+ UB0hFGpsY4YzAKFLsQf7sXzZ0L0poh+5s6id2kacuk8LrPSeJgTOYTv04W+qiY0Yk1G4NrjZUBK g4ThfHuIHbAFNG4ZUOWRGjQTM6FNPBBWoWtJEvhDyDSisBeodbR6gIftHM/TqVm1o12UgMjy1mN II90Lhn4bflj3p5xGZr4tYliHNonlJpLmAFIXKMr0ZBtC3J96ZXoeEhKUPoY6s2ZjCWphyU9hj8 4D6KW4Y3Fb0u7y2aDwevJoYUOBe0n8j8YR4xQqWy14Bei6WeSjhsxDEpZaMGOV7EJmKmgBM8RUK nrew/nvAkC4YF/srilJlK76WMsBBa7YBnQeRoxYKRDrSBEN8= X-Google-Smtp-Source: AGHT+IGSUtSzX20U6ELEtvflPkBQHdvy1+YFJKOKUK/QuBSW1fyN5z0BVTWBPbT/JL/DNgL5AqRIig== X-Received: by 2002:a17:903:38c5:b0:240:99e6:6bc3 with SMTP id d9443c01a7336-2446d7493a5mr131159275ad.20.1755506645977; Mon, 18 Aug 2025 01:44:05 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.44.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:44:05 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:43:00 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-7-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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=13406; i=towinchenmi@gmail.com; h=from:subject:message-id; bh=o5LJJMwTtsVbnSLH+/OYa2s6s1EHDZCy8cdlkUZK1bQ=; b=owEBbQKS/ZANAwAKAQHKCLemxQgkAcsmYgBoouelwsb0pmI91h4tRAJZQLkQ/2RfpVE0dLR6F MsjwPO4ppOJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JCcOD/9THCgOxFPQg3b9sHpbsdDJJcBjPJ0/odCTfAtNr1UcwDpJWTTsuQomtLpoy20gHRMdES7 sP1N6jV0fOBriqxZFfFUDGYobUTk3aMCDXBXZL5oKTF0GVJ5uEzVr3hXCCk/XdIOe39B19XzI4m JHzmMRo6N375vUSSp4anO5a8ggrOtOLl1TUOYjTPzn2EpiEIQhUGj+TaCMmsTRn89ku+A4rv72F mPi/rSYJIILdZUGftuVjnS0Y66mNDyr8odAws6vZpalyHdf8sJjfv0QSrixCV1DGiY2z63wOKI6 6QFJxj4NqyAwhTHk1aY9lSLWfW2MFUrx8YiPO2+1mzExgvTWhOKW2mg9mzwxNVKPJpdgJ8PBeNy bzkhYh/eA/DjUNA73ZUr8rWlHNcrj+oujh7qnFFlICeXsmNBxXzAUnFCjwenSlKUBitSZZqTI4s IbkNRV9NSotNv4miN3Z12PNM+OH6n4Lc+CzHlv+I+PUiLD7Rs+oS7qc2tpLEHhU70+Pyv5mxuKq XAc8NgwYHto88xewx+e4I7OADDaNDlXKlYq7BW1hx8bKyCZ9aJLaFIHFim40lCvzGnMCbzYD6Wz z1DDGjSIpZkCsaET29FnN7cCtHCdXBKY/8lbtd4Gvq+B1SVGx1RgRjZ1wKaJDOmOurmlXhw/67F sN91YDIglzxKIyw== 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 | 198 ++++++++++++++++++++++++++++++++----------= ---- 1 file changed, 139 insertions(+), 59 deletions(-) diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c index 1286c31320e630cb012009d6b962526e0553869f..f3999b8ef7ab759fe7b6d14bfc0= 3671c51f21e82 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,18 @@ struct apple_nvme_iod { struct scatterlist *sg; }; =20 +struct apple_nvme_hw { + bool has_lsq_nvmmu; + u32 max_queue_depth; + void (*submit_cmd)(struct apple_nvme_queue *q, struct nvme_command *cmd); +}; + 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 +224,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 +291,31 @@ 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); + u32 tag; + + spin_lock_irq(&anv->lock); + + 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 (q->is_adminq) + memcpy(&q->sqes[tag], cmd, sizeof(*cmd)); + else + memcpy((void *)q->sqes + (tag << APPLE_NVME_IOSQES), cmd, sizeof(*cmd)); + + 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 +625,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 +721,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 +749,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 +801,7 @@ static blk_status_t apple_nvme_queue_rq(struct blk_mq_h= w_ctx *hctx, } =20 nvme_start_request(req); - apple_nvme_submit_cmd(q, cmnd); + anv->hw->submit_cmd(q, cmnd); return BLK_STS_OK; =20 out_free_cmd: @@ -970,11 +1006,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 +1107,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 +1327,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 +1353,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 +1361,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 +1467,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 +1504,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 +1692,21 @@ 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, + .submit_cmd =3D &apple_nvme_submit_cmd_t8015, +}; + +static const struct apple_nvme_hw apple_nvme_t8103_hw =3D { + .has_lsq_nvmmu =3D true, + .max_queue_depth =3D 64, + .submit_cmd =3D &apple_nvme_submit_cmd_t8103, +}; + 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 09:39:52 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 A0E75308F10; Mon, 18 Aug 2025 08:44: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=1755506654; cv=none; b=bNDT34RfNVmVppXw2FpIx43tc1Xa9E7xMTw8dfOlCQZO04ciY4CO9bKy6C5CAdCX1utEDpFhi71LvHsKNs2Wvoecdx+/qs4yhjR5QjaEOa0k1qOfX3xn8Llhu8uNV/J6rhVi+yD3jMgvPcsdUOK78mpH1cVWdx1a1ugAqQA+iWM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506654; c=relaxed/simple; bh=pTUWkvNCIyhLcProl9XhpfAEq16p+fwv6rNm58M87Cc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GfA/C6Fv6nuQxwmHgQY0DE+omakhxRkpDyHuojMQer9HVFXZnWhrSxehUqt5cbFxS2k9t9bap1slmTykkCeqYCBU8dfo8oHLUe+SmV3fJkxU9CJvdVp96uBIfPH/VONTbMEh4y3ypRH5r5WbAm4ogzD6+eQGZcF1pEbnvWRN+4Q= 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=UbOaJ38A; 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="UbOaJ38A" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-b472fd93b4aso2160044a12.0; Mon, 18 Aug 2025 01:44:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506652; x=1756111452; 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=UbOaJ38AjWrsPJoW75D3eb2Ot5i/GdO9v8IctLlf/aBwOHiqJl2qhJxhGsp+ztnNqz z9i+AMPbRUJHbYM6SGQ/Ly3kX5k8+XyWgnltcv4IEUcQUQWIItBAZA9iE1qYhPL456Ts 74jITXuyNJAZK7VupzXdTEMwHwMYyCcQTcn5syxuJH7yLOHGvPAeAEDJMmjTR8oti2Fk L3sIZbuQ6LJFDoUL/lqKS4+jM3Hbqm7P/1pnc3fNiQcRaQ0No5FrNrxuNEbsSI+5DwNL 3HV9AGyeP3GISp9tzQK3E9Vg6yyP0gKanacO0mYQFc2WfSkXjwYeiF86qMlKLme8RBth 5YBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506652; x=1756111452; 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=orzW5NXYyLu/ck2YHV2eogqQEgQoGejXftP/R3gHJgJeKSgCr2aA20GVewEwJI5Jwu TfoNDToSMZGvnJaBwmM/chUx6b9h4lyjYgERb0nIsrbBa92BbHeRARdnMRILjfpzxIEe 3aCYlL2r7vtaqgjBsI9InIm0w3LAAWLTasP0ssNN+A6QbLKwidkKWC8nN4AUHOfCoCTZ 5N7lvuZ07OnFTIRG5P3c+wXbn5xMWViolwZQlXiHw99zccpCtC2qpAFzXEkMgWGh7StY N7aoQFjr/pPkZkupwQwfbc9611tvObr5lTOUmbqoQpfnUQG3CWTKVLJvWLxFf6p4WYfy jfAg== X-Forwarded-Encrypted: i=1; AJvYcCVMwqhmHIOH77xnf2tBQy9/9TeOuumlLnx04upSs9e6r3nlg7lW1TC2bhJVpM6tka99X0kQr8BFcOgEJXEx@vger.kernel.org, AJvYcCVQO2F/GwEf+uuFybj8FVawEJI1E16F3hceBpdkM4EGP1NB3BzVYrZBtVgOJt5nC/Wn7HN579wDcYrS@vger.kernel.org X-Gm-Message-State: AOJu0Ywr/Ngvdj3727BV3YZI/0wBzocXTcNzT6Rg1aw6QC7XJSoYqGcV mM3dUisejwK/vCLUbXz9vBkPg6WfVQzl2voSK1w7zxIJHJ6M0Wx4B80I X-Gm-Gg: ASbGncsFC3t7IxDvfAe3KkAN1EKLQrLw532brfEeg4P4Q3oWbPQW/x1hKoedY96T60L SoSGH9szNz28aa4BaU5MO2EsGvF+jFm6FLlS4deyc7a835W0N/L4AbD7pnQUu+/D6/Bd2uJqCPp HZqcLJe2t+j19qzPv/A3gMqhn0oTMMfrZQfP+sjZdvVkDrpklpXZKNHEWodDYDiaUfDtxV3OQXZ gm/9Qr8KFcWbcsCK22KvvvydoU84J8OY7ZNDBig9HtAug8d928IafNXdjmEvw6QsCM7hfsAG3QY /njFFvqy4SeWscp3kPUL8Ft6C6tQbgPsp0CkEpSpcVR79v/klDuWkJm8ll9zXZFA9hciYNz/DBh pb8m6mjcsQ/ndx8egnR3WcbXFJgn7GjjRCkiZYAuUq0b337vLQbgxK5MhJw== X-Google-Smtp-Source: AGHT+IG1afPtfSsM25RsLVziBfnzCxe+fm/mDBbqheQlT6OGm2ccgvPEYnJThK+OOSerwaXiksOffA== X-Received: by 2002:a17:903:24e:b0:240:8704:fb9 with SMTP id d9443c01a7336-2446d948463mr151270825ad.53.1755506651863; Mon, 18 Aug 2025 01:44:11 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.44.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:44:11 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:43:01 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-8-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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/ZANAwAKAQHKCLemxQgkAcsmYgBoouelWWJ0YeXG6dIWCt0vJagWW33XZSkjmaJ2r 35WAX3kwK6JAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpQAKCRABygi3psUI JDvPEACrtXL7Qr/DBRGiWukhhjd/4Z4w2dKfoWc6FF9aC19lals0kztGvk/RjEmsDol5RmPErQE MIEd5GstMiWFW32+K6f1VMh4YNf6wUn2kaz1gexAQdk0XAYgAsiKV3AUMPZrN37GpzqBoyCht0M kFxcpnvdq6CBkOsu8pgnCTRBe8PLDtGJPMcV33U5PlJXfpgJYRRRhaZKgBK6NebPt7m/09uodgd Oc5veSeMzd3QzmVqI5AkGn95VcnN0lWiA5srfxz6RhhoOk/ixgyTvg2IreLOKLzDMXlhzmA9Xpn mochAQmxFSZ3ZF0znN91qZH8HrC3zNSpEvDN9RQ8YnIaVg2n2plKKlIha5CRG4PNKfwzbJw3J6+ 3ClQcpUcYudBkeCcyPzqczIqMPpQ5tz6aL1MolfiiV2Yt2dRCIuVPvoEZbhNKDaYuDej1nGXJW7 EygOsTIebFypwkjFkEDvwnjjbsnMRO/I67936jtrsqXndRUbb+srPh4kGIRsmP6QUP3F1zTnIgU nWY75uqHxdfv/jJ0deQ0nY+wLSX/iH0bW3ZHz50//N0JRxxBpkObWScmPh3d6+w306mkpnXriD1 fzSAYuwHgXJI6yMrpyZVw2p2KBkOdbiUiNvJ/rMIBgEAKGDQUu3Ytqp9c9Xe2on8hUxHM96fmSF DaIl4kv/gDmUEOg== 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 09:39:52 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 78DF32D661E; Mon, 18 Aug 2025 08:44:18 +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=1755506660; cv=none; b=b+GDswK0tO7wL8LIklZ2oVQ4v3So/nbQzp2/lVjWckNSWaTWeAdBddmaI0NteccN95Y1WU6lhbxukLVRduBVGEbGnlMqrqykOkO/kchb8rKxSU2i5UQBvyHv9zmbEoiLwWJG0pOBuAjn3bhy2VigCxixB7SSwKVhPMZg4Z+e7dE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755506660; c=relaxed/simple; bh=W450nZF9q8zgSwZAzN00gO+pHroqymkBwDRdi0GaMOE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ImqGa82Vqe/IKqILT8fBTcOjzb+YRFQeVsyKNG1rIdjALdDHCu4QqDCA1OdJO2p6BLaV+Cjsd2nAkgSDIxjVtgOTyXxFQ1lwOTHCSagsCLt3cbIwatYJ4Jcuei5Yw3oR0gGOxONZzriKeOlo38zf9/n2vzYq2OXZSBRwX7Y2jbc= 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=jZ6ptN4c; 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="jZ6ptN4c" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-76e2ea887f6so2790215b3a.2; Mon, 18 Aug 2025 01:44:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755506658; x=1756111458; 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=jZ6ptN4cvGiCOanpJlirJr5ipV2TM3GfaY6hu1bTwZkSHNZ/dbDsEagI4M/+XuluXD KpHPF51pN3HrIZWv3w6/vsVygMqEXr26N7xtah7u1ydNV3XQ7teZKo+ugGMmEXB0y+B8 jCvGFR6llHf9cKND+okYMskcL5nkYjWhVwBDXSq6vTc5fixgcJMYjgreftU6rE5rJtcP 8o6/1mknFhozylk5RMJK8TsUePbvgSs8j37g2jdIP1HDO1z7dllLtRGtlMLNxEx9vfwa w/CZIwz9ixBpjvxiX1yxTCDu4RGM48qgWlBTfdygFtW64kbbeQB3QpHk5E88lzFLoJ8Y xX5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755506658; x=1756111458; 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=M0gg+UjmKf2bCMVdRe2CVb9XP1t0wo3TSHqDjkVH2IgJ8dGAZPtWwYdfdFFd6yju1S h2YMSt03yFOOZVlVEv2z62LOxDOUzotcxpPdLQO9J6Scydy29AcRcHNp1P0RMTI0dgN9 4tVYE4YrqXYw6cBqPC3AUR2tIu1q4j43j7uXIVIG3pdBlstL0JQ1Wu+x57xt9BrZKEBm LLKDuq8YocjHaXwf6B9WIXPDwfeQyYOQ6H+8tT9F35Yb8Gmfgnsm86XQ99KlEAvUNrOk p3aGE4hv4dPs433tEcUbCb2M70Kb0PeIbFfgFjM9zs3n1nyr2DHYSwTtZwJtPblnactI LLBg== X-Forwarded-Encrypted: i=1; AJvYcCVqIX0y5whW9mJF32/QJoKa7TYDmFiVGjTEtwIsczLzJxYeUlNsuWMgfUek5aRQfioGEY8jPc4Tfc4E@vger.kernel.org, AJvYcCW8WG3Jhr5JeQJtgraYM0DBF+Sn592dbFYLu5I6uEFtVkSABTwG++nCcqlBChbRVXASeYlIVcaraK1N2iCp@vger.kernel.org X-Gm-Message-State: AOJu0YzqxXpHaGyMRHN83fn+u/Eu6rX6IJWQ2mytJCajDdKVcpyjZbQD 9lg+KXy+S4D2F4pn9lna/ozy3mcKFVXIJrTRmI3epqGWaZBlST5JSM1l X-Gm-Gg: ASbGnctRo5qBywoSSOhToX3yNWvnGoaVlsI5Ui2bBcpHBDvGT/ojghfvZjwzTuNjfof +/wtSuanKK0ztyde0yhpTSPRP0MWvFOITDIM0HoXl02MHoDmyDKevoFq1cqUHFxbXc3vI6FOPNt ARTwNN5Ms+6J7yfZhUXO8Oz4iN+5GUg9OCCEWB5oBzSxhiQo5zje+n8tsi83xARG3VEdTERgVtb u6q4h1g4pMaz1IPR79thB9eeZwGcPqoZqFIJiaHEq+9+0s316etjMyuXfsfjpSh1bXVjeUiGZRi RhFnw+tepKvNHm2TDC+ze3Tz7LDnBeoiJ5XuV7y06rFqBJeX84LGZR0SY8DJiIR+SKK6QdO7Hfa U+GISa9aCK2gxyyMjWIeihkyVstmeAP3ABm0CAsGazBpnCmk= X-Google-Smtp-Source: AGHT+IEZ7SgzaIcViACMoklHwNzXuNrvR+dLxWbWKBIt+/2PHm1FePLfHPE2fOsDswTJBK1kq5uTyw== X-Received: by 2002:a17:902:d2ce:b0:235:eb8d:7fff with SMTP id d9443c01a7336-2446d8b1f83mr145333235ad.28.1755506657783; Mon, 18 Aug 2025 01:44:17 -0700 (PDT) Received: from [127.0.1.1] (061092221177.ctinets.com. [61.92.221.177]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2446d538f75sm74090925ad.108.2025.08.18.01.44.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 01:44:17 -0700 (PDT) From: Nick Chan Date: Mon, 18 Aug 2025 16:43:02 +0800 Subject: [PATCH v2 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: <20250818-t8015-nvme-v2-9-65648cd189e0@gmail.com> References: <20250818-t8015-nvme-v2-0-65648cd189e0@gmail.com> In-Reply-To: <20250818-t8015-nvme-v2-0-65648cd189e0@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/ZANAwAKAQHKCLemxQgkAcsmYgBoouemdDCDE0LTPBZa3djToJLXtZ0KFQccDpzbs 4vZ5ZKiW8qJAjMEAAEKAB0WIQRLUnh4XJes95w8aIMBygi3psUIJAUCaKLnpgAKCRABygi3psUI JCcpD/9Le073yzzucsbRvbZQOWl8EyMIsowsDZurct6uSh3G+LuNqc6CeLAdNkl3NfDZNbBUP5l dYqY/G60ao58ZeHJqd5L2pzXiBiW3uIN8TXATozENYrsBjP4+JcMqiGIId5LbEgukc/IpIeYROm 2D5Xz7ETB0KnIg42np4fpZpljQ/QZOST9qi/n5W32yCkGIwhRLVLBM5T9pI2NfF9nUHlUcW6Uo2 61haY/NF6qVhXOWYkfZ8AD5I7RM8H6yub1MJIg8p4nfGw75KqhtLOem59PYVel9NhammZesVXKQ fdUvePBRwAymKhbqhwA2VCdEfDviP8X0ENV5Mw3SrUujPvKVEE/IYLT4lOUmshWOxJwcBeWU1UM 6QyogMYmueE65OPCkaSgQxk/U23yje4L++Zi6Yg7HDL18bZKPAXtsK/K6WrHBdsgDjaS6U2rXOa K8tRg04xb6dImHo8juZWVa5NgdDYJqE8Nn/yp4kAdyTeY4BuHIIu870gQo/nahWQ55hoDgTrPAI 0ov+tkD3RHIVZZocP1JfIUVVn3D9vP3vceW2FIVbPacvpMDfqsKq3muKQBWfv/giMMohAMDlAjv sQHf+xvgWftQp6HsVC9TK1Lm0SJkWogXCRVUO/QJc7X8mZ2hx8rl/8scVQITbZ/B7Frp40Vxu7d yIEr993vDlfzcPg== 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