Thread (40 messages) 40 messages, 5 authors, 2025-03-06

Re: [PATCH v2 6/8] PCI: brcmstb: Use same constant table for config space access

From: Jim Quinlan <hidden>
Date: 2025-03-04 17:37:40
Also in: linux-pci, lkml

On Tue, Mar 4, 2025 at 11:58 AM Manivannan Sadhasivam
[off-list ref] wrote:
On Tue, Mar 04, 2025 at 11:37:14AM -0500, Jim Quinlan wrote:
quoted
On Tue, Mar 4, 2025 at 10:08 AM Manivannan Sadhasivam
[off-list ref] wrote:
quoted
On Fri, Feb 14, 2025 at 12:39:34PM -0500, Jim Quinlan wrote:
quoted
The constants EXT_CFG_DATA and EXT_CFG_INDEX vary by SOC. One of the
map_bus methods used these constants, the other used different constants.
Fortunately there was no problem because the SoCs that used the latter
map_bus method all had the same register constants.

Remove the redundant constants and adjust the code to use them.  In
addition, update EXT_CFG_DATA to use the 4k-page based config space access
system, which is what the second map_bus method was already using.
What is the effect of this change? Why is it required? Sounds like it got
sneaked in.
Hello,
There is no functional difference with this commit -- the code will
behave the same.  A previous commit set up the "EXT_CFG_DATA" and
"EXT_CFG_INDEX" constants in the offset table but one of the map_bus()
methods did not use them, instead it relied on old generic #define
constants.  This commit uses them and gets rid of the old #defines.
My comment was about the change that modified the offset of EXT_CFG_DATA. This
was not justified properly.
Okay, got it.  You are referring to (for example)
-      [EXT_CFG_DATA]          = 0x9004,
+       [EXT_CFG_DATA]          = 0x8000,

We have two ways of accessing the config space: (1) by writing a full
index and reading a  designated register (0x9004) and (2) by writing
the index and then reading from a 4k register region (0x8000 +
offset).  We previously used (1).  An update was made to use (2) but
instead of updating EXT_CFG_DATA from 0x9004 to 0x8000,
PCIE_EXT_CFG_DATA (0x8000) was used by the code of one of the map_bus
methods.

This commit changes the code in the offending map_bus method to use
the offset table for (2) and updates the offset table EXT_CFG_DATA to
its proper value.

If you want me to expand the commit message with the above text I can do that.

Regards,
Jim Quiinlan
Broadcom STB/CM
- Mani

--
மணிவண்ணன் சதாசிவம்

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help