I just now noticed Timothy Pearson's note about reverting the alignment check patch. An excellent thread to start pulling on, but I don't think that is the correct fix in itself. If the addresses involved are not 64K aligned but merely 4K aligned, then the IOMMU will have to open an overly wide aperture to include the misaligned first (and possibly last) pages.
This may suggest that a fix is needed in userspace to ensure proper alignment, or the misaligned addresses may be coming from somewhere else in the kernel itself. I suspect adding some WARN_ON (or perhaps WARN_ON_ONCE, just in case) will prove informative. If time permits, I'll do that, but please don't wait on me. Cheers, --nwf;