Commit Graph

38842 Commits

Author SHA1 Message Date
yamaguchi
075ba4b6a0 Use I40E_PFINT_ITRN registers to enable ITR for MSI-X interrupts 2020-03-13 05:49:52 +00:00
yamaguchi
644c397a80 Fix locking against myself at ixl_link_state_update()
called by ixl_get_link_status()

Though the timing to call the function is change,
there is no order to get link status at initialization.
2020-03-13 05:40:20 +00:00
msaitoh
96ad258de0 Improve error check:
- We check PHY register read error correctly (timeout and NFE_PHY_ERROR), so
  don't check NFE_PHY_DATA register's value with 0xffffffff or 0. At least,
  some registers may have 0.
- Check NFE_PHY_ERROR bit in nfe_miibus_writereg().
- Improve debug printf
2020-03-13 05:10:39 +00:00
msaitoh
20ab1f8621 Regen. 2020-03-13 04:44:58 +00:00
msaitoh
b556be9077 0x001374 is non-bitreversed value of Attansic OUI(0x00c82e).
Attansic/Atheros correctly uses ID1 and ID2 register, so delete all 0x001374
related entries.
2020-03-13 04:44:34 +00:00
msaitoh
ab00d4f830 - Add Quake Technologies and Aeluros' OUI
- Add Teranetics TN1010 10GBase-T PHY
2020-03-13 04:43:03 +00:00
thorpej
059d14e26e Use BUS_ADDR_{LO,HI}32(). 2020-03-13 04:08:07 +00:00
thorpej
2ea03700f0 Support MBUFTRACE. 2020-03-13 03:45:58 +00:00
thorpej
3393f6f7af Adjust the logic for enabling the 64-bit data path when a 64-bit slot
is detected:
- If DATA64_EN isn't set in CFG after a reset, don't use 64-bit data path
  at all (it's been disabled by an EEPROM setting).
- Provide a hook for force-disabling the 64-bit data path.
- Otherwise, perform the "known 64-bit cards" check as done previously
  (because dodgy-vendor-EEPROM-settings still applies).
2020-03-13 00:45:59 +00:00
thorpej
24e08f1874 - Add the D-Link products, identified by subsystem ID.
- On some variations, the internal PHY is ghosted at #0 and #1.  Work
  around this by ignoring PHY #0 accesses unless we don't find one, and
  then look for one there as a fall-back if we don't detect anything else.
- Fix access width when setting the TxDMAUrgentThresh register.
- Support MBUFTRACE.
2020-03-13 00:41:24 +00:00
tnn
7fa2fb34ed vmx_vmptrst(): only used when DIAGNOSTIC 2020-03-12 13:01:59 +00:00
yamaguchi
46c80a8520 hold the lock for struct ixl_softc during read or write to sc->sc_media_*
OKed by knakahara@n.o
2020-03-12 09:38:10 +00:00
yamaguchi
ad58ea6187 remove unnecessary code because IFM_ACTIVE is setted
in ixl_set_link_status()

OKed by knakahara@n.o
2020-03-12 09:34:41 +00:00
thorpej
c70590ecd0 Add support for MBUFTRACE. 2020-03-12 03:01:46 +00:00
msaitoh
9dbe1673a3 Use unsigned to avoid undefined behavior. Found by kUBSan. 2020-03-11 16:20:57 +00:00
msaitoh
5a1f30c9b4 Regen. 2020-03-11 16:13:49 +00:00
msaitoh
c3097cc91e Add some GeForce devices. 2020-03-11 16:13:13 +00:00
msaitoh
d031c31410 Use unsgined more. 2020-03-11 16:05:31 +00:00
mlelstv
e43dd24750 Don't wait for data buffer. 2020-03-11 13:48:45 +00:00
fcambus
d26c453c14 Regen. 2020-03-11 10:57:32 +00:00
fcambus
4e4041ee21 Add device IDs of the VIA VX900 chipset. 2020-03-11 10:53:07 +00:00
thorpej
0325c535fc On NetBSD it's spelled "__NO_STRICT_ALIGNMENT". Adjust txp_rx_reclaim()
accordingly and structure it like other NetBSD drivers so as to re-use
the original Rx buffer rather than doing a needless free/alloc cycle.

Note this happened to work previously on my Qube2 because IP, TCP, etc.
perform their own alignment checks and react accordingly.  However, it's
not clear that ALL protocols do this yet, so it's better to just do the
safe thing for now.
2020-03-10 01:23:42 +00:00
thorpej
108ece4e09 - Add support for MBUFTRACE.
- Fix an mbuf leak I introduced in rev 1.68 (failed to increment "cnt"
  variable in txp_start(), which subsequently caused txp_tx_reclaim()
  to never run).
- Use the context address pointer in the Tx descriptor to stash the
  pointer to the Tx job software state in a manner like that which
  is used for Rx software state.
2020-03-10 00:26:47 +00:00
thorpej
fd153186c8 Protect against multiple inclusion. 2020-03-10 00:24:08 +00:00
mlelstv
afc6579b5e Defer crypto operations to a workqueue and make it utilize all CPUs.
Make device mpsafe.
Some code cleanup.
2020-03-09 08:33:15 +00:00
thorpej
594d380f4b Add an assertion. 2020-03-09 01:55:16 +00:00
thorpej
0dde84e990 Now that we're allocating rx software state from a fixed pool, we
don't have to round-trip pointers in a sketchy way -- we can round-
trip indices.
2020-03-09 01:53:11 +00:00
thorpej
826d6861ed Allocate a static set of receive software state descriptors at attach
time, and create a simple allocator for them for use by the rx reclaim
handlers.  Don't create and destroy DMA maps for receoive buffers
in the interrupt handlers -- just use the maps that are created at
attach time.
2020-03-09 00:32:53 +00:00
thorpej
a67cfe799f Give each Tx DMA map 16 DMA segments rather than the previous absurdly large
number, and structure the loop in txp_start() similarly to other drivers
(e.g. ste_start() in the ste(4) driver).  Similar in spirit to OpenBSD's
rev 1.126, but implemented a bit differently.
2020-03-08 22:26:03 +00:00
thorpej
78067cc9b2 Upgrade to newer firmware needed by some txp(4) variants.
From FreeBSD via OpenBSD.
2020-03-08 20:49:31 +00:00
thorpej
855f9c3e90 Follow the example of the MII code and don't register the half-duplex
versions of each media type.
2020-03-08 19:24:40 +00:00
thorpej
8cafc2bfeb - Use BUS_ADDR_{LO,HI}32(), and rather than forcing the descriptor
DMA addresses into a 64-bit value (and thus using 64-bit shifts
  when unnecessary), just reference the address from the DMA map
  directly.
- Add some missing byte-swaps.
2020-03-08 19:02:03 +00:00
msaitoh
ac1928a385 Use unsigned to avoid undefined behavior. Found by kUBSan. 2020-03-08 14:10:24 +00:00
msaitoh
5cb3127813 Use unsigned to avoid undefined behavior. Found by kUBSan. 2020-03-08 14:09:32 +00:00
skrll
25c08ff653 Fix LOCKDEBUG by calling fdtbus_intr_init as part of cpu_startup_hook, i.e.
later.
2020-03-08 08:26:54 +00:00
skrll
3e913d35e8 Use MUTEX_DEFAULT to avoid confusion 2020-03-08 08:25:36 +00:00
msaitoh
0ee6ba85c2 Regen. 2020-03-08 06:44:26 +00:00
msaitoh
7cbfaf71e9 NVIDIA 0x036[0-7] are nForce MCP55 LPC Bridge. 2020-03-08 06:43:06 +00:00
thorpej
53586cad22 Use BUS_ADDR_{HI,LO}32(). 2020-03-08 03:16:20 +00:00
thorpej
a2dcbf132b Support 64-bit DMA addressing on the DP83820, used only when a 64-bit
DMA tag is available.
2020-03-08 02:44:12 +00:00
thorpej
8bfb256e3e If bus_dmatag_subregion(), actually fall back on the base 64-bit
DMA tag.
2020-03-07 07:33:39 +00:00
isaki
d0b5c44ab6 Fix/Update comments about allocm/freem. 2020-03-07 06:27:19 +00:00
isaki
a8be951e4d Split sc_lock and sc_exlock.
Most (probably all) malloc/free (or routines which may sleep) now can be
called without holding mutex.
Pointed out by riastradh@.
2020-03-07 06:25:57 +00:00
fcambus
421cd63174 Remove references to non-existing fonts.
Include files with font data (courier11x18.h and iso8x16.h) were removed
in 1999 due to licensing concerns.
2020-03-05 18:20:38 +00:00
msaitoh
19a53347af u_int*_t -> unit*_t. No funcitonal change. 2020-03-05 16:05:45 +00:00
msaitoh
05893f30c2 miscelaneous -> miscellaneous in comment. 2020-03-05 15:56:20 +00:00
msaitoh
5065cb1a52 Add support for Farallon PN9000SX from FreeBSD. 2020-03-05 15:45:48 +00:00
msaitoh
911c9a80a7 Regen. 2020-03-05 15:43:30 +00:00
msaitoh
10b64996d4 Add Farallon PN9000SX Ethernet. 2020-03-05 15:43:00 +00:00
msaitoh
5b119cf3f3 No functional change:
- Remove extra semicolon
 - Remove extra whitespace
2020-03-05 15:40:06 +00:00
msaitoh
510905526c No functional change:
- Fix typo in comment.
 - Whitespace
2020-03-05 15:36:39 +00:00
msaitoh
7551b0e05a s/Intialize/Initialize/ in comment. 2020-03-05 15:33:13 +00:00
riastradh
df1f0e7940 Revert "Include opt_diagnostic.h for DIAGNOSTIC."
This did not do what I thought it did.  opt_diagnostic.h is only for
the unused _DIAGNOSTIC, which seems like an abortive attempt to
incrementally convert DIAGNOSTIC to an opt_*.h option rather than a
command-line option.
2020-03-05 15:18:54 +00:00
skrll
862cc1df56 Use howmany. NFC. 2020-03-05 08:30:58 +00:00
skrll
0eb13efa06 Remove XXX comment. The sync is done one the last sitd after the loop. 2020-03-05 08:12:30 +00:00
riastradh
57c472be02 Include opt_diagnostic.h for DIAGNOSTIC.
...at least, in header files, which may not have already included
libkern.h.
2020-03-05 08:08:32 +00:00
skrll
92457c6135 Consistency in use of #define names. No functional change as values of
before and after defines are the same.
2020-03-04 16:17:23 +00:00
isaki
1cb852fd8e Restore backward compatibility with netbsd-7 audio.
For sticky parameters (encoding, precision, channels, sample_rate and pause):
 - AUDIO_SETINFO for nonexistent track updates sticky parameters.
 - AUDIO_GETINFO for nonexistent track reads sticky parameters.
For blocksize, hiwat, lowat and {play.record}.buffer_size:
 - AUDIO_SETINFO for nonexistent track does nothing.
 - AUDIO_GETINFO for nonexistent track returns dummy non-zero values.
Nonexistent track is a playback track on O_RDONLY descriptor for example,
or both tracks on /dev/audioctl.
2020-03-04 14:19:41 +00:00
christos
83f5a6a60a Add ioctls to get and set raw mode. 2020-03-04 01:23:08 +00:00
jdolecek
8863b29311 replace #if condition for irq_slot with __diagused on the cleanup path
fixes PR kern/55044 by Uwe Toenjes
2020-03-03 21:42:31 +00:00
msaitoh
e96a05bbda Don't clear CFI and priority bit to pass them to the upper layer. 2020-03-03 05:41:36 +00:00
yamaguchi
1771f42935 Send packets even if link state is not up
ixl(4) has not the limitation that it must not send packet when
link is down. And most of the other NIC drivers do not refer to it
when sending packets.

reviewed by knakahara@n.o, thanks.
2020-03-03 04:55:46 +00:00
yamaguchi
d3fca170d0 Use ixl_atq_exec for waiting the Get link status response of ixl(4)
not to send the same command at once

reviewed by knakahara@n.o., thanks.
2020-03-03 04:34:45 +00:00
yamaguchi
a47437dcfc Added KASSERT 2020-03-03 04:22:45 +00:00
yamaguchi
7b7712bc5f Fix the crash when ixl(4) sends Get link status command
and receives Get link status response in parallel

sc->sc_link_state_atq.iatq_fn is used in ixl_atq_done_locked()
with sc->sc_atq_lock, but it was cleared in ixl_get_link_status()
without the lock.
2020-03-03 04:19:20 +00:00
nisimura
9750246e9b minor knits in mcast handling. 2020-03-02 19:16:02 +00:00
christos
141531ce86 Add fido constants, and turn hid "raw" mode for fido devices. 2020-03-02 18:15:28 +00:00
riastradh
ffcf681ee3 New ioctl DIOCGSECTORALIGN returns sector alignment parameters.
struct disk_sectoralign {
	/* First aligned sector number.  */
	uint32_t dsa_firstaligned;

	/* Number of sectors per aligned unit.  */
	uint32_t dsa_alignment;
};

- Teach wd(4) to get it from ATA.
- Teach cgd(4) to pass it through from the underlying disk.
- Teach dk(4) to pass it through with adjustments.
- Teach zpool (zfs) to take advantage of it.
  => XXX zpool doesn't seem to understand when the vdev's starting
     sector is misaligned.

Missing:

- ccd(4) and raidframe(4) support -- these should support _using_
  DIOCGSECTORALIGN to decide where to start putting ccd or raid
  stripes on disk, and these should perhaps _implement_
  DIOCGSECTORALIGN by reporting the stripe/interleave factor.

- sd(4) support -- I don't know any obvious way to get it from SCSI,
  but if any SCSI wizards know better than I, please feel free to
  teach sd(4) about it!

- any ld(4) attachments -- might be worth teaching the ld drivers for
  nvme and various raid controllers to get the aligned sector size

There's some duplicate logic here for now.  I'm doing it this way,
rather than gathering the logic into a new disklabel_sectoralign
function or something, so that this change is limited to adding a new
ioctl, without any new kernel symbols, in order to make it easy to
pull up to netbsd-9 without worrying about the module ABI.
2020-03-02 16:01:56 +00:00
thorpej
8c87d22cb1 Duh, acctually use all 64-bits when giving the rings to the chip. 2020-03-02 15:13:23 +00:00
msaitoh
df8278196c KNF. No functional change. 2020-03-02 06:38:06 +00:00
thorpej
0cc8d02709 Add explicit casts in bus_dmatag_subregion() calls to avoid overflow /
truncation warnings on 32-bit platforms.
2020-03-01 16:31:01 +00:00
thorpej
0fc78620c5 Use the 64-bit PCI DMA tag if available. 2020-03-01 15:54:18 +00:00
thorpej
6306f3a301 Harmonize bus_dmatag_subregion() handling with other drivers. 2020-03-01 15:46:32 +00:00
thorpej
d6c3cbd82c - Range-limit our DMA tag to 40-bit.
- Eliminate __LP64__ ifdefs.
2020-03-01 15:43:58 +00:00
thorpej
92d4306e77 Use the 64-bit PCI DMA tag if available. 2020-03-01 15:15:49 +00:00
thorpej
fcc264cce6 Support 64-bit DMA addressing, and use the 64-bit PCI DMA tag if available. 2020-03-01 15:11:31 +00:00
nisimura
099203e5e3 introduce AXE_IS_172() conditional to highlight odd ball 172 and invert most IF-THEN-ELSE. consistent white spaces. 2020-03-01 12:23:12 +00:00
nisimura
1832e20b26 use DOPAUSE. 772B Lenovo now has working rxpause,txpause 2020-03-01 10:16:17 +00:00
nisimura
3fa1d4c419 simplify single bit tests. no code difference is observed 2020-03-01 08:32:15 +00:00
isaki
876b561c3d Improve an error message about round_blocksize. 2020-03-01 07:42:07 +00:00
isaki
64ccf8fc30 Fix wrong parameter displayed in debug messages. 2020-03-01 07:40:03 +00:00
isaki
1d286abd67 Reinitialize the sticky parameters whenever the hardware format is changed.
When the number of the hardware channels becomes less than the number of
channels that sticky parameters remember, subsequent open("/dev/sound") will
fail without this treatment.  This is for rev 1.43.
2020-03-01 07:35:33 +00:00
thorpej
c23e3641d6 Use the 64-bit PCI DMA tag if available. 2020-03-01 05:51:46 +00:00
thorpej
71d5c998bb - Support 64-bit DMA addresses for the Tx and Rx ring addresses.
- g/c and unused define.
2020-03-01 05:50:56 +00:00
thorpej
c511514a83 Use the 64-bit PCI DMA tag if avalable. 2020-03-01 05:39:05 +00:00
riastradh
fcabfbde55 Add a flag to dk_dump for virtual disk devices.
If a disk is backed by a physical medium other than itself, such as
cgd(4), then it passes DK_DUMP_RECURSIVE to disable the recursion
detection for dk_dump.

If, however, a device represents a physical medium on its own, such
as wd(4), then it passes 0 instead.

With this, I can now dump to dk on cgd on dk on wd.
2020-03-01 03:21:54 +00:00
riastradh
c06051f536 Allow dumping to cgd(4) on a dk(4).
(Technically this also allows dumping to a dk(4) on which there
happens to be a cgd(4) configured, but I'm not sure how to
distinguish that case here.  So don't do that!)
2020-03-01 03:19:46 +00:00
thorpej
bbade67de2 Upon further reflection, we actually do need to ensure that the Rx
ring and the Rx Return ring are both in the same 4GB segment.
2020-03-01 03:06:08 +00:00
thorpej
e34daa9020 - Use the 64-bit PCI DMA tag if available.
- Add a comment explaining that if we were to use more than one
  Rx ring / Rx Return ring, all of the Rx-related control data
  would need to be in the same 4G segment.
2020-03-01 03:00:31 +00:00
thorpej
86b0e826cb - Use the 64-bit PCI DMA tag if available.
- In age_dma_alloc(), ensure that all of the control data end up in the
  same 4GB segment, because the hardware requires this.
2020-03-01 02:51:42 +00:00
thorpej
3da3dd2c06 It doesn't make any sense to pass ETHER_ALIGN as the alignment constraint
to bus_dmamem_alloc().  Use PAGE_SIZE instead.
2020-03-01 02:28:14 +00:00
thorpej
6c547a36bb Use the 64-bit PCI DMA tag, if available. 2020-02-29 21:31:55 +00:00
thorpej
ecffff35e4 Use the 64-bit PCI tag, if available. 2020-02-29 21:27:19 +00:00
thorpej
3929de4a34 Use the 64-bit PCI DMA tag if it's available, but range-limit to
40-bit because that's what the hardware can do.
2020-02-29 20:39:09 +00:00
thorpej
6f3ef0ba5a G/C the never-used version of ti_hostaddr that can't possibly be correct. 2020-02-29 19:29:38 +00:00
thorpej
1626277d40 - Change the definition and usage of TI_HOSTADDR() to allow for 64-bit
DMA addresses.  Modeled after similar usage in the bge(4) driver (the
  chips supported by bge(4) are descendants of those supported by ti(4)).
- Use the 64-bit PCI DMA tag if available, otherwise we're allocating (and
  using) bounce buffers needlessly.
2020-02-29 18:49:53 +00:00
thorpej
11979334b4 Use the 64-bit PCI DMA tag if available. Otherwise, we are needlessly
allocating (and using) bounce buffers on sytems with >4GB of RAM.

XXX pullup-9
2020-02-29 18:07:57 +00:00
mlelstv
a0f9af825d Fix signed/unsigned comparisons. Send data little endian. 2020-02-29 16:36:25 +00:00
isaki
3d4cb61926 Minor fix. audio_prinfo.pause is u_char, not bool. 2020-02-29 09:38:10 +00:00
isaki
9178c7e6bd Release memories on audiobellclose.
It's rest of the last commit.
2020-02-29 07:13:37 +00:00
isaki
da8a629a85 round_blocksize must return a multiple of the framesize
even if 6 channels mode.
I believe that keeping "good alignment" is just a wish, not constraint.
2020-02-29 06:34:30 +00:00
isaki
098a1006a1 round_blocksize must return a multiple of the framesize.
It's not divisible when blk=GCSCAUDI_PRD_SIZE_MAX and channels=4.
2020-02-29 06:25:33 +00:00
isaki
6e396296c4 round_blocksize must return a multiple of the framesize
even if passed blocksize is greater than the upper limit.
2020-02-29 06:06:29 +00:00
isaki
c509fb12bb Remove rounding by 4 bytes on round_blocksize().
For drivers which supports only 16bit * 2channels sampling,
rounding by 4 bytes no longer meaningful.
2020-02-29 05:51:10 +00:00
nisimura
8635cce95c add comments to show the RX filter intent 2020-02-29 04:27:53 +00:00
nisimura
8ad57d4b7d make sure to accept bcast frame all the time 2020-02-29 04:02:06 +00:00
nisimura
e1c0edcdfa iron out receive filter multicast/promisc logic 2020-02-29 02:51:14 +00:00
msaitoh
ca6a4f453f Replace bnx_ifmedia_upd() in bnx_init() with mii_ifmedia_change() for future
locking changes.
2020-02-28 14:57:55 +00:00
msaitoh
ebdef54f25 Replace bnx_ifmedia_upd() in bnx_mgmt_init() with mii_ifmedia_change() for
future locking changes. Suggested by thorpej@.

 XXX Need more work for bnx_ifmedia_upd() itself.
2020-02-28 14:20:06 +00:00
isaki
d86c3d1145 Drop 512 bytes limit on auvia_round_blocksize().
This fixes attach on 6 channels device.
PR kern/55017.
2020-02-28 13:31:03 +00:00
macallan
8fbd006440 - document the config register
- do some setup and send a start command
- mark the sensor as invalid if readings are out of range
now this works properly on my PCI-X G5
2020-02-28 13:18:25 +00:00
msaitoh
e72e0efefb When a media change is requested, don't just all (*if_init)(). That's
needlessly disruptive and incompatible with future locking changes.
We can use ether_mediachange() instead.
2020-02-28 06:53:22 +00:00
yamaguchi
f6ee8e280e Update sc->sc_parent->dk_rawvp while the lock named dk_rawlock held
to prevent a race condition

Fixes PR kern/55026

OKed by mlelstv@, thanks
2020-02-28 06:01:23 +00:00
msaitoh
3102c6481b Move PHY_RESET() in the media change path from if_et.c to etphy.c.
I don't know if the reset is required or not. I tested some media
transitions without the reset and it worked. It might be OK to remove
but Linux does it only in et1011c_config_aneg(). So move the reset to
etphy_service(,,MII_MEDIACHG)'s autonego case. This change is also
required for future locking changes.
2020-02-28 05:13:19 +00:00
sevan
322778c4e2 Cast to make up for the difference in type between our bus_dma_map(9) and
theirs. Where we expect kvap to be of void **, they expect caddr_t (typedef char *).
2020-02-27 23:15:34 +00:00
sevan
657257e0c1 Add an implementation of MCLGETI.
Borrowed from sys/dev/pci/if_bwfm_pci.c
2020-02-27 22:58:57 +00:00
jmcneill
05c715360e Explicit format string for snprintf, spotted by tnn@ 2020-02-27 17:30:07 +00:00
msaitoh
89323825a1 Regen. 2020-02-27 06:17:50 +00:00
msaitoh
5bb46a41c0 Use xxVIA instead of VIA.
0x004063 is VIA's official OUI but VT6103 use 0x0002c6.
0x0002c6 is non-bitreversed value of 0x004063. Reported by Andrius V.
2020-02-27 06:17:28 +00:00
ryoon
34b05ae8e7 Messages in pms_synaptics_input() should not start with "pms_input"
Use "pms_synaptics_input" instead for another 2 messages.
2020-02-25 21:41:38 +00:00
ryoon
2fce724e2a Messages in pms_synaptics_input() should not start with "pms_input"
Use "pms_synaptics_input" instead.
2020-02-25 21:38:42 +00:00
ryoon
38b76fc7a8 Do not enter extended W mode conditional for non extended W mode device
Even without extended W mode, sp_w can be 2. This causes
"invalid extended w mode N" warning messages.
Restrict extended W mode conditional for hardwares with extended W
support.

Tested with Synaptics 6.2 device on Panasonic CF-Y8, however it does
not work with X.
2020-02-25 21:36:13 +00:00
ryoon
ec28725d9d Remove a trailing tab. 2020-02-25 16:24:47 +00:00
yamaguchi
e13c819080 Add a comment about RSS and remove a wrong comment
pointed out and reviewed by knakahara@n.o., thanks
2020-02-25 08:05:24 +00:00
yamaguchi
83aabbc061 Use IFM_25G_ACC
pointed out and reviewed by msaitoh@n.o., thanks
2020-02-25 08:02:29 +00:00
yamaguchi
2b15e9ec8a Use kmem_alloc instead of malloc
pointed out and reviewed by knakahar@n.o., thanks
2020-02-25 07:58:44 +00:00
yamaguchi
283d3de4a9 Change the number of retry to be the same as FreeBSD and Linux
pointed out and reviewed by knakahara@n.o., thanks.
2020-02-25 07:53:55 +00:00
yamaguchi
6e254227cf Disable all queues before waiting for the completion
on each queue to reduce the number of delays

pointed out and reviewed by knakahara@n.o., thanks
2020-02-25 07:50:25 +00:00
yamaguchi
48bdbc0885 Use callout_halt() instead of callout_stop for safety
pointed out and reviewed by knakahara@n.o., thanks
2020-02-25 07:45:28 +00:00
yamaguchi
aca1dd3bc4 Stop callout for statistics while the interface is not running 2020-02-25 07:41:32 +00:00
yamaguchi
a2576ffa9b Change position of the cpuid::ixl_hmc_txq
to be same with ixl_hmc_pack_txq[]

This has no functionality impact because the position on memory
is defined in ixl_hmc_pack_txq[].

pointed out and reviewed by knakahara@n.o., thanks
2020-02-25 07:35:54 +00:00
yamaguchi
1ac38ddfd7 Hold per-queue locks when clearing config of queues for safety 2020-02-25 07:31:19 +00:00
yamaguchi
ab5a0b3d6d Add defines for the max number of queue
pointed out and reviewed by knakahara@n.o., thanks
2020-02-25 07:22:18 +00:00
yamaguchi
57a241816f Set 0 to txr_{prod,cons} and rxr_{prod,cons} when HMC objects
are cleared

Those values should be the same as head and tail in an HMC object
2020-02-25 07:17:19 +00:00
yamaguchi
d6355b8dcf Use workqueue API directly, without the wrapper in ixl(4)
to improve performace by removing atomic_ops(3)

pointed out and reviewed by knakahara@n.o., thanks
2020-02-25 07:10:10 +00:00
yamaguchi
12a5bb547f Remove WQ_PERCPU flag for the workqueue that does configurations
such as link up and down

And added kpreempt_disable and kpreempt_enable around
workqueue_enqueue to call it in non-WQ_PERCPU thread context.

pointed out and reviewed by knakahara@n.o., thanks.
2020-02-25 07:05:57 +00:00
yamaguchi
e99dedd666 Added __KERNEL_RCSID 2020-02-25 07:00:26 +00:00
rin
4c1762c6a4 0x%#x --> %#x for non-external codes.
Also, stop mixing up 0x%x and %#x in single files as far as possible.
2020-02-24 12:38:57 +00:00
rin
4ecd76e535 0x%p --> %p for non-external codes. 2020-02-24 12:20:29 +00:00
ad
d2a0ebb67a UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart.  v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap.  Others to follow later.
2020-02-23 15:46:38 +00:00
martin
25565a0d85 Do not replay the msgbuf if we are booting silent or quiet. 2020-02-23 14:44:23 +00:00
skrll
8288919360 typo in comment 2020-02-23 10:30:43 +00:00
riastradh
ebc45b4b1c Simplify some branches and kassert some redundant assignments. 2020-02-23 08:54:55 +00:00
riastradh
ad0054ce45 Fix mistake in use of usbd_xfer_schedule_timeout in motg.
This code path is used both for xfers that are new, and xfers that
are being done piece by piece and are partway done.  For the latter
case, skip usbd_xfer_schedule_timeout so we schedule it only once per
xfer.
2020-02-23 08:54:47 +00:00
isaki
66c7f93253 Prevent a race between audiodetach and fileops methods using psref(9).
Fix PR kern/54427.
Thank you so much riastradh@
2020-02-23 07:17:01 +00:00
isaki
49489285f6 Improve error handling around audio_hw_probe().
It was difficult to return multiple errors.
2020-02-23 04:24:56 +00:00
isaki
92e2bd444b Make start_input/halt_input optional if the driver has no recording,
make start_output/halt_output optional if the driver has no playback.
And remove such never called functions.
2020-02-23 04:02:45 +00:00
chs
5d4d9a2027 remove some unnecessary includes of internal UVM headers. 2020-02-22 19:49:11 +00:00
jmcneill
eb15acbd6a Match BCM54213PE 2020-02-22 18:57:31 +00:00
jmcneill
0210926b50 regen 2020-02-22 18:57:09 +00:00
jmcneill
65d0cc155b Add BCM54213PE 2020-02-22 18:56:57 +00:00
jmcneill
c992f78e6a Add support for hardware rx filters. 2020-02-22 13:41:40 +00:00
isaki
4f60b558c3 Make calling get_props() lockless.
get_props() of all MD drivers now can be called without sc_lock.
2020-02-22 08:15:09 +00:00
isaki
6d13f8a36a On audio_[pr]mixer_halt(), it's better to reset parameters in intr_lock. 2020-02-22 08:03:19 +00:00
isaki
710d84f6ac Add KASSERTs. audio_[pr]mixer_start() need exlock. 2020-02-22 08:01:59 +00:00
isaki
3dc846c0d9 Move #if DIAGNOSTIC..#endif to correct place.
It should ignore stray interrupts regardless of DIAGNOSTIC.
2020-02-22 07:59:47 +00:00
isaki
379e7aeb32 hw_if->query_format is already mandatory method. Drop null checks. 2020-02-22 07:09:18 +00:00
isaki
61f731db38 Improve KASSERT messages. 2020-02-22 06:58:39 +00:00
isaki
63cdbdbe8c Change two aprint_error_dev() to device_printf() (and improve messages).
This is also called from other than boot.
2020-02-22 06:36:07 +00:00
isaki
9fd5ffc974 const-ify. These arguments are no longer written back. 2020-02-22 06:28:10 +00:00
isaki
5eda9f581a Fix/Update comments. 2020-02-22 06:22:46 +00:00
isaki
0b3fcad9a1 Limit the number of channels that userland apps can set (by AUDIO_SETINFO)
to the number of channels supported by the hardware or less, if the hardware
supports multi channels.
- On monaural or stereo hardware, userland apps can always set 1ch or 2ch.
  The kernel (audio layer) can convert mono-stereo each other.
- On 3ch (2.1ch) hardware, for example, userland apps can set 1, 2, or 3ch,
  but not 4ch or more.
This allows userland apps to know actual number of channels supported by
the hardware in the same way as before.
PR kern/54973.
2020-02-22 05:51:39 +00:00
jmcneill
cb1ea6d12b Add ACPI glue for Broadcom GENETv5 2020-02-22 02:28:06 +00:00
jmcneill
75b925d5cf Add support for Broadcom GENET v5 ethernet controller as found on the
Raspberry Pi 4 (BCM2711).
2020-02-22 00:28:35 +00:00
skrll
71d602f2c7 Fix a memory leak. Spotted by nat@ 2020-02-21 12:41:29 +00:00
joerg
ce578dfc2b Explicitly cast pointers to uintptr_t before casting to enums. They are
not necessarily the same size. Don't cast pointers to bool, check for
NULL instead.
2020-02-21 00:26:21 +00:00
jmcneill
4951916a8c Add dma-ranges support. 2020-02-20 01:35:55 +00:00
riastradh
f50fdb79bb usbdi dtrace probes 2020-02-19 16:07:37 +00:00
riastradh
13eca39faf Sprinkle some dtrace probes into scsi(4). 2020-02-19 16:05:41 +00:00
riastradh
16dde5e683 C99 initializers for scsipi_bustype. No functional change intended. 2020-02-19 16:04:39 +00:00
riastradh
2d463de989 umass dtrace probes 2020-02-19 16:04:01 +00:00
riastradh
e715cf708b New dtrace usb provider, with a handful of probes in usb.c. 2020-02-19 16:03:30 +00:00
riastradh
cb1b4b8e31 Make sure the umass transfer callback is run in error branches. 2020-02-19 16:02:50 +00:00
riastradh
9f1c0575da Consolidate logic to call the transfer callback.
No functional change intended.
2020-02-19 16:02:33 +00:00
riastradh
8349adddfa Fix mistakes in timeout/abort/completion changes in motg(4).
- Call usbd_xfer_schedule_timeout so we actually do time out.

- Don't call usbd_xfer_trycomplete until all the data have been
  transferred -- it commits to completion, not timeout.

- Use xfer->ux_status != USBD_IN_PROGRESS to test whether, after a
  partial write, an xfer has been interrupted or timed out and need
  not be continued.

- Remove wrong assertion.
2020-02-19 16:01:37 +00:00
riastradh
bc5592b8ef Abort default pipe too on detach before detaching children.
This ensures that pending xfers on the default pipe will be aborted
before we wait for children, which, in the case of scsibus -> sd,
means waiting for pending xfers to complete -- xfers that may never
complete if something is wedged.
2020-02-19 16:00:28 +00:00
mrg
f2ddcf3597 regen. 2020-02-19 09:00:43 +00:00
mrg
5b6b20acd5 add a couple of GPUs i have:
product ATI RADEON_HD4290      0x9714  Radeon HD4290 Graphics
product NVIDIA GF_440          0x0de0  GeForce GT 440
2020-02-19 09:00:34 +00:00
riastradh
29f401d621 Fix wrong KASSERT in motg abort.
This has been wrong since last summer when we did the transition to
xfer->ux_status = USBD_CANCELLED earlier.

XXX pullup-9
2020-02-18 17:50:20 +00:00
msaitoh
e6334c3f8e No functional change:
- u_int*_t -> uint*_t
 - whitespace fixes.
 - KNF.
2020-02-18 04:12:40 +00:00
msaitoh
baf0814f90 Whitespace fix. No functional change. 2020-02-18 04:09:31 +00:00
msaitoh
ba67005d1f Add comment. 2020-02-18 04:08:12 +00:00
msaitoh
ae193e13d9 It's useless to not to set PCI_PMCSR_PME_STS bit when writing because
the bit is W1C. Instead, always write PCI_PMCSR_PME_STS bit to clear in
case it's already set.
2020-02-18 04:07:14 +00:00
msaitoh
dc2d2bb7a9 Whitespace fix. No functional change. 2020-02-18 03:48:22 +00:00
riastradh
fbd9ae86b4 When aborting a pipe, set pipe->up_running = 0.
This prevents any concurrent usb_transfer_complete from restarting
the pipe with usbd_start_next.
2020-02-17 08:16:44 +00:00
nisimura
a4c13d8e17 comment mods and code tiddy ups 2020-02-17 06:05:31 +00:00
thorpej
d0734eed97 Add fdt_intr_mask() / fdt_intr_unmask() functions, for masking and
unmasking invididual interrupt sources (similar to acpi_intr_mask()
and acpi_intr_unmask()).

(This file was missed in a previous commit.)
2020-02-16 23:05:42 +00:00
thorpej
8acfda791f - Don't use I2C_F_POLL.
- G/C the non-FDT entry points; nothing uses them anymore.
2020-02-16 22:43:27 +00:00
thorpej
d172e13f0a Don't access the i2c bus in interrupt context. Instead, mask the
interrupt and process it on a work queue.
2020-02-16 20:32:29 +00:00
thorpej
86758bd61b Add fdt_intr_mask() / fdt_intr_unmask() functions, for masking and
unmasking invididual interrupt sources (similar to acpi_intr_mask()
and acpi_intr_unmask()).
2020-02-16 20:28:18 +00:00
thorpej
2b1ba9ff43 Rename fdtbus_set_data() to fdtbus_init(). NFC. 2020-02-16 14:56:52 +00:00
maxv
606b6de518 Improve the check, to prevent more surprises. 2020-02-16 09:53:54 +00:00
maxv
788d40eade Move usb_desc_* into usbdi_util.c, no functional change. 2020-02-16 09:40:35 +00:00
thorpej
839cd8df19 Interrupt-driven I/O seems to completely go off the rails, at least
on AllWinner implementations of this controller, so force polled mode
for now.
2020-02-15 23:42:01 +00:00
riastradh
b4488d07f0 Fix non-DIAGNOSTIC builds. 2020-02-15 13:56:55 +00:00
ryo
da59490bcc return the ifmedia active status correctly even while the link is not up after attach.
pointed out by msaitoh@. thanks.
2020-02-15 12:20:35 +00:00
skrll
9366ffe370 Change bNbrPorts for loop to start from 1 to match others. NFCI. 2020-02-15 09:26:07 +00:00
skrll
37efdc1032 Fix build 2020-02-15 07:46:48 +00:00
isaki
72caf9588f Enumerating probably always starts from sc->sc_startnode. 2020-02-15 03:04:45 +00:00
isaki
9e6a92af82 Remove incorrect KASSERT(!mutex_owned()).
Pointed out by riastradh@.
2020-02-15 02:47:00 +00:00
manu
17ba52234e Add support for D-Link DWM-157 3G USB modem 2020-02-15 02:14:02 +00:00
manu
f88a2a2a05 regen 2020-02-15 02:10:45 +00:00
manu
c60531f466 Add UE version of D-Link DWM-157 2020-02-15 02:08:54 +00:00
riastradh
73c7d65210 Fix mistakes in previous sloppy change with root intr xfers.
- Make sure ux_status is set to USBD_IN_PROGRESS when started.
  Otherwise, if it is still in flight when we abort the pipe,
  usbd_ar_pipe will skip calling upm_abort.

- Initialize ux_status under the lock; in principle a completion
  interrupt (or a delay) could race with the initialization.

- KASSERT that the xfer is in progress when we're about to complete
  it.

Candidate fix for PR kern/54963 for other HCI drivers than uhci.

ok nick
ok phone

(This is the change that nick evidently MEANT to ok when he ok'd the
previous one!)
2020-02-15 01:21:56 +00:00
riastradh
5890bb5228 Set ux_isdone in uhci_poll_hub for DIAGNOSTIC. 2020-02-14 16:47:28 +00:00
riastradh
3412e5de96 Initialize xfer->ux_status in uhci_root_intr_start.
Otherwise, it will be USBD_NOT_STARTED, so usbd_ar_pipe will skip
calling upm_abort.

Candidate fix for PR kern/54963, same problem as reported at:
https://mail-index.NetBSD.org/current-users/2020/02/13/msg037740.html
2020-02-14 16:47:11 +00:00
nisimura
2027843624 unbreak the previous commit error 2020-02-14 14:17:42 +00:00
nisimura
585f03229a determine FDX flow control abilities 2020-02-14 14:14:45 +00:00
nisimura
dc51abea5c add missing two aprint_normal* lines 2020-02-14 12:14:33 +00:00
sevan
a880d49f8b redundant include 2020-02-13 23:05:53 +00:00
riastradh
73dc35407f Fix steady state of root intr xfers.
Why?

- Avoid completing a root intr xfer multiple times in races.
- Avoid potential use-after-free in poll_hub callouts (uhci, ahci).

How?

- Use sc->sc_intr_xfer or equivalent to store only a pending xfer
  that has not yet completed -- whether successfully, by timeout, or
  by synchronous abort.  When any of those happens, set it to null
  under the lock, so the xfer is completed only once.

- For hci drivers that use a callout to poll the root hub (uhci, ahci):

  . Pass the softc pointer, not the xfer, to the callout, so the
    callout is not even tempted to use xfer after free -- if the
    callout fires, but the xfer is synchronously aborted before the
    callout can do anything, the xfer might be freed by the time the
    callout starts to examine it.

  . Teach the callout to do nothing if it is callout_pending after it
    has fired.  This way:

    1. completion or synchronous abort can just callout_stop
    2. start can just callout_schedule

    If the callout had already fired before (1), and doesn't acquire
    the bus lock until after (2), it may be tempted to abort the new
    root intr xfer just after submission, which would be wrong -- so
    instead we just have the callout do nothing if it notices it has
    been rescheduled, since it will fire again after the appropriate
    time has elapsed.
2020-02-12 16:02:01 +00:00
riastradh
87858756ca Factor out HCI-independent xfer completion logic.
New API for HCI drivers to synchronize hardware completion
interrupts, synchronous aborts, and asynchronous timeouts:

- When submitting an xfer to hardware, call
  usbd_xfer_schedule_timeout(xfer).

- On HCI completion interrupt for xfer completion:

	if (!usbd_xfer_trycomplete(xfer))
		return;		/* timed out or aborted, ignore it */

- In upm_abort methods, call usbd_xfer_abort(xfer).

For HCI drivers that use this API (not needed in drivers that don't,
or for xfers like root intr xfers that don't use it):

- New ubm_abortx method serves role of former *hci_abort_xfer, but
  without any logic for wrangling timeouts/callouts/tasks -- caller
  in usbd_xfer_abort has already handled them.

- New ubm_dying method, returns true if the device is in the process
  of detaching, used by the timeout logic.

Converted and tested:
- ehci
- ohci

Converted and compile-tested:
- ahci (XXX did this ever work?)
- dwc2
- motg (XXX missing usbd_xfer_schedule_timeout in motg_*_start?)
- uhci
- xhci

Not changed:

- slhci (sys/dev/ic/sl811hs.c) -- doesn't use a separate per-xfer
  callout for timeouts (XXX but maybe should?)

- ugenhc (sys/rump/dev/lib/libugenhc/ugenhc.c) -- doesn't manage its
  own transfer timeouts

- vhci -- times transfers out only on detach; could be adapted easily
  if we wanted to use the xfer->ux_callout
2020-02-12 16:01:00 +00:00
riastradh
eae210eb42 Fix steady state of timeouts in ehci.
This is complicated because:

1. There are three ways that an xfer can be completed:
   (a) hardware interrupt completes xfer
   (b) software decision aborts xfer with USBD_CANCELLED
   (c) timeout aborts xfer with USBD_TIMEOUT

2. The timeout abort can't be done in callout because ehci_sync_hc,
   called unconditionally by ehci_abort_xfer to wait until the device
   has finished using any references to the xfer, may sleep.  So we
   have to schedule a callout that, when run, will schedule a usb_task.

3. The hardware completion interrupt can't sleep waiting for a callout
   or task to finish -- can't use callout_halt or usb_rem_task_wait.
   So the callout and usb_task must be able to run _after_ the hardware
   completion interrupt, and recognize that they're late to the party.

   (Note, though, that usbd_free_xfer does wait for the callout and
   task to complete, so there's no danger they may use themselves after
   free.)

4. The xfer may resubmitted -- and the timeout may be rescheduled --
   immediately after the hardware completion interrupt, _while_ the
   callout and/or usb_task may still be scheduled.  Specifically, we
   may have the following sequence of events:
   (a) hardware completion interrupt
   (b) callout or usb_task fires
   (c) driver resubmits xfer
   (d) callout or usb_task acquires lock and looks around dazed and
       bewildered at the firehose of events like reading the news in 2019

The mechanism for sorting this out is that we have two bits of state:

- xfer->ux_timeout_set informs the driver, when submitting an xfer and
  setting up its timeout, whether either the callout or usb_task is
  already scheduled or not.

- xfer->ux_timeout_reset informs the callout or usb_task whether it
  should reschedule the callout, because the xfer got resubmitted, or
  not.
2020-02-12 16:00:34 +00:00
riastradh
4dd8641b42 New xfer state variables ux_timeout_set and ux_timeout_reset.
These are needed because:

- The host controller interrupt cannot wait for the callout or task
  to finish running.

- Nothing in the USBD API as is waits for the callout or task to
  finish running.

- Callers expect to be able to resubmit USB xfers from xfer callbacks
  without waiting for anything to finish running.

The variable ux_timeout_set can be used by a host controller to
decide on submission whether to schedule the callout or to ask an
already-scheduled callout or already-queued task to reschedule the
callout, by setting the variable ux_timeout_reset to true.

When the callout or task runs and sees that ux_timeout_reset is true,
rather than queue the task or abort the xfer, it can instead just
schedule the callout anew.
2020-02-12 16:00:17 +00:00
riastradh
130dc8fe1e Nothing guarantees xfer's timeout has completed.
Wait for it when we free the xfer.
2020-02-12 15:59:59 +00:00
riastradh
470e18a045 New function usb_task_pending for diagnostic assertions.
Usable only for negative diagnostic assertions:

	KASSERT(!usb_task_pending(dev, task))

If you can think of a better name for this than !usb_task_pending,
I'm all ears.
2020-02-12 15:59:44 +00:00
riastradh
611f3a357f Teach usb_rem_task to return whether removed from queue or not. 2020-02-12 15:59:30 +00:00
yamaguchi
7f102db335 Remove wrong KASSERTs because mutex_owned for a spin lock doesn't check
that a lock is held in the current context.
2020-02-12 06:41:44 +00:00
yamaguchi
ab7363fa6b Use Set RSS key command and Set LUT command to enable RSS on X722 2020-02-12 06:37:21 +00:00
yamaguchi
ca6fb19728 xl(4) should use the aq command to access RX control registers
if the device is X722 or others whose API version is upper than 1.5
2020-02-12 06:26:02 +00:00
yamaguchi
0988a4021e Fix a wrong comment in ixl(4) 2020-02-12 06:21:44 +00:00
yamaguchi
2fb60d52be Change the command sequence and timing to prevent EIO
in "Get PHY Abilities" command

The error has been appeared on X722 attaching an SFP module
without link up.
2020-02-12 06:20:13 +00:00
chs
64b2d7d8bf the number of possible ATAPI devices on an ATA bus is not always 2,
it is however many devices the underlying ATA bus can have (eg. 1 for SATA),
so initialize the scsipi chan_ntargets from the ATA ch_ndrives.
this fixes a memory read overrun detected by KASAN.
discussed with mlelstv@ and jdolecek@
2020-02-12 00:19:07 +00:00
jdolecek
fce3b0937b use wdc_maxdrives for atabus_alloc_drives() also in wdc_sataprobe()
instead of magic 1; no functional change, all wdc_sataprobe() users
actually set wdc_maxdrives to 1
2020-02-10 20:11:48 +00:00
ryoon
eb3a0a30dd Introduce hw.alps.touchpad_movement_threshold to better button area clicks 2020-02-10 16:12:58 +00:00
ryoon
0b1d31ee04 Fix typo in sysctl node name 2020-02-10 15:29:05 +00:00
mlelstv
5981b364e7 Reject open when attach didn't complete successfully. 2020-02-10 10:05:55 +00:00
skrll
b4461e2abf Fix USB_DEBUG build 2020-02-10 09:15:27 +00:00
msaitoh
4f5840cebb Restore an register read for RX_FRAMES_OK which was removed in rev. 1.133.
All statistics registers should be read to ACK the interrupt. Fixes PR#54920.

XXX pullup-[89]
2020-02-10 07:48:02 +00:00
ryo
accb2dabd4 add support VLAN HW filter 2020-02-10 05:53:11 +00:00
ryo
c7d7f2416b fix descriptions of register map in comment 2020-02-10 05:07:28 +00:00
jmcneill
428130a8e6 Retire azalia(4). 2020-02-09 16:06:17 +00:00
maya
5c658b8ee4 Remove trace of uyurex. Pointed out by maxv, thanks! 2020-02-09 15:46:15 +00:00
maxv
c105e3ae2a Move three functions into usbdi_util.c, where they belong. No functional
change.
2020-02-08 08:47:27 +00:00
msaitoh
20da7ca447 Apply FreeBSD r357300:
> aic7xxx(4): Fix unintended sign extension in ahd_inq()
 >
 > ahd_inb() returns type uint8_t.  The shift left by untyped 24 implicitly
 > promotes the result to type (signed) int.  Then the binary OR with uint64_t
 > values sign-extends the integer.  If bit 31 of the read value happened to be
 > set, the 64-bit result would have all upper 32 bits set to 1 due to OR.
 > This is clearly not intended.
 >
 > Reported by:	Coverity
 > CID:		980473 (old one!)
2020-02-08 08:23:01 +00:00
maxv
abaa08a478 Reorder usbdi_util.{c,h}, for clarity. No functional change. 2020-02-08 08:18:06 +00:00
maxv
1dd4e37fc6 Dedup usb_desc_iter_next with usb_desc_iter_peek. 2020-02-08 07:57:16 +00:00
maxv
b8633ab02c Introduce usbd_clear_endpoint_feature(), and dedup. 2020-02-08 07:53:23 +00:00
maxv
335e3606f2 Move uvideo's parsers into usbdi.c, to make them global. Rename
usb_desc_iter_peek_next -> usb_desc_iter_peek for consistency.
2020-02-08 07:38:17 +00:00
maxv
c25a854061 constify 2020-02-08 07:24:46 +00:00
maxv
c1eb3f90d4 localify 2020-02-08 07:20:41 +00:00
maxv
909cab20b9 constify 2020-02-08 07:19:09 +00:00
jmcneill
e83803dfe8 Read GCAP and version regs after taking the controller out of reset. Fixes
stream counts on my Radeon HD 7850.
2020-02-08 00:14:06 +00:00
yamaguchi
8c55b266c7 Use if_link_state_change() even if ixl(4) is attaching 2020-02-07 09:38:29 +00:00
thorpej
77da4edce3 Use callout_setfunc() / callout_schedule(). 2020-02-07 01:19:46 +00:00
thorpej
2a15fc8a3a Use callout_setfunc() / callout_schedule(). 2020-02-07 00:56:48 +00:00
thorpej
286e564fad Use callout_setfunc() / callout_schedule(). 2020-02-07 00:04:28 +00:00
macallan
a1c53e9088 sent PMF events when (un)blanking so things like lmu can turn their lights on
or off as well
2020-02-06 13:31:30 +00:00
thorpej
7cfe9d50f8 Ensure we don't call workqueue_enqueue() if the pluggable optics
handler is already pending.
2020-02-06 06:28:49 +00:00
msaitoh
0263ce38fb Modify note in ixv_update_stats(). VF doesn't count errors by hardware. 2020-02-05 10:07:47 +00:00