From nobody Tue Feb 10 17:16:57 2026 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FEC0235358 for ; Fri, 14 Nov 2025 09:31:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763112680; cv=none; b=aJjZqdPV4g96IjvssjOoyN+4mIQSMlwdyzvzVyInWki9wRy3gGQsdsK7TDWgVzqOz0VJaQ0JX1Kkd20uZ1QpR8eknn6roCVZnLdYh5sbB3OJzixD6X1Ljmez2OH0Z+BJ7wHGWGlv3KCCCOc+xzAv8iMzQWPLds7oIXgF1wAYGNk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763112680; c=relaxed/simple; bh=EXmlrAx8G+qEQXvn4Hjc2SxpukaT9VckUvipBtJ1isk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=R3/BtaJkc99BUnO0EuxdXWW2dOHig1QZRuI7ae+X9ApdKA9hU6fCrizr05kuNrBumuQ/VfhKiuiaOwS12ILvqK5sM1CxVYpyCeZUcdrJId+/O/hTMijJnsJfStzL39xMCv7tN6aYufCYYeJ0VeqQq+L5nqK0B68jj5e2fYWHmio= 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=SvnjwB+r; arc=none smtp.client-ip=209.85.218.43 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="SvnjwB+r" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-b714b1290aeso263336766b.2 for ; Fri, 14 Nov 2025 01:31:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1763112675; x=1763717475; 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=bjagkFHTl3ZcyROBN79dvzdfXtI/biV++zkJ6Wi3X80=; b=SvnjwB+rXaGh+yKxRpV4Mq1iY2MfxvdkgTRY7HMO4N2sMRGSjMIizbgVW5FG66svhc +bNZU6S5TJZgeAS8tXsAC5KwFpPjDUP+vtIebpHUU56LSDWkTOToxpkK+x4+jNo/vFHs lMdatv88qutTVM+Em51R+agNv4mjk5nUPKOXPhNAU/OKU/iZ3ztidejN2Ugig53q/6pn 9GpUlyJnrIW5pH+DiIWhLBFe7TS8kNhrHTl+Xa/1jA0CZFqpa+88L3GCir8K2dZtUkru jwT7pdS2h8f0qPLj7TeqFopF0l+SIaOmfdKn4NN7OgPsuXwkfQwUfLwgvdm+cWx/3030 SQdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763112675; x=1763717475; 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=bjagkFHTl3ZcyROBN79dvzdfXtI/biV++zkJ6Wi3X80=; b=PmXmqQnyZKJsiVqJnqhAWdDvqJy3JaF8oTTlr9JqWPHrUPegHb8pWv8xhhbMu7qEPM krDaLNXnCUWeA3fUHsPUTSEpcgGmISZsMwHDfbi9u6pAYdGofWIFDoXaS7Ap9h5GMecA jKkYB7xE0YfUYEqs8Ju0i/FuqfsC6n+9MG7VItieKufzBf0eqFuTQv74XY0pucJtQJ8k O9YYmyUJyjKhFI49aA1tW7J9g02sGOCIIy9LJj+Mrf9XedIHemzX3dzeilO7eYt+TDHm 4vbwEreZVSIZXAGu15VU/6X2aIj3kVF3HlFdbaQYJyIAqBtgSXU8VGzMzlB2AWygXxdt rOpA== X-Forwarded-Encrypted: i=1; AJvYcCVqAeFXQB9l+iqYl2uASqZbGNsnOHf/NxTOKqetJq0ypQMpmjJxEiMhpONGnhxBZtklosU/zAkqz6UJp8U=@vger.kernel.org X-Gm-Message-State: AOJu0YxbcX/5CJ9lBLzrHj/2qFWB7kUmkWfNn3dmM1/bYAuQjJMZEQ2Q Ecq8OWU/vTqNCop6ATAFxT/cGRElHbmjxWRn3esImeEEWgdkEwsoCFO5PFOvrNFiYtk= X-Gm-Gg: ASbGncuWwJ9KxzL1E4qVRrqWt5ZETUPHEWGl6R6B+fqaf18CmeDvQ2xWAvbLjzmgyzq d/H9uN3W70xYGAbpkKfdR+ZQkftz4scJP6GjFYy+B3O64sT8BWRTaT5NBEoGCAQFwuEYYhhtAr9 cl0cOEFDUrIrq4OHFFgFuXntPkYv91zQAxtVN07CtcMqyZngvDR/DyH0VGbETQ15qlEZtzLYjP9 wh+k+nEs3k/G6XXdQjAjsxf/Dh3GUQr+Nh9w/qv8mdZsO1ABW1tB2czIzvZa/mUGkCr8EGVpCig iDABu7hKyIV4tdBWdjw99bOo6Mg48RA+U1XPMuTOPHuUzkk+hqysGizjjkBpcxmZ95TPB0LoI29 /SjvF3+ZvewgySbeJTNRmA2QzKTYM5kjlZ4SFsbC3OL9iHfnqKpR1TIKXDK0iYVu84NeNquUAHl ouW3UA4pJj+AcgH92Aq4kkpMYLkEF3tj3w5ybODS/K/huSY4Tbk0/61YD9ercKqJh0rJ27isPF5 q/jJW8glTmcIhGExvH8szA= X-Google-Smtp-Source: AGHT+IF93Hcmy+2QpI1Usg+qVaNay64indlpTI/ams9EhdWoqHHpowSpmlonp+hK3sYc2L//Ct4xhQ== X-Received: by 2002:a17:906:c10b:b0:b3b:5fe6:577a with SMTP id a640c23a62f3a-b73677ece6fmr210520666b.8.1763112675373; Fri, 14 Nov 2025 01:31:15 -0800 (PST) Received: from [192.168.101.179] (2001-1c04-0509-ec01-156d-fa6e-7f19-0b67.cable.dynamic.v6.ziggo.nl. [2001:1c04:509:ec01:156d:fa6e:7f19:b67]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b734fd80841sm352104366b.41.2025.11.14.01.31.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Nov 2025 01:31:14 -0800 (PST) From: Luca Weiss Date: Fri, 14 Nov 2025 10:31:10 +0100 Subject: [PATCH v2 2/5] interconnect: qcom: icc-rpmh: Get parent's regmap for nested NoCs 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: <20251114-sm6350-icc-qos-v2-2-6af348cb9c69@fairphone.com> References: <20251114-sm6350-icc-qos-v2-0-6af348cb9c69@fairphone.com> In-Reply-To: <20251114-sm6350-icc-qos-v2-0-6af348cb9c69@fairphone.com> To: Georgi Djakov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1763112672; l=1698; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=EXmlrAx8G+qEQXvn4Hjc2SxpukaT9VckUvipBtJ1isk=; b=Yz/vL8tGTL2oSQMgT7z1ixGoz4iaaPuz42Yx+czSB0njpQPU2HdbrCP2DQwyMtej+3iMSF5Ge J7XNWTAR7w2D7rA4AS/afTP/WyeDvLj4F4qaBNh9dKkKfnpqudsWjw9 X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Since commit 57eb14779dfd ("interconnect: qcom: icc-rpmh: Support child NoC device probe") the icc-rpmh driver supports initializing child NoCs, but those child NoCs also need to be able to get the parent's regmap in order to enable QoS. Change the driver to support that and support programming QoS register. Signed-off-by: Luca Weiss Reviewed-by: Dmitry Baryshkov --- drivers/interconnect/qcom/icc-rpmh.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qc= om/icc-rpmh.c index f90c29111f48..3b445acefece 100644 --- a/drivers/interconnect/qcom/icc-rpmh.c +++ b/drivers/interconnect/qcom/icc-rpmh.c @@ -308,14 +308,19 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) struct resource *res; void __iomem *base; =20 - base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); - if (IS_ERR(base)) - goto skip_qos_config; + /* Try parent's regmap first */ + qp->regmap =3D dev_get_regmap(dev->parent, NULL); + if (!qp->regmap) { + base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &res); + if (IS_ERR(base)) + goto skip_qos_config; =20 - qp->regmap =3D devm_regmap_init_mmio(dev, base, desc->config); - if (IS_ERR(qp->regmap)) { - dev_info(dev, "Skipping QoS, regmap failed; %ld\n", PTR_ERR(qp->regmap)= ); - goto skip_qos_config; + qp->regmap =3D devm_regmap_init_mmio(dev, base, desc->config); + if (IS_ERR(qp->regmap)) { + dev_info(dev, "Skipping QoS, regmap failed; %ld\n", + PTR_ERR(qp->regmap)); + goto skip_qos_config; + } } =20 qp->num_clks =3D devm_clk_bulk_get_all(qp->dev, &qp->clks); --=20 2.51.2