#
f8a8e565 |
| 13-Nov-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Always delete transfers even when force-canceling.
We can't call the callbacks (as the comments correctly indicated), but we can certainly delete the transfer objects, since they rightfully bel
USB: Always delete transfers even when force-canceling.
We can't call the callbacks (as the comments correctly indicated), but we can certainly delete the transfer objects, since they rightfully belong to us.
Should fix #19242, #19241, #19180 and possibly other recent regressions. Also fixes a long-standing memory leak from this scenario.
show more ...
|
#
a05359e4 |
| 30-Jul-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Change some ASSERT to ASSERT_ALWAYS.
Otherwise we get Werrors when trying to build with KDEBUG_LEVEL < 2. We might as well check these statuses always and panic even on release builds.
|
#
629f071b |
| 27-Feb-2024 |
X512 <danger_mail@list.ru> |
pci: extend MSI interrupt vector number to 32 bits
Also increase MSI message data size to 32 bits according to PCIe spec.
Remove 0xff check for MSI interrupts because it is potentially valid interr
pci: extend MSI interrupt vector number to 32 bits
Also increase MSI message data size to 32 bits according to PCIe spec.
Remove 0xff check for MSI interrupts because it is potentially valid interrupt vector number. Reject 0xff only for legacy pin interrupts.
- MSI-X supports up to 2048 interrupts per device that do not fit to `uint8`.
- Non-x86 systems may use separate interrupt vector ranges for hard-wired interrupts and MSI interrupts so `uint8` is not enough to represent all of them.
Change-Id: Iaf9ffb197ec23db0f97ffe3ea756d28d7bfc8705 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7433 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
show more ...
|
#
be3ce6d7 |
| 31-Jan-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Make "buffer error" reporting consistent.
This error means that the controller failed to read or write data to/from system memory fast enough. As a result, we should report it as READ_ERROR/WRI
USB: Make "buffer error" reporting consistent.
This error means that the controller failed to read or write data to/from system memory fast enough. As a result, we should report it as READ_ERROR/WRITE_ERROR, rather than something that sounds like an error with the device itself.
Then, make BABBLE reporting consistent: this is a data overrun/underrun of the device itself, not the buffers passed to the controller. This then leaves B_DEV_FIFO_OVERRUN/UNDERRUN unused, and thus usable for reporting ring overrun/underrun on isochronous transfers.
The API documentation already described DATA_OVERRUN/UNDERRUN basically like they were babble errors, while FIFO_OVERRUN/UNDERRUN are currently described as "internal errors" at present. No driver actually checked for these.
show more ...
|
#
8c458fc4 |
| 30-Jan-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Initialize packet descriptors inside the stack.
Allows deletion of generic code from bus drivers.
|
#
55a46882 |
| 30-May-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Support physical-vector bulk requests.
Introduce a new utility method, "generic_memcpy", which takes generic_addr_t plus indications of whether these specify virtual or physical addresses (and
USB: Support physical-vector bulk requests.
Introduce a new utility method, "generic_memcpy", which takes generic_addr_t plus indications of whether these specify virtual or physical addresses (and potentially user addresess) and calls the appropriate memcpy variant depending.
All bus drivers adjusted to support this at once. We don't actually take advantage of the physical addresses in any way (yet), as USB controllers have some pretty specific requirements that would have to be carefully validated to use these directly.
All bus drivers tested and confirmed to still be working.
Change-Id: I66326667e148091147bb2b3d0843a26fb7e5bda6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6479 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
99626c29 |
| 29-May-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Use generic_io_vec in Transfer.
Prepares the way for actual physical-address request support, which is not yet wired up.
Change-Id: I1b2d04a31e334a79b8361280fa0f3a5fbdb43d2b Reviewed-on: https
USB: Use generic_io_vec in Transfer.
Prepares the way for actual physical-address request support, which is not yet wired up.
Change-Id: I1b2d04a31e334a79b8361280fa0f3a5fbdb43d2b Reviewed-on: https://review.haiku-os.org/c/haiku/+/6478 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
3b91d73b |
| 17-Dec-2022 |
X512 <danger_mail@list.ru> |
bus & drivers: drop PCI_x86
Change-Id: I494deaf24a4793a5e0fe9fa46ecdce32f65e616a Reviewed-on: https://review.haiku-os.org/c/haiku/+/6226 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-b
bus & drivers: drop PCI_x86
Change-Id: I494deaf24a4793a5e0fe9fa46ecdce32f65e616a Reviewed-on: https://review.haiku-os.org/c/haiku/+/6226 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
show more ...
|
#
215b685f |
| 11-Dec-2022 |
X512 <danger_mail@list.ru> |
kernel: Drop non-standard GNU inline assignment syntax
* We needed this previously due to our gcc2 compiled kernel. * Now that our kernel is always latest gcc, we can move to the c++20 syntax for
kernel: Drop non-standard GNU inline assignment syntax
* We needed this previously due to our gcc2 compiled kernel. * Now that our kernel is always latest gcc, we can move to the c++20 syntax for inline assignment. * Improves compatibility with clang, less GNU-specific stuff
Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
show more ...
|
#
d2875e7b |
| 16-Nov-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
usb: fix references on the module B_PCI_X86_MODULE_NAME
the dependency is optional, only the device modules depend on it. should fix #18075
Change-Id: Ifddb9814ff5ff59ee7d80d06b14ba9fded04cd56 Revi
usb: fix references on the module B_PCI_X86_MODULE_NAME
the dependency is optional, only the device modules depend on it. should fix #18075
Change-Id: Ifddb9814ff5ff59ee7d80d06b14ba9fded04cd56 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5822 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
2710b4f5 |
| 29-Oct-2022 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge remote-tracking branch 'origin/master' into dev/netservices
Change-Id: I48c8cf4f03e281a5caeb9f27bf052285961529ff
|
#
e6ce95c5 |
| 10-Oct-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
usb: register device nodes for hubs and devices
the device identifier is the USBID. no actual interface to be used by drivers.
Change-Id: I9fd1fdab0d02f1b82380c619b39bc3a12a9e2333 Reviewed-on: http
usb: register device nodes for hubs and devices
the device identifier is the USBID. no actual interface to be used by drivers.
Change-Id: I9fd1fdab0d02f1b82380c619b39bc3a12a9e2333 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5736 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: X512 <danger_mail@list.ru> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
6652606f |
| 05-Oct-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
usb: remove debug leftover
Change-Id: Idba6eaecb2c5b5773cd61794ac62fac1f7e3c1f9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5715 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.or
usb: remove debug leftover
Change-Id: Idba6eaecb2c5b5773cd61794ac62fac1f7e3c1f9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5715 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
547ddb90 |
| 01-Oct-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
uhci: switch to the new driver API
Change-Id: Ifc95a32066d0089d3fd41e489604d58815c074af Reviewed-on: https://review.haiku-os.org/c/haiku/+/5711 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tes
uhci: switch to the new driver API
Change-Id: Ifc95a32066d0089d3fd41e489604d58815c074af Reviewed-on: https://review.haiku-os.org/c/haiku/+/5711 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
show more ...
|
#
268f99dd |
| 22-Dec-2021 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge branch 'master' into dev/netservices
|
#
ffc83aa2 |
| 28-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB bus drivers: Add missing iterator increments.
Should fix boot hang regressions introduced in hrev55455 in the fix for #17275.
|
#
ae61e1b7 |
| 27-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB bus drivers: Return error when combining other transfers with a fragmented one.
The drivers do not support this properly at present, they would run the other transfers interspersed with fragment
USB bus drivers: Return error when combining other transfers with a fragmented one.
The drivers do not support this properly at present, they would run the other transfers interspersed with fragments from the fragemented one, which is obviously the wrong thing to do.
No USB device drivers seem to do this at present (it would cause data corruption if they had.)
Fixes #17275.
show more ...
|
#
bc7fd433 |
| 20-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Rename Transfer::VectorLength to Transfer::FragmentLength.
It did not return the length of the vectors, but only the current fragment's worth of vectors. It also modified the fFragmented flag,
USB: Rename Transfer::VectorLength to Transfer::FragmentLength.
It did not return the length of the vectors, but only the current fragment's worth of vectors. It also modified the fFragmented flag, which really should have been set in SetVectors in the first place.
As everything seemed to call IsFragmented after VectorLength, this is not a behavioral change.
show more ...
|
#
39fb148a |
| 03-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
UHCI: Disable isochronous transfers support.
It busyloops, and at least on QEMU, does not seem to work at all.
|
#
68a0df3e |
| 01-Aug-2020 |
Murai Takashi <tmurai01@gmail.com> |
usb/uhci: Remove unneeded NULL check
Thanks to mmlr for pointing out element could not be NULL.
Change-Id: I89d85fdd2cc30efd54c81f6c50a5497208bab5d2 Reviewed-on: https://review.haiku-os.org/c/haiku
usb/uhci: Remove unneeded NULL check
Thanks to mmlr for pointing out element could not be NULL.
Change-Id: I89d85fdd2cc30efd54c81f6c50a5497208bab5d2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3259 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
show more ...
|
#
e8b2085d |
| 18-Apr-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
busses/usb: Print the PCI ID of the device with an invalid IRQ.
|
#
6be54385 |
| 13-Apr-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
busses/usb: Handle getting/putting the PCI modules properly.
Previously it was possible that we put() them twice, leading to assert-failure panics as their ref-counts would go below 0. Now we get()
busses/usb: Handle getting/putting the PCI modules properly.
Previously it was possible that we put() them twice, leading to assert-failure panics as their ref-counts would go below 0. Now we get() them once for every bus object that we create, as the destructors put() them.
Should fix the panic in #15004.
show more ...
|
#
67b05100 |
| 12-Apr-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
busses/usb: Don't reject devices with "invalid" IRQs immediately.
We may be able to allocate an MSI for them. This was done for XHCI already in hrev52742.
Probably fixes #15004.
|
#
5c6d92d7 |
| 12-Apr-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
busses/usb: Move ::AddTo to be above the class constructors.
It is called before them (and is responsible for calling them), so having it in the middle of the file does not make a lot of sense.
Alr
busses/usb: Move ::AddTo to be above the class constructors.
It is called before them (and is responsible for calling them), so having it in the middle of the file does not make a lot of sense.
Already done for XHCI. Only one functional change -- removing the set_dprintf_enabled call. Drivers probably shouldn't spuriously re-enable that if it was specifically disabled.
show more ...
|
#
a182f193 |
| 19-Feb-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Properly assign IDs to USB Bus Managers (HCI drivers).
Previously they would just get -1, as the BusManager class would request their ID before they had been added to the Stack. Now we add them
USB: Properly assign IDs to USB Bus Managers (HCI drivers).
Previously they would just get -1, as the BusManager class would request their ID before they had been added to the Stack. Now we add them to the stack inside ::Start(), rather than letting the individual drivers do that just after ::Start(), and then assign the ID there directly.
show more ...
|