LinuxKPI: skbuff: rewrite data allocation to use __kmalloc by default
Put tunable/contigmalloc code under SKB_DMA32_MALLOC and remove the
LP64 checks for simplicity (apart from the 36bit check as that
would overflow the variable with the constant value).
busdma still has trouble bouncing contiguous memory with nseg=1 if
it is multiple pages.
Switch the other code to use __kmalloc() which now automatically
provides physically contiguous memory and deals with freeing as well.
This code should in theroy be enough now.
If people use iwlwifi(4) pre-22000 (9xxx 8xxx ...) chipsets on Laptops
with more than 64GB of memory they may see bounce errors as well now.
Sposnored by: The FreeBSD Foundation
(cherry picked from commit e6c91f8e5be66d774bc07f4055aa38fb2e287ff6)
(cherry picked from commit cd649cfc7ab23a8a36218977c60ed20afe48aea9)