From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 596C9358391; Fri, 17 Apr 2026 08:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414982; cv=none; b=U2hB99zKsv3p6PTDwU52YyXsnoe4rRYCl949NT6h+Fpraxz3OMGbq5c17q1q2OsRWePU7Rmk6QnnhHwllLw5NObLAp22wXvESplyUVlPMhfsPtK5Yr3R9cI71bhKNn3Wg8U9bH5c8Y4Qiqll1qxd6q1D/On1fev1nCo8YfYppmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414982; c=relaxed/simple; bh=SDHu4CF6hiHHjw7wIYF2M+BZ1AnJr501zKLvFcrIIPQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=gU9b8u/udUCAW/WoWULguYLDjyl5Al93NWtNHZBqbLFJNIbBr+jcvxsuXRMQUoc+AAOCT9V3zSv9FzLSrr2T+so0bX8fX2d/kDh5FmtsN35YFY6/Q78kHSQbdFev8Oe0pP5ImH1aVH1aR9F7BdJuiFRqcfCLqij/YEF3+Y9l+QI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=V/u9a+iS; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="V/u9a+iS" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegM-00Bg5v-Qm; Fri, 17 Apr 2026 10:36:10 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegM-00EXG6-Ak; Fri, 17 Apr 2026 10:36:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414969; bh=JqZmvXp+hLfJuRdo0qRIk/QxAIHQamNDzRshObedo7Q=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=V/u9a+iS39lP5DUq6Mwk7tWKlNQD8xUM6AeJrPQyMAA+n7VnSJN0o3wZjJmctgvLL jxst+w4rgD57DJf/rGmYaBnLkZPTMkdjTNK/4yNkpQYyR2OTdQNKIc8VyiHr8X95J8 tC3HdzZppW1eOPEzEqH4xx4AuwXI6/tCw0rzsBboF2jkxzUW7kKJBDegCp7vfUGxb/ 23iBOq3W+Bxj7MWqXTx43c98c1/0pI/APhzAiGbUV8ubrwUzs1VXyvSilLbbIR9uhw g6L1nE7nKKcIm87CtU360Km8c0nQ9nKUUXeKovfGzOQfi91tPmi8rZyqx2mSAJBDfd DNnwW/pJ7+LOA== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id DE5B3240046; Fri, 17 Apr 2026 10:36:09 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id C7937240045; Fri, 17 Apr 2026 10:36:09 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id A74AE242E9; Fri, 17 Apr 2026 10:36:09 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:45 +0200 (CEST) Subject: [PATCH v5 1/7] MAINTAINERS: Remove bouncing intel-gw maintainer 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: <20260417-pcie-intel-gw-v5-1-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=809; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=SDHu4CF6hiHHjw7wIYF2M+BZ1AnJr501zKLvFcrIIPQ=; b=bpmSa1lj6s6S7/G2Headrpqt+f067wIU9fI/h0b9vE8+qfbEYzBfUQmOfKimgtTa/XxhnlZYL qX+gT65F5MLAvt6oP5ayc8iP06EZL65CG7lU5vzr0RVQF95xgP02Pwz X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= X-purgate-ID: 151534::1776414970-2BC2A049-D46FE017/0/0 X-purgate: clean X-purgate-type: clean The maintainer's email address has been bouncing for months. Mark the PCI intel-gw driver as orphaned. Signed-off-by: Florian Eckert --- MAINTAINERS | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index d1cc0e12fe1f004da89b1aa339116908f642e894..725f333f265bef416b5144c5664= 9cb6eae736e40 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20518,9 +20518,8 @@ F: Documentation/devicetree/bindings/pci/intel,keem= bay-pcie* F: drivers/pci/controller/dwc/pcie-keembay.c =20 PCIE DRIVER FOR INTEL LGM GW SOC -M: Chuanhua Lei L: linux-pci@vger.kernel.org -S: Maintained +S: Orphan F: Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml F: drivers/pci/controller/dwc/pcie-intel-gw.c =20 --=20 2.47.3 From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5974E37C109; Fri, 17 Apr 2026 08:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; cv=none; b=Ona/0E0/LqlVFXN2OPx6cFizC+pZ/ECI3z+zS9XL0RxJDfHcYgo+6SBK8pDLJpVIYXxHxHptEG5GjgdLP7tNqmN7DnRhCqIh8ElwsqYCShlnb68N5J7ufrp4q2TvI1FxjbOqM1+ZdoVSO0LIHcHKSuCv4qpe46QM5wNWN/U4+Rg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; c=relaxed/simple; bh=xn9R5Y4c2FVuxWGJ+XDVZ0hhgrzdWZnr3TAJrrkBg1E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=n3kArR5EOZ2UfNvOJbDS2GLcJVYCZdyRiZpGbg0SfLu93fyyXNULjSEyHd1YOYMlH7m8vxJ74D9nYJKVWu4nxHdj0rwod7tEuDeqLgs/8TF6C+qAc1B+uyje/YvEcj17rZhEW9CF5gK+yu0pj4VPEdB+02nCyoYJC4VAG66d3kg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=jwHWq+T2; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="jwHWq+T2" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegN-00Bg6j-3N; Fri, 17 Apr 2026 10:36:11 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegM-00A0Nv-Ju; Fri, 17 Apr 2026 10:36:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414970; bh=dqCPK//hWZVdcc5L/u7Ya15VIfulvFBTzBi5FMRGLF0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=jwHWq+T2q/xklHc+xsq0BQcikPvtjqVmn9Qk1MK5rEj/2RVLQv0QbXfADFX6jxW3g +MyDqNbKTIWw/N5EOCzHI8og8KhKgvLJtJMBmvpxn/6L0FXYA/vdyPf0IPmeGRWuLb ZbIM6e/o8bQ62mOVH4XuKL/UG0/Iu85+zQ8XWzyqzWycALGyybW2mVNq41Jh96lxun oy3DEihPpzeixY5mUeHzgCKntAbrGfGn2PelaHP5/sK+UXgkhiy1FGt9J57WwHY1s2 X6J2OBS45o/CO+21K9decNtC/94FtBArlicu+aknC6wKw7ULm3d2V77KweF50ddymc WmNobJkeoTcoQ== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id 0118A24004F; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id DFD54240047; Fri, 17 Apr 2026 10:36:09 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id C5D3023BD7; Fri, 17 Apr 2026 10:36:09 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:46 +0200 (CEST) Subject: [PATCH v5 2/7] PCI: intel-gw: Remove unused define 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: <20260417-pcie-intel-gw-v5-2-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=814; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=xn9R5Y4c2FVuxWGJ+XDVZ0hhgrzdWZnr3TAJrrkBg1E=; b=cZ8ik4QHSpK5edsnADCxvQmasi61AYTd4JRzww7lKoY0EiR3l9qGVIO8FyCH+jMnin0Kdw1CV GsL8fGrBcUWDu2wTRxFkGIJJaSEOAf0MJR1Uocc6597gOEQEBRaZNN7 X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= X-purgate-ID: 151534::1776414971-196C4049-9B8CBE30/0/0 X-purgate: clean X-purgate-type: clean The C preprocessor define 'PCIE_APP_INTX_OFST' is not used in the sources and can therefore be deleted. Signed-off-by: Florian Eckert --- drivers/pci/controller/dwc/pcie-intel-gw.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-intel-gw.c b/drivers/pci/contr= oller/dwc/pcie-intel-gw.c index c21906eced61896c8a8307dbd6b72d229f9a5c5f..80d1607c46cbbb1e274b37a0bb9= 377a877678f5d 100644 --- a/drivers/pci/controller/dwc/pcie-intel-gw.c +++ b/drivers/pci/controller/dwc/pcie-intel-gw.c @@ -47,7 +47,6 @@ #define PCIE_APP_IRN_INTD BIT(16) #define PCIE_APP_IRN_MSG_LTR BIT(18) #define PCIE_APP_IRN_SYS_ERR_RC BIT(29) -#define PCIE_APP_INTX_OFST 12 =20 #define PCIE_APP_IRN_INT \ (PCIE_APP_IRN_AER_REPORT | PCIE_APP_IRN_PME | \ --=20 2.47.3 From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 597EC382398; Fri, 17 Apr 2026 08:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; cv=none; b=ttyGbZLddk+fXjb9640YwTbYB/0KnVWcq+vm2RwWCfMomZtgrGNzeyxVGh4ybKxKkmT9SXrRt6u4Ws72tIHWAKVi2L7/WOaRGgjMAy2NoYW4Pj4exOi8TwAwal+g9qfzmVRYaOBkTuGQa/uBYYf8pOUQH3bDbWhL4lvgDUxmR58= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; c=relaxed/simple; bh=9EFkreYEFt8jz6Z1NkYfjCRoqkyaofsUqKdhyek/ti4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=lv/ojzdgFeVu1J3wRKIl2vbqXmRpIDEG4HxW/LW+C+t6/TR52/qlSQpks69SHpk8p86deiw4USCw0y7YcDxXJgAbxqTsBforNu9A2w8Bl+3FFvGA1LmUv+4wdEz2FYzAwcssrY4OHmZn7o3KhkvAeEom3rV5TI287llXSyhYkig= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=t3BsXscc; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="t3BsXscc" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegN-00Bg7d-CP; Fri, 17 Apr 2026 10:36:11 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegM-008Sa7-Sg; Fri, 17 Apr 2026 10:36:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414970; bh=k0RzhtyN2lEDzgUVLjPsscw7natQWQb/iXLZdZSRiKo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=t3BsXscc2EYfkVKclPkvocQ/8xJux+OFCmuxFuAzjWi7rT7aaIq3ZGxBI8F4DvSAB E1s7wHKu//0sqWZNJX8bYH5oQ6Yp5+oZhsqdDccTlq9puIaJ6c6CpDaV0B4vXDcK0v bPAweyGmhjG5Iljkr0XQh1tqZI+5IVGLYayKlHwKE4IulS3G00/m2gDie5gb1QxXPe j91kaUjB616s33WnLbEiJgM1fJwigE/dw+XFMk1q2DoozsEIxohOeQGZlDsjecdlZM HlpyuRqnVGZjnslIG0P2hIUVHtftPcen/bp7cjFu6GHdEH7xB6pVxftq3opFVSKfGo tF6myYyiXi9Hw== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id 781CD240042; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id 70926240041; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id DE7DB242E4; Fri, 17 Apr 2026 10:36:09 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:47 +0200 (CEST) Subject: [PATCH v5 3/7] PCI: intel-gw: Move interrupt enable to own function 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" Message-ID: <20260417-pcie-intel-gw-v5-3-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=2926; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=ZYKI9htHzLsLWQm9mMvJbP0KpPmuZ1vngPu0F8zCXMI=; b=vUYaTk3W4GeOmISuxVHH3knqZgg5q3s6hoeACz9jE3Pcy8WRqRe95TFpuF0KrDintt70mjNlV j1SYRk0cpcTBVWFnkJY+oazLVJpxiALfgNvv2SIxuOgNcKqf3E+DXR6 X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= Content-Transfer-Encoding: quoted-printable X-purgate-ID: 151534::1776414971-2B429049-6B521993/0/0 X-purgate: clean X-purgate-type: clean To improve the readability of the code, move the interrupt enable instructions to a separate function. That is already done for the disable interrupt instruction. In addition, all pending interrupts are cleared and disabled, just as this is done in the disable function 'intel_pcie_core_irq_disable()'. After that, all relevant interrupts are enabled again. The 'PCIE_APP_IRNEN' definition contains all the relevant interrupts that are of interest. This change is also done in the MaxLinear SDK [1]. As I unfortunately don=E2=80=99t have any documentation for this IP core, I suspect that the intention is to set the IP core for interrupt handling to a specific state. Perhaps the problem is that the IP core did not reinitialize the interrupt register properly after a power cycle. In my view, it can=E2=80=99t do any harm to switch the interrupt off and th= en on again to set them to a specific state. The reason why the MaxLinear SDK is used as a reference here is, that this pcie dwc IP is used in the URX851 and URX850 SoC. This SoC was originally developed by Intel when they acquired Lantiq=E2=80=99s home networking divi= sion in 2015 [2]. In 2020 the home network division was sold to MaxLinear [3]. Since then, this SoC belongs to MaxLinear. They use their own SDK, which runs on kernel version '5.15.x'. [1] https://github.com/maxlinear/linux/blob/updk_9.1.90/drivers/pci/control= ler/dwc/pcie-intel-gw.c#L431 [2] https://www.intc.com/news-events/press-releases/detail/364/intel-to-acq= uire-lantiq-advancing-the-connected-home [3] https://investors.maxlinear.com/press-releases/detail/395/maxlinear-to-= acquire-intels-home-gateway-platform Signed-off-by: Florian Eckert --- drivers/pci/controller/dwc/pcie-intel-gw.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-intel-gw.c b/drivers/pci/contr= oller/dwc/pcie-intel-gw.c index 80d1607c46cbbb1e274b37a0bb9377a877678f5d..e88b8243cc41c607c39e4d58c4d= cd8c8c082e8b0 100644 --- a/drivers/pci/controller/dwc/pcie-intel-gw.c +++ b/drivers/pci/controller/dwc/pcie-intel-gw.c @@ -195,6 +195,13 @@ static void intel_pcie_device_rst_deassert(struct inte= l_pcie *pcie) gpiod_set_value_cansleep(pcie->reset_gpio, 0); } =20 +static void intel_pcie_core_irq_enable(struct intel_pcie *pcie) +{ + pcie_app_wr(pcie, PCIE_APP_IRNEN, 0); + pcie_app_wr(pcie, PCIE_APP_IRNCR, PCIE_APP_IRN_INT); + pcie_app_wr(pcie, PCIE_APP_IRNEN, PCIE_APP_IRN_INT); +} + static void intel_pcie_core_irq_disable(struct intel_pcie *pcie) { pcie_app_wr(pcie, PCIE_APP_IRNEN, 0); @@ -316,9 +323,7 @@ static int intel_pcie_host_setup(struct intel_pcie *pci= e) if (ret) goto app_init_err; =20 - /* Enable integrated interrupts */ - pcie_app_wr_mask(pcie, PCIE_APP_IRNEN, PCIE_APP_IRN_INT, - PCIE_APP_IRN_INT); + intel_pcie_core_irq_enable(pcie); =20 return 0; =20 --=20 2.47.3 From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59527339870; Fri, 17 Apr 2026 08:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; cv=none; b=rtBgcgXHQi2Nh0DThuChHCesNqvj0FTWIiZqI8UQPQcdFwz/qqYDWWOwjgLH6OPtU9pX+zVHy8zV9rQVgGgJPIvZNlBtjndjn1sxGxRiKm6sLKQCywCn4YqDMX9beZOuogI1ovaXGFL7MPRqyM7SY7rdNs0Ggg8sufmwA3mRLNY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; c=relaxed/simple; bh=6lCPDhwMPmbCAjK6/f8NJEjZkHW31sOZG+Q5dj06sak=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=ZlBKN4NhEMt3SWPHRpX8cz6p7E6241rpjCFSvvVsEfxan5WEv5ME61/u6vCXynYsd870NeG7gspEUadIp9ioy6MImdwp+n0p/fHNKVg5v+pqiBbY81/aN2Is3uU9EZUll6VjLOJXa0S42XjCRqhEJv1n0MmCjT9J/UlWg/Pn6lM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=SERGk5wU; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="SERGk5wU" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegN-00Bg7y-Gf; Fri, 17 Apr 2026 10:36:11 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegN-00A0O0-0u; Fri, 17 Apr 2026 10:36:11 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414970; bh=6QtU1DwrqZAmortOvILGh/LMarM4rShFvVlM6/CpYDY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=SERGk5wUcv5PQxOgPQAERvR7bZNusW2aBWA1Vz0Va+VHdJjpl1COcBBREB+WXGvAb YrDQM+1zaer4ojj3oKetxyTgHNy78cUnNFcTrsqKblm9k3ocFNDBOGkxr5K7EbVPPt sm++bJj1vzq3zyO9r5DnlENT5rpxefRV2v3DbmQ2tTI73CN2EXCz7vwcUEYQckLEoi SRjM3Wum7/gp9UNTJrFySWnOui+uYOJ16CCKm89xLPGyUyXm6L7I0Q9ydwDJy4WrHh qaMOom09lMSgJZt9YOVH77RjeH0XaBP4+lqwrdKUuYJvgqP0J6a/KmVzeVwUA8dXIn PvKHZEMi8aMZQ== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id 9FE39240045; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id 98C01240041; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id 6F7D723BD7; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:48 +0200 (CEST) Subject: [PATCH v5 4/7] PCI: intel-gw: Enable clock before phy init 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" Message-ID: <20260417-pcie-intel-gw-v5-4-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=2721; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=e2R433hJ5rO3HTn7PeimYHVCAsltELW5gkTR8+BYSdw=; b=TK0TlUJCQAyTf891AJmuo9RGGLoRE52nS5Ugq+boqK34bcdFONigbhL+u3v2qHOX+2qA3vXt1 MdUkCt4L1uDBxSkXN0BEN11UiDVqg36PxNJwBCBz6pSBy8waQCH/Pbe X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= Content-Transfer-Encoding: quoted-printable X-purgate-type: clean X-purgate: clean X-purgate-ID: 151534::1776414971-1B6C0049-4CD1D541/0/0 To ensure that the boot sequence is correct, the dwc pcie core clock must be switched on before phy init call [1]. This changes are based on patched kernel sources of the MaxLinear SDK. The reason why the MaxLinear SDK is used as a reference here is, that this pcie dwc IP is used in the URX851 and URX850 SoC. This SoC was originally developed by Intel when they acquired Lantiq=E2=80=99s home networking divi= sion in 2015 [2]. In 2020 the home network division was sold to MaxLinear [3]. Since then, this SoC belongs to MaxLinear. They use their own SDK, which runs on kernel version '5.15.x'. [1] https://github.com/maxlinear/linux/blob/updk_9.1.90/drivers/pci/control= ler/dwc/pcie-intel-gw.c#L544 [2] https://www.intc.com/news-events/press-releases/detail/364/intel-to-acq= uire-lantiq-advancing-the-connected-home [3] https://investors.maxlinear.com/press-releases/detail/395/maxlinear-to-= acquire-intels-home-gateway-platform Signed-off-by: Florian Eckert --- drivers/pci/controller/dwc/pcie-intel-gw.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-intel-gw.c b/drivers/pci/contr= oller/dwc/pcie-intel-gw.c index e88b8243cc41c607c39e4d58c4dcd8c8c082e8b0..6d9499d954674a26a74bff56b7f= b5759767424c0 100644 --- a/drivers/pci/controller/dwc/pcie-intel-gw.c +++ b/drivers/pci/controller/dwc/pcie-intel-gw.c @@ -291,13 +291,9 @@ static int intel_pcie_host_setup(struct intel_pcie *pc= ie) =20 intel_pcie_core_rst_assert(pcie); intel_pcie_device_rst_assert(pcie); - - ret =3D phy_init(pcie->phy); - if (ret) - return ret; - intel_pcie_core_rst_deassert(pcie); =20 + /* Controller clock must be provided earlier than PHY */ ret =3D clk_prepare_enable(pcie->core_clk); if (ret) { dev_err(pcie->pci.dev, "Core clock enable failed: %d\n", ret); @@ -306,13 +302,17 @@ static int intel_pcie_host_setup(struct intel_pcie *p= cie) =20 pci->atu_base =3D pci->dbi_base + 0xC0000; =20 + ret =3D phy_init(pcie->phy); + if (ret) + goto phy_err; + intel_pcie_ltssm_disable(pcie); intel_pcie_link_setup(pcie); intel_pcie_init_n_fts(pci); =20 ret =3D dw_pcie_setup_rc(&pci->pp); if (ret) - goto app_init_err; + goto err; =20 dw_pcie_upconfig_setup(pci); =20 @@ -321,17 +321,18 @@ static int intel_pcie_host_setup(struct intel_pcie *p= cie) =20 ret =3D dw_pcie_wait_for_link(pci); if (ret) - goto app_init_err; + goto err; =20 intel_pcie_core_irq_enable(pcie); =20 return 0; =20 -app_init_err: +err: + phy_exit(pcie->phy); +phy_err: clk_disable_unprepare(pcie->core_clk); clk_err: intel_pcie_core_rst_assert(pcie); - phy_exit(pcie->phy); =20 return ret; } --=20 2.47.3 From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0C28347516; Fri, 17 Apr 2026 08:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; cv=none; b=J9iHMA28YmSGVGQVtCngDUT5I1jBBpT8MB3jX0a/KKq3G+uM+68p0ZRMEEvWTlHlUi+1ltKUFIqPDQdTYTvZe5jpJjqEhbadW6Pa/JmtYjsPzhcZidOHhJXa/rY1khv6DiTaCwwixMaVD6wjcMEiknmb8IzAbk4HqT7oeaZ1a+Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; c=relaxed/simple; bh=1QhwwO0tMMhb5/PF/9cK8bvzkNyUt/Wf2sydrtsZXUc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=e/L/5mrsd6YvJmrUEwGgPfG+IbAy0lRMHU/0rYfkBZlFOztsar9hWtfumt2cToda8U2X9iRHVRrR7Cq0YME3PveNSlXNwHFOrvIk/eCldPi1XR3a7HUNLM415+kDVEmPSR7IlfwboRUM8/WnxD1LSFQuzfwvqKe+cPUKNWZ+7EE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=mwL4cFYT; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="mwL4cFYT" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegN-00Bg8C-M5; Fri, 17 Apr 2026 10:36:11 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegN-00EXGB-6F; Fri, 17 Apr 2026 10:36:11 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414970; bh=3A2J+2MFklTaE6h9BZznlvghg/HLXg4vKOLkKJTaKbc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=mwL4cFYTxnco8FHIz425O6CgfbVIBfwLDczW/7BE+t32bPdLXFtt2BbMqx26TYVaM 9GI0GXHCj7a9OPY181AOReMSABWpAienYNBC/NVbkeVc/hGZMR/GBuLi1rrHwsJurx eyI7hzAyHsS3Nvq6k3jhEgrAUYmU2i9ercsJ1ASxDLRm5FK7Dv2fPQCduC/vQuBNwH nVOKQfI7k4B0fSfheV9SCfo7Xavb8fU+voPjjPounOBv9g9M7Uus8gdXgkVrLWWxZA Rhade8s0HFydOxOLsMXaWPnHpQvHXxfzx2o98WgoRKuDzjbn7f5yksATh1KpKGl4na +3r34WPxSPkxg== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id C6097240047; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id BFD4F240041; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id 97708242E4; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:49 +0200 (CEST) Subject: [PATCH v5 5/7] PCI: intel-gw: Add start_link callback function 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: <20260417-pcie-intel-gw-v5-5-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=3153; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=1QhwwO0tMMhb5/PF/9cK8bvzkNyUt/Wf2sydrtsZXUc=; b=V1NDAjhRjn3OVYWPbvzNUt5xQjbEcyehhkbd3242VJgV6eB83PK2scLQ6EPS7m4kGiuPFNHhg +HQfaLHMFkOA04/0ixm/c34yx5Onn1zepTLaeemUcfPlf316JbnuvHK X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= X-purgate-type: clean X-purgate-ID: 151534::1776414971-40913049-40D2CE54/0/0 X-purgate: clean The pcie-intel-gw driver has no start_link callback function. This commit adds the missing callback function so that the driver works again and does not abort with the following error messages during probing. [ 2.512015] intel-gw-pcie d1000000.pcie: host bridge /soc/pcie@d1000000 = ranges: [ 2.517868] intel-gw-pcie d1000000.pcie: MEM 0x00dc000000..0x00ddff= ffff -> 0x00dc000000 [ 2.528450] intel-combo-phy d0c00000.combo-phy: Set combo mode: combophy= [1]: mode: PCIe single lane mode [ 2.551619] intel-gw-pcie d1000000.pcie: No outbound iATU found [ 2.556060] intel-gw-pcie d1000000.pcie: Cannot initialize host [ 2.561901] intel-gw-pcie d1000000.pcie: probe with driver intel-gw-pcie= failed with error -22 [ 2.571041] intel-gw-pcie c1100000.pcie: host bridge /soc/pcie@c1100000 = ranges: [ 2.577736] intel-gw-pcie c1100000.pcie: MEM 0x00ce000000..0x00cfff= ffff -> 0x00ce000000 [ 2.588299] intel-combo-phy c0c00000.combo-phy: Set combo mode: combophy= [3]: mode: PCIe single lane mode [ 2.611471] intel-gw-pcie c1100000.pcie: No outbound iATU found [ 2.615934] intel-gw-pcie c1100000.pcie: Cannot initialize host [ 2.621759] intel-gw-pcie c1100000.pcie: probe with driver intel-gw-pcie= failed with error -22 Fixes: c5097b9869a1 ("Revert "PCI: dwc: Wait for link up only if link is st= arted"") Fixes: da56a1bfbab5 ("PCI: dwc: Wait for link up only if link is started") Signed-off-by: Florian Eckert --- drivers/pci/controller/dwc/pcie-intel-gw.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-intel-gw.c b/drivers/pci/contr= oller/dwc/pcie-intel-gw.c index 6d9499d954674a26a74bff56b7fb5759767424c0..afd933050c92ee31c477e0b1738= ab1136bdcfbf6 100644 --- a/drivers/pci/controller/dwc/pcie-intel-gw.c +++ b/drivers/pci/controller/dwc/pcie-intel-gw.c @@ -284,6 +284,16 @@ static void intel_pcie_turn_off(struct intel_pcie *pci= e) pcie_rc_cfg_wr_mask(pcie, PCI_COMMAND, PCI_COMMAND_MEMORY, 0); } =20 +static int intel_pcie_start_link(struct dw_pcie *pci) +{ + struct intel_pcie *pcie =3D dev_get_drvdata(pci->dev); + + intel_pcie_device_rst_deassert(pcie); + intel_pcie_ltssm_enable(pcie); + + return 0; +} + static int intel_pcie_host_setup(struct intel_pcie *pcie) { int ret; @@ -310,25 +320,12 @@ static int intel_pcie_host_setup(struct intel_pcie *p= cie) intel_pcie_link_setup(pcie); intel_pcie_init_n_fts(pci); =20 - ret =3D dw_pcie_setup_rc(&pci->pp); - if (ret) - goto err; - dw_pcie_upconfig_setup(pci); =20 - intel_pcie_device_rst_deassert(pcie); - intel_pcie_ltssm_enable(pcie); - - ret =3D dw_pcie_wait_for_link(pci); - if (ret) - goto err; - intel_pcie_core_irq_enable(pcie); =20 return 0; =20 -err: - phy_exit(pcie->phy); phy_err: clk_disable_unprepare(pcie->core_clk); clk_err: @@ -386,6 +383,7 @@ static int intel_pcie_rc_init(struct dw_pcie_rp *pp) } =20 static const struct dw_pcie_ops intel_pcie_ops =3D { + .start_link =3D intel_pcie_start_link, }; =20 static const struct dw_pcie_host_ops intel_pcie_dw_ops =3D { --=20 2.47.3 From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08A4F2E8897; Fri, 17 Apr 2026 08:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; cv=none; b=lczi7WTqjKgqK96kkNYQFL+4GM4easwDaEh7FlsX6Cg48iofF4iPDHxnHgrqPHCgR1SM6zuPXY2ucknGSb34EJW8bCOzThbxXW69R+0g7PuC1lkwD8yAN78OLzZOY+LWCsgi5LCb+tlk4gV5Z2zPPJ4fTD3uVkmwOaeewTbMZzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; c=relaxed/simple; bh=eLZe6oSogFgFNQGIVtFMPFO0Vms8X8TQuQx8X9tkJlY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=PDlYIRl0GNmqOs6HFMNC1N7Xz6QZnUiBAM2t/Y4QbUrEvyFIw/B95zIBu7SOwF3Oygonn57vTn8U35BD0fKqrfpZo36dyEBf4Y8+a/nyqrHKCmSDkAdy/G3Po8Dn22GXPsa5jKUXHGDVTuiNZypcf1CSJIynXJBzYdJgjF0HZMM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=PfcNhIHL; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="PfcNhIHL" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegP-00BgAo-2h; Fri, 17 Apr 2026 10:36:13 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegO-008N6Z-I4; Fri, 17 Apr 2026 10:36:12 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414971; bh=mY2z2QKdBBeOr5UiVcsrgdhx1nZV87htEaBPB/m6dSw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=PfcNhIHLKCOuh6hsTq7jQ/30pQ0mboL/UKYqM83NXwmKnHwGq0HX1vNQhrvBRG0Nc OmDVbuzz0avZyMeIuLTcKyj4pXBtC8dDFdDvE23404Ao0JYXTLE1T2ApkmqJXa9CfX UQm/5wPSpj/AsqVzC9YxAVcSdQYN5JMxwq9gWsG601TcC0mTRdJBzQja38bGLqeOQF KNP/xw1Ml6paLgzA6BMyT48V3xybcU6/vpvppXlQ3e81BI01fHh2tBKtRplaQHSldc TKW7SGNOn2hVzaZafo8WHUeHa5w7zL3T7hhkkZ6bFXwlGVqBX0oRpqxWEQiFPDJSnI VSgaTCZbul+Dw== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id EE3D8240042; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id E7B43240041; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id BF16E23BD7; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:50 +0200 (CEST) Subject: [PATCH v5 6/7] PCI: intel-gw: Move driver atu base assignment to probe function 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" Message-ID: <20260417-pcie-intel-gw-v5-6-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=4090; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=kL2musMQ5PHaQWBVzchER4SxtQ6ESnYIALm57Dd11Ys=; b=MGUFGW1DqMVDQZmJQwac5r4KNEdwWjoroWsuXPX2wAuVFxy0K1HyDsbZ7nl98QuBioNXXHwmi Y3n4rB8f5MIBAxpWc8EXv4zZU5akHqoGc1/ZaraF2KCIVtOYlv10d4q X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= Content-Transfer-Encoding: quoted-printable X-purgate-type: clean X-purgate-ID: 151534::1776414973-1A6C6049-5D25D6A0/0/0 X-purgate: clean If no ATU resource is defined in the devicetree, then driver=C2=B4s default value '0x300000' [1] is set. This is done during probing in the function 'dw_pcie_get_resources()' [2] by dwc core. The driver overwrites this again when its own init callback 'pp->ops->init()' [3] function 'intel_pcie_host_setup()' [4] is called. This is done, because the 'atu_base' offset for this IP is '0xC0000'rather than '0x300000'. callstack: intel_pcie_probe() dw_pcie_host_init() dw_pcie_host_get_resources() dw_pcie_get_resources() [2] pp->ops->init =3D intel_pcie_rc_init() [3] intel_pcie_host_setup() [4] However, this is a problem because, the callback 'pp->ops->init' is called after 'dw_pcie_get_resources()' in dwc core (see callstack). The 'atu_base' must be set before, so that this value is not set by dwc core. Therefore the assignment of 'atu_base' is moved to driver=C2=B4s probe function. While we=E2=80=99re at it, the change also adds the option to load ATU info= rmation from the device tree. For reasons of backwards compatibility, this is not mandatory. If =E2=80=98atu=E2=80=99 is not specified in the devicetree, the= n driver=E2=80=99s default value is still used and set in driver=C2=B4s probe function. If the= 'atu' resource is present in the devicetree, then dwc core loads it via the function 'dw_pcie_get_resources()' and not in the driver=C2=B4s probe funct= ion. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/pci/controller/dwc/pcie-designware.h?h=3Dv7.0#n292 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/pci/controller/dwc/pcie-designware.c?h=3Dv7.0#n150 [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/pci/controller/dwc/pcie-designware-host.c?h=3Dv7.0#n588 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/pci/controller/dwc/pcie-intel-gw.c?h=3Dv7.0#n301 Signed-off-by: Florian Eckert --- drivers/pci/controller/dwc/pcie-intel-gw.c | 28 ++++++++++++++++++++++++++= -- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-intel-gw.c b/drivers/pci/contr= oller/dwc/pcie-intel-gw.c index afd933050c92ee31c477e0b1738ab1136bdcfbf6..59b11e45944e199aac0f599f96d= 6cc90e2104708 100644 --- a/drivers/pci/controller/dwc/pcie-intel-gw.c +++ b/drivers/pci/controller/dwc/pcie-intel-gw.c @@ -310,8 +310,6 @@ static int intel_pcie_host_setup(struct intel_pcie *pci= e) goto clk_err; } =20 - pci->atu_base =3D pci->dbi_base + 0xC0000; - ret =3D phy_init(pcie->phy); if (ret) goto phy_err; @@ -395,6 +393,7 @@ static int intel_pcie_probe(struct platform_device *pde= v) struct device *dev =3D &pdev->dev; struct intel_pcie *pcie; struct dw_pcie_rp *pp; + struct resource *res; struct dw_pcie *pci; int ret; =20 @@ -419,6 +418,31 @@ static int intel_pcie_probe(struct platform_device *pd= ev) pci->ops =3D &intel_pcie_ops; pp->ops =3D &intel_pcie_dw_ops; =20 + /* + * If the 'atu' resource is not available in the devicetree, + * then use the driver default value for backward compatibility. + * The 'atu' should always be set in the devicetree, as this is + * hardware specific setting that should not be defined in the + * source. + */ + res =3D platform_get_resource_byname(pdev, IORESOURCE_MEM, "atu"); + if (!res) { + res =3D platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi"); + pci->dbi_base =3D devm_pci_remap_cfg_resource(pci->dev, res); + if (IS_ERR(pci->dbi_base)) + return PTR_ERR(pci->dbi_base); + pci->dbi_phys_addr =3D res->start; + pci->atu_base =3D devm_ioremap(dev, res->start + 0xC0000, SZ_4K); + if (!pci->atu_base) { + dev_err(dev, "failed to remap ATU space\n"); + return -ENOMEM; + + } + pci->atu_size =3D SZ_4K; + pci->atu_phys_addr =3D res->start + 0xC0000; + dev_warn(dev, "devicetree ATU resource is missing; driver`s default valu= e is being used\n"); + } + ret =3D dw_pcie_host_init(pp); if (ret) { dev_err(dev, "Cannot initialize host\n"); --=20 2.47.3 From nobody Thu Jun 11 15:59:39 2026 Received: from mxout70.expurgate.net (mxout70.expurgate.net [194.37.255.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08B3B3A9615; Fri, 17 Apr 2026 08:36:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.37.255.70 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; cv=none; b=Xx/VgoFOySAA4FJ1Y0vlbTWYKaRlFiin384VJXJTiMqzooJ6yB3hiee3J2If8U/RF8MXVutRCRCud3w0mmvTPZOjXcRnWepZ6CHE995ZMwDf1yBoFkmtzNmXJCITPYC9Eb6Vw8UW302hnwVfpFcKWY8mJrxOSEJ3vQyzL5baYuA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776414981; c=relaxed/simple; bh=t+G3zYgTsMTowJn0yo3fLFh5TKKiqyTLaVwL59V0M1E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:Cc; b=LwnJOQ4Fqs9J2ffRRtsZVAhmgxmw44N9wjo0s6mJpAJO3m9auaflOvIeqOJTXdHuq1EbnkAd8w9LNJ/AUAuUpyFh17WiutPG92a6+82CuWf10M1p2LviPqAmGO5ZRfYvif6yAYxPMhWT1YicaPGIN+vOib9ryydFYA0dpwWhIbE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de; spf=pass smtp.mailfrom=dev.tdt.de; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b=GELn7gSc; arc=none smtp.client-ip=194.37.255.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dev.tdt.de Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=dev.tdt.de header.i=@dev.tdt.de header.b="GELn7gSc" Received: from [194.37.255.9] (helo=mxout.expurgate.net) by relay.expurgate.net with smtp (Exim 4.92) (envelope-from ) id 1wDegP-00BgAj-0i; Fri, 17 Apr 2026 10:36:13 +0200 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wDegO-00DTvO-HA; Fri, 17 Apr 2026 10:36:12 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev.tdt.de; s=z1-selector1; t=1776414971; bh=VpO7tSDeSrvpivl94BB4ux2keIxCCjATqhuGI/Eo9ho=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=GELn7gScTbj+/R8BGijesND5vsQxr5R/Fo2BdrI81/yG6zZWurrxuinz6HKIvA8Y5 7oMF+kdK/gGsrBYH7uzL6AQl1w71hQP+9FThkkUf2unkmxSnD8jsKhUvlf+rp84w16 SiIGeSRmO1IE3sR42lqVdvnqSu1zRfGLfmxsYgJAfZmYVg9kJCH7kfexmVJqW3NMF2 z3UNukl/SByL6Dsmh98YFCPWHBw6uLYgoHMEqllerKALJYjLPLP3J6hMtLvubEmEh3 omvsrs7g67uP8AcpaVU5iZweZ3YSSHmkcw/m7uh7WvDt5Bjp4IyI4jfapjoy5JFZC+ Gl+EOltPvn26A== Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id 1AD40240041; Fri, 17 Apr 2026 10:36:11 +0200 (CEST) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id 11E13240040; Fri, 17 Apr 2026 10:36:11 +0200 (CEST) Received: from [10.2.3.40] (unknown [10.2.3.40]) by mail.dev.tdt.de (Postfix) with ESMTPSA id E6E31242E4; Fri, 17 Apr 2026 10:36:10 +0200 (CEST) From: Florian Eckert Date: Fri, 17 Apr 2026 10:35:51 +0200 (CEST) Subject: [PATCH v5 7/7] dt-bindings: PCI: intel,lgm-pcie: Add atu resource 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" Message-ID: <20260417-pcie-intel-gw-v5-7-0a2b933fe04f@dev.tdt.de> References: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> In-Reply-To: <20260417-pcie-intel-gw-v5-0-0a2b933fe04f@dev.tdt.de> To: Lorenzo Pieralisi , =?utf-8?Q?Krzysztof_Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Johan Hovold , Sajid Dalvi , Ajay Agarwal , Krzysztof Kozlowski , Conor Dooley Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Florian Eckert , Eckert.Florian@googlemail.com, ms@dev.tdt.de X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1776414969; l=1926; i=fe@dev.tdt.de; s=20260205; h=from:subject:message-id; bh=rlwTMCXH/aMqUifxKhjkwyS27qKPELxXtIKb/5h280o=; b=2Rfky6YKUgQWBMqIyb/z6lyGcEay4A9f4YYYOv7T+W27+BbjpN2beAgIl3MYvVzRy6i/1x6Md JDJd8unUAuGB2+z0QwR2y1qXqqsjaxOnTZMyae9ZGFBT2B+gHIXf6ou X-Developer-Key: i=fe@dev.tdt.de; a=ed25519; pk=q7Pvv3Au2sAVRhBz5UF7ZqUPNxUwXQ78Jdqu8E6Negk= Content-Transfer-Encoding: quoted-printable X-purgate: clean X-purgate-ID: 151534::1776414972-1B6C0049-C5E597B6/0/0 X-purgate-type: clean The 'atu' information is already set in the dwc core, if it is specified in the devicetree. The driver uses its own default, if not set in the devicetree. This information is hardware specific and should therefore be maintained in the devicetree rather than in the source. To be backward compatible, this field is not mandatory. If 'atu' resource is not specified in the devicetree, the driver=E2=80=99s default v= alue is used. Signed-off-by: Florian Eckert Reviewed-by: Rob Herring (Arm) --- Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml b/Doc= umentation/devicetree/bindings/pci/intel-gw-pcie.yaml index 54e2890ae6314ac6847fc23f49440d05d66d87d4..394bb46b38e601345429de828f4= 91980f8058d25 100644 --- a/Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml @@ -27,16 +27,20 @@ properties: - const: snps,dw-pcie =20 reg: + minItems: 3 items: - description: Controller control and status registers. - description: PCIe configuration registers. - description: Controller application registers. + - description: Internal Address Translation Unit (iATU) registers. =20 reg-names: + minItems: 3 items: - const: dbi - const: config - const: app + - const: atu =20 ranges: maxItems: 1 @@ -95,8 +99,9 @@ examples: #size-cells =3D <2>; reg =3D <0xd0e00000 0x1000>, <0xd2000000 0x800000>, - <0xd0a41000 0x1000>; - reg-names =3D "dbi", "config", "app"; + <0xd0a41000 0x1000>, + <0xd0ec0000 0x1000>; + reg-names =3D "dbi", "config", "app", "atu"; linux,pci-domain =3D <0>; max-link-speed =3D <4>; bus-range =3D <0x00 0x08>; --=20 2.47.3