From nobody Tue Apr 7 12:23:21 2026 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (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 EA98629ACCD for ; Fri, 3 Apr 2026 16:44:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234645; cv=none; b=bVhxMe+1Bdw+QkFWzol6wr/hlRhv61KERVlz04wz6Nonmgeem+L9qpRVyrCu7XLfjKJprwdwscXPkrM3E2MnfGdTHoVxN3WOmMbP8h4Pam1ilQH+T5OxILLl9zgVIevgzxbabnHKXZhTS6A60zEQidnUEUgGMWwX1R2jZzHeERk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234645; c=relaxed/simple; bh=i4p562E6xl+MsawXqPrNM2npLjWfOncAEU+VEhgYYCg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Q7kLEtaLs/2hTqZMEGCTppYe063liCqJ2CjTkbe1DyHu0v+9QLO+ai9QsashJb8M1aTHrvVVO1bDkhz6GzFMzz/ah5IeAEthjXldfERgf0Y4cKXGyRqVQ1JxqMhbNR/zFqkfYjqAyIgU5N5S5SDk0p+xoRywGamtbZdK8F9WQJk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=mhVywkwu; arc=none smtp.client-ip=209.85.218.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="mhVywkwu" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-b9c04152730so312680066b.0 for ; Fri, 03 Apr 2026 09:44:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1775234642; x=1775839442; 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=CTjtCff7Q4DiiNPMLHxYW0+3ALVFBVM6wubHOseE9mU=; b=mhVywkwuJvhO3WlBYE1/OaMAZo+a//kPHAerR2H7xcZmilHNo1HFI1aL5wsGO1cqt1 8nu3eZoHOYwNGej3Z/DTHBvDzqA9gU84/jq7TQyPD8/9QEuskruHPVbahFKHRQLyUBBG gZga5ZP+WLNa2rrwSKbJwso4fT/zcCC/+5jYvtx9TpETIsZ6gILSXNK2SZmDspAeKBLc H0bHMNLiY4rW1rIkFMw+blYwSUiIKhu0D9Fp3IxL4b0o4gbYg61bJKRNxjh90yR3Clw5 JZBegqsnMrDZzgZJIM/H/KCCEPW7rmI01tc4kcCMHJgTNdWdDqKq6GnqSERy1Hmp5Is3 qv3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775234642; x=1775839442; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=CTjtCff7Q4DiiNPMLHxYW0+3ALVFBVM6wubHOseE9mU=; b=igGjSILJnfdUgl5cdHjHJDJbHqNJXsiZfvzk/oMzJZ0tsa/dQDq85pVJOSYwTuMf1S ImYM954AlE8uR/kHP2MRZeo06Aqd3sxfIIXwyV2LXfGD8GbdGhrumB+ZunW5TU+Z3W9v jROQnbUWyYz7MXsCxPNp5KuORTMycSWrx94dTqPo6Ax1XOH4IDSpJTaXMwMcDOP9D1BY Kpj77omYHFR8KgSCVgBzrtzxrzlaya8a9YJeW3V5e20bj98ZVigqN/HhC111/fDdyh+s X96jfKHJWwiJH4ZuCdBMudRN0rT1w5c2P9PHD+nG6L6fAImTVbge1DGU4D7tDJwRlZ+k TAkg== X-Forwarded-Encrypted: i=1; AJvYcCX/hrXL1Ee9borKGOWH2RQUcWzV9u2WUXNod+DcSk1MLbkv6sf/wJ0s3QfM5bVrYdZrhebiy/lGdkqlBbs=@vger.kernel.org X-Gm-Message-State: AOJu0YzrpAx4GKx5u4tZEznEeX82mU/Pdh+O+ZRqBDM/2SME/Zya/KtN 5n3Gx1BygWBMW7Bim4vj3ivUtEVPb4FI7CW9FStJoEFIYKtiWnCifBx9T9wXLxuMcz4= X-Gm-Gg: AeBDievPhsYOca4I4qqvTnpGna47+VvK+UWpGn7Ii10ZUm6/gzCr9QxwH7Ap/javVGy UdIZIuKAsxeeTVDY0ULwtVBQePeVTub0ZyLEGt8dfbHU2M189zMPKhwxPS7KTecyEJhYPjfrFoB E3VO/Mj+Fxd67BqQAXe4SYWn0hgrcaEiHt6qQywAvVbgNummAaZJokW+NtnuzQQK1zojHzLVIB/ Rreh6QCfcvY4UCBROFiQTLMEagq/kYBwQjGJm1skDFLf+nhEeyLpYOKsrf5poqJJNLocgL8IYTQ rYhs/IHXai8jBfkM3bptKqF1psX/QplZ06wHWbUPaHWKlUvh2t9P5gAHWfvF6SvgbOaePsPvyun NmxeUFVIhrkWbvr4n9zbKBwDBiKxTEkOXBhqWChahf9uF7fdbevJgF5gSW4VV7lXC7Q+Q194WsS aSlghDUas+ZbJzMpYojiZnK7iHao/YloNqRIlXt2A8kf/zMYJOiM+sWgjWntWEOpF59kUn5/bEY UA6voqBt8hf4e98GkTMqkZTWx8twEInGfkvaA== X-Received: by 2002:a17:907:c002:b0:b97:a1ca:e100 with SMTP id a640c23a62f3a-b9c67951901mr190889766b.32.1775234642271; Fri, 03 Apr 2026 09:44:02 -0700 (PDT) Received: from otso.local (2001-1c00-3b89-c600-71a4-084f-6409-1447.cable.dynamic.v6.ziggo.nl. [2001:1c00:3b89:c600:71a4:84f:6409:1447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3ca9a145sm213492566b.25.2026.04.03.09.44.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 09:44:01 -0700 (PDT) From: Luca Weiss Date: Fri, 03 Apr 2026 18:43:47 +0200 Subject: [PATCH 1/6] net: ipa: fix GENERIC_CMD register field masks for IPA v5.0+ 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: <20260403-milos-ipa-v1-1-01e9e4e03d3e@fairphone.com> References: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> In-Reply-To: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> To: Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Alexander Koskovich Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Luca Weiss X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775234639; l=1275; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=wVWwdatovjkVmj3hE2xttOnjurwQ7/UkaxiXvhYrMnw=; b=6f7dlNEqx/WgDEZTogxKVUxQuHWi4Gkbilt5KzzC4a4NlQluDwn1CvyiwdceB4Yn7NRmtQsWP oYcEdeFiz8oClMj8bu54iIa6PvIYpJRVe8H7ObjLR1rRgq5uRxrnorj X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= From: Alexander Koskovich Fix the field masks to match the hardware layout documented in downstream GSI (GSI_V3_0_EE_n_GSI_EE_GENERIC_CMD_*). Notably this fixes a WARN I was seeing when I tried to send "stop" to the MPSS remoteproc while IPA was up. Fixes: faf0678ec8a0 ("net: ipa: add IPA v5.0 GSI register definitions") Signed-off-by: Alexander Koskovich Signed-off-by: Luca Weiss --- drivers/net/ipa/reg/gsi_reg-v5.0.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ipa/reg/gsi_reg-v5.0.c b/drivers/net/ipa/reg/gsi_r= eg-v5.0.c index 36d1e65df71b..3334d8e20ad2 100644 --- a/drivers/net/ipa/reg/gsi_reg-v5.0.c +++ b/drivers/net/ipa/reg/gsi_reg-v5.0.c @@ -156,9 +156,10 @@ REG_FIELDS(EV_CH_CMD, ev_ch_cmd, 0x00025010 + 0x12000 = * GSI_EE_AP); =20 static const u32 reg_generic_cmd_fmask[] =3D { [GENERIC_OPCODE] =3D GENMASK(4, 0), - [GENERIC_CHID] =3D GENMASK(9, 5), - [GENERIC_EE] =3D GENMASK(13, 10), - /* Bits 14-31 reserved */ + [GENERIC_CHID] =3D GENMASK(12, 5), + [GENERIC_EE] =3D GENMASK(16, 13), + /* Bits 17-23 reserved */ + [GENERIC_PARAMS] =3D GENMASK(31, 24), }; =20 REG_FIELDS(GENERIC_CMD, generic_cmd, 0x00025018 + 0x12000 * GSI_EE_AP); --=20 2.53.0 From nobody Tue Apr 7 12:23:21 2026 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (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 6179F3CE483 for ; Fri, 3 Apr 2026 16:44:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234647; cv=none; b=l7sgeCCnJKBFXloLg6UbpUSIDRTxQIpTjyT0yC/uneR0d30toQ4CN/xZT9UmgBC6lBbSdSq6czvWZYNWxA9OD5v7JXuFES6vUkl/tkj+Igy+f23DuD/ajz7Iq2wDaVP1gmd0nw2Bq9Vi7iHoa2lj35hEqueVZP+A/3X/Ekk9c0A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234647; c=relaxed/simple; bh=c9ud9hMSAb29AtftWqh2+ul+32jl5aytaub0XxdrYew=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ONNfkjENjVWtQmU6EPIP2ho4VBUrFERrKyuoeIUB9WlgAA9h8ORzO5aYpQ64Ex0jJAZ35z+jgnERfwHn30zxFBxI0T7lmjyZtMFII6hpkLojH6T9PdWsvxE0hzA4h34WdHKwIqjZuPkE8Ym3e8X9rV6CJRLAMcHi+9KRSfD1+bs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=etF5eNW8; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="etF5eNW8" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b932fe2e1a7so266482966b.1 for ; Fri, 03 Apr 2026 09:44:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1775234644; x=1775839444; 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=kqZBtqbXpsXcGM064lzho6jfnaB+LmMlvvuZ2cyPGYA=; b=etF5eNW8Jg6DicZwBnIiQit9sNj0mTP2qqkZ9o3YXuaiaV6380KVNJvQCmdEBHsXe8 ytw3jLrliwUR3/Hlmm+kslPIgZvGe9U2CWHO9YWDYQLRIleJcBBZAj2r3ii00uh5aTB5 HGNgjGMs9U+izmMAcQRInpSK1OeBIo/hkfj66rwF/qiIGPvqIoVbZ1k1yIdtFgSNw1YC V2KKiAFgJHo5x/W6Z+b+YEwkmSjF9CI4IQmzfryfVq4/cMBQHTO70PBFUqvB/BS0qvzl YATmZ9GG3I2xx7bgbJ6zaBautH0TLY/2/q4A7gsjvLKPtopV3D78lsUJ8uAFYhmlPK2A R7Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775234644; x=1775839444; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=kqZBtqbXpsXcGM064lzho6jfnaB+LmMlvvuZ2cyPGYA=; b=i7i3F0FueS+uxEuQVu+GfLkUiLfK7Zlgn1H79x/9S6ohmW9ep8R0z4TIT5teUCyxkq aSs2jwtpuAG5H5f9ZLzchoKA8Qmq1M/auSDU+OJivuPboOv7/LNjhdcd37+Jy7FGEMOs b81cI392N4ewXTumKOcpWL9pzbwN9wWMNWDbv6RRKUYWXV+vB/lCZxiIWVDDz6OjYfd2 MdcnNgyYuLJJgFD+7Jfj09juXq0st5fl/cax7NkpR1Fypzd7b9u+uzL9bHRZUh6/s0Ky vGKAFogvzCf5czDJL/GTFwdTVIbrCVlr0dzz0EOokii1cP0AMNGBcdqM+3c5QcisdlGF 5rzw== X-Forwarded-Encrypted: i=1; AJvYcCV7G2CpEIi7BNU6HqUE+gW5vR9BzhTKC3naHRMMCvQxes/ryH9bu9sRhD8oJ9So/T3aNVZdzy+07K4UTeY=@vger.kernel.org X-Gm-Message-State: AOJu0Ywu+TdlX1MI6JyGDeN/apL21X3ojXgbL75nuHR+PLi5m+ssulgh 5D4uz/N4w6oauqlz/PR5cLrw8gndriav3RlVSABwhVhLYaTZlWJd2m0vew6JT8RdQ10= X-Gm-Gg: AeBDieueE44BYdxWqYg2ueJxDmfh/btFdoJyjym6YR4Wc18FrQLut4A4FlllLxniemI p3pPzsMjo6JDAOWb3yLXxbQeKcxTKuReu1iram9LeyQUKvNUZR9dxGDhVdjarO1v+SNVm/MHzDx /BV5GyemM5hkAzVdYj8rcBQKSUOp7l0sCmcPMcGjSgwoq4F9ne939XXmT+c32Y+/1BC3i2I3MqE 1HX4Nu+FrXivAyVT0iYnSaHRFIVIORopffWW1IzFPaIOpskWtQQgc619mZxbuTcxsg+pSQmZHT/ MUt3pd6re/do5p4fsTdMSZ7pG88zCgOtvUE4HqLt1K/xSFXNHLq/2XP8wIhEgIv8EVAXbCqg1mX zCOBlsZNi5oqUpDmCWvx4m3Sxf4V0k0G3ZuGis9Il6gtgyR0kQPa2lA1Vl62gBKYHfSgI5Qeq9R c38ao1+lJQEbRtiUdRfJ2V4ixBDoRWCg1IAm/SPEVSrMzo8S0S33SuoeFr548LP2TLySaw7xtF3 bTXNofttCMA5O7JvYXkM0xDzAEofQej8Wahrw== X-Received: by 2002:a17:907:3e9f:b0:b97:ca81:e89a with SMTP id a640c23a62f3a-b9c66e8f0admr191031366b.0.1775234643574; Fri, 03 Apr 2026 09:44:03 -0700 (PDT) Received: from otso.local (2001-1c00-3b89-c600-71a4-084f-6409-1447.cable.dynamic.v6.ziggo.nl. [2001:1c00:3b89:c600:71a4:84f:6409:1447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3ca9a145sm213492566b.25.2026.04.03.09.44.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 09:44:02 -0700 (PDT) From: Luca Weiss Date: Fri, 03 Apr 2026 18:43:48 +0200 Subject: [PATCH 2/6] net: ipa: fix event ring index not programmed for IPA v5.0+ 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: <20260403-milos-ipa-v1-2-01e9e4e03d3e@fairphone.com> References: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> In-Reply-To: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> To: Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Alexander Koskovich Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Luca Weiss X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775234639; l=1402; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=niHCtM98CmwGu9tGXQ1iV8G8OUNt7CyQAHGOy0w2ztg=; b=96TjL2CndxnnjLRlVhkbxUrsefNcmkkxoxcUib1ZyUIjblzrlIaLz8j/6EGfZLBeALxZc02AG rCUST7ZUZePDpYuFSjdZWozuZDKvMxsQvBPjxu48IEQqCxKA26ZqcEw X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= From: Alexander Koskovich For IPA v5.0+, the event ring index field moved from CH_C_CNTXT_0 to CH_C_CNTXT_1. The v5.0 register definition intended to define this field in the CH_C_CNTXT_1 fmask array but used the old identifier of ERINDEX instead of CH_ERINDEX. Without a valid event ring, GSI channels could never signal transfer completions. This caused gsi_channel_trans_quiesce() to block forever in wait_for_completion(). At least for IPA v5.2 this resolves an issue seen where runtime suspend, system suspend, and remoteproc stop all hanged forever. It also meant the IPA data path was completely non functional. Fixes: faf0678ec8a0 ("net: ipa: add IPA v5.0 GSI register definitions") Signed-off-by: Alexander Koskovich Signed-off-by: Luca Weiss --- drivers/net/ipa/reg/gsi_reg-v5.0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ipa/reg/gsi_reg-v5.0.c b/drivers/net/ipa/reg/gsi_r= eg-v5.0.c index 3334d8e20ad2..6c4a7fbe4de9 100644 --- a/drivers/net/ipa/reg/gsi_reg-v5.0.c +++ b/drivers/net/ipa/reg/gsi_reg-v5.0.c @@ -30,7 +30,7 @@ REG_STRIDE_FIELDS(CH_C_CNTXT_0, ch_c_cntxt_0, =20 static const u32 reg_ch_c_cntxt_1_fmask[] =3D { [CH_R_LENGTH] =3D GENMASK(23, 0), - [ERINDEX] =3D GENMASK(31, 24), + [CH_ERINDEX] =3D GENMASK(31, 24), }; =20 REG_STRIDE_FIELDS(CH_C_CNTXT_1, ch_c_cntxt_1, --=20 2.53.0 From nobody Tue Apr 7 12:23:21 2026 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (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 26E0E3CEBBC for ; Fri, 3 Apr 2026 16:44:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234647; cv=none; b=lqDu+P5qdYcDpV0C7ZpvUKrbGraEnczVObl1fZu/+8i97a6mWu2N9AClf787u+1IBAELXoTbo00DaZpv0IuN1B1kwqnQQqA7nTWsYJ3nB8oBpwwZyVpXp9FJrS9lIqNrEZbHxMAwGvo5glS2nzV3UNAHgLGWG9ARIpcYCeYbxHw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234647; c=relaxed/simple; bh=vDbmeaqL6j039OEqNItmPJ9fxW8hfiNnCv9Ev3C9C08=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bFfL6Qq8aZXUduWLC9/sZEnlwxYAUofW/kZNJOGb3lTtWQzkQjgFuat5/vLYggnh+YhZTT7w4SmEUs4Da5LxGBVxrQPEdsEhR2HgkZkNekhvVB4Ii+xDP/1KKMvcRuvXiwD4p94mQQLSGbgsLL9m9REu63eF0HKJOoD5XsC66JU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=KhYjomze; arc=none smtp.client-ip=209.85.218.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="KhYjomze" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-b9c745e18a0so166547666b.1 for ; Fri, 03 Apr 2026 09:44:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1775234644; x=1775839444; 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=7CKDzUVCGIYSeYc4ZNCps7II5Y1x+X+SqlRkbx3cDqc=; b=KhYjomzem+V7R0EavqlwkPcYjpOag4mY5muiXu/ykKnnWBmH9iwZFhAI+hgEccWVS3 65jYrBj+GQ0kS4rwxQtNavczRNoXqwR2selZv66jS4VAlE2gtfc5CTSCQ2tLp9lupyrg ewZigJ3/noibsB3Qy8VmoDoe/9tihmzhAJfC4NCn2OQns23pSYQgNQ3K1PwobndPcWW0 guG9lrogxQ7zc7bWff4l4jsyGmCaYMgKOYbRlWNl56Q4QX6vyug7Ttrk5tm2YzkIZDnV V5JuIlvYoB2rCkrFLuar5Knuv4QNf+2bnfvh+P3B8o4IQUI+sIj9kgQppisu4pECed45 EdkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775234644; x=1775839444; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7CKDzUVCGIYSeYc4ZNCps7II5Y1x+X+SqlRkbx3cDqc=; b=eKR6xKayGJlxBEE/OdM/d2DRdE9nMY0XV/OPAQut+d2eT8Vt0pojG2wPrJJBBHqLIb bEyh1ggr/W9hoWdNsp7VYyQPBPq4g+E0NZ7aTYqTDa5MpUAmPje/b/LB5jdvbLMAqaCT zDhJFNiOOb6Sgg9G3BVMeE96UFhNF/i1wp5y8+qyw0rFTdBstZjfur8eY1ZCAU9mZBZD Uu/pOmWwQD3uYBL+biJnDkT/n16igrGJU0SlLI3t7RWEQMdXA0oVZnKKH8UBkd6fST9G Cnd6eBg8dzq5ldrFmGNx77zAK/xBIybg4RwPgiJymvAmURPNLhw1TaliKrg1Q6URjmLt K12A== X-Forwarded-Encrypted: i=1; AJvYcCUslLEywhukj8UMFD0sc3ccvnJL6eDsuAPnEeitRfmEObsCkFhlseKIZCQemJUThcMce/9oH724YtDxNUU=@vger.kernel.org X-Gm-Message-State: AOJu0YzqE9g7Wks6Q8Qw3BnROOmnlAmpz78M0NYlHRY84R+/DgXFj8Ew KayPmdyDqOd+8nd5UB0hsEQnNUwnL45AYlA6Qjlj62uoRT2TXW3aRwrc9x3mQY4jT+A= X-Gm-Gg: AeBDies+GsBoRNe7gK98kDXIhEe+2jweaQ9FlkUanQY0OFzlc+omZPnGtQ3cm5sD7G7 tJpB/Z7weIY6ILbQeqXwiJ4wWPKZUZtl9VmoDKVJ2/ZtOGnJCjpYQDWxtaCP8OcGpC7w2LcGKzI 5FosGLNJt48V2ZlNZYGsd8Cwb4/fRIJ49C8j2fA3JFdcQ6DtB4J1XQZahw16g30IzZY6NRFJb+u HK4TybxcUxmsLl25zIP3TcAJsJjETrGnHJ6wTgQumwnDyHlAhXH/Lq75hZ3L8giBy5EQjv5TpLA DAMUY5V23oQAMQIGQBcciN9MoFeAxfDKiF3TccRmYSK7d664NPGIaAfXdX7ZynCHg1Wo7zBzp9W rq0omVS6p56tHU/RiRuP5e4EmlpUlhK/ckZsLUZZxlDCJnQGEi0gKrJ8sHIv5Qxnoa3RT1BbPw3 YBosM05ieIwAYGY7y24AKoQqh81LTBm0luQMFVYQsBNJSbu5OXzC5bNuHBWSy7qyeq47IwVFJZ0 SXRMglY4AGBlaYoPn47uYOmVR3Hy74wK9BA8Q== X-Received: by 2002:a17:907:3d0c:b0:b9c:7b62:7bc9 with SMTP id a640c23a62f3a-b9c7b628bf4mr89943966b.11.1775234644481; Fri, 03 Apr 2026 09:44:04 -0700 (PDT) Received: from otso.local (2001-1c00-3b89-c600-71a4-084f-6409-1447.cable.dynamic.v6.ziggo.nl. [2001:1c00:3b89:c600:71a4:84f:6409:1447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3ca9a145sm213492566b.25.2026.04.03.09.44.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 09:44:04 -0700 (PDT) From: Luca Weiss Date: Fri, 03 Apr 2026 18:43:49 +0200 Subject: [PATCH 3/6] dt-bindings: net: qcom,ipa: add Milos compatible 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: <20260403-milos-ipa-v1-3-01e9e4e03d3e@fairphone.com> References: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> In-Reply-To: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> To: Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Alexander Koskovich Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Luca Weiss X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775234639; l=699; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=vDbmeaqL6j039OEqNItmPJ9fxW8hfiNnCv9Ev3C9C08=; b=mXWJEgU3e2IoxjKyItffyoAa4WLNpmWiImybdREDj076J1O8EJOtjTJ/7E60j+8rTZskknyqm 86UuGN77F5JBZbIiCMC4s+p6WmmcYX3+n9viols85CSHwizdDPeijAs X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Add support for the Milos SoC, which uses IPA v5.2. Signed-off-by: Luca Weiss Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/net/qcom,ipa.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Document= ation/devicetree/bindings/net/qcom,ipa.yaml index e4bb627e1757..fdeaa81b9645 100644 --- a/Documentation/devicetree/bindings/net/qcom,ipa.yaml +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml @@ -44,6 +44,7 @@ properties: compatible: oneOf: - enum: + - qcom,milos-ipa - qcom,msm8998-ipa - qcom,sc7180-ipa - qcom,sc7280-ipa --=20 2.53.0 From nobody Tue Apr 7 12:23:21 2026 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 815B33CF05B for ; Fri, 3 Apr 2026 16:44:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234651; cv=none; b=KH7zk1gKFa2ekjcOEeIcu6RjjfR3F1jsoQg+dRjRyu90Oa9Q0AFEkKVgpcmgKryGT7aV0buoT4cPll6jg+XGkQ488HSaf1OyexYlQw5zwDD2jvQIsUhuNRqjidzI0WAyv+Dk8ogItRmR2a/liGRtveqbmTM6D265a+lneERG7Pg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234651; c=relaxed/simple; bh=jUo7g6I6p1JHRet0ueHk1c8pIkO2J9jMZW92HH837/g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uGH6O+aa/5FA8MQ8CK7hVBSD+vm2Ul7i0MTK8ll5/bXu2lGyfTlYudFGc5DygEmFzda4wwnHLGXXlHIXlCK5VZaltXwvsIljOM+H/7mqa4CVLHZe9vVLnBUPXs+24NY6xEAFTqfWYAsFXoDDb89qXy7McXW6fNLFdscAfp7oel0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=npZTOynJ; arc=none smtp.client-ip=209.85.218.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="npZTOynJ" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b886fc047d5so328936866b.3 for ; Fri, 03 Apr 2026 09:44:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1775234646; x=1775839446; 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=QjmM2Mpf5DG2HMl6DFCBhwEENmYRUZMzi1UWvgQwg/I=; b=npZTOynJAVlQA/w7DPNPyaTcZ2lY8vtTPgacoSer+GuOj+uOljtK37q/P4SRsF3KK9 wP0XN5+6dcN2/hiePC0xPn+4ShGmXKy6D1kJYSowSdJrFY13qPj2gB22+iyAKGz0M/ee ZOuEpRDfOlgKV5O6wz71EeKK1ekZJNyuHdIrd1wDrTrmABYYvITjwzp/feoq7+BiVUfU 0MptLTtZHPQl52OuL1nQCAKDWJLKgyIisWkUL8Krnz+8sqpDwgdFWIDY1cx54cy3DLDo H8TE82qFTDQkQ6I+RHUXX5u1EB3HZrSPsMQ0PD2br9hV4s+AXiMHSUhemLCNvjP9mPye j/9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775234646; x=1775839446; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=QjmM2Mpf5DG2HMl6DFCBhwEENmYRUZMzi1UWvgQwg/I=; b=Mb+qgnPbKL8W1fozXFyQvHjaOCbC78Gmwr27B6h3FP3AKFRByZ814/E0yNLAslI4zY A7xa0oflIIuAudlbaAO2Ez9f4O5zPrJRnaq4jtcPchvMFLve2OqUAW9VMcHjjE2DNuQA 0jdisEzDscOsOUFPWZFyKUKKnA4QPUVL5GNhs4+cD5WrwekISEvs9n2kdOsJqDmaHa95 z77sjCFvrrJqBQHlcKSwVmbKKBNdoNqlgK1IyKW5BqlAim7OWHCju7Zl+3Us1KtiCvgl wPwPMv2yDpRzGB/JK35bK3O86VXs9ZO6CJRzm3rQFEtErieZ2mLnzfqnaIC8LCJGA/Q5 Ergw== X-Forwarded-Encrypted: i=1; AJvYcCWjcFQtvut2KzXqvOC1w4QeyLVHhBTb+JS4Nj12Wv/W3mJKDtUESL5n0Q9mbCy0uRaIEmBt2Rgoc71LuRA=@vger.kernel.org X-Gm-Message-State: AOJu0YydJm30swm3FsSkdOfM/cmW9YctRqSIfNq4/kbm9hT6EZNiZmLW HfddWe87AsPXw+atvhB7knqU/4t6uQ73gHzFTdrfgC1go6C2pmosK3FdhCxUoXJQtr0= X-Gm-Gg: AeBDieu/pXLgWYHI7j/TF0pzZxi2dX5scbopKVTp0zZz4gXpKGQh/q0Ges8EVWf2UcT lEQIzMvSWv9rZY5WPW0PGE6xllTzK240F614/YmlbGwwX3/bi0J7AaeA9qE2sk0PF5juLJD2YeN Nu0PdIUG8hBuzwhx0Zfnm4Ls4XDnSmEEaIAQmLehkW6EewCLofQGLeQFYtx2tFCRNTxb1EXaFkD Goqm+ujzYkv9CzC5kAHFGupyJoD/pS+8r234ZllidiaR+sq7mH+DtgTqYES/8AnRbVCukWak3Gz i9JUkjHHF1CWvHrtbcu1IhflfrotKdEkaGANuNJe+Uvw3OGJR2LGqB8DFy6jitTaMlc2Jo77MdC DRC37usheVDRirzLsLS/6zgyX1zN6oe+uHbMIDoI+gg5ZjiBa1gJP+sNv2idfVYG7syrrerzxFW G+R9+SRvA+91w42sA5DeOzhw8Sxd21q1D4qdufH8N6yw4UV/xhD0XA8JDNsL5PKZPQu1joVAVmH b1oGl2iTvHiMkFwb9Sh6PQ7lF+S1T4kAQTwcaEY8AoBhnUJ X-Received: by 2002:a17:907:6eab:b0:b98:4a7a:d5f8 with SMTP id a640c23a62f3a-b9c67a10a6fmr185072266b.46.1775234645548; Fri, 03 Apr 2026 09:44:05 -0700 (PDT) Received: from otso.local (2001-1c00-3b89-c600-71a4-084f-6409-1447.cable.dynamic.v6.ziggo.nl. [2001:1c00:3b89:c600:71a4:84f:6409:1447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3ca9a145sm213492566b.25.2026.04.03.09.44.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 09:44:04 -0700 (PDT) From: Luca Weiss Date: Fri, 03 Apr 2026 18:43:50 +0200 Subject: [PATCH 4/6] net: ipa: add IPA v5.2 configuration data 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: <20260403-milos-ipa-v1-4-01e9e4e03d3e@fairphone.com> References: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> In-Reply-To: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> To: Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Alexander Koskovich Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Luca Weiss X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775234639; l=15389; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=jUo7g6I6p1JHRet0ueHk1c8pIkO2J9jMZW92HH837/g=; b=FFV557m6AuzXzr7rZcZPUpu6eFseOqmjavF2MzNSYrIvBbIFl1EDhWxwMFEJ8Yf1rL0hk93Or hCbkN2iIGXDCmgefKfNZH9TcWhFG0l4wH++5hpdN2yWYR6hKMI3S6Ko X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Add the configuration data required for IPA v5.2, which is used in the Qualcomm Milos SoC. Signed-off-by: Luca Weiss --- drivers/net/ipa/Makefile | 2 +- drivers/net/ipa/data/ipa_data-v5.2.c | 452 +++++++++++++++++++++++++++++++= ++++ drivers/net/ipa/gsi_reg.c | 1 + drivers/net/ipa/ipa_data.h | 1 + drivers/net/ipa/ipa_main.c | 4 + drivers/net/ipa/ipa_reg.c | 1 + drivers/net/ipa/ipa_sysfs.c | 2 + drivers/net/ipa/ipa_version.h | 2 + 8 files changed, 464 insertions(+), 1 deletion(-) diff --git a/drivers/net/ipa/Makefile b/drivers/net/ipa/Makefile index d3abb38633e0..e148ec3c1a10 100644 --- a/drivers/net/ipa/Makefile +++ b/drivers/net/ipa/Makefile @@ -7,7 +7,7 @@ IPA_REG_VERSIONS :=3D 3.1 3.5.1 4.2 4.5 4.7 4.9 4.11 5.0 5.5 # Some IPA versions can reuse another set of GSI register definitions. GSI_REG_VERSIONS :=3D 3.1 3.5.1 4.0 4.5 4.9 4.11 5.0 =20 -IPA_DATA_VERSIONS :=3D 3.1 3.5.1 4.2 4.5 4.7 4.9 4.11 5.0 5.5 +IPA_DATA_VERSIONS :=3D 3.1 3.5.1 4.2 4.5 4.7 4.9 4.11 5.0 5.2 5.5 =20 obj-$(CONFIG_QCOM_IPA) +=3D ipa.o =20 diff --git a/drivers/net/ipa/data/ipa_data-v5.2.c b/drivers/net/ipa/data/ip= a_data-v5.2.c new file mode 100644 index 000000000000..c56c4f1836ae --- /dev/null +++ b/drivers/net/ipa/data/ipa_data-v5.2.c @@ -0,0 +1,452 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2023-2024 Linaro Ltd. + * Copyright (c) 2026, Luca Weiss + */ + +#include +#include + +#include "../ipa_data.h" +#include "../ipa_endpoint.h" +#include "../ipa_mem.h" +#include "../ipa_version.h" + +/** enum ipa_resource_type - IPA resource types for an SoC having IPA v5.2= */ +enum ipa_resource_type { + /* Source resource types; first must have value 0 */ + IPA_RESOURCE_TYPE_SRC_PKT_CONTEXTS =3D 0, + IPA_RESOURCE_TYPE_SRC_DESCRIPTOR_LISTS, + IPA_RESOURCE_TYPE_SRC_DESCRIPTOR_BUFF, + IPA_RESOURCE_TYPE_SRC_HPS_DMARS, + IPA_RESOURCE_TYPE_SRC_ACK_ENTRIES, + + /* Destination resource types; first must have value 0 */ + IPA_RESOURCE_TYPE_DST_DATA_SECTORS =3D 0, + IPA_RESOURCE_TYPE_DST_DPS_DMARS, + IPA_RESOURCE_TYPE_DST_ULSO_SEGMENTS, +}; + +/* Resource groups used for an SoC having IPA v5.2 */ +enum ipa_rsrc_group_id { + /* Source resource group identifiers */ + IPA_RSRC_GROUP_SRC_UL =3D 0, + IPA_RSRC_GROUP_SRC_DL, + IPA_RSRC_GROUP_SRC_URLLC, + IPA_RSRC_GROUP_SRC_COUNT, /* Last in set; not a source group */ + + /* Destination resource group identifiers */ + IPA_RSRC_GROUP_DST_UL =3D 0, + IPA_RSRC_GROUP_DST_DL, + IPA_RSRC_GROUP_DST_UNUSED_1, + IPA_RSRC_GROUP_DST_DRB_IP, + IPA_RSRC_GROUP_DST_COUNT, /* Last; not a destination group */ +}; + +/* QSB configuration data for an SoC having IPA v5.2 */ +static const struct ipa_qsb_data ipa_qsb_data[] =3D { + [IPA_QSB_MASTER_DDR] =3D { + .max_writes =3D 13, + .max_reads =3D 13, + .max_reads_beats =3D 0, + }, +}; + +/* Endpoint configuration data for an SoC having IPA v5.2 */ +static const struct ipa_gsi_endpoint_data ipa_gsi_endpoint_data[] =3D { + [IPA_ENDPOINT_AP_COMMAND_TX] =3D { + .ee_id =3D GSI_EE_AP, + .channel_id =3D 6, + .endpoint_id =3D 9, + .toward_ipa =3D true, + .channel =3D { + .tre_count =3D 256, + .event_count =3D 256, + .tlv_count =3D 20, + }, + .endpoint =3D { + .config =3D { + .resource_group =3D IPA_RSRC_GROUP_SRC_UL, + .dma_mode =3D true, + .dma_endpoint =3D IPA_ENDPOINT_AP_LAN_RX, + .tx =3D { + .seq_type =3D IPA_SEQ_DMA, + }, + }, + }, + }, + [IPA_ENDPOINT_AP_LAN_RX] =3D { + .ee_id =3D GSI_EE_AP, + .channel_id =3D 7, + .endpoint_id =3D 11, + .toward_ipa =3D false, + .channel =3D { + .tre_count =3D 256, + .event_count =3D 256, + .tlv_count =3D 9, + }, + .endpoint =3D { + .config =3D { + .resource_group =3D IPA_RSRC_GROUP_DST_UL, + .aggregation =3D true, + .status_enable =3D true, + .rx =3D { + .buffer_size =3D 8192, + .pad_align =3D ilog2(sizeof(u32)), + .aggr_time_limit =3D 500, + }, + }, + }, + }, + [IPA_ENDPOINT_AP_MODEM_TX] =3D { + .ee_id =3D GSI_EE_AP, + .channel_id =3D 5, + .endpoint_id =3D 2, + .toward_ipa =3D true, + .channel =3D { + .tre_count =3D 512, + .event_count =3D 512, + .tlv_count =3D 25, + }, + .endpoint =3D { + .filter_support =3D true, + .config =3D { + .resource_group =3D IPA_RSRC_GROUP_SRC_UL, + .checksum =3D true, + .qmap =3D true, + .status_enable =3D true, + .tx =3D { + .seq_type =3D IPA_SEQ_2_PASS_SKIP_LAST_UC, + .status_endpoint =3D + IPA_ENDPOINT_MODEM_AP_RX, + }, + }, + }, + }, + [IPA_ENDPOINT_AP_MODEM_RX] =3D { + .ee_id =3D GSI_EE_AP, + .channel_id =3D 9, + .endpoint_id =3D 18, + .toward_ipa =3D false, + .channel =3D { + .tre_count =3D 256, + .event_count =3D 256, + .tlv_count =3D 9, + }, + .endpoint =3D { + .config =3D { + .resource_group =3D IPA_RSRC_GROUP_DST_DL, + .checksum =3D true, + .qmap =3D true, + .aggregation =3D true, + .rx =3D { + .buffer_size =3D 8192, + .aggr_time_limit =3D 500, + .aggr_close_eof =3D true, + }, + }, + }, + }, + [IPA_ENDPOINT_MODEM_AP_TX] =3D { + .ee_id =3D GSI_EE_MODEM, + .channel_id =3D 0, + .endpoint_id =3D 7, + .toward_ipa =3D true, + .endpoint =3D { + .filter_support =3D true, + }, + }, + [IPA_ENDPOINT_MODEM_AP_RX] =3D { + .ee_id =3D GSI_EE_MODEM, + .channel_id =3D 7, + .endpoint_id =3D 16, + .toward_ipa =3D false, + }, + [IPA_ENDPOINT_MODEM_DL_NLO_TX] =3D { + .ee_id =3D GSI_EE_MODEM, + .channel_id =3D 2, + .endpoint_id =3D 10, + .toward_ipa =3D true, + .endpoint =3D { + .filter_support =3D true, + }, + }, +}; + +/* Source resource configuration data for an SoC having IPA v5.2 */ +static const struct ipa_resource ipa_resource_src[] =3D { + [IPA_RESOURCE_TYPE_SRC_PKT_CONTEXTS] =3D { + .limits[IPA_RSRC_GROUP_SRC_UL] =3D { + .min =3D 1, .max =3D 7, + }, + .limits[IPA_RSRC_GROUP_SRC_DL] =3D { + .min =3D 1, .max =3D 7, + }, + .limits[IPA_RSRC_GROUP_SRC_URLLC] =3D { + .min =3D 0, .max =3D 5, + }, + }, + [IPA_RESOURCE_TYPE_SRC_DESCRIPTOR_LISTS] =3D { + .limits[IPA_RSRC_GROUP_SRC_UL] =3D { + .min =3D 8, .max =3D 8, + }, + .limits[IPA_RSRC_GROUP_SRC_DL] =3D { + .min =3D 8, .max =3D 8, + }, + .limits[IPA_RSRC_GROUP_SRC_URLLC] =3D { + .min =3D 8, .max =3D 8, + }, + }, + [IPA_RESOURCE_TYPE_SRC_DESCRIPTOR_BUFF] =3D { + .limits[IPA_RSRC_GROUP_SRC_UL] =3D { + .min =3D 10, .max =3D 10, + }, + .limits[IPA_RSRC_GROUP_SRC_DL] =3D { + .min =3D 12, .max =3D 12, + }, + .limits[IPA_RSRC_GROUP_SRC_URLLC] =3D { + .min =3D 12, .max =3D 12, + }, + }, + [IPA_RESOURCE_TYPE_SRC_HPS_DMARS] =3D { + .limits[IPA_RSRC_GROUP_SRC_UL] =3D { + .min =3D 0, .max =3D 63, + }, + .limits[IPA_RSRC_GROUP_SRC_DL] =3D { + .min =3D 0, .max =3D 63, + }, + .limits[IPA_RSRC_GROUP_SRC_URLLC] =3D { + .min =3D 0, .max =3D 63, + }, + }, + [IPA_RESOURCE_TYPE_SRC_ACK_ENTRIES] =3D { + .limits[IPA_RSRC_GROUP_SRC_UL] =3D { + .min =3D 15, .max =3D 15, + }, + .limits[IPA_RSRC_GROUP_SRC_DL] =3D { + .min =3D 15, .max =3D 15, + }, + .limits[IPA_RSRC_GROUP_SRC_URLLC] =3D { + .min =3D 12, .max =3D 12, + }, + }, +}; + +/* Destination resource configuration data for an SoC having IPA v5.2 */ +static const struct ipa_resource ipa_resource_dst[] =3D { + [IPA_RESOURCE_TYPE_DST_DATA_SECTORS] =3D { + .limits[IPA_RSRC_GROUP_DST_UL] =3D { + .min =3D 3, .max =3D 3, + }, + .limits[IPA_RSRC_GROUP_DST_DL] =3D { + .min =3D 3, .max =3D 3, + }, + .limits[IPA_RSRC_GROUP_DST_DRB_IP] =3D { + .min =3D 23, .max =3D 23, + }, + }, + [IPA_RESOURCE_TYPE_DST_DPS_DMARS] =3D { + .limits[IPA_RSRC_GROUP_DST_UL] =3D { + .min =3D 1, .max =3D 2, + }, + .limits[IPA_RSRC_GROUP_DST_DL] =3D { + .min =3D 1, .max =3D 2, + }, + }, + [IPA_RESOURCE_TYPE_DST_ULSO_SEGMENTS] =3D { + .limits[IPA_RSRC_GROUP_DST_UL] =3D { + .min =3D 1, .max =3D 63, + }, + .limits[IPA_RSRC_GROUP_DST_DL] =3D { + .min =3D 1, .max =3D 63, + }, + }, +}; + +/* Resource configuration data for an SoC having IPA v5.2 */ +static const struct ipa_resource_data ipa_resource_data =3D { + .rsrc_group_dst_count =3D IPA_RSRC_GROUP_DST_COUNT, + .rsrc_group_src_count =3D IPA_RSRC_GROUP_SRC_COUNT, + .resource_src_count =3D ARRAY_SIZE(ipa_resource_src), + .resource_src =3D ipa_resource_src, + .resource_dst_count =3D ARRAY_SIZE(ipa_resource_dst), + .resource_dst =3D ipa_resource_dst, +}; + +/* IPA-resident memory region data for an SoC having IPA v5.2 */ +static const struct ipa_mem ipa_mem_local_data[] =3D { + { + .id =3D IPA_MEM_UC_SHARED, + .offset =3D 0x0000, + .size =3D 0x0080, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_UC_INFO, + .offset =3D 0x0080, + .size =3D 0x0200, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_V4_FILTER_HASHED, + .offset =3D 0x0288, + .size =3D 0x0078, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V4_FILTER, + .offset =3D 0x0308, + .size =3D 0x0078, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V6_FILTER_HASHED, + .offset =3D 0x0388, + .size =3D 0x0078, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V6_FILTER, + .offset =3D 0x0408, + .size =3D 0x0078, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V4_ROUTE_HASHED, + .offset =3D 0x0488, + .size =3D 0x0098, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V4_ROUTE, + .offset =3D 0x0528, + .size =3D 0x0098, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V6_ROUTE_HASHED, + .offset =3D 0x05c8, + .size =3D 0x0098, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_V6_ROUTE, + .offset =3D 0x0668, + .size =3D 0x0098, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_MODEM_HEADER, + .offset =3D 0x0708, + .size =3D 0x0240, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_AP_HEADER, + .offset =3D 0x0948, + .size =3D 0x01e0, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_MODEM_PROC_CTX, + .offset =3D 0x0b40, + .size =3D 0x0b20, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_AP_PROC_CTX, + .offset =3D 0x1660, + .size =3D 0x0200, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_STATS_QUOTA_MODEM, + .offset =3D 0x1868, + .size =3D 0x0060, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_STATS_QUOTA_AP, + .offset =3D 0x18c8, + .size =3D 0x0048, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_STATS_TETHERING, + .offset =3D 0x1910, + .size =3D 0x03c0, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_STATS_FILTER_ROUTE, + .offset =3D 0x1cd0, + .size =3D 0x0ba0, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_STATS_DROP, + .offset =3D 0x2870, + .size =3D 0x0020, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_MODEM, + .offset =3D 0x2898, + .size =3D 0x0d48, + .canary_count =3D 2, + }, + { + .id =3D IPA_MEM_NAT_TABLE, + .offset =3D 0x35e0, + .size =3D 0x0900, + .canary_count =3D 0, + }, + { + .id =3D IPA_MEM_PDN_CONFIG, + .offset =3D 0x3ee8, + .size =3D 0x0100, + .canary_count =3D 2, + }, +}; + +/* Memory configuration data for an SoC having IPA v5.2 */ +static const struct ipa_mem_data ipa_mem_data =3D { + .local_count =3D ARRAY_SIZE(ipa_mem_local_data), + .local =3D ipa_mem_local_data, + .smem_size =3D 0x0000b000, +}; + +/* Interconnect rates are in 1000 byte/second units */ +static const struct ipa_interconnect_data ipa_interconnect_data[] =3D { + { + .name =3D "memory", + .peak_bandwidth =3D 1300000, /* 1.3 GBps */ + .average_bandwidth =3D 600000, /* 600 MBps */ + }, + /* Average rate is unused for the next interconnect */ + { + .name =3D "config", + .peak_bandwidth =3D 76800, /* 76.8 MBps */ + .average_bandwidth =3D 0, /* unused */ + }, +}; + +/* Clock and interconnect configuration data for an SoC having IPA v5.2 */ +static const struct ipa_power_data ipa_power_data =3D { + .core_clock_rate =3D 120 * 1000 * 1000, /* Hz */ + .interconnect_count =3D ARRAY_SIZE(ipa_interconnect_data), + .interconnect_data =3D ipa_interconnect_data, +}; + +/* Configuration data for an SoC having IPA v5.2. */ +const struct ipa_data ipa_data_v5_2 =3D { + .version =3D IPA_VERSION_5_2, + .qsb_count =3D ARRAY_SIZE(ipa_qsb_data), + .qsb_data =3D ipa_qsb_data, + .modem_route_count =3D 11, + .endpoint_count =3D ARRAY_SIZE(ipa_gsi_endpoint_data), + .endpoint_data =3D ipa_gsi_endpoint_data, + .resource_data =3D &ipa_resource_data, + .mem_data =3D &ipa_mem_data, + .power_data =3D &ipa_power_data, +}; diff --git a/drivers/net/ipa/gsi_reg.c b/drivers/net/ipa/gsi_reg.c index 825598661188..e13cf835a013 100644 --- a/drivers/net/ipa/gsi_reg.c +++ b/drivers/net/ipa/gsi_reg.c @@ -110,6 +110,7 @@ static const struct regs *gsi_regs(struct gsi *gsi) return &gsi_regs_v4_11; =20 case IPA_VERSION_5_0: + case IPA_VERSION_5_2: case IPA_VERSION_5_5: return &gsi_regs_v5_0; =20 diff --git a/drivers/net/ipa/ipa_data.h b/drivers/net/ipa/ipa_data.h index f3bdc64cef05..3eb9dc2ce339 100644 --- a/drivers/net/ipa/ipa_data.h +++ b/drivers/net/ipa/ipa_data.h @@ -253,6 +253,7 @@ extern const struct ipa_data ipa_data_v4_7; extern const struct ipa_data ipa_data_v4_9; extern const struct ipa_data ipa_data_v4_11; extern const struct ipa_data ipa_data_v5_0; +extern const struct ipa_data ipa_data_v5_2; extern const struct ipa_data ipa_data_v5_5; =20 #endif /* _IPA_DATA_H_ */ diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index edead9c48d1f..8e2b4bf7b14e 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -669,6 +669,10 @@ static const struct of_device_id ipa_match[] =3D { .compatible =3D "qcom,sdx65-ipa", .data =3D &ipa_data_v5_0, }, + { + .compatible =3D "qcom,milos-ipa", + .data =3D &ipa_data_v5_2, + }, { .compatible =3D "qcom,sm8550-ipa", .data =3D &ipa_data_v5_5, diff --git a/drivers/net/ipa/ipa_reg.c b/drivers/net/ipa/ipa_reg.c index c574f798fdc9..30bd69f4c147 100644 --- a/drivers/net/ipa/ipa_reg.c +++ b/drivers/net/ipa/ipa_reg.c @@ -125,6 +125,7 @@ static const struct regs *ipa_regs(enum ipa_version ver= sion) case IPA_VERSION_4_11: return &ipa_regs_v4_11; case IPA_VERSION_5_0: + case IPA_VERSION_5_2: return &ipa_regs_v5_0; case IPA_VERSION_5_5: return &ipa_regs_v5_5; diff --git a/drivers/net/ipa/ipa_sysfs.c b/drivers/net/ipa/ipa_sysfs.c index a53e9e6f6cdf..8b805a9d49e6 100644 --- a/drivers/net/ipa/ipa_sysfs.c +++ b/drivers/net/ipa/ipa_sysfs.c @@ -39,6 +39,8 @@ static const char *ipa_version_string(struct ipa *ipa) return "5.0"; case IPA_VERSION_5_1: return "5.1"; + case IPA_VERSION_5_2: + return "5.2"; case IPA_VERSION_5_5: return "5.5"; default: diff --git a/drivers/net/ipa/ipa_version.h b/drivers/net/ipa/ipa_version.h index 38c47f51a50c..c157c72a5bad 100644 --- a/drivers/net/ipa/ipa_version.h +++ b/drivers/net/ipa/ipa_version.h @@ -23,6 +23,7 @@ * @IPA_VERSION_4_11: IPA version 4.11/GSI version 2.11 (2.1.1) * @IPA_VERSION_5_0: IPA version 5.0/GSI version 3.0 * @IPA_VERSION_5_1: IPA version 5.1/GSI version 3.0 + * @IPA_VERSION_5_2: IPA version 5.2/GSI version 5.2 * @IPA_VERSION_5_5: IPA version 5.5/GSI version 5.5 * @IPA_VERSION_COUNT: Number of defined IPA versions * @@ -43,6 +44,7 @@ enum ipa_version { IPA_VERSION_4_11, IPA_VERSION_5_0, IPA_VERSION_5_1, + IPA_VERSION_5_2, IPA_VERSION_5_5, IPA_VERSION_COUNT, /* Last; not a version */ }; --=20 2.53.0 From nobody Tue Apr 7 12:23:21 2026 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.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 541873CF692 for ; Fri, 3 Apr 2026 16:44:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234650; cv=none; b=Jm51ymhtTHsuXIr4wf73oFMhbmjVjdH/TCrs1LTDVe3qrKZ3x6nPRAbZdvJNqv2XktfKK+/Ou5sC3ixKT8zdUHg3OEGH5ecZihCsShKQHk9FC3c8cUFZtZUT643LzxofHoIaD29QwU7HPHXonFjOwnowLBGncZj+zVdGD6KTFSo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234650; c=relaxed/simple; bh=WcFI7fW0Pcq6jNkDjMXMqVuX9O3i+aJIuxhJa7yzRNQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vtm7iydAosgrxR5C1Kc+MlAUYSeAba3QhdgQ8qqlgUgNyWJR89eumcP2QMI2gS6Jq1wv6y4tbiRmOYfj1SWVE57KhtCXOXoopYMXYAMfBBwTLHnxZBFgTqYsicypkLH9Ny7CiLgg0xGI4/iDbXd42Jd9q9u9bmbKs0yhL7ShtAs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=gY1kgvcM; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="gY1kgvcM" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-b9841aecf72so256865566b.2 for ; Fri, 03 Apr 2026 09:44:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1775234647; x=1775839447; 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=aj/bpUOlSRd6rW4jWC3OLwCcjT6pqLJzLSn9zcAFMO8=; b=gY1kgvcMOmkjIc+Sw56go0y7rwhudlay7EtDsrFhy+H4qFXlGHr0WBggzLyVvDuvr1 gz1AdL58/NRuLeilGLT+OTCvHsa59f3SQfG3xCdo71aLdVgvTcezuJMF44l6bHDfxgPm yy4yfUXxThIBLSmz79bKlqDAwN7YSg9k2n495eEyp2Y7W6hUO09M5kabfkc2B67OWEjh ND1m1gwgHbr8ecQkmVG9TzJdl+nzyYWw06MOaT1EAzyuuMcF//aAZxK0BSPSOYiXRYnF jQQ7y/HIJYB3SNBBL/qzPFvYk66cB2PHfTetbCcojZjOxgpSpbn9rJP+s6kZJt85Eo8H ISRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775234647; x=1775839447; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=aj/bpUOlSRd6rW4jWC3OLwCcjT6pqLJzLSn9zcAFMO8=; b=BX3mifLzHhjnCVuXR9utZHvbBT5R2AkeMr7XMpGX0+kpdctkTJrHiJUEawDw+/Usec tuzQRs/Bh6yzJOrxUWtf4UWAXGkHJrdMZ6qWi0fASirZCMtGE81s56s37AMwStZhXNcI CJuf2bjU9HShLg1/aVucnPkyzxBAvF0PSEFHq+r0Y+FrT6oXSFrzpApPEfjxkHVfp4HG AE9H1z53UOcMQNSa/XuaIO4F9dc19kka0rLwA/tcmhxJDj22DTFl3I0//AYQGwtBI+w1 HWgkmew13xA/KRezmtJe8DDRIufWQa1mydi3kTV/Hea1pec7dZop3z5CgqhuQMcujot5 fSEA== X-Forwarded-Encrypted: i=1; AJvYcCU8moQDvWJx0KIN+g1U4NjygvRHqys7U9opmGopYaPHsBj7vRvUshi7uGho7tHYTXERsWMpdwOCukkbE5Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yy7i5/OMqK8mMPetZ2uXwTenlj+5ajugAFiWZl0/nbSNZPzkFF9 3NymBdRLDYiNkBx3XiXb7Nq6B1bfArNu6hGnZOcHQiwyK4W/4ge+M/Amtf3CoB/cpbc= X-Gm-Gg: AeBDiet7Cppirw8czoq/8oyDJovLbJwxQxLnKhtyNUtJ90D1IlxIzwEzBPHiu01btQI 28AZBeWtTlM5xTEDeieT05YDsb02NjzBo40+7ZaMWxPP0Net8uVlP8OPcGqg8ETzIjbDUQyzk1/ wPWUM2vZNAOvGnWWsYlzefSagFJGRW2FI79gLsYH1v+9xMuOezVwN1+7cp+E8PnaRv1hT1MRgf3 uodXMRmtGFR2+pFxrB4+DILHiv9bl/fhiUZ7xhVE/AHQsRVASq819UQjZec5KTI+WIKjrP3WQmf McPrNM0tKtMHB4g4oQ4hw/bb5F60uTpWH6Vfo5edF+tug6kFBUBZ3lwzN0GqkA/yd788/XKcTAQ N7FhoRMZoO7YjrPqGqTh0XjbBeuZI3qIP8u6ZPk5HoBqTkOqaWQsBIVdqRCYc1W/Za+eYWD2a0B NiAh6i5NlmQYsk4LdKip+0d210EzMGCgOuY6pvDSoFabGrKQO/leKVpNP3XzEsPPf+oc8DXtZPq 8WPJDjGV2QxDw5MVNyoXUqTqjWtamk3CWYDuIMJagKu7cmD X-Received: by 2002:a17:906:9fd0:b0:b9c:24a7:510c with SMTP id a640c23a62f3a-b9c67447fcemr195777866b.1.1775234646571; Fri, 03 Apr 2026 09:44:06 -0700 (PDT) Received: from otso.local (2001-1c00-3b89-c600-71a4-084f-6409-1447.cable.dynamic.v6.ziggo.nl. [2001:1c00:3b89:c600:71a4:84f:6409:1447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3ca9a145sm213492566b.25.2026.04.03.09.44.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 09:44:06 -0700 (PDT) From: Luca Weiss Date: Fri, 03 Apr 2026 18:43:51 +0200 Subject: [PATCH 5/6] arm64: dts: qcom: milos: Add IPA node 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: <20260403-milos-ipa-v1-5-01e9e4e03d3e@fairphone.com> References: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> In-Reply-To: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> To: Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Alexander Koskovich Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Luca Weiss X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775234639; l=1967; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=WcFI7fW0Pcq6jNkDjMXMqVuX9O3i+aJIuxhJa7yzRNQ=; b=mMufU+3O/8xMvtjbv05vIQqfZ/0FU/w1WUouJKeI15nIlvTAkcK37zXpUG09vOiAwkgrSzdL6 0+ESErF2sMFCRg9IUwwswYdTCnwqqBAq2SLjj+ipyh4TsFUiADE8K88 X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Add the description of the IPA block in the Milos SoC. Signed-off-by: Luca Weiss Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/milos.dtsi | 44 +++++++++++++++++++++++++++++++++= ++++ 1 file changed, 44 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/milos.dtsi b/arch/arm64/boot/dts/qcom= /milos.dtsi index 1c045743ef77..c388dacf47d5 100644 --- a/arch/arm64/boot/dts/qcom/milos.dtsi +++ b/arch/arm64/boot/dts/qcom/milos.dtsi @@ -1599,6 +1599,50 @@ adreno_smmu: iommu@3da0000 { dma-coherent; }; =20 + ipa: ipa@3f40000 { + compatible =3D "qcom,milos-ipa"; + + reg =3D <0x0 0x03f40000 0x0 0x10000>, + <0x0 0x03f50000 0x0 0x5000>, + <0x0 0x03e04000 0x0 0xfc000>; + reg-names =3D "ipa-reg", + "ipa-shared", + "gsi"; + + interrupts-extended =3D <&intc GIC_SPI 654 IRQ_TYPE_EDGE_RISING 0>, + <&intc GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH 0>, + <&smp2p_ipa_in 0 IRQ_TYPE_EDGE_RISING>, + <&smp2p_ipa_in 1 IRQ_TYPE_EDGE_RISING>; + interrupt-names =3D "ipa", + "gsi", + "ipa-clock-query", + "ipa-setup-ready"; + + clocks =3D <&rpmhcc RPMH_IPA_CLK>; + clock-names =3D "core"; + + interconnects =3D <&aggre2_noc MASTER_IPA QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &cnoc_main SLAVE_IPA_CFG QCOM_ICC_TAG_ACTIVE_ONLY>; + interconnect-names =3D "memory", + "config"; + + iommus =3D <&apps_smmu 0x4a0 0x0>, + <&apps_smmu 0x4a2 0x0>; + + qcom,qmp =3D <&aoss_qmp>; + + qcom,smem-states =3D <&smp2p_ipa_out 0>, + <&smp2p_ipa_out 1>; + qcom,smem-state-names =3D "ipa-clock-enabled-valid", + "ipa-clock-enabled"; + + sram =3D <&ipa_modem_tables>; + + status =3D "disabled"; + }; + remoteproc_mpss: remoteproc@4080000 { compatible =3D "qcom,milos-mpss-pas"; reg =3D <0x0 0x04080000 0x0 0x10000>; --=20 2.53.0 From nobody Tue Apr 7 12:23:21 2026 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D102382F1C for ; Fri, 3 Apr 2026 16:44:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234651; cv=none; b=hTUMuL3/ch/yVFih4gDEI1evgqUDvlqlsd5JHxGPd/ZB9LrqtjzsyMvcVxxQZsrtuxBHd4ihP1TqdRr9Wq+Nlz8JD8mWbON5I0MTI4dsX61EftgsrVdJUzdWA6KtGjjU0emcU9VdAlb3Nsq5sB4r1YWW4ydTs52AmhFCsRfrPcE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775234651; c=relaxed/simple; bh=B17bVmBmnkP1hcqtGSn9ht5X8PSnvCu4sZaG15J8RhU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZNnU63SJPaPnzcD+0VpR08ad2kTgBmZITsj41amGP9ptFh1pDADDwX0ZfHDmzBkkWyBCduBgK5WVLN4rL7OZ4nPUGoWzxD7hYloZrpi3t1GlTW+ev0JSHXUYccpmUQTimURKo3X9aAZLgkDOvsA6QySyi9YntvRyJqhCJKYhHxQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=zqcdEjHa; arc=none smtp.client-ip=209.85.208.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="zqcdEjHa" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-6618bc129acso2819964a12.2 for ; Fri, 03 Apr 2026 09:44:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1775234647; x=1775839447; 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=/I8STiLmCdAUWAKR9dG6wn9ETGBCkr8LaZ1bDk3uHnc=; b=zqcdEjHa9ePvncK9nBm3YpJMCC5jYwE6eAoc3miUGvEVknCKL+nwjw/1w/wiQwuFGB x/WcPzyzFxyryMhvTpJvT7mDLVep5NGaxbP7mcCnOIWHdBe5Jv2SAfv2nU0e4HVhWBpW mazepIQLnD8M134/ZF/p5JYxe+XKCkFkDvjlsXjGzuaECto2NVddXK+3vLJhTkmPuPAO 6HJKyPt9KZeufIyJpBQyDAw/4Evd1665uDyDxXETS2Fny0hXMLP0V7HuEuCQyDIvvsz7 Gkj6xrgK5eDU6KFCSZIw4MhcsFsptBU7+Te1bqcNTu93QPrl9OhSMpfET5Rih7GJQHTa bJKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775234647; x=1775839447; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/I8STiLmCdAUWAKR9dG6wn9ETGBCkr8LaZ1bDk3uHnc=; b=pbb/nwcroyNwh3E3EuKEVBtwTJOT0tXPLdPPoERykfpbOcUbpVDucZa1Tfxv2bk8xr dYIFcfllI4/SxdyuejQuE7JlwNAE3kwXsmO/a98Zi0v7yDg76qeC5KT83Unooizxl6Li 9Hu0IQPwf/3x3cmWDqqbcatq0GhDRJNjjNrugiRXWvrdTq0yCXxqNHawKWqA4xE6mNdm GMBCWimlUYewx5j/7RkQn0eOfqoHMVkWYBJ/nKFaW1MLL66qwTq/mdkR5gOU1kmGM2W7 o2betrdz89ffXN5rMPjFeLaLV2uTxOOft5rNLUPsTBu4wNQTDR6fS33uECTZKR+0hGag LSKg== X-Forwarded-Encrypted: i=1; AJvYcCU3fvnS31okp7Mak1Y0xaIfeHsxpr1wURxBNEq2heeGBg/HGod2/jn4kFDCHCz9AGChQuvKGywnfD+04/s=@vger.kernel.org X-Gm-Message-State: AOJu0YwFmUjJaHvKw3ekpdn/7YyeJyNZ99A1UgnQaQN/JDlB0/Z+1M7S p+Mj19ZmZT3bFAUjVA5fEynVaI5ox4lltsK0PkLhrSHpCJXrXccK3s4LjnJVTrx2BC4= X-Gm-Gg: AeBDiesjvdiMKNokSGYsXG5IM57yLsZNzsC05v7MCcqLBwgl4lLV/HM6sbINKP/K2pj OD0O2gnTo4VF+IKeNdka3xUoj8+aOtrnRW6q6pZ+D/jj8x3P5iAgSN6ZkGivOKIkqk0ERndQ2DB yQi1uRobqFK5gYA/dxLzxLtXzHyocMhOFY39YYKxKaSSZPAM0BDWRm9Efiiyd4D9yny0yZire8P IQNSbF4Z/XGKymIXYrt50HlOvchDh0XO2ggknLVkBAGc47NDZMi4tSQTaEMGb7lqDQ2a+XDqdv5 thFa7MRqvcwS2WFk3+DuhPjnutjuv0ovrsiCszGe3emEfVw80IiLQhzsd1lDFntHS9LvZMW++yZ 2zjXr0TVUh/4DV/2AjpN+1V3cQKyhMuLyUAaUjzZso1XAe/EaugmK4MCju0zVvIZF/mCYQvpjfD 1O6udBnUBdjb7NQXOgvARQunMSHCuNFTXzo0fJRgyrTpj2qhYPHns036yr8gkdM9ZXA8TMztSDy mDW2FC9nLpY1sFPBjS4ZIIKF4mV8WP0RCymvA== X-Received: by 2002:a17:907:6d05:b0:b98:8e42:95ee with SMTP id a640c23a62f3a-b9c67b9e36cmr170984166b.46.1775234647458; Fri, 03 Apr 2026 09:44:07 -0700 (PDT) Received: from otso.local (2001-1c00-3b89-c600-71a4-084f-6409-1447.cable.dynamic.v6.ziggo.nl. [2001:1c00:3b89:c600:71a4:84f:6409:1447]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3ca9a145sm213492566b.25.2026.04.03.09.44.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 09:44:07 -0700 (PDT) From: Luca Weiss Date: Fri, 03 Apr 2026 18:43:52 +0200 Subject: [PATCH 6/6] arm64: dts: qcom: milos-fairphone-fp6: Enable IPA 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: <20260403-milos-ipa-v1-6-01e9e4e03d3e@fairphone.com> References: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> In-Reply-To: <20260403-milos-ipa-v1-0-01e9e4e03d3e@fairphone.com> To: Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Alexander Koskovich Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Luca Weiss X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1775234639; l=815; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=B17bVmBmnkP1hcqtGSn9ht5X8PSnvCu4sZaG15J8RhU=; b=JH5s532eJLrbkYEhCO81ATxiNZvSlOjA4jvYKqWx9Im6HP9GJB+uMtLmI6LL+WUd9YApjuxUY XnsscnhBa1nCaN9g1z2pFNSWuIl/LnuTKTRL9nqvdqAlri9/er5aUaD X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Configure and enable the node for IPA which enables mobile data on this device. Signed-off-by: Luca Weiss --- arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts b/arch/arm64/= boot/dts/qcom/milos-fairphone-fp6.dts index c1899db46e71..31c6d6627619 100644 --- a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts +++ b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts @@ -690,6 +690,15 @@ vreg_l7p: ldo7 { /* AW86938FCR vibrator @ 0x5a */ }; =20 +&ipa { + firmware-name =3D "qcom/milos/fairphone/fp6/ipa_fws.mbn"; + memory-region =3D <&ipa_fw_mem>; + + qcom,gsi-loader =3D "self"; + + status =3D "okay"; +}; + &pm8550vs_c { status =3D "okay"; }; --=20 2.53.0