f8306df6bd
Generate link-state change notifications by listening to interrupts generated by the device. Make use of the existing vmxnet3_process_events function that was compiled out, but change it to call vmxnet3_dev_link_update on a VMXNET3_ECR_LINK event and to not be so noisy in its log messages. Enable interrupts on starting the device, using a new helper function, vmxnet3_enable_intr, based on vmxnet3_disable_intr and validated against the FreeBSD driver. Keep track of the number of interrupts registered for to avoid hardcoding these in vmxnet3_enable/disable_intr and to provision for any future rxq intr support. Factor out the guts of vmxnet3_dev_link_update minus the started check to allow the new function to be called from vmxnet3_dev_start in the lsc-enabled case to ensure that the link state is correctly set from the actual state at that point. Signed-off-by: Robert Shearman <rshearma@brocade.com>