Commit graph

41366 commits

Author SHA1 Message Date
Alan Somers
eb3f9a7aec Switch wg(4) to the new if_clone KPI
MFC after:	2 weeks
Reviewed by:	jhb
Differential Revision: https://reviews.freebsd.org/D37740
2023-01-09 19:54:14 -07:00
Val Packett
0b4531511e copyright: chase my name and email change
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D37945
2023-01-06 15:28:42 -05:00
Michael Gmelin
638937d466 asmc: Add support for MacBook5,5
This is a slightly refined version of a patch[0] by FreeBSD Forums
user "tmcclean".

[0]https://forums.freebsd.org/threads/success-installing-freebsd-13-0-on-macbook-pro-5-5.80458/

Reviewed by:	adrian, emaste, imp
Differential Revision:	https://reviews.freebsd.org/D37900
MFC after:	1 month
2023-01-06 20:11:56 +01:00
Ganbold Tsagaankhuu
90737b632e Use BSD-2-Clause for the SPDX license id as -FreeBSD variant has been deprecated. 2023-01-06 08:15:44 +00:00
Andrew Turner
e5b9b5ee8c Add Windows Dev Kit 2023 support to if_ure
The Windows Dev Kit 2023 has an if_ure NIC with custom vendor and
procuct IDs. Add them to the driver.

Tested by:	Robert Clausecker <fuz@fuz.su>
Obtained from:	OpenBSD
Sponsored by:	Arm Ltd
2023-01-04 17:12:20 +00:00
Andrew Turner
8793196ca2 Check for more XHCI ACPI IDs
The Windows Dev Kit 2023 uses the XHCI-compliant USB controller without
standard debug ID in its ACPI tables. Check for both ID values found
on [1] in the XHCI ACPI attachment.

[1] https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/device-management-namespace-objects

Tested by:	Robert Clausecker <fuz@fuz.su>
Sponsored by:	Arm Ltd
2023-01-04 16:54:05 +00:00
Takanori Watanabe
eb03c1f81c wdatwd: fix i386 build breakage.
Formatting string for uint64_t has portablity issue and
lead bulid breakage, so fix it.

Reviewed by hrs
Differential Revision: https://reviews.freebsd.org/D37937
2023-01-04 10:04:44 +09:00
Takanori Watanabe
99aeb219ca wdatwd: Add support for ACPI WDAT based watchdog timer.
Simply said, WDAT is an abstraction for the real WDT hardware. For
instance, to add a newer generation WDT to ichwd(4), one must know the
detailed hardware registers, etc..

With WDAT, the necessary IO accesses to operate the WDT are comprehensively
described in it and no hardware knowledge is required.

With this driver, the WDT on Advantech ARK-1124C, Dell R210 and Dell R240 are
detected and operated flawlessly.
* While R210 is also supported by ichwd(4), others are not supported yet.

The unfortunate thing is that not all systems have WDAT defined.

Submitted by: t_uemura at macome.co.jp
Reviewed by: hrs
Differential Revision: https://reviews.freebsd.org/D37493
2023-01-04 00:36:24 +09:00
Konstantin Belousov
01143ba118 ifcapnv: fix IFCAP2 usage
IFCAP2_XXX constants are integers, they do not need shift for the
definition.  But their usage as bitmask for if_capenable2 does require
shift.  Add convenience macro IFCAP2_BIT() for consumers.

Fix the only existing consumer, mlx5(4) RXTLS enable bits.

Reported by:	jhb
Reviewed by:	jhb, jhibbits, hselasky
Coverity CID:	1501659
Sponsored by:	NVIDIA networking
Differential revision:	https://reviews.freebsd.org/D37862
2023-01-03 11:48:16 +02:00
Michal Meloun
e4ef4c5d66 extres/phy: Add mode setting function.
Modern multi-protocol phys are capable of supporting multiple different
protocols. Add a method for mode (and/or its variants) setting.

Discused with:	ganbold, manu, andrew
MFC after:	3 weeks
2023-01-03 10:19:29 +01:00
Vladimir Kondratyev
1522062bad hidraw(4): Drop unneeded usb kernel module dependency
HID is not a part of usb subsystem for a while.

