wl18xx: add sdio sg-dma low level write

Use mmc core to send a sg-list to the DMA engine. Implement an
sg_write callback in the sdio module to be called by the main driver.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wl18xx: use sg dma for Tx in 18xx cards

Add a quirk to enable sg dma for the Tx path in 18xx cards. Initialize
a sg-list and add buffers there instead of the aggregation buffer. When
flushing the data use the new sg_write API call.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
FW FIX ALIGN
DMA WITH SG TRICK AND CORRECT ALIGN
fix horrible bug by shahar..
very very tmp

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: add retval to SG write

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: handle dummy packets for SG dma

Signed-off-by: Arik Nemtsov <arik@wizery.com>
fix cleanup TODO

Signed-off-by: Arik Nemtsov <arik@wizery.com>
remove 2-byte alignment of beginning and disable SG

Signed-off-by: Arik Nemtsov <arik@wizery.com>
this version works

Signed-off-by: Arik Nemtsov <arik@wizery.com>
no last block padding works!

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: small block size for SG dma + adjust function to not crash

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: big DMA cleanup

still working

Signed-off-by: Arik Nemtsov <arik@wizery.com>
optimization + printk for debug



Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: limit SG dma segments and bail out when too big.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
fix dummy packet bug

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: dma-buf-init fix

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: remove DMA debug print and add DMATODO for quirk

Signed-off-by: Arik Nemtsov <arik@wizery.com>