Commit graph

40872 commits

Author SHA1 Message Date
Ed Maste
df51e63eb5 Retire snd_ad1816 ISA sound card driver
snd_ad1816 supported ISA sound cards based on the Analog Devices
AD1816A "SoundPort® Controller".

ISA sound card drivers are deprecated as discussed on the current[1] and
stable[2] mailing lists.  Deprecation notices were added in e39ec8933b
and MFCd to stable branches.

Driver removals are being committed individually so that specific
drivers can be restored if necessary (either in FreeBSD or by downstream
projects).

[1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html
[2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html

Reviewed by:	mav
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D34671
2022-06-21 14:50:04 -04:00
Emmanuel Vadot
3cbf6518d6 fb: Add a default getinfo method
fb_getinfo is badly designed as it returns either the
info if the driver have the method or ENXIO via the kobj stuff
if the driver doesn't have it.
Add a default method that returns NULL as the code already checks this
and it avoid changing the interface.
None of the drm drivers supported have this method and it sometimes
fails and panic when loading them (for now only usb-c docks seems to be
affected).

MFC after:	3 days
Sponsored by:	Beckhoff Automation GmbH & Co. KG
2022-06-21 15:52:49 +02:00
Alan Cox
0ba1d86082 iommu_gas: Add a missing error-case unlock
Release the domain lock when iommu_gas_reserve_region_extend()'s call to
iommu_gas_reserve_region_locked() fails.

MFC after:	2 weeks
2022-06-20 23:48:31 -05:00
Alan Cox
32e82bcc15 busdma_iommu: Eliminate a redundant trunc_page()
Since OFF_TO_IDX() inherently truncates the given value, there is no
need to perform trunc_page() on it.

MFC after:	2 weeks
2022-06-20 23:03:04 -05:00
Doug Moore
70b5d8fa0f iommu_gas: Drop needless bound check in lowermatch
The loop iteration in iommu_gas_lowermatch checks the bound
a->common->lowaddr twice per loop iteration. Rewrite to test only once
per iteration.  Do not worry about passing to iommu_gas_match_one a
range wholly beyond lowaddr. Since that function checks the upper end
of the range against lowaddr, it'll get rejected there.

Reviewed by:	alc
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35522
2022-06-20 19:34:46 -05:00
Alan Cox
164491fb03 iommu_gas: Eliminate a stale comment
As of 19bb5a7244, the size passed to iommu_gas_map is no longer
required to be a multiple of the CPU page size.

MFC after:	2 weeks
2022-06-20 12:30:36 -05:00
Alan Cox
e6775534ae iommu_gas: Correct a broken KASSERT
If iommu_gas_find_space() ever called iommu_gas_uppermatch(), and it
succeeded in allocating space, then the subsequent KASSERT would be
triggered.  Change that KASSERT to accept either success or ENOMEM.

MFC after:	1 week
2022-06-17 13:05:20 -05:00
Andrew Turner
d843dd0e1a Clean up in the pci host generic driver
Add clean up on failure and a detach function to the pci host generic
driver.

Reviewed by:	jhb (earlier version)
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35291
2022-06-17 10:36:17 +01:00
Andrew Turner
0b040a4809 Fix the random source descriptions
- Add the missing RANDOM_PURE_QUALCOMM description
 - Make RANDOM_PURE_VMGENID consistent with the other pure sources
   by including "PURE_" in the description.

Approved by:	csprng (cem)
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35412
2022-06-17 10:36:17 +01:00
Alan Cox
fc2e4f15a9 iommu_gas: Eliminate unnecessary wrappers
Eliminate trivial wrappers for several iommu_gas functions that serve
no functional purpose.

Reviewed by:	br, dougm, kib
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35487
2022-06-17 01:06:52 -05:00
Bjoern A. Zeeb
8f892e9bee XHCI: clear warm and port reset
It seems we do not clear UPS_C_BH_PORT_RESET and UPS_C_PORT_RESET
conditions after warm or port reset.  Add that code.

Obtained from:	an old patch mainly debugging other problems
MFC after:	2 weeks
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D35483
2022-06-15 21:10:01 +00:00
Bjoern A. Zeeb
447c418da0 USB: add quirks to XHCI
While XHCI is very generic some revisions of chipsets have problems.
On dwc3 <= 3.00a Port Disable does not seem to work so we need to not
enable it.
For that introduce quirks to xhci so that controllers can steer
certain features.  I would hope that this is and remains the only one.

Obtained from:	an old patch mainly debugging other problems
MFC after:	2 weeks
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D35482
2022-06-15 21:08:58 +00:00
Doug Moore
f979ad0030 iommu_gas: make iommu_gas_lowermatch non-recursive
Change the recursive implementation to one that uses parent pointers
to walk back up the rb-tree, to slightly improve performance.

Reviewed by:	alc, kib
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35486
2022-06-15 11:32:56 -05:00
Alexander Motin
f9e62419f6 hwpmc: Reenable PME before reenabling counters.
Doing otherwise may lead to lost interrupts, that in combination
with hardware PMCs freezing may leave them frozen forever.  It may
also slightly improve profiling accuracy.

MFC after:	2 weeks
2022-06-15 11:48:38 -04:00
Alexander Motin
918505d0a0 hwpmc: Correct sysctl description.
MFC after:	2 weeks
2022-06-15 11:48:38 -04:00
Mitchell Horne
4ef7db5a7e ddb: namespacing of struct command
'command' is too generic for something specific to the kernel debugger;
change this so it is less likely to collide with local variable names.
Also rename struct command_table to struct db_command_table.

Reviewed by:	markj
MFC after:	1 week
Sponsored by:	Juniper Networks, Inc.
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D35367
2022-06-14 13:10:08 -03:00
Doug Moore
975715b788 iommu_gas: use to first-fit search for lowermatch
Reverse the order of the search for a free space in lowermatch, to
make it a first-fit search. Iommu_gas_match_one always allocates from
the beginning of the free gap discovered from searching the tree, so
the current code isn't really allocating in a reverse first-fit
anyway, and making the search first-fit reduces the number of iommu
page table pages that are used.

Reported by:	alc
Reviewed by:	alc, kib
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35458
2022-06-14 00:47:22 -05:00
Hans Petter Selasky
e4d178d093 mlx5ib: Fix memory leak in clean_mr() error path
In the clean_mr() error path the 'mr' should be freed.

Linux commit:
5942d8ae411775b76e5e1ab0cce57b0666516f2d

PR:		264653
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-06-13 17:00:16 +02:00
Hans Petter Selasky
f25a0a0f21 uchcom(4): Add new USB ID.
PR:		260783
PR:		264634
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-06-12 16:42:03 +02:00
Doug Moore
19bb5a7244 iommu_gas: pass size to iommu_map without rounding
Let the caller to iommu_map pass the size parameter without rounding
it up to a multiple of page size.  Let iommu_map round it up when
necessary, which is not all of the time, so that in some cases less
space is reserved.

Reviewed by:	alc, kib (previous version)
Tested by:	pho, br
Discussed with:	andrew
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35424
2022-06-10 13:56:54 -05:00
John Baldwin
ca341f3cf5 hwpmc: Permit the minimum sampling count to be set as a sysctl.
A rarely occurring event (e.g. an event that occurs less than 1000
times during execution of a program) may require a lower minimum
threshold than 1000.  Replace the hardcoded 1000 with a sysctl that
the administrator can use to permit smaller sampling count values.

Reviewed by:	mhorne, mav
Sponsored by:	University of Cambridge, Google, Inc.
Differential Revision:	https://reviews.freebsd.org/D35400
2022-06-09 11:05:34 -07:00
Hans Petter Selasky
bc2e447338 upgt(4): Adjust all pause calls to use milliseconds instead of ticks.
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-06-09 15:18:02 +02:00
Hans Petter Selasky
c6c22ebb38 urtw(4): Adjust all pause calls to use milliseconds instead of ticks.
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-06-09 15:18:02 +02:00
Doug Moore
3003117253 iommu_gas: Change find_space lower search order
iommu_gas_lowermatch looks right, then left, then right again in its
search for free space.  Change to a more straightforward last-fit
search that touches fewer tree nodes and improves performance.

Reported by:	wxzhu@rice.edu
Reviewed by:	alc, kib
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35439
2022-06-08 23:14:28 -05:00
Hans Petter Selasky
d5d6949031 mlx5en(4): Allow RX TLS to be enabled and disabled by ifconfig(8).
While at it, fix double initialization of the "drv_ioctl_data_d" structure
and the "mask" variable.

Reviewed by:	kib@
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-06-08 13:53:26 +02:00
Hans Petter Selasky
dd2a8c8f72 mlx4core: Use-after-free causes a resource leak in flow-steering detach
mlx4_QP_FLOW_STEERING_DETACH_wrapper first removes the steering
rule (which results in freeing the rule structure), and then
references a field in this struct (the qp number) when releasing the
busy-status on the rule's qp.

Since this memory was freed, it could reallocated and changed.
Therefore, the qp number in the struct may be incorrect,
so that we are releasing the incorrect qp. This leaves the rule's qp
in the busy state (and could possibly release an incorrect qp as well).

Fix this by saving the qp number in a local variable, for use after
removing the steering rule.

Linux commit:
3b01fe7f91c8e4f9afc4fae3c5af72c14958d2d8

PR:	     	264469
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-06-07 16:28:32 +02:00
Hans Petter Selasky
cb27627968 mlx5en(4): Set the leaf network interface field in the mbuf packet header.
This will be used for TLS RX.

Submitted by:	jhb@
Differential revision:	https://reviews.freebsd.org/D32356
Sponsored by:	NVIDIA Networking
2022-06-07 12:54:42 +02:00
Roger Pau Monné
1d528f95e8 xen/blkback: remove bounce buffering mode
Remove bounce buffering code for blkback and only attach if Xen
creates IOMMU entries for grant mapped pages.

Such bounce buffering consumed a non trivial amount of memory and CPU
resources to do the memory copy, when it's been a long time since Xen
has been creating IOMMU entries for grant maps.

Refuse to attach blkback if Xen doesn't advertise that IOMMU entries
are created for grant maps.

Sponsored by: Citrix Systems R&D
2022-06-07 12:29:53 +02:00
Roger Pau Monné
137381ca60 xen/blkback: fix tear-down issues
Handle tearing down a blkback that hasn't been fully initialized. This
requires carefully checking that fields are allocated before trying to
access them.  Also communication memory is allocated before setting
XBBF_RING_CONNECTED, so gating it's freeing on XBBF_RING_CONNECTED
being set is wrong and will lead to memory leaks.

Also stop using xbb_disconnect() in error paths. Use xenbus_dev_fatal
and let the normal disconnection procedure take care of the cleanup.

Reported by: Ze Dupsys <zedupsys@gmail.com>
Sponsored by: Citrix Systems R&D
2022-06-07 12:29:53 +02:00
Alexander Motin
eff9ee7c0c hwpmc: Increase thread priority while iterating CPUs.
This allows to profile already running high-priority threads, that
otherwise by blocking thread migration to respective CPUs blocked PMC
management, i.e. profiling could start only when workload completed.

While there, return the thread to its original CPU after iterating
the list.  Otherwise all threads using PMC end up on the last CPU.

MFC after:	1 month
2022-06-06 22:51:01 -04:00
Kyle Evans
8cdb6b2dd7 alc: force maximum payload size to 128 bytes for AR816X/AR817x
Otherwise, we'll trigger a DMA write error and render the device
unusable.

Obtained from:	OpenBSD (via Haiku, waddlesplash)
MFC after:	3 days
2022-06-06 20:52:55 -05:00
Doug Moore
b831865fe3 iommu_gas: restrict tree search to promising paths
In iommu_gas_lowermatch and iommu_gas_uppermatch, a subtree search is
quickly terminated if the largest available free space in the subtree
is below a limit, where that limit is related to the size of the
allocation request. However, that limit is too small; it does not
account for both of the guard pages that will surround the allocated
space, but only for one of them. Consequently, it permits the search
to proceed through nodes that cannot produce a successful allocation
for all the requested space. Fix that limit to improve search
performance.

Reviewed by:	alc, kib
Submitted by:	Weixi Zhu (wxzhu@rice.edu)
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35414
2022-06-06 16:26:01 -05:00
Gordon Bergling
cd7e11f78d ixgbe(4): Fix common typos in source code comments
- s/filer/filter/

Obtained from:	NetBSD
MFC after:	3 days
2022-06-06 07:28:56 +02:00
Gordon Bergling
f129473702 qlxgbe(4): Fix a common typo in a source code comment
- s/independant/independent/

MFC after:	3 days
2022-06-05 09:56:29 +02:00
Gordon Bergling
508a46c745 twe(4): Fix a common typo in a source code comment
- s/independant/independent/

MFC after:	3 days
2022-06-05 09:55:25 +02:00
Gordon Bergling
d3e0919b56 ffec: Fix a common typo in a source code comment
- s/independant/independent/

MFC after:	3 days
2022-06-05 09:54:39 +02:00
Gordon Bergling
9ae6b386ab mlx(4): Fix a common typo in a source code comment
- s/independant/independent/

MFC after:	3 days
2022-06-05 09:53:59 +02:00
Gordon Bergling
a87f167c41 qlnxe(4): Fix a typo in a source code comment
- s/indepent/independent/

MFC after:	3 days
2022-06-05 09:15:33 +02:00
Gordon Bergling
f207bdd2cc if_age(4): Fix a typo in a source code comment
- s/indepent/independent/

MFC after:	3 days
2022-06-05 09:14:17 +02:00
Gordon Bergling
00b0158d2c mpt(4): Fix two typos in debug statements
- s/Intermidiate/Intermediate/

Obtained from:	NetBSD
MFC after:i	3 days
2022-06-04 20:41:15 +02:00
Gordon Bergling
eb3f25b413 ena(4): Fix a typo in a source code comment
- s/entred/entered/

MFC after:	3 days
2022-06-04 17:17:04 +02:00
Gordon Bergling
3c2ea3ca28 if_sis(4): Fix a typo in a source code comment
- s/emperical/empirical/

MFC after:	3 days
2022-06-04 16:56:18 +02:00
Gordon Bergling
d35e1c29a9 aic7xxx: Fix a few typos in comments and an error message
- s/directrive/directive/
- s/specifiled/specified/
- s/Decend/Descend/
- s/tranversal/transversal/

Obtained from:	NetBSD
MFC after:	3 days
2022-06-04 16:49:53 +02:00
Gordon Bergling
45b143d2ea al_eth: Fix a typo in a source code comment
- s/enought/enough/

MFC after:	3 days
2022-06-04 15:33:36 +02:00
Gordon Bergling
bbb0ca45f8 hptmv(4): Fix a typo in a source code comment
- s/continous/continuous/

MFC after:	3 days
2022-06-04 13:28:52 +02:00
Gordon Bergling
70311ccffc sound(4): Fix a typo in a source code comment
- s/alltogether/altogether/

MFC after:	3 days
2022-06-04 12:11:06 +02:00
Gordon Bergling
b008ab622c le(4): Fix a typo in a source code comment
- s/brodcast/broadcast/

MFC after:	3 days
2022-06-04 12:00:44 +02:00
Gordon Bergling
2cada72c65 aic79xx: Fix a typo in a source code comment
- s/Disble/Disable/

Obtained from:	NetBSD
MFC after:	3days
2022-06-04 11:52:34 +02:00
Gordon Bergling
6e8ab6715d nvmw(4): Fix a typo in a source code comment
- s/inaccessable/inaccessible/

MFC after:	3 days
2022-06-04 11:46:03 +02:00
Gordon Bergling
68c0bd3e3f amdsbwd(4): Fix a typo in a source code comment
- s/accross/across/

MFC after:	3 days
2022-06-04 11:26:44 +02:00