MFC after:	2 weeks
2022-12-30 18:24:53 +03:00
John Baldwin
7063b9974f ccr: Retire ccr_softc member in struct adapter.
Prior to Conrad's changes to replace session integer IDs with a
pointer to the driver-specific state in commit 1b0909d51a, the
driver had to find the softc pointer from the adapter before it could
locate the ccr_session structure for a completed request.  Since
Conrad's changes, the ccr_session pointer can now be obtained directly
from the crp.  Add a backpoint from ccr_session back to ccr_softc and
use this in place of the ccr_softc member in cxgbe's struct adapter.

Sponsored by:	Chelsio Communications
2022-12-29 11:39:28 -08:00
Zhenlei Huang
f948cb717f wg: Use NET_EPOCH_DRAIN_CALLBACKS macro
Reviewed by:	jhb, kp
Approved by:	kp (mentor)
Differential Revision:	https://reviews.freebsd.org/D37734
2022-12-28 23:28:15 +08:00
Vincenzo Maffione
95fc11577d netmap: monitor: add missing netmap_adapter_put()
MFC after:	7 days
2022-12-24 16:03:14 +00:00
Vincenzo Maffione
92e8b4a630 debug_put_get: don't crash on null pointers
MFC after:	7 days
2022-12-24 15:32:12 +00:00
Vincenzo Maffione
b41818a28a monitor: fix cb restore when monitored adapter unregisters
netmap_monitor_stop() called nm_monitor_none() after the head of
the zero-copy monitors had been reset, thus thinking that there
was nothing left to do.

MFC after:	7 days
2022-12-24 15:28:45 +00:00
Vincenzo Maffione
3da494d324 netmap: drop compatibility FreeBSD code
Netmap users on FreeBSD are not supposed to import code from the
github netmap repository anymore. They should use the code that
is available in the src repo. We can therefore drop the compatibility
code.

MFC after:	7 days
2022-12-24 14:36:31 +00:00
Søren Schmidt
e00774a917 Add support for Rockchip RK3568 SDHCI controller. 2022-12-24 12:38:33 +00:00
Søren Schmidt
571e5792f9 Change probe priority so order is correct. 2022-12-24 12:33:42 +00:00
Vladimir Kondratyev
7c4c5368ae hidraw(4): Replace Giant with bus_topo_lock 2022-12-24 12:51:13 +03:00
Vladimir Kondratyev
0661cf74e6 hms(4): Disable vendor usage page button support
for all devices except Kensington Slimblade Trackball as it brokes
some other devices like Contour Rollermouse Red

Add a quirk for it as well.

Reported by:	Atte Peltomäki <koston_AT_iki_DOT_fi>
PR:		267922
MFC after:	2 weeks
2022-12-24 12:01:20 +03:00
Vladimir Kondratyev
ab4f740bc5 ums(4): Disable vendor usage page button support
for all devices except Kensington Slimblade Trackball as it brokes
some other devices like Contour Rollermouse Red

Add a quirk for it as well.

Reported by:	Atte Peltomäki <koston_AT_iki_DOT_fi>
PR:		267922
MFC after:	2 weeks
2022-12-24 12:01:20 +03:00
Søren Schmidt
5ba0691da9 Rename left off of eqos to if_eqos accordingly. 2022-12-23 05:28:50 +00:00
Doug Moore
5b9b55fbc4 iommu_gas: avoid overflow in bounds check
Change the range test in iommu_gas_match_one from '< ubound' to '<=
ubound', and pass a smaller-by-one ubound parameter to it, to avoid
overflow in ubound calculation.

Reported by:	andrew
Reviewed by:	andrew (previous version)
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D37764
2022-12-22 14:31:57 -06:00
Andrew Turner
f9ccec823a Add support for the new Arm Generic UART _HID
Historically the ACPI _HID for both the Arm PL011 and Generic UARTs
was ARMH0011. In the Arm Base Boot Requirements 2.0 the Generic UART
_HID is changed to ARMHB000. Use this new value in the PL011 driver
where we support both UART types.

This has been observed in some recent EDK2 builds.

Sponsored by: Arm Ltd
2022-12-22 14:24:40 +00:00
Andrew Turner
5ec1d020bd Fix the SPDX-License-Identifier in DMC-620 files
The SPDX-License-Identifier was wrong in the Arm CoreLink DMC-620
driver files. It used the incorrect FreeBSD variant of the BSD-2-Clause
identifier. According to [1] all files should use BSD-2-Clause.

[1] https://tools.spdx.org/app/check_license/

Reported by:	emaste
Sponsored by:	Arm Ltd
2022-12-22 10:36:18 +00:00
Andrew Turner
753c7fc9e6 Fix the SPDX-License-Identifier in CMN-600 files
The SPDX-License-Identifier was wrong in the Arm CoreLink CMN-600
driver files. It used the incorrect FreeBSD variant of the BSD-2-Clause
identifier. According to [1] all files should use BSD-2-Clause.

[1] https://tools.spdx.org/app/check_license/

Reported by:	emaste
Sponsored by:	Arm Ltd
2022-12-22 10:36:18 +00:00
Andrew Turner
751d88119f Fix loading the hwpmc module when ACPI is enabled
In 0a9a4d2cd6 a check for OPT_ACPI was added to the hwpmc Makefile
to fix loading the module in a kernel where ACPI has been disabled.
This broke loading the module when ACPI was enabled in the build as
OPT_ACPI isn't a Makefile macro so was always disabled.

Move this check to the C files where the DEV_ACPI macro does exist.

Reviewed by:	gnn
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D37773
2022-12-22 10:36:18 +00:00
Søren Schmidt
702b53dd2a Add initial support for the RK356X SOC Ethernet QoS controller (DesignWare)
Eqos driver works in all combinations of single/double ports with different layout.
2022-12-22 03:38:10 +00:00
Bartosz Sobczak
777e472cd8
irdma(4): Upgrade driver to 1.1.5-k
This is to upgrade current irdma driver version (in support of RDMA on
Intel(R) Ethernet Controller E810) to 1.1.5-k

change summary:
- refactor defines for hardware registers
- rereg_mr verb added in libirdma
- fix print warning during compilation
- rt_ros2priority macro fix
- irdma.4 validated with mandoc
- fixing nd6_resolve usage
- added libirdma_query_device
- sysctl for irdma version
- aeq_alloc_db fix
- dwork_flush protected with qp refcount
- PFC fixes

Signed-off-by: Eric Joyner <erj@FreeBSD.org>

Reviewed by:	erj@
Sponsored by:	Intel Corporation
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D36944
2022-12-21 17:13:42 -08:00
Justin Hibbits
ec22a3a259 DrvAPI: Trivial mechanical conversions for various drivers
Mechanically convert the following drivers, with trivial changes:
* ipw(4)
* igc(4)
* enetc(4)
* malo(4)
* nfe(4)
* bxe(4)
* awg(4)
* otus(4)
* rtwn(4)
* bnxt(4)
* ath(4)

Sponsored by:	Juniper Networks, Inc.
2022-12-21 15:36:59 -05:00
Justin Hibbits
79422a716d ixl: Fix a mechanical mess-up in DrvAPI conversion
ixl_iw.c is not compiled by default, and I missed this in code
inspection.

Reported by:	erj@
Sponsored by:	Juniper Networks, Inc.
2022-12-21 15:36:59 -05:00
John Baldwin
9f0c0e6eed mrsas: Don't leak a stack pointer value in the softc.
mrsas_issue_blocked_cmd stores a pointer to an on-stack variable
in its softc so that the driver can call wakeup() on the correct
pointer.  Once the loop around tsleep() has finished however, the
pointer is no longer needed and any further use would be invalid.
Clear sc->chan to NULL after the loop.

Reported by:	GCC -Wdangling-pointer
Differential Revision:	https://reviews.freebsd.org/D37628
2022-12-21 10:45:26 -08:00
Justin Hibbits
402810d32e Convert iflib(4) and iflib-based drivers to the DrvAPI
Summary:
Convert iflib(4) and the following drivers:
* axgbe
* em
* ice
* ixl
* vmxnet

Sponsored by:	Juniper Networks, Inc.
Reviewed by:	kbowling, #iflib
Differential Revision: https://reviews.freebsd.org/D37768
2022-12-21 09:20:06 -05:00
Andrew Turner
969935b86b Add support for an array of hwresets
In some drivers we need to assert and deassert a group of hardware
resets in any order. To support this add a new hwreset_array that
manages all hwresets defined for a device.

Reviewed by:	bz, manu, mmel
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37357
2022-12-21 11:25:23 +00:00
Stuart McLaren
68ca3a1553
uart(4): Add support for AMT virtual serial port (C610/X99 series)
PR:		267053
MFC after:	3 days
2022-12-20 23:56:00 +08:00
Søren Schmidt
1d8c07b7ab Get clocks for Rockchip RK3568. 2022-12-20 08:53:58 +00:00
Dag-Erling Smørgrav
9a5acf365d nvme: Clear the notify flag if the consumer rejects the controller.
While here, fix some type mismatch warnings.

Reviewed by:	imp
Sponsored by:	Netapp, Inc.
Sponsored by:	Klara, Inc.
MFC after:	1 week
2022-12-20 02:53:38 +01:00
Ruslan Bukin
54b96380f5 Add support for ARM System Control and Management Interface (SCMI) v3.1.
The SCMI specification describes a set of standard interfaces for power,
performance and system management.

SCMI is extensible and provides interfaces to access functions which are
often implemented in firmwares in the System Control Processor (SCP).

This implements Shared Memory-based transfer, which is one of the ways on
how messages are exchanged between agents and the platform.

This includes a driver for ARM Message Handling Unit (MHU) Doorbell, which
is a mechanism that the caller can use to alert the callee of the presence
of a message.

The support implements clock management interface. For instance this allows
us to control HDMI pixel clock on ARM Morello Board.

Tested on ARM Morello Board.

Obtained from: CheriBSD
Differential Revision:	https://reviews.freebsd.org/D37316
Reviewed by:	manu
Sponsored by:	UKRI
2022-12-19 22:28:21 +00:00
Ganbold Tsagaankhuu
5cfacab132 Revert "Enable setting the phy id."
This reverts commit 6692670f58.
2022-12-19 15:19:57 +00:00
Søren Schmidt
6692670f58 Enable setting the phy id.
It is needed for the RK356X combo phy.
2022-12-19 13:08:42 +00:00
Ed Maste
895992bb66 retire cp(4) driver
Sync serial (e.g. T1/T1/G.703) interfaces are obsolete, this driver
includes obfuscated source, and has reported potential security issues.

Differential Revision:  https://reviews.freebsd.org/D33468
2022-12-13 15:24:52 -05:00
Ed Maste
76f6751844 retire ce(4) driver
Sync serial (e.g. T1/T1/G.703) interfaces are obsolete, this driver
includes obfuscated source, and has reported potential security issues.

Differential Revision:	https://reviews.freebsd.org/D33467
2022-12-13 15:24:25 -05:00
Ed Maste
20dfe27b2d Add deprecation notices to ce,cp sync serial drivers
And the related sconfig utility.  Sync serial (e.g. E1/T1) interfaces
are obsolete, and nobody responded to several inquires on the mailing
lists about use of these drivers.

Relnotes:	Yes
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D23928
2022-12-13 14:59:08 -05:00
Søren Schmidt
85e7d8e0ae Add driver for Motorcomm YT8511 GbE PHY
Partially from:	https://reviews.freebsd.org/D36093
2022-12-13 05:58:51 +00:00
Alexander V. Chernikov
1bcd230f95 netlink: add interface notification on link status / flags change.
* Add link-state change notifications by subscribing to ifnet_link_event.
 In the Linux netlink model, link state is reported in 2 places: first is
 the IFLA_OPERSTATE, which stores state per RFC2863.
 The second is an IFF_LOWER_UP interface flag. As many applications rely
 on the latter, reserve 1 bit from if_flags, named as IFF_NETLINK_1.
 This flag is mapped to IFF_LOWER_UP in the netlink headers. This is done
 to avoid making applications think this flag is actually
 supported / presented in non-netlink outputs.
* Add flag change notifications, by hooking into rt_ifmsg().
 In the netlink model, notification should include the bitmask for the
 change flags. Update rt_ifmsg() to include such bitmask.

Differential Revision: https://reviews.freebsd.org/D37597
2022-12-09 11:20:07 +00:00
John Baldwin
4eda35b636 atp: Fix mismatch in array bounds.
Reported by:	GCC -Warray-parameter
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D37552
2022-12-07 12:33:56 -08:00
John Baldwin
183783d34a if_rsu: Fix mismatches in array bounds.
Reported by:	GCC -Warray-parameter
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D37551
2022-12-07 12:33:41 -08:00
John Baldwin
8bc615f591 rtwn: Fix mismatches in array bounds.
Reported by:	GCC -Warray-parameter
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D37550
2022-12-07 12:33:21 -08:00
John Baldwin
47cc457bd6 mlx5: Fix mismatch in array bounds.
Reported by:	GCC -Warray-parameter
Reviewed by:	hselasky, imp, emaste (earlier version)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D37549
2022-12-07 12:32:54 -08:00