Lines 4318-4323
static int pci_quirk_enable_intel_spt_pch_acs(struct pci_dev *dev)
Link Here
|
4318 |
return 0; |
4318 |
return 0; |
4319 |
} |
4319 |
} |
4320 |
|
4320 |
|
|
|
4321 |
static int pci_quirk_enable_norr_acs(struct pci_dev *dev) |
4322 |
{ |
4323 |
int pos; |
4324 |
u16 cap,ctrl; |
4325 |
|
4326 |
pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ACS); |
4327 |
if (!pos) |
4328 |
return; |
4329 |
|
4330 |
pci_read_config_word(dev, pos + PCI_ACS_CAP, &cap); |
4331 |
pci_read_config_word(dev, pos + PCI_ACS_CTRL, &ctrl); |
4332 |
|
4333 |
/* Same as pci_std_enable_acs() minus PCI_ACS_RR */ |
4334 |
ctrl |= (cap & PCI_ACS_SV); |
4335 |
ctrl |= (cap & PCI_ACS_CR); |
4336 |
ctrl |= (cap & PCI_ACS_UF); |
4337 |
|
4338 |
pci_write_config_word(dev, pos + PCI_ACS_CTRL, ctrl); |
4339 |
} |
4340 |
|
4321 |
static const struct pci_dev_enable_acs { |
4341 |
static const struct pci_dev_enable_acs { |
4322 |
u16 vendor; |
4342 |
u16 vendor; |
4323 |
u16 device; |
4343 |
u16 device; |
Lines 4325-4330
static int pci_quirk_enable_intel_spt_pch_acs(struct pci_dev *dev)
Link Here
|
4325 |
} pci_dev_enable_acs[] = { |
4345 |
} pci_dev_enable_acs[] = { |
4326 |
{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_enable_intel_pch_acs }, |
4346 |
{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_enable_intel_pch_acs }, |
4327 |
{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_enable_intel_spt_pch_acs }, |
4347 |
{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_enable_intel_spt_pch_acs }, |
|
|
4348 |
{ 0x12d8, 0x2404, pci_quirk_enable_norr_acs }, |
4328 |
{ 0 } |
4349 |
{ 0 } |
4329 |
}; |
4350 |
}; |
4330 |
|
4351 |
|