rocker: sync up dma ring register definitions with hw

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: add tx dma ring initialization

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: convert to use MSI-X interrupts

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: add napi base

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: add tx/rx irqs

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: implement skb tx path

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: fix cmd wait for interrupt

So far we are checking only gen bit. But that can cause race because
gen bit can be set even before irq is called. So fix this by checking
wait_done flag as well.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: advance head through whole ring for consumer ring

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: increment head locally before committing the value to hw

Interrupt way come in between the head write and info->head set.
Interrups handler then may see incorrect info->head value.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: add event ring

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: fix rocker_dma_desc_tail_get

We should read desc[tail] and increment tail after that.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: implement event processing of link change

Signed-off-by: Jiri Pirko <jiri@resnulli.us>