History log of /haiku/src/add-ons/kernel/busses/usb/uhci.h (Results 1 – 25 of 63)
Revision Date Author Comments
# 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 ...


# 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 ...


# 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 ...


# 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 ...


# 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 ...


# 159aa93b 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

USB: Generalize logic for debug transfers used within KDL.

Pull debug transfer methods into the base BusManager class and
implement them for UHCI and EHCI. This makes it possible to have a
single de

USB: Generalize logic for debug transfers used within KDL.

Pull debug transfer methods into the base BusManager class and
implement them for UHCI and EHCI. This makes it possible to have a
single debugger command installed by the USB stack instead of HCI
specific ones.

show more ...


# c14bca29 13-Sep-2013 François Revol <revol@free.fr>

Merge branch 'master' into sam460ex


# cf70d345 12-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge remote-tracking branch 'haiku/master' into package-management

This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
build/jam/BuildFeatures
build/j

Merge remote-tracking branch 'haiku/master' into package-management

This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
build/jam/BuildFeatures
build/jam/HaikuImage
build/jam/OptionalPackages
build/scripts/build_cross_tools_gcc4
src/add-ons/opengl/swpipe/Jamfile
src/apps/diskusage/Jamfile
src/kits/tracker/ContainerWindow.cpp
src/kits/tracker/DeskWindow.cpp
src/kits/tracker/Jamfile

show more ...


# c45ac5ad 30-Jul-2013 Jerome Duval <jerome.duval@gmail.com>

UHCI USB: add MSI support

* similar to OHCI support by mmlr.
* interrupt handler is removed on destruction.


# 25a7b01d 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge branch 'master' into package-management

Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
needed by packagefs.
* BuildFeatures: Add a build feature

Merge branch 'master' into package-management

Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
needed by packagefs.
* BuildFeatures: Add a build feature "gcc2" to allow for easier checks.
* Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter
is not needed and prevents building for the build platform.
* zlib/zutil.h: Fix gcc 2 build. We really should use the external
package instead.

