Handle new FW requirement for send request prefetching
New ConnectX firmware introduces FW command interface revision 2,
which requires that for each QP, a chunk of send queue entries (the
"headroom") is kept marked as invalid, so that the HCA doesn't get
confused if it prefetches entries that haven't been posted yet. Add
code to libmlx4 to do this.
Also, handle the new kernel ABI that adds the sq_no_prefetch parameter
to the create QP operation. We just hard-code sq_no_prefetch to 0 and
always provide the full SQ headroom for now.
Based on a patch from Jack Morgenstein <jackm@dev.mellanox.co.il>.