From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 A142B3AC0FA; Sat, 30 May 2026 18:02:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780164169; cv=none; b=L5/JZE2S6dXdPFgn0XWVcLb5wvA2dXiPOVILFYup6EEEHWkO2TxyT5WAu6q0NgVEG8ZAvqjd0hmMmA2c5bbX3j+XfLCv7GEkbadjI/a5sr4A4kmHC8F+yDU4gSvkSJxie/BETHOkANOpyQL2g3aOUE5zIGtqLd/L1mv/Dt/8CvI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780164169; c=relaxed/simple; bh=xqzDzd2Df4a3gtjEaK0mihS5lTwHyO139RMfJvq4Ogo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hqwow3MlEvo8gFIzRe56gu7NpBxtVDPsmBhraOEcj1jWpK8rbspKxMelJ3ZfOqHlCrI8K+PXFg9W5lpWE0e/TMwgf0Ytz4MR+zekmxjleyEB00JX0T0Y+up209SnQZwy3VTrPNncYQyBxPKImLOKQJOniaehDTiiCKWO0vXFgQ0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=RzHLVig7; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="RzHLVig7" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7DF41F00898; Sat, 30 May 2026 18:02:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1780164168; bh=LTIdvtBIj7q8oLs5g1J5tGPYNPiKZEXW7jg2z+lzWRw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=RzHLVig7t8sTISchc0WHJMiDTuJZzeu2Fv5RPA7MRB+yDKlCnQyGDKESm7SEgbSVq 9g/3dK51VCUHmBbFjdK6MYlYLN+UkNz4OQiUZDfO2b6UHgCQTL00K9hxjmmkOJX6a8 b/OpXUXi6xRRZXpoutYs1v44DqZYFYdEwVNxlhAo= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Vidya Sagar , Manikanta Maddireddy , Manivannan Sadhasivam , Bjorn Helgaas , Jon Hunter , Sasha Levin Subject: [PATCH 5.15 475/776] PCI: tegra194: Disable direct speed change for Endpoint mode Date: Sat, 30 May 2026 18:03:09 +0200 Message-ID: <20260530160252.619863301@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260530160240.228940103@linuxfoundation.org> References: <20260530160240.228940103@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 5.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Vidya Sagar [ Upstream commit 976f6763f57970388bcd7118931f33f447916927 ] Pre-silicon simulation showed the controller operating in Endpoint mode initiating link speed change after completing Secondary Bus Reset. Ideally, the Root Port or the Switch Downstream Port should initiate the link speed change post SBR, not the Endpoint. So, as per the hardware team recommendation, disable direct speed change for the Endpoint mode to prevent it from initiating speed change after the physical layer link is up at Gen1, leaving speed change ownership with the host. Fixes: c57247f940e8 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194") Signed-off-by: Vidya Sagar Signed-off-by: Manikanta Maddireddy [mani: commit log] Signed-off-by: Manivannan Sadhasivam Signed-off-by: Bjorn Helgaas Tested-by: Jon Hunter Reviewed-by: Jon Hunter Reviewed-by: Vidya Sagar Link: https://patch.msgid.link/20260324190755.1094879-8-mmaddireddy@nvidia.com Signed-off-by: Sasha Levin --- drivers/pci/controller/dwc/pcie-tegra194.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index d5f48aa6bf5a2..3fd89a983f6d2 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -1774,6 +1774,10 @@ static void pex_ep_event_pex_rst_deassert(struct tegra_pcie_dw *pcie) reset_control_deassert(pcie->core_rst); + val = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL); + val &= ~PORT_LOGIC_SPEED_CHANGE; + dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val); + if (pcie->update_fc_fixup) { val = dw_pcie_readl_dbi(pci, CFG_TIMER_CTRL_MAX_FUNC_NUM_OFF); val |= 0x1 << CFG_TIMER_CTRL_ACK_NAK_SHIFT; -- 2.53.0