rocker: introduce generic command interface

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: check gen bit in rocker_dma_desc_head_get

A race may happen when one cpu advances tail in
rocker_dma_desc_tail_get() and goes to processing that desc, when another
cpu calls rocker_dma_desc_head_get() and gets the same desc. So check
gen bit here to make sure the descs are not at the same time.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: add spin lock to guard cmd ring

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: get mac address from device

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
rocker: implement mac address change

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