Conflicts:
.gitignore
build/jam/BuildSetup
build/jam/FileRules
build/jam/FloppyBootImage
build/jam/HaikuImage
build/jam/ImageRules
build/jam/KernelRules
build/jam/NetBootArchive
build/jam/OptionalBuildFeatures
build/jam/OptionalLibPackages
build/jam/OptionalPackageDependencies
build/jam/OptionalPackages
build/scripts/build_haiku_image
configure
data/bin/installoptionalpackage
data/system/boot/Bootscript
headers/os/app/Message.h
headers/os/package/PackageInfo.h
headers/os/package/PackageInfoAttributes.h
headers/os/package/PackageInfoSet.h
headers/os/package/PackageRoster.h
headers/os/package/PackageVersion.h
headers/os/package/hpkg/PackageInfoAttributeValue.h
headers/os/storage/FindDirectory.h
headers/os/storage/Node.h
headers/os/support/StringList.h
headers/private/system/directories.h
src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile
src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp
src/add-ons/kernel/file_systems/packagefs/Jamfile
src/add-ons/kernel/file_systems/packagefs/Package.cpp
src/add-ons/kernel/file_systems/packagefs/Package.h
src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp
src/add-ons/kernel/file_systems/packagefs/PackageDomain.h
src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp
src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp
src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp
src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h
src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp
src/add-ons/kernel/file_systems/packagefs/PackageNode.h
src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp
src/add-ons/kernel/file_systems/packagefs/Version.cpp
src/add-ons/kernel/file_systems/packagefs/Version.h
src/add-ons/kernel/file_systems/packagefs/Volume.cpp
src/add-ons/kernel/file_systems/packagefs/Volume.h
src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp
src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
src/apps/deskbar/BarApp.cpp
src/apps/deskbar/BarMenuBar.cpp
src/apps/deskbar/BarMenuBar.h
src/apps/deskbar/BarView.cpp
src/apps/deskbar/BarView.h
src/apps/deskbar/BarWindow.cpp
src/apps/deskbar/BarWindow.h
src/apps/deskbar/DeskbarMenu.cpp
src/apps/deskbar/DeskbarMenu.h
src/apps/deskbar/DeskbarUtils.cpp
src/apps/deskbar/DeskbarUtils.h
src/apps/deskbar/ExpandoMenuBar.cpp
src/apps/deskbar/ExpandoMenuBar.h
src/apps/deskbar/TeamMenu.cpp
src/apps/processcontroller/ProcessController.cpp
src/apps/remotedesktop/RemoteDesktop.cpp
src/bin/bash/config-top.h
src/bin/finddir.c
src/bin/package/Jamfile
src/bin/package/command_add.cpp
src/bin/package/command_create.cpp
src/bin/package/command_list.cpp
src/bin/package_repo/command_list.cpp
src/bin/pkgman/command_refresh.cpp
src/build/libbe/support/Jamfile
src/build/libpackage/Jamfile
src/build/libroot/Jamfile
src/build/libroot/fs.cpp
src/build/libroot/remapped_functions.h
src/kits/locale/MutableLocaleRoster.cpp
src/kits/opengl/GLRendererRoster.cpp
src/kits/package/PackageInfo.cpp
src/kits/package/PackageInfoSet.cpp
src/kits/package/PackageRoster.cpp
src/kits/package/PackageVersion.cpp
src/kits/package/RepositoryCache.cpp
src/kits/package/hpkg/PackageWriterImpl.cpp
src/kits/package/hpkg/ReaderImplBase.cpp
src/kits/package/hpkg/WriterImplBase.cpp
src/kits/print/PrintTransport.cpp
src/kits/print/Printer.cpp
src/kits/screensaver/ScreenSaverRunner.cpp
src/kits/support/StringList.cpp
src/kits/tracker/ContainerWindow.cpp
src/kits/tracker/DeskWindow.cpp
src/kits/tracker/PoseView.cpp
src/libs/print/libprint/Transport.cpp
src/preferences/printers/AddPrinterDialog.cpp
src/preferences/screensaver/ScreenSaverWindow.cpp
src/servers/debug/DebugServer.cpp
src/servers/input/AddOnManager.cpp
src/servers/media_addon/MediaAddonServer.cpp
src/system/boot/Jamfile
src/system/boot/loader/Jamfile
src/system/boot/loader/loader.cpp
src/system/boot/loader/vfs.cpp
src/system/kernel/fs/vfs.cpp
src/system/kernel/fs/vfs_boot.cpp
src/system/libroot/os/find_directory.cpp
src/system/runtime_loader/runtime_loader.cpp
src/tools/package/Jamfile

show more ...


# 77d95e1d 18-Nov-2012 François Revol <revol@free.fr>

Merge branch 'master' into sam460ex

Conflicts:
src/system/boot/platform/u-boot/arch/ppc/Jamfile


# 30afb18c 18-Nov-2012 Alex Smith <alex@alex-smith.me.uk>

Merge branch 'x86_64'


# 2997a191 06-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed UHCI for x86_64.


# 8bcc50c3 12-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar()
which don't wait for a character, but return -1 when no character is
available ATM. Implemented correctly for x86

* Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar()
which don't wait for a character, but return -1 when no character is
available ATM. Implemented correctly for x86 only.
* Changed the semantics of the debugger_module_info::debugger_getchar() hook.
It is supposed to return immediately now.
* Adjusted usb_keyboard accordingly. Hacked UHCI's debug_process_transfer() to
achieve that. It does now start, check, or cancel a transfer. Split
UHCI::ProcessDebugTransfer() into StartDebugTransfer(), and
CheckDebugTransfer() accordingly, and also added a CancelDebugTransfer().
The latter seems to have issues. Michael, please have a look. I have no clue
what I'm doing. :-)
* Adjusted kgetc() to poll all possible inputs using the new
functions/semantics. This allows to use any input (USB, PS/2, serial) in KDL.
* Removed the no longer needed "serial_input" command.
* read_line(): Also support 0x7f as backspace code. That's what xterm sends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42126 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# 38fc536e 14-Apr-2010 Michael Lotz <mmlr@mlotz.ch>

Some more constness.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 853e6be8 14-Apr-2010 Michael Lotz <mmlr@mlotz.ch>

* Rename usb_p.h to usb_private.h.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36247 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1393394b 23-Sep-2009 Michael Lotz <mmlr@mlotz.ch>

We need to guarantee that when cancel returns that the callback won't be called
anymore. It could happen that the transfer was already in the process of being
finished, so wasn't in the list of pendi

We need to guarantee that when cancel returns that the callback won't be called
anymore. It could happen that the transfer was already in the process of being
finished, so wasn't in the list of pending transfers anymore. Cancel would then
return even though the callback wasn't called yet. This could lead to a callback
being called after a driver was already unloaded (even after it cleaned up the
pipes it used).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33239 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# 527e6eef 12-May-2009 Michael Lotz <mmlr@mlotz.ch>

Do not free the descriptor chains and transfer queue head directly when
finishing transfers. The host controller might still be using some of those
structures. In the (unlikely) case that a freed mem

Do not free the descriptor chains and transfer queue head directly when
finishing transfers. The host controller might still be using some of those
structures. In the (unlikely) case that a freed memory chunk would be
immediately re-used and filled with new values this would lead the controller
to either find invalid values and assert a process error or it could follow
invalid list links leading to host system errors. We have to wait with freeing
until the controller processing the next frame to make sure this cannot happen.
The unlikely case should also have been the cause of bug #2481.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30714 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# aaf77384 11-May-2009 Michael Lotz <mmlr@mlotz.ch>

Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30713 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6eba0636 22-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

* Added simplified possibility to schedule UHCI transfers from within KDL.
* Added debugger commands to resolve usb_ids to pipes.
* Adjusted the physical memory allocator to be usable in a slimmed do

* Added simplified possibility to schedule UHCI transfers from within KDL.
* Added debugger commands to resolve usb_ids to pipes.
* Adjusted the physical memory allocator to be usable in a slimmed down mode
when running inside the kernel debugger.
* Implemented USB keyboard support for KDL through a kernel debugger add-on.
* Added kgetc() and made use of it where previously individual methods were used
to ensure that reading characters always goes through the kernel debugger
add-ons and the other methods.

This has some preconditions to meet though:
1) The keyboard must be in the boot protocol (currently the case but needs to
be revisited once we have a full usb_hid).
2) The keyboard must be attached to a UHCI root port (i.e. not use EHCI or OHCI,
also not through hubs unless those are USB 1.1).
3) the usb_hid driver has to be opened for this to work. This means that for the
time between initializing USB and when usb_hid is opened by the input_server
there is no keyboard support.

Also note that this has no way of detecting hot-plug, meaning that you can't
re-attach your USB keyboard from the hub to the root port once in KDL.

On the bright side of things, since this is a non-destructive mechanism it is
possible to enter and leave KDL without loosing the USB state.

Tested OK in QEMU, not tested on real hardware yet, will see in a few minutes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29291 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# f14fe767 24-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

* Rework the USB tracing mechanism. Cleaned it up and make it more convenient to
use. It will now print out the usb_ids of the objects that generate the trace
messages. These IDs are unique compa

* Rework the USB tracing mechanism. Cleaned it up and make it more convenient to
use. It will now print out the usb_ids of the objects that generate the trace
messages. These IDs are unique compared to the device address used previously,
because device addresses are per bus while usb_ids are global. This makes
trace output from devices across multiple controllers distinguishable.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29002 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# b1385bc3 06-Jun-2008 Michael Lotz <mmlr@mlotz.ch>

* When encountering an unrecoverable error at least turn off interrupts until
we properly handle this case (cancel everything and reset the controller) to
avoid flooding the system with interrupt

* When encountering an unrecoverable error at least turn off interrupts until
we properly handle this case (cancel everything and reset the controller) to
avoid flooding the system with interrupts.
* Also only check for enabled interrupts to not steal potentially shared
interrupts.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25823 a95241bf-73f2-0310-859d-f6bbb57e9c96

show more ...


# 2b07b8e0 29-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Replaced all instances of benaphores in the kernel code by mutexes.
* Removed kernel benaphores.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25690 a95241bf-73f2-0310-859d-f6bbb57e9c96


123