Skip to content

Commit

Permalink
PCI: Mark Px210 PCI-E Extended Tags as broken
Browse files Browse the repository at this point in the history
Per PCIe r3.1, sec 2.2.6.2 and 7.8.4, a Requester may not use 8-bit
Tags unless its Extended Tag Field Enable is set, but all
Receivers/Completers must handle 8-bit Tags correctly regardless of
their Extended Tag Field Enable.

Phytium Px210 chipset has some issues with 8-bit Tags enabled when
doing DMA operations, add this quirk to disable Extended Tags for
the entire hierarchy to avoid the problem.

Signed-off-by: Liu Tao <liutao@phytium.com.cn>
Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Signed-off-by: Wang Zhimin <wangzhimin1179@phytium.com.cn>
Signed-off-by: wangzhimin1179 <wangzhimin1179@phytium.com.cn>
  • Loading branch information
wangzhimin1179 authored and opsiff committed Jun 14, 2024
1 parent c823b5d commit 28d8e6b
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/pci/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -5535,6 +5535,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0142, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0144, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PHYTIUM, 0xdc3a, quirk_no_ext_tags);

#ifdef CONFIG_PCI_ATS
static void quirk_no_ats(struct pci_dev *pdev)
Expand Down

0 comments on commit 28d8e6b

Please sign in to comment.