lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0803/1039] PCI: mvebu: Setup PCIe controller to Root Complex mode
    Date
    From: Pali Rohár <pali@kernel.org>

    [ Upstream commit df08ac016124bd88b8598ac0599d7b89c0642774 ]

    This driver operates only in Root Complex mode, so ensure that hardware is
    properly configured in Root Complex mode.

    Link: https://lore.kernel.org/r/20211125124605.25915-10-pali@kernel.org
    Signed-off-by: Pali Rohár <pali@kernel.org>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/controller/pci-mvebu.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/drivers/pci/controller/pci-mvebu.c b/drivers/pci/controller/pci-mvebu.c
    index abed58db56877..f279471e340ee 100644
    --- a/drivers/pci/controller/pci-mvebu.c
    +++ b/drivers/pci/controller/pci-mvebu.c
    @@ -55,6 +55,7 @@
    #define PCIE_MASK_ENABLE_INTS 0x0f000000
    #define PCIE_CTRL_OFF 0x1a00
    #define PCIE_CTRL_X1_MODE 0x0001
    +#define PCIE_CTRL_RC_MODE BIT(1)
    #define PCIE_STAT_OFF 0x1a04
    #define PCIE_STAT_BUS 0xff00
    #define PCIE_STAT_DEV 0x1f0000
    @@ -218,7 +219,12 @@ static void mvebu_pcie_setup_wins(struct mvebu_pcie_port *port)

    static void mvebu_pcie_setup_hw(struct mvebu_pcie_port *port)
    {
    - u32 cmd, mask;
    + u32 ctrl, cmd, mask;
    +
    + /* Setup PCIe controller to Root Complex mode. */
    + ctrl = mvebu_readl(port, PCIE_CTRL_OFF);
    + ctrl |= PCIE_CTRL_RC_MODE;
    + mvebu_writel(port, ctrl, PCIE_CTRL_OFF);

    /* Disable Root Bridge I/O space, memory space and bus mastering. */
    cmd = mvebu_readl(port, PCIE_CMD_OFF);
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-09-17 16:14    [W:2.310 / U:0.508 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site