Skip to content

fix(pcie): Save and restore selected config state - #619

Merged
chetan-rathore merged 2 commits into
ARM-software:release/sbsa/v8.0.3from
Sujana-M:release/sbsa/v8.0.3
Oct 8, 2026
Merged

chetan-rathore merged 2 commits into
ARM-software:release/sbsa/v8.0.3from
Sujana-M:release/sbsa/v8.0.3

Conversation

@Sujana-M

@Sujana-M Sujana-M commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Replace full 4KB config-space save/restore with targeted save/restore
of standard header and selected PCIe capability state.
Save and restore BARs, command register bits, PCIe control registers
and supported capability state including AER, DPC, ACS, ATS, PASID,
SR-IOV, LTR, PTM, and TPH. This avoids blindly writing back the entire
config space while still restoring state needed for continued test
execution.
Use the common selected config-state flow in FLR tests p035 and p063.
Also use it in DPC exerciser tests by saving all BDFs under the
affected Root Port before Secondary Bus Reset and restoring them after
DPC recovery. This covers endpoints behind switches without restoring
the full 4KB config space.

- Replace the full 4KB config space save/restore in PCIe FLR tests with
  targeted save/restore of standard header and selected PCIe capability
  state.
- Save and restore BARs, command register bits, PCIe control registers,
  and supported capability state including AER, DPC, ACS, ATS, PASID,
  SR-IOV, LTR, PTM, and TPH. This avoids blindly writing back the entire
  config space after FLR while still restoring state needed for continued
  test execution.
- Also share the saved-state definitions through acs_pcie.h and reuse the
  common helper flow in both p035 and p063.

Signed-off-by: Sujana M <sujana.murali@arm.com>
Change-Id: Ice00c233bf96b43741d7d1cf0a248095bcc1966a
- Replace full 4KB config-space save/restore with targeted save/restore
  of standard header and selected PCIe capability state.
- Save and restore BARs, command register bits, PCIe control registers
  and supported capability state including AER, DPC, ACS, ATS, PASID,
  SR-IOV, LTR, PTM, and TPH. This avoids blindly writing back the entire
  config space while still restoring state needed for continued test
  execution.
- Use the common selected config-state flow in FLR tests p035 and p063.
  Also use it in DPC exerciser tests by saving all BDFs under the
  affected Root Port before Secondary Bus Reset and restoring them after
  DPC recovery. This covers endpoints behind switches without restoring
  the full 4KB config space.

Signed-off-by: Sujana M <sujana.murali@arm.com>
Change-Id: I508e717db6ade169118c2e71cf80335fb9aed189
@chetan-rathore
chetan-rathore merged commit f6869ad into ARM-software:release/sbsa/v8.0.3 Oct 8, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants