On 7/12/25 1:42 AM, Krishna Chaitanya Chundru wrote: > The ELBI registers falls after the DBI space, PARF_SLV_DBI_ELBI register > gives us the offset from which ELBI starts. So override ELBI with the > offset from PARF_SLV_DBI_ELBI and cfg win to map these regions. > > On root bus, we have only the root port. Any access other than that > should not go out of the link and should return all F's. Since the iATU > is configured for the buses which starts after root bus, block the > transactions starting from function 1 of the root bus to the end of > the root bus (i.e from dbi_base + 4kb to dbi_base + 1MB) from going > outside the link through ECAM blocker through PARF registers. > > Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx> > --- [...] > + if (pp->ecam_mode) { > + /* > + * Override ELBI in ecam mode, as in ecam mode > + * ELBI moves along with the dbi config space. > + */ > + offset = readl(pcie->parf + PARF_SLV_DBI_ELBI); I see that the offset is supposed to take up 12 lower bits with the remaining ones being reserved. Out of abundance of caution, please add a #define SLV_DBI_ELBI_ADDR_BASE GENMASK(11, 0) and FIELD_GET it no concerns apart from that, I think Konrad