did you get any chance to look in to this issue?
i am waiting for your suggestion/patch for this issue!
I got as far as [1], but I wasn't sure how much I liked it, since it still
seems a little invasive for such a specific case (plus I can't remember if
it's actually been debugged or not). I think in the end I started wondering
whether it's even worth bothering with the 32-bit optimisation for PCIe
devices - 4 extra bytes worth of TLP is surely a lot less significant than
every transaction taking up to 50% more bus cycles was for legacy PCI.
how about tracking previous attempt to get 32bit range iova and avoid
further attempts, if it was failed. Later Resume attempts once
replenish happens.
Created patch for the same [2]
[2] https://github.com/gpkulkarni/linux/commit/e2343a3e1f55cdeb5694103dd354bcb881dc65c3
note, the testing of this patch is in progress.
Robin.
[1]
http://www.linux-arm.org/git?p=linux-rm.git;a=commitdiff;h=a8e0e4af10ebebb3669750e05bf0028e5bd6afe8
thanks
Ganapat