[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aXKdQFTjz5O14ZZ8@ryzen>
Date: Thu, 22 Jan 2026 22:57:20 +0100
From: Niklas Cassel <cassel@...nel.org>
To: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
Cc: Jingoo Han <jingoohan1@...il.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof WilczyĆski <kwilczynski@...nel.org>,
Rob Herring <robh@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
Frank Li <Frank.Li@....com>,
Serge Semin <Sergey.Semin@...kalelectronics.ru>,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
macro@...am.me.uk
Subject: Re: [PATCH v2 3/3] PCI: dwc: Fix missing iATU setup when ECAM is
enabled
On Mon, Dec 29, 2025 at 04:12:43PM +0530, Krishna Chaitanya Chundru wrote:
> @@ -476,6 +476,9 @@ int dw_pcie_prog_outbound_atu(struct dw_pcie *pci,
> u32 retries, val;
> u64 limit_addr;
>
> + if (atu->index > pci->num_ob_windows)
This should be:
if (atu->index >= pci->num_ob_windows)
> + return -ENOSPC;
> +
> limit_addr = parent_bus_addr + atu->size - 1;
>
> if ((limit_addr & ~pci->region_limit) != (parent_bus_addr & ~pci->region_limit) ||
> diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h
> index e995f692a1ecd10130d3be3358827f801811387f..efbcc141a26e179cb2e4acf6d2d19d75535ddb91 100644
> --- a/drivers/pci/controller/dwc/pcie-designware.h
> +++ b/drivers/pci/controller/dwc/pcie-designware.h
> @@ -424,7 +424,6 @@ struct dw_pcie_rp {
> raw_spinlock_t lock;
> DECLARE_BITMAP(msi_irq_in_use, MAX_MSI_IRQS);
> bool use_atu_msg;
> - int msg_atu_index;
> struct resource *msg_res;
> bool use_linkup_irq;
> struct pci_eq_presets presets;
> @@ -502,6 +501,7 @@ struct dw_pcie {
> resource_size_t atu_phys_addr;
> size_t atu_size;
> resource_size_t parent_bus_offset;
> + int ob_atu_index;
> u32 num_ib_windows;
> u32 num_ob_windows;
> u32 region_align;
>
> --
> 2.34.1
>
Powered by blists - more mailing lists