Re: [PATCH kernel 8/9] RFC: PCI: Avoid needless touching of Command register

Bjorn Helgaas
2026-02-26T00:25:01Z

On Wed, Feb 25, 2026 at 04:37:51PM +1100, Alexey Kardashevskiy wrote:
> Once locked, a TDI's MSE and BME are not allowed to be cleared.

Disallowed by hardware, by spec, by convention? Spec reference would
be helpful.

> Skip INTx test as TEE-capable PCI functions are most likely IOV VFs
> anyway and those do not support INTx at all.

"Most likely" doesn't sound like a convincing argument for skipping
something.

> Add a quirk preventing the probing code from disabling MSE when
> updating 64bit BAR (which cannot be done atomically).

Say more about this please. If there's something special about this
device, I'd like to know exactly what that is.

> Note that normally this happens too early and likely not really
> needed for the device attestation happening long after PCI probing.

I don't follow this either. Please make it meaningful for
non-TEE/TDI/whatever experts. And mention that context in the subject
line.

> @@ -1930,6 +1930,11 @@ static int pci_intx_mask_broken(struct pci_dev *dev)
> {
> u16 orig, toggle, new;
>
> + if (dev->devcap & PCI_EXP_DEVCAP_TEE) {
> + pci_warn_once(dev, "(TIO) Disable check for broken INTX");
> + return 1;

s/INTX/INTx/

Why do users need to know this? Why as a warning? What can they do
about it? "TIO"?