summaryrefslogtreecommitdiff
path: root/sys/dev
AgeCommit message (Collapse)Author
2023-07-07Fix locking error when setting the multicast filter to accept allmartin
multicast frames, pointed out by Lwazi Dube.
2023-07-07virtio(4): Fix byte order of DMA data for armeb in the same manner asrin
aarch64eb. Fix comments to explain what is going on for {arm,aarch64}eb on QEMU. This is not due to QEMU bugs; it correctly configures everything for little-endian environment, and we forcibly change byte order only for CPU cores during kernel bootstrap.
2023-07-04tpm(4): Switch tsleep to kpause.riastradh
Nothing is interrupt-driven here, so no need for condvars to allow more prompt wakeups.
2023-07-01regennia
2023-07-01Add Realtek ALC671 to hdaudiodevs, seen on Fujitsu Futro S720 thin clientnia
2023-06-28following a hunch...macallan
- cache DEC and FG registers, only write them if the value actually changes - wait for the engine to go idle before writing DEC - wait for FIFO slots on everything else with this we avoid waiting if possible and still avoid overlapping blit and fill commands
2023-06-28wait for the engine to go idle before issuing rectfill commandsmacallan
we get occasional overlap with blit commands if we just wait for fifo slots needs further investigation, it is possible that not all writes to drawing engine registers are pipelined and of course we don't have docs
2023-06-28fix tpyo - now the glyph cache can actually work...macallan
2023-06-27correct register function annotation as it's for receive coalesce.nisimura
2023-06-24Fix typo in comment.msaitoh
2023-06-23Add missing read to count Circuit Breaker Rx Dropped Packet correctly.msaitoh
2023-06-19Fix typo. unknwon -> unknownmsaitoh
2023-06-15Undo unlock/relock for VOP_IOCTL().hannken
PR kern/57450 (unplugging hung USB disk triggers panic via _vstate_assert)
2023-06-12Call / define fdtbus_cpus_md_attach for platforms with cpus @ fdt.skrll
The RISC-V binding here seems somewhat of an abuse, but it exists in mainline linux.
2023-06-08allow drivers to specify horizontal alignment of glyph cache cellsmacallan
for things like SX which have alignment restrictions
2023-06-05We cannot handle input with precision != stride yet.mlelstv
Drain input buffer for unhandled input.
2023-06-05- Fix clearing of EINT and other transient flags.mlelstv
Patches from sc.dying in kern/56115: - Set proper Max ESIT Payload value for interrupt/isoc endpoint context. - Set proper Average TRB Length value. - Not tested on superspeed/superspeedplus isochronous device. - Add handling of some error paths for isochronous transfers.
2023-06-03fix various typos in comments and messages.andvar
2023-06-02follow the steps of Andrew Doran (ad) commit and fix more s/loose/lose/ typos.andvar
also s/beyound/beyond/ and few others along the way, mainly in comments.
2023-06-01fix various typos in comments.andvar
2023-05-31Fix typo.ad
2023-05-30Use device_printf() instead of aprint_error_dev().msaitoh
2023-05-29aq(4): if_transmit: Invoke softint_schedule(9) with kpreempt disabled.rin
XXX Pull up to netbsd-10 and netbsd-9.
2023-05-28s/sessoin/session/ in warning message.andvar
2023-05-27fix word endings toin -> tion in comments.andvar
2023-05-27Revert to previous.nat
This change broke the intention of recent changes to pad(4). The solution to address PR/57436 must be done in bta2dpd(8).
2023-05-26Fix previous.nat
The previous commit was misleading due to the flag names used. The rationale for this change is that it is ok to return EAGAIN on first read as playback has not started. Then it shoud wait on every subsequent read. This is what makes the high precsision throttling of pad(4), for which these degree of fine-grained sleeps are not possible in userland. This is a requirement of users of pad(4) such as bta2dpd(8).
2023-05-26Fix logic for timing.nat
Addresses PR/57436. XXX pullup-10.
2023-05-24efi(4): Fix logic to handle buffer sizing.riastradh
Can't KASSERT(datasize <= databufsize) because the caller is allowed to pass in a too-small size and get ERR_BUFFER_TOO_SMALL back, with the actual size returned so it can resize its buffer. So just clamp the size to the smaller of what the caller provided and what the firwmare provided, instead of asserting anything. PR kern/57076 XXX pullup-10
2023-05-22efi(4): Translate between size_t and unsigned long.riastradh
Fixes i386 build. PR kern/57076 XXX pullup-10
2023-05-22efi(4): Implement MI parts of EFIIOC_GET_TABLE.riastradh
Intended to be compatible with FreeBSD. Not yet supported on any architectures. PR kern/57076 XXX pullup-10
2023-05-22efi(4): Move error macros to efi.h.riastradh
PR kern/57076 XXX pullup-10
2023-05-22efi(4): Parenthesize EFIERR argument out of paranoia.riastradh
PR kern/57076 XXX pullup-10
2023-05-22dk(4): Add locking notes.riastradh
2023-05-22dk(4): Explain why no need for device reference in dksize, dkdump.riastradh
2023-05-22dk(4): Strengthen preconditions of various devsw operations.riastradh
These can only happen between dkopen and dkclose, so there's no need to test -- we can assert instead that the wedge exists and is fully initialized.
2023-05-22dk(4): Strengthen dkclose preconditions.riastradh
Like dkopen, except it is possible for this to be called after the wedge has transitioned to dying. XXX sc_state read here races with sc_state write in dkwedge_detach. Could change this to atomic_load/store.
2023-05-22dk(4): Strengthen dkopen preconditions.riastradh
This cannot be called before dkwedge_attach for the same unit returns, so sc->sc_dev is guaranteed to be set to a nonnull device_t and the state is guaranteed not to be larval. And this cannot be called concurrently with dkwedge_detach, or after dkwedge_detach does vdevgone until another wedge with the same number is attached (which can't happen until dkwedge_detach completes), so the state is guaranteed not to be dying or dead. Hence sc->sc_dev != NULL and sc->sc_state == DKW_STATE_RUNNING.
2023-05-22dk(4): Prevent race between dkwedge_get_parent_name and wedge detach.riastradh
Still races with parent detach but maybe this is better. XXX Maybe we should ditch dkwedge_get_parent_name -- it's used only by rf_containsboot, which kinda suggests it shouldn't exist.
2023-05-22dk(4): Split unsafe lookups into safe subroutines and unsafe wrappers.riastradh
No functional change intended. Eventually we should adjust the callers to use the safe subroutines instead and device_release when done.
2023-05-22dk(4): Don't hold lock around uiomove in dkwedge_list.riastradh
Instead, hold a device reference. dkwedge_detach will not run until the device reference is released.
2023-05-22dk(4): Skip larval wedges in various lookup routines.riastradh
These have not yet finished a concurent dkwedge_attach, so there's nothing we can safely do with them. Just pretend they don't exist -- as if we had arrived at the lookup a moment earlier.
2023-05-22dk(4): Simplify dkwedge_delall by detaching directly.riastradh
No need for O(n^2) algorithm and potentially racy lookups -- not that n is large enough for n^2 to matter, but the mechanism is simpler this way.
2023-05-22dk(4): Use device_lookup_private for dkwedge_lookup.riastradh
No longer necessary to go through the dkwedges array. Currently device_lookup_private still involves touching other global locks, but that will change eventually to a lockless pserialized fast path.
2023-05-22dk(4): dkunit is no longer needed; nix it.riastradh
dkwedges array indexing now coincides with autoconf device numbering.
2023-05-22dk(4): Use config_attach_pseudo_acquire to create wedges.riastradh
This way, indexing of the dkwedges array coincides with numbering of autoconf dk(4) instances. As a side effect, this plugs a race in dkwedge_add with concurrent drvctl -r. There are a lot of such races in dk(4) left -- to be addressed with more device references.
2023-05-22Fix a bug when a media is changed to IFM_AUTO.msaitoh
Fix a bug that ifconfig ifN media auto doesn't change the setting when the previous media setting used autonego. When the mii_phy_setmedia() function is called to change the media to IFM_AUTO, the BMCR_AUTOEN bit was used to check if the previous setting was IFM_AUTO. It's not correct. IFM_1000_T also uses autonego. So if a previous setting is IFM_1000_T and the next setting is IFM_AUTO, mii_phy_auto() is not called if neither MIIF_FORCEANEG nor MIIF_DOPAUSE are set. As a result, after changing IFM_AUTO, neither 10Mbps nor 100Mbps are not advertised. Note that almost all drivers uses MIIF_DOPAUSE flags. TODO: cleanup ciphy.c and rgephy.c. Those have #ifdef foo.
2023-05-21s/thar/that/ in comments.andvar
2023-05-19Neither limit the number of requests for the page daemon.mlelstv
Otherwise you may deadlock when the backend needs to allocate memory and the page daemon needs to flush dirty vnd buffers. See PR 57421 for details.
2023-05-17Update URL of the technical manual.tsutsui