A Question about the patch "[PATCH v8 3/4] PCI: Introduce disable_acs_redir quirk"

From: Guy Crazy
Date: Mon Oct 07 2019 - 16:26:01 EST


Hi,

I have a question about this patch from the web link
(https://lwn.net/ml/linux-kernel/20180730161840.13733-4-logang@xxxxxxxxxxxx/).
According to the PCIe spec (PCIe 3.0), ACS Upstream Forwarding (UF)
seems quite similar with Request Redirect (RR). Why
pci_quirk_disable_intel_spt_pch_acs_redir in this patch seems disable
RR but not UF?

One related question in further: what's the difference between UF and
RR (examples preferred)? Both seems redirect traffics originated from
downstreams. Especially I feel confused about UF in the PCIe spec:
PCIe switches must always route upstream requests towards RC because
they target upstream destinations, why these switches need UF config?

Thanks!