mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Manikanta Maddireddy <mmaddireddy@nvidia.com>
To: <bhelgaas@google.com>, <lpieralisi@kernel.org>,
	<kwilczynski@kernel.org>, <mani@kernel.org>, <robh@kernel.org>,
	<krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<thierry.reding@gmail.com>, <jonathanh@nvidia.com>,
	<jingoohan1@gmail.com>, <vidyas@nvidia.com>, <cassel@kernel.org>,
	<18255117159@163.com>
Cc: <linux-pci@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	"Manikanta Maddireddy" <mmaddireddy@nvidia.com>
Subject: [PATCH V4 02/22] PCI: tegra194: Drive CLKREQ signal low explicitly
Date: Mon, 26 Jan 2026 13:14:59 +0530	[thread overview]
Message-ID: <20260126074519.3426742-3-mmaddireddy@nvidia.com> (raw)
In-Reply-To: <20260126074519.3426742-1-mmaddireddy@nvidia.com>

From: Vidya Sagar <vidyas@nvidia.com>

Currently, the default setting is that CLKREQ signal of a Root Port
is internally overridden to '0' to enable REFCLK to flow out to the slot.
It is observed that one of the PCIe switches (case in point Broadcom PCIe
Gen4 switch) is propagating the CLKREQ signal of the root port to the
downstream side of the switch and expecting the endpoints to pull it low
so that it (PCIe switch) can give out the REFCLK although the Switch as
such doesn't support CLK-PM or ASPM-L1SS. So, as a workaround, this patch
drives the CLKREQ of the Root Port itself low to avoid link up issues
between PCIe switch downstream port and endpoints. This is not a wrong
thing to do after all the CLKREQ is anyway being overridden to '0'
internally and now it is just that the same is being propagated outside
also.

Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
---
V4:
* None

V3:
* Reworded the commit message

V2:
* None

 drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index f4a13ca2e742..ab2c3f07ed4f 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -44,6 +44,7 @@
 #define APPL_PINMUX_CLKREQ_OVERRIDE		BIT(3)
 #define APPL_PINMUX_CLK_OUTPUT_IN_OVERRIDE_EN	BIT(4)
 #define APPL_PINMUX_CLK_OUTPUT_IN_OVERRIDE	BIT(5)
+#define APPL_PINMUX_CLKREQ_DEFAULT_VALUE	BIT(13)
 
 #define APPL_CTRL				0x4
 #define APPL_CTRL_SYS_PRE_DET_STATE		BIT(6)
@@ -1454,6 +1455,7 @@ static int tegra_pcie_config_controller(struct tegra_pcie_dw *pcie,
 		val = appl_readl(pcie, APPL_PINMUX);
 		val |= APPL_PINMUX_CLKREQ_OVERRIDE_EN;
 		val &= ~APPL_PINMUX_CLKREQ_OVERRIDE;
+		val &= ~APPL_PINMUX_CLKREQ_DEFAULT_VALUE;
 		appl_writel(pcie, val, APPL_PINMUX);
 	}
 
-- 
2.34.1


  parent reply	other threads:[~2026-01-26  7:46 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-26  7:44 [PATCH V4 00/22] Enhancements to pcie-tegra194 driver Manikanta Maddireddy
2026-01-26  7:44 ` [PATCH V4 01/22] PCI: tegra194: Use devm_gpiod_get_optional() to parse "nvidia,refclk-select" Manikanta Maddireddy
2026-01-26  7:44 ` Manikanta Maddireddy [this message]
2026-01-26  7:45 ` [PATCH V4 03/22] PCI: tegra194: Fix polling delay for L2 state Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 04/22] PCI: tegra194: Apply pinctrl settings for both PCIe RP and EP Manikanta Maddireddy
2026-01-30 17:21   ` Jon Hunter
2026-02-02  5:22     ` Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 05/22] PCI: tegra194: Refactor LTSSM state polling on surprise down Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 06/22] PCI: tegra194: Disable direct speed change for EP Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 07/22] PCI: tegra194: Calibrate P2U for endpoint mode Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 08/22] PCI: tegra194: Free resources during controller deinitialization Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 09/22] PCI: tegra194: Remove IRQF_ONESHOT flag during Endpoint interrupt registration Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 10/22] PCI: tegra194: Enable DMA interrupt Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 11/22] PCI: tegra194: Enable hardware hot reset mode in Endpoint Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 12/22] PCI: tegra194: Allow system suspend when the Endpoint link is not up Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 13/22] PCI: tegra194: Disable L1.2 capability of Tegra234 EP Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 14/22] PCI: tegra194: Set LTR message request before PCIe link up Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 15/22] PCI: tegra194: Don't force the device into the D0 state before L2 Manikanta Maddireddy
2026-02-02 13:27   ` Jon Hunter
2026-01-26  7:45 ` [PATCH V4 16/22] PCI: tegra194: Free up EP resources during remove() Manikanta Maddireddy
2026-02-02 13:28   ` Jon Hunter
2026-01-26  7:45 ` [PATCH V4 17/22] dt-bindings: PCI: tegra194: Add monitor clock support Manikanta Maddireddy
2026-01-29 16:40   ` Rob Herring
2026-02-02  4:34     ` Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 18/22] PCI: tegra194: Add core " Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 19/22] PCI: tegra194: Add ASPM L1 entrance latency config Manikanta Maddireddy
2026-02-02 13:28   ` Jon Hunter
2026-01-26  7:45 ` [PATCH V4 20/22] PCI: tegra194: Use HW version number Manikanta Maddireddy
2026-02-02 13:30   ` Jon Hunter
2026-01-26  7:45 ` [PATCH V4 21/22] PCI: tegra194: Fix CBB timeout caused by DBI access before core power-on Manikanta Maddireddy
2026-01-26  7:45 ` [PATCH V4 22/22] PCI: tegra194: Disable PERST IRQ only in Endpoint mode Manikanta Maddireddy
2026-02-02 13:35 ` [PATCH V4 00/22] Enhancements to pcie-tegra194 driver Jon Hunter
2026-02-05  7:55 ` Manivannan Sadhasivam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260126074519.3426742-3-mmaddireddy@nvidia.com \
    --to=mmaddireddy@nvidia.com \
    --cc=18255117159@163.com \
    --cc=bhelgaas@google.com \
    --cc=cassel@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jingoohan1@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=krzk+dt@kernel.org \
    --cc=kwilczynski@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mani@kernel.org \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=vidyas@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®