public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] PCI: dwc: ep: Fix advertised resizable BAR size again
@ 2024-11-16  0:59 Niklas Cassel
  2024-11-16 18:14 ` Krzysztof Wilczyński
  0 siblings, 1 reply; 2+ messages in thread
From: Niklas Cassel @ 2024-11-16  0:59 UTC (permalink / raw)
  To: Jingoo Han, Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Niklas Cassel
  Cc: Damien Le Moal, stable, Krzysztof Wilczyński, linux-pci

The advertised resizable BAR size was fixed in commit 72e34b8593e0 ("PCI:
dwc: endpoint: Fix advertised resizable BAR size").

Commit 867ab111b242 ("PCI: dwc: ep: Add a generic dw_pcie_ep_linkdown() API
to handle Link Down event") was included shortly after this, and moved the
code to another function. When the code was moved, this fix was mistakenly
lost.

According to the spec, it is illegal to not have a bit set in
PCI_REBAR_CAP, and 1 MB is the smallest size allowed.

Set bit 4 in PCI_REBAR_CAP, so that we actually advertise support for a
1 MB BAR size.

Cc: stable@vger.kernel.org
Fixes: 867ab111b242 ("PCI: dwc: ep: Add a generic dw_pcie_ep_linkdown() API to handle Link Down event")
Signed-off-by: Niklas Cassel <cassel@kernel.org>
---
 drivers/pci/controller/dwc/pcie-designware-ep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 43ba5c6738df1..cc8ff4a014368 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -689,7 +689,7 @@ static void dw_pcie_ep_init_non_sticky_registers(struct dw_pcie *pci)
 		 * for 1 MB BAR size only.
 		 */
 		for (i = 0; i < nbars; i++, offset += PCI_REBAR_CTRL)
-			dw_pcie_writel_dbi(pci, offset + PCI_REBAR_CAP, 0x0);
+			dw_pcie_writel_dbi(pci, offset + PCI_REBAR_CAP, BIT(4));
 	}
 
 	dw_pcie_setup(pci);
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] PCI: dwc: ep: Fix advertised resizable BAR size again
  2024-11-16  0:59 [PATCH] PCI: dwc: ep: Fix advertised resizable BAR size again Niklas Cassel
@ 2024-11-16 18:14 ` Krzysztof Wilczyński
  0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Wilczyński @ 2024-11-16 18:14 UTC (permalink / raw)
  To: Niklas Cassel
  Cc: Jingoo Han, Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring,
	Bjorn Helgaas, Damien Le Moal, stable, linux-pci

Hello,

On 24-11-16 01:59:51, Niklas Cassel wrote:
> The advertised resizable BAR size was fixed in commit 72e34b8593e0 ("PCI:
> dwc: endpoint: Fix advertised resizable BAR size").
> 
> Commit 867ab111b242 ("PCI: dwc: ep: Add a generic dw_pcie_ep_linkdown() API
> to handle Link Down event") was included shortly after this, and moved the
> code to another function. When the code was moved, this fix was mistakenly
> lost.
> 
> According to the spec, it is illegal to not have a bit set in
> PCI_REBAR_CAP, and 1 MB is the smallest size allowed.
> 
> Set bit 4 in PCI_REBAR_CAP, so that we actually advertise support for a
> 1 MB BAR size.

Applied to controller/dwc, thank you!

[01/01] PCI: dwc: ep: Fix advertised resizable BAR size regression
        https://git.kernel.org/pci/pci/c/ead24c08af48

	Krzysztof

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-11-16 18:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-16  0:59 [PATCH] PCI: dwc: ep: Fix advertised resizable BAR size again Niklas Cassel
2024-11-16 18:14 ` Krzysztof Wilczyński

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox