From nobody Sun Feb 8 08:27:40 2026 Received: from mail-dl1-f48.google.com (mail-dl1-f48.google.com [74.125.82.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 1C4A61F03D2 for ; Fri, 9 Jan 2026 04:08:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767931717; cv=none; b=jmmSkDf8THwWkzol/oMtEA2VbooYb5hQqa8FyB2g3A/1juxYcpJhoeuGeTQA1CIzTjGFzWly3U7CSjAmz/yxFE7j9SomzZ8Hfj5SoK/CI4QEclpuB60kAjb42x2V3n1nmXCZ9R6NjJycoZEhCfEMuI4hnmAH/DrXsF2bBYdGX2g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767931717; c=relaxed/simple; bh=2tYLI3DtcMtwJfXC7qmJCxoPosq9HZpwIEFx8dJfMfI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nUsAxFD7NZhRbKXa4XtR14TIVwEycABYMEA+SqOqVHGyDjdAEzxl4cBJnBF7zhOeoS/UGfOXqW+aBs04iWungsA8F7BIXm0L6ZbqCSLthWfqaI/IhCHBCCV7SS7LOPKzKpfs5xw9ouq5yb6oJ9gCRPW6mZw8ErBiglS+k6Y07g0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HkX3oPX2; arc=none smtp.client-ip=74.125.82.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HkX3oPX2" Received: by mail-dl1-f48.google.com with SMTP id a92af1059eb24-11f36012fb2so4761311c88.1 for ; Thu, 08 Jan 2026 20:08:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767931715; x=1768536515; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=lpsfmbhFZbFRk+U3zFKuBinShH1SdcIYL6u6kQf4p+I=; b=HkX3oPX2xvHyHu7ya2hpIUNEetbtpDrY7LImfrFNkEntiLDnQuMma2mOhmKM93E0fv XCKbpZqREQbfBYmOMa9D7Mx6ykY7soctKOLUtSoMl2Lql03DwbIl+skBytCno85tWdzL XNksWL0NSAQhkT54arkHbFelw4Qu0VM+FSme3vUdBM9Z6/cKn/QyLTC75ktm1l3ctrjE +1QPBcsivaTTkCf5IcdOsF1oU8S7BMF1WyLhjNPuF/e3u9oA53MyyHjCp71ZU+X/fIyk zjFOOd5N4lQq/4lVEbXjXe+82kDMQ70UgRKgZMCA0uB8sDnDdVehkiDtluDwYa7KuLm6 yCXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767931715; x=1768536515; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=lpsfmbhFZbFRk+U3zFKuBinShH1SdcIYL6u6kQf4p+I=; b=KrrIFke9XYGnTgnuyVRMt/ZBGFWTjqyanLwSDl4MWxWYe29v3/WGiJViCj1oIy5iyX 4r2dxIkwHau0+GoDfQvDsPJqbYg2vXS8OCg1EtZV9he6xbSK/+7yl9Zv61WzxkMAQkyO QV3oZKmD7SYy5U3Q6R6e/XWM8MMZnySXcS5m7zpYbD1zVuUKuhthi0Vs10AIpF4hAYLT d9sIieDOlNIuQQ1R+THMcevYGG57uEWy1UUNRBc+bNZlMFdw3A4ZFsUmf6+PADZywBeg +IfWAJzU01oDS0tixNEQYGHle+xUPa5LhxNdNWZDk/aU4nxF437ybl9N2t4QE6BaezYy ci6g== X-Forwarded-Encrypted: i=1; AJvYcCUw/YcQX6s2iywTr5SgI2qmqRPbhUCnnqhKh+rAacmtY3zClMTxzk2ajUbVXnkec2cV78IvjnLdfOwFFDQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yxdhb/xCMVjp4kd3E78sBcLnVThm0gcgQS3YsPE5bmWYduJfeyU 3Dhp0YoVWXkyH1LQJbIzW3517zKb18VFYf1kojHYKtFQM8OWRR34lWnc X-Gm-Gg: AY/fxX4O4ij6EwZ9BG4kcVyY2+9BsigW/4w2BlDmDYNPtmcKEslHTggOWOsIQ0N3Hv9 hql42cubGWPaYFVk2pjuv4LyMqIs+xepfAiEnAgrJ/X2HHrESCTKkBJLDMuo8ltzULvgISGJigK jMRF0Ap0GmkG0fep/fDcxzKNBEEzTjy5jOL4ecGI0ea/1zsl8o6v0nhunXa59jnek1cnHCqi4yz Ghs7vik1tfuYkAFmiC/1PKdCaEJSz9EZF6Xk/sXo9o/g0bSrJveGyDH5zGW1y6mJdlMpfVX5bul EYRnRtELScsoP6VAaKin6lP7OPxNCNSIQPk7ul0BmD5LVW5UFkE2XvBUwG6x99lrCSphDtre+Tf qHLiWJVJgV+Ve+5w0393O+q8cRsHN3kJN0IpAOMxftd2ipQJF6wAX4jZ9jrS8vX342xkazzVXci JfvB1uAFt6YA== X-Google-Smtp-Source: AGHT+IEKYs98PW8+vR31wL6KNDRAcc+uPt8+GLwK2+xUR3vV4NDSXNJ8DtjrqbGEI9BElil9CxwgPQ== X-Received: by 2002:a05:7022:4a2:b0:11b:e21e:5653 with SMTP id a92af1059eb24-121f8ade973mr6239197c88.19.1767931715082; Thu, 08 Jan 2026 20:08:35 -0800 (PST) Received: from localhost ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121f243ed62sm16668383c88.5.2026.01.08.20.08.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 20:08:34 -0800 (PST) From: Inochi Amaoto To: Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Chen Wang , Christophe JAILLET , Inochi Amaoto , Han Gao Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Yixun Lan , Longbin Li , Han Gao Subject: [PATCH] PCI/sg2042: Avoid L0s and L1 on Sophgo 2042 PCIe Root Ports Date: Fri, 9 Jan 2026 12:07:54 +0800 Message-ID: <20260109040756.731169-2-inochiama@gmail.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Since commit f3ac2ff14834 ("PCI/ASPM: Enable all ClockPM and ASPM states for devicetree platforms") force enable ASPM on all device tree platform, the SG2042 root port breaks as it advertises L0s and L1 capabilities without supporting it. Override the L0s and L1 Support advertised in Link Capabilities in the LINKCTL register of SG2042 Root Ports, so it doesn't try to enable those states. Fixes: 4e27aca4881a ("riscv: sophgo: dts: add PCIe controllers for SG2042") Signed-off-by: Inochi Amaoto Tested-by: Han Gao --- Change from original patch: 1. use driver to mask the ASPM advertisement Separate from the folloing patch - https://lore.kernel.org/all/20251225100530.1301625-1-inochiama@gmail.com --- drivers/pci/controller/cadence/pcie-sg2042.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/pci/controller/cadence/pcie-sg2042.c b/drivers/pci/con= troller/cadence/pcie-sg2042.c index 0c50c74d03ee..9c42e05d3c46 100644 --- a/drivers/pci/controller/cadence/pcie-sg2042.c +++ b/drivers/pci/controller/cadence/pcie-sg2042.c @@ -32,6 +32,15 @@ static struct pci_ops sg2042_pcie_child_ops =3D { .write =3D pci_generic_config_write, }; +static void sg2042_pcie_disable_l0s_l1(struct cdns_pcie *pcie) +{ + u32 val; + + val =3D cdns_pcie_rp_readw(pcie, CDNS_PCIE_RP_CAP_OFFSET + PCI_EXP_LNKCTL= ); + val &=3D ~PCI_EXP_LNKCTL_ASPMC; + cdns_pcie_rp_writew(pcie, CDNS_PCIE_RP_CAP_OFFSET + PCI_EXP_LNKCTL, val); +} + static int sg2042_pcie_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -68,6 +77,8 @@ static int sg2042_pcie_probe(struct platform_device *pdev) return ret; } + sg2042_pcie_disable_l0s_l1(pcie); + return 0; } -- 2.52.0