Marius Strobl 6143b97764 - Remove the redundant device disabled hint handling; ever since
r241119 that's performed globally by device_attach(9).
- As for the EM-class of devices, em(4) supports multiple queues
  and MSI-X respectively only with 82574 devices. However, since
  the conversion to iflib(4), em(4) relies on the interrupt type
  fallback mechanism, i. e. MSI-X -> MSI -> INTx, of iflib(4) to
  figure out the interrupt type to use for the EM-class (as well
  as the IGB-class) of MACs. Moreover, despite the datasheet for
  82583V not mentioning any support of MSI-X, there actually are
  82583V devices out there that report a varying number of MSI-X
  messages as supported. The interrupt type fallback of iflib(4)
  is causing two failure modes depending on the actual number of
  MSI-X messages supported for such instances of 82583V:
  1) With only one MSI-X message supported, none is left for the
     RX/TX queues as that one message gets assigned to the admin
     interrupt. Worse, later on - which will be addressed with a
     separate fix - iflib(4) interprets that one messages as MSI
     or INTx to be set up, but fails to actually do so as it has
     previously called pci_alloc_msix(9). [1, 2]
  2) With more message supported, their distribution is okay but
     then em_if_msix_intr_assign() doesn't work for 82583V, with
     the interface being left in a non-working state, too. [3]
  Thus, let em_if_attach_pre() indicate to iflib(4) to try MSI-X
  with 82574 only, and at most MSI for the remainder of EM-class
  devices.
  While at it, remove "try_second_bar" as it's polarity inverted
  and not actually needed.
- Remove code from em_if_timer() that effectively is a NOP since
  the conversion to iflib(4) ("trigger" is no longer read).
  While at it, let the comment for em_if_timer() reflect reality
  after said conversion.
- Implement an ifdi_watchdog_reset method which only updates the
  em(4) "watchdog_events" counter but doesn't perform any reset,
  so that the em(4) "watchdog_timeouts" SYSCTL (iflib(4) doesn't
  provide a counterpart) reflects reality and these timeouts add
  to IFCOUNTER_OERRORS again after the iflib(4) conversion.
- Remove the "mbuf_defrag_fail" and "tx_dma_fail" SYSCTLS; since
  the iflib(4) conversion, associated counters are disconnected,
  but iflib(4) provides "mbuf_defrag_failed" and "tx_map_failed"
  respectively as equivalents.
- Move the description preceding lem_smartspeed() to the correct
  spot before em_reset() and bring back appropriate comments for
  {igb,em}_initialize_rss_mapping() and lem_smartspeed() lost in
  the iflib(4) conversion.
- Adapt some other function descriptions and INIT_DEBUGOUT() use
  to match reality after the iflib(4) conversion.
- Put the debugging message of em_enable_vectors_82574() (missed
  in r343578) under bootverbose, too.

PR:		219428 [1], 235246 [2], 235147 [3]
Reviewed by:	erj (previous version)
Differential Revision:	https://reviews.freebsd.org/D19108
2019-02-09 11:58:40 +00:00
..
2019-01-07 02:39:40 +00:00
2018-07-07 15:55:52 +00:00
2018-08-10 13:38:23 +00:00
2019-01-25 21:38:28 +00:00
2018-10-15 18:39:33 +00:00
2018-07-17 23:23:45 +00:00
2018-06-15 02:28:36 +00:00
2019-02-04 21:28:25 +00:00
2018-12-12 21:56:45 +00:00
2019-02-05 21:37:34 +00:00
2018-12-17 21:34:09 +00:00
2018-03-14 18:27:06 +00:00
2018-08-07 17:13:42 +00:00
2018-08-21 10:08:12 +00:00
2019-02-05 21:37:34 +00:00
2017-11-30 20:33:45 +00:00
2018-12-31 23:27:56 +00:00
2018-12-26 10:48:39 +00:00
2019-02-04 21:28:25 +00:00
2019-01-08 05:41:04 +00:00
2019-02-05 21:37:34 +00:00
2017-11-30 20:33:45 +00:00
2018-04-13 20:30:49 +00:00
2019-02-05 21:37:34 +00:00
2018-09-26 19:41:00 +00:00
2019-01-28 02:15:41 +00:00
2019-02-05 21:37:34 +00:00
2018-07-27 10:40:48 +00:00
2018-07-13 22:49:48 +00:00
2019-02-04 21:28:25 +00:00
2019-02-05 21:37:34 +00:00
2019-02-06 20:18:22 +00:00
2018-01-03 00:56:30 +00:00
2018-01-13 16:31:07 +00:00
2019-02-05 21:37:34 +00:00