hwqueue: add keystone hwqueue driver

This commit adds an hwqueue driver for the keystone qmss hardware.  As of this
commit, accumulator functionality is non-existent.

Signed-off-by: Prabhu Kuttiyam <pkuttiyam@ti.com>
Signed-off-by: Cyril Chemparathy <cyril@ti.com>

hwqueue: keystone: avoid non-cacheable coherent allocs for descriptor regions

This patch replaces the original dma coherent allocation with a cacheable
allocation that is then mapped for dma usage.

hwqueue: keystone: add optimization hints

In addition to a few cosmetic fixes, this patch mainly adds branch
optimization hints for the compiler's benefit.  We also prefetch descriptors
on pop, and mournfully retry on finding an invalid descriptor on a hardware
queue.

hwqueue: cleanup unused keystone specific structures

The hwqueue header had unnecessary remnant definitions from the
pre-device-tree era.  These have been removed by this patch.

hwqueue: align descriptor size to cache line size

This patch aligns descriptor size to the cache line size at push.

hwqueue: keystone: verify descriptor size on push

This patch adds verification on descriptor size before pushing it to a
hardware queue.

hwqueue: keystone: scatter/gather support

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
3 files changed