rocker: introduce tx/rx rings per port

Note that this patch extends memory bar by 0x1000 and puts the dma regs
for all rings there (total size 0x800).

In order to get all things implemented comfortably in kernel (napi for
example). There will be needed to extend irq vector by bit per each
ring. Not sure exactly waht would be the best way to do it.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: introduce MSI-X base

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: pci_rocker_init: rename pci_dev->dev

So it is named the same as in the rest of the code.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: convert interrupts from INTx to MSI-X

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: add linkup change event propagation

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: fix read_only parameter of desc_get_buf in rx_produce

We need the buffer to be allocated for use here.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>
rocker: do not allow to DMA read/write non-initialized address

Check base addr when necessary to avoid wild memory access. Also
eliminate needless ring full checks.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>