| e8018942 | 06-Sep-2026 |
Abdelkader Boudih <seuros@FreeBSD.org> |
apple_bce: initiate IN data phase for control transfers
For IN control transfers, the firmware does not send TRANSFER_REQUEST for the data phase the host must send BCE_VHCI_CMD_TRANSFER_REQUEST with
apple_bce: initiate IN data phase for control transfers
For IN control transfers, the firmware does not send TRANSFER_REQUEST for the data phase the host must send BCE_VHCI_CMD_TRANSFER_REQUEST with an IN DMA buffer once the setup phase completes.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58872
show more ...
|
| c0ec1e0e | 06-Sep-2026 |
Abdelkader Boudih <seuros@FreeBSD.org> |
apple_bce: fix C_CONNECT_STATUS during port reset
Only set the port change bit when the corresponding status bit actually transitioned, instead of unconditionally flagging C_CONNECT_STATUS on every
apple_bce: fix C_CONNECT_STATUS during port reset
Only set the port change bit when the corresponding status bit actually transitioned, instead of unconditionally flagging C_CONNECT_STATUS on every port change event. Also clear any flaky C_CONNECT_STATUS that the port change taskqueue may have set while the bus lock was dropped during a successful port reset.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58875
show more ...
|
| 13e9b4e5 | 06-Sep-2026 |
Abdelkader Boudih <seuros@FreeBSD.org> |
apple_bce: ignore duplicate TRANSFER_REQUEST in STATUS state
Since the host initiates IN data transfers, the firmware's own TRANSFER_REQUEST for the same phase arrives after we've already moved to S
apple_bce: ignore duplicate TRANSFER_REQUEST in STATUS state
Since the host initiates IN data transfers, the firmware's own TRANSFER_REQUEST for the same phase arrives after we've already moved to STATUS state. Ignoring instead of failing the transfer with USB_ERR_IOERROR.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58873
show more ...
|
| ba28690c | 06-Sep-2026 |
Abdelkader Boudih <seuros@FreeBSD.org> |
apple_bce: fix cold boot panic in mailbox send
Poll mailbox reply registers with DELAY() when the system is still cold, falling back to the interrupt-driven sema_timedwait path once timers are avail
apple_bce: fix cold boot panic in mailbox send
Poll mailbox reply registers with DELAY() when the system is still cold, falling back to the interrupt-driven sema_timedwait path once timers are available.
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58871
show more ...
|
| 9f90536c | 14-Jun-2026 |
Abdelkader Boudih <freebsd@seuros.com> |
apple_bce/vhci: add T2 virtual USB host controller
Implements a VHCI driver on top of the BCE transport: - Virtual USB bus registration via usb_controller - Port discovery and device enumeration - C
apple_bce/vhci: add T2 virtual USB host controller
Implements a VHCI driver on top of the BCE transport: - Virtual USB bus registration via usb_controller - Port discovery and device enumeration - Control, interrupt, and bulk endpoint support - Firmware event handling with taskqueue - Suspend/resume via BCE mailbox
Provides keyboard, trackpad, and Touch Bar access on T2 Macs.
Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D57089
show more ...
|