On 2018-01-04 07:17 PM, Bjorn Helgaas wrote: > @@ -3066,6 +3066,86 @@ int pci_rebar_set_size(struct pci_dev *pdev, > int bar, int size) >> } >> >> /** >> + * pci_enable_atomic_ops_to_root - enable AtomicOp requests to root port >> + * @dev: the PCI device >> + * @comp_caps: Caps required for atomic request completion >> + * >> + * Return 0 if all upstream bridges support AtomicOp routing, egress >> + * blocking is disabled on all upstream ports, and the root port >> + * supports the requested completion capabilities (32-bit, 64-bit >> + * and/or 128-bit AtomicOp completion), or negative otherwise. >> + */ >> +int pci_enable_atomic_ops_to_root(struct pci_dev *dev, u32 comp_caps) > I still want to see this used to replace qedr_pci_set_atomic() if > that's possible. I'm not convinced yet that they need to be > different. I agree. This should be possible now. I've convinced myself that the functions do the same thing. But I have no way of testing it. I'd also do this in a separate patch. Maybe Ram or Doug could test it. Regards, Felix > > Bjorn