|
@@ -112,6 +112,14 @@ unsigned int pcibios_max_latency = 255;
|
|
|
/* If set, the PCIe ARI capability will not be used. */
|
|
|
static bool pcie_ari_disabled;
|
|
|
|
|
|
+/* If set, the PCIe ATS capability will not be used. */
|
|
|
+static bool pcie_ats_disabled;
|
|
|
+
|
|
|
+bool pci_ats_disabled(void)
|
|
|
+{
|
|
|
+ return pcie_ats_disabled;
|
|
|
+}
|
|
|
+
|
|
|
/* Disable bridge_d3 for all PCIe ports */
|
|
|
static bool pci_bridge_d3_disable;
|
|
|
/* Force bridge_d3 for all PCIe ports */
|
|
@@ -5793,6 +5801,9 @@ static int __init pci_setup(char *str)
|
|
|
if (*str && (str = pcibios_setup(str)) && *str) {
|
|
|
if (!strcmp(str, "nomsi")) {
|
|
|
pci_no_msi();
|
|
|
+ } else if (!strncmp(str, "noats", 5)) {
|
|
|
+ pr_info("PCIe: ATS is disabled\n");
|
|
|
+ pcie_ats_disabled = true;
|
|
|
} else if (!strcmp(str, "noaer")) {
|
|
|
pci_no_aer();
|
|
|
} else if (!strncmp(str, "realloc=", 8)) {
|