summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2022-10-19dwiic(4): Don't try processing interrupts before attach completes.riastradh
PR kern/57063
2022-10-12fix few typos in comments.andvar
2022-10-08com(4): Omit never-used sc_vendor_workaround member.riastradh
2022-10-06com(4): Add include guards.riastradh
2022-10-06fix few typos in comments and node description.andvar
2022-10-03com(4): Nix quirky `integrate' macro.riastradh
Just use `static inline' like everything else.
2022-10-03com(4): Omit needless spltty in comstart.riastradh
This is called either via tp->t_oproc, which is done with tty_lock held (thus, at IPL_VM = IPL_TTY), or from comparam which is called at IPL_TTY, either via comopen or tp->t_param.
2022-10-03com(4): Nix dead code.riastradh
This was introduced in rev. 1.292, whose commit message was... `Delete dead code.' I guess December 6, 2009 was Opposite Day?
2022-10-03com(4): Comment on lock order.riastradh
2022-10-03com(4): Update confusing comment from decades ago to reflect now.riastradh
No functional change.
2022-10-01Add Nuvoton NCT6799D support.msaitoh
2022-09-26Extent rtl8188eu_txagc[] (in a quite cryptic way duplicating allmartin
zeroes?!) to avoid out of array accesses - there are RTL8192EU variants with 2 TX chains.
2022-09-25Remove unnecessary include of <sys/malloc.h>.thorpej
2022-09-22ichsmb(4): Remove confusing `lpcib_' prefix on register names.riastradh
2022-09-22tco(4): Nix PMC_TCO_BASE offset in TCO register definitions.riastradh
This just uses a subregion with PMC_TCO_BASE automatically applied. No functional change intended.
2022-09-22tco(4): Use a subregion of the PMC registers for TCO registers.riastradh
This is an intermediate step that will let us decouple it from access via PMBASE.
2022-09-22ichlpcib(4), tco(4): Take `lpcib_' off various names.riastradh
For PMC-specific ones, change `lpcib_' to `pmc_'. These are in a separate PCI device in newer chipsets. For TCO-specific ones, which may live in different places, whether at their own base address or as an offset from PMBASE, just leave it as `tco_' or `tcotimer'. No functional change intended.
2022-09-18Eliminate use of IFF_OACTIVE.thorpej
2022-09-18Eliminate use of IFF_OACTIVE. (This driver never even set it.)thorpej
2022-09-18Eliminate use of IFF_OACTIVE.thorpej
2022-09-13nvme(4): Don't leak memory for queues on every resume.riastradh
2022-09-07tpm(4): add missing newline character in device_printf()khorben
Observed with on a Sun Ultra 24, NetBSD/amd64: tpm0 at acpi0 (TPM, IFX0102-1): io 0x4e-0x4f,0x4700-0x470b mem 0xfed40000-0xfed44fff tpm0: device 0x000b15d1 rev 0x10 tpm0: read 8 bytes, expected 10tpm0: deactivating entropy source
2022-09-03Garbage-collect the remaining vestiges of netisr.thorpej
2022-08-30nvme(4): Actually check if bp is null as commented previously.riastradh
I had tested this change, but forgot to amend the commit before exporting to CVS.
2022-08-30nvme(4): If bp is null or bp->b_ci is not assigned, use curcpu().riastradh
curcpu() might be stale by the time we're done, but it's still safe to pass it to cpu_index, and this is just used as a best-effort mechanism to keep I/O on queues handled by the same CPU. bp is not always provided, and bp->b_ci is not always assigned, e.g. when dumping. (If bp->b_ci is supposed to be always assigned, then we need to audit all the paths into it to assign it in those where it's not.) Fixes dump on nvme.
2022-08-28Sprinkle constskrll
2022-08-25add missing bus_dmamap_unload().ryo
I deleted it in the previous commit, oops.
2022-08-24jumboframe support for eqos(4)ryo
Tested up to mtu=9000. Hardware may allow up to mtu=16364 (frame length=16382), but this has not been tested. - Separate calls to eqos_setup_rxdesc() from eqos_setup_rxbuf(). if m_getcl() fails, discard the packets received at that time and reuse for the next buffer. - Restore m_adj(m, ETHER_ALIGN) with limited conditions. Only if MCLBYTES is greater than 2050, so it is not normally aligned.
2022-08-24rename EQOS_TDES3_* macro to EQOS_TDES3_{TX,RX}_*, and add more defs.ryo
Avoid confusion because some definitions are different bits with the same name for TX and RX. no functional changes.
2022-08-24Giving up adjusting ETHER_ALIGN.ryo
Even if the jumbo frame setting is off, eqos will DMA transfer frames of 2048 bytes or more in increments of 2048 bytes if they are received. If the start position of the mbuf data is shifted by ETHER_ALIGN bytes in m_adj(), up to 2048 bytes of data will be written from the +ETHER_ALIGN position, causing overflow of the mbuf cluster.
2022-08-23Fix eqos(4) to work on RK3588 as well.ryo
- Several registers needed to be initialized - Add some register definitions
2022-08-20nvme(4): Read cqe flags and cid in that order.riastradh
2022-08-20It is possible to overflow the (low 32bit) HPET counter between hpet_attachmlelstv
and TSC calibration if the boot is delayed for more than ~430 seconds (or less, depending on HPET frequency). The result is a badly misconfigured timecounter. Change the measurement interval to ~1e6 HPET ticks (<100ms) during the calibration to avoid the overflow. This introduces an error of 1ppm, compared to the previous unspecified but typical error of 0.1ppm. But this is still much less than the guaranteed maximum frequency drift of the HPET counter itself, which is 500ppm.
2022-08-15nvme(4): KASSERT(A && B) -> KASSERT(A); KASSERT(B)riastradh
2022-08-14nvme: Make sure that q_ccb_list is always accessed with the q lock held.jmcneill
2022-08-09Turn off AWIN_GMAC_MAC_CONF_ACS, so that all received packets retain FCSsekiya
bytes. ether_input() can now trust M_HASFCS to accurately represent the packet contents. Discussed on tech-net@
2022-08-06PR 56948: fix multicast hash filter setupmartin
2022-08-05Do not unilaterally set M_HASFCS; this breaks protocols that lack CRC bytessekiya
(such as AppleTalk). Instead, remove/preserve the final four bytes in the packet ourselves on a per- protocol basis, as we do in arch/arm/xscale/ixp425_if_npe.c (and dev/ic/gem.c, and so forth).
2022-08-01Prevent multiple unregistrations.mlelstv
2022-08-01revert accidental commit.mlelstv
2022-08-01Revert this to 1.205, undoing changes apparently mistakenlykre
committed in 1.206, and the total disaster that the attempt to revert those in 1.207 created.
2022-08-01Now really restore 1.24.mlelstv
2022-08-01Revert last accidental commits.mlelstv
2022-08-01Also fix shift values for SCT constants.mlelstv
2022-07-31The namespace id is a 32bit value, in particular the "all namespaces" valuemlelstv
for global commands is 0xffffffff. While the driver only supports 16bit numbers (device minor & 0xffff), we need to use the full value for pass through commands. This fixes e.g. logpage requests on the controller level.
2022-07-31The status is an 8 bit field. Fix masks and move the status type fieldmlelstv
to the correct bit position.
2022-07-30aprint_error_dev is for autoconfig messages, use device_printf instead.mlelstv
2022-07-21Add some driver debugging infrastructuremartin
2022-07-20When we init the hardware's rx/tx ring configuration we need tomartin
adjust our internal state, as this implicitly resets the current descriptor pointer. Previously "ifconfig eqos0 down; ifconfig eqos0 up" made the interface non-functional.
2022-07-16Add max 256 VD support.msaitoh