These patches were generated from: https://github.com/raspberrypi/linux/commits/rpi-6.12.y With the following command: git format-patch -N v6.12.27..HEAD (HEAD -> 8d3206ee456a5ecdf9ddbfd8e5e231e4f0cd716e) Exceptions: - (def)configs patches - github workflows patches - applied & reverted patches - readme patches - wireless patches Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
35 lines
1.5 KiB
Diff
35 lines
1.5 KiB
Diff
From 1f807e0dcf1b121eef020cf97241a912626e11fa Mon Sep 17 00:00:00 2001
|
|
From: Jim Quinlan <james.quinlan@broadcom.com>
|
|
Date: Fri, 14 Feb 2025 12:39:31 -0500
|
|
Subject: [PATCH] PCI: brcmstb: Do not assume that reg field starts at LSB
|
|
|
|
When setting a register field it was assumed that the field started at the
|
|
lsb of the register. Although the masks do indeed start at the lsb, and
|
|
this will probably not change, it is prudent to use a method that makes no
|
|
assumption about the mask's placement in the register.
|
|
|
|
The uXXp_replace_bits() calls are used since they are already prevalent
|
|
in this driver.
|
|
|
|
Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
|
|
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
|
---
|
|
drivers/pci/controller/pcie-brcmstb.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/pci/controller/pcie-brcmstb.c
|
|
+++ b/drivers/pci/controller/pcie-brcmstb.c
|
|
@@ -610,10 +610,10 @@ static void brcm_pcie_set_gen(struct brc
|
|
u16 lnkctl2 = readw(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2);
|
|
u32 lnkcap = readl(pcie->base + PCIE_RC_CFG_PRIV1_LINK_CAPABILITY);
|
|
|
|
- lnkcap = (lnkcap & ~PCI_EXP_LNKCAP_SLS) | gen;
|
|
+ u32p_replace_bits(&lnkcap, gen, PCI_EXP_LNKCAP_SLS);
|
|
writel(lnkcap, pcie->base + PCIE_RC_CFG_PRIV1_LINK_CAPABILITY);
|
|
|
|
- lnkctl2 = (lnkctl2 & ~0xf) | gen;
|
|
+ u16p_replace_bits(&lnkctl2, gen, PCI_EXP_LNKCTL2_TLS);
|
|
writew(lnkctl2, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2);
|
|
}
|
|
|