#
2b883e19 |
|
06-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Fix compilation of OHCI on x86. Fixes were needed to go with the USB stack changes. Haven't tested it yet because I don't have a a machine with OHCI, but I doubt there will be any problems.
|
#
16d113f9 |
|
10-May-2011 |
Jérôme Duval <korli@users.berlios.de> |
fix typo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1dd6c50c |
|
14-Sep-2009 |
Michael Lotz <mmlr@mlotz.ch> |
When submitting transfers there is a race condition between adding the pending transfer to the transfer list and scheduling the transfer descriptors on the controller by switching the endpoint tail. Since we only check that the endpoint head is equal to the endpoint tail to conclude that there are no active transfers, we need to ensure that we don't accidently do that check before the transfer descriptors are scheduled. Otherwise we could happen to processed a not yet started transfer and finishing it before an actual transfer has taken place. This would then lead to 0 byte transfers and toggle mismatches. To fix this we now protect the transfer addition and tail switching as well as the check in the finisher with a per-endpoint mutex. Note that we allocate the lock on the heap and only store the pointer in the endpoint structure as this one is allocated from the precious physical memory pool. Could fix #4067. Also switched the Jamfile to UsePrivateKernelHeaders (for the MutexLocker) and removed BeOS compatibility. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5a72836 |
|
18-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Build the interrupt tree the same (imperfect) way as in EHCI to conserve on resources but still satisfy the scheduling policy. This works well, but effectifly limits the bandwidth available as the interrupts aren't spread across different frames. * Implement finding the interrupt endpoint head for a certain interval. * Deactivate endpoints that are going away until removing them is implemented. * Allow short packets for all data phases. * Disable tracing by default. There you go, interrupt transfers should work as well. Should enable mice, keyboards, hubs and other devices that use interrupt pipes. Note that it's still easily possible that a single failed request will hang an endpoint and prevent a device from working. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25554 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
408a8ff3 |
|
18-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Completely rework how transfer finishing is implemented. It is now using pretty much the same strategy as UHCI. This does not leverage the done queue the hardware provides us, but as it saves a lot of other overhead and allows the structures to be smaller I think it is overall worth it. * Removed now unnecessary stuff from the transfer descriptor struct. * Directly acknowledge the done head interrupt as we do not use it either. * Activate control endpoints by removing the skip bit when a transfer is scheduled. * Correct the way the first descriptor is determined (the current tail becomes the first descriptor while the current first descriptor becomes the tail). * Remove the head_logical_descriptor field from the endpoint structure, as this would simply get out of sync with the first td with no real way of updating. * Stub out RemoveTransferFromEndpoint() as this needs reworking. * Correct CreateDescriptorChain() signature and implement the method. * Add ReadDescriptorChain() and ReadActualLength() to process finished transfers. * Prepare for actual data transfers by renaming/regrouping transfer types. * Fully clear out the new tail when switching (for the sake of it) * Add some helpers and definitions to the hardware header. * Add debugging facilities. With all this transfers can now actually be scheduled and they are processed when done. This brings control transfers to a usable state so setting the device address and reading out/setting the configuration works. That means you can now view your device using usb_dev_info, but since any other transfer type besides control transfers isn't implemented yet the device will most probably not yet do anything useful. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25546 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a9d7e87d |
|
17-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Implement "tail switching" so that a new transfer descriptor chain can be appended to an endpoint descriptor without locking/disabling the endpoint. * Correct the direction of the data phase of a control transfer. * Some minor cleanup. Control requests without data phase (set address for example) might actually work now, but this is still untested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25541 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
20bbb1bf |
|
18-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Make the operational register memory a uint8 * instead of a uint32 * so the driver has at least a chance of working (it previously always used wrong offsets for register access). * Remove the hash approach for now (I'm going to explore a few other ways of doing that first). * Reorder some stuff and check for errors in some more places. * More cleanup (mostly whitespace again). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25538 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd1e6f2b |
|
16-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Getting familiar with the existing code * Cleanup (whitespace, nameing, code style) * Move around methods so they match the header order * Fix some obvious stuff * Initialize all members * Sync roothub code (this will be reworked to a common roothub) * Only minor functional changes (to the worse for now) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25527 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f061e0b |
|
24-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* More work on the finisher thread * Reworked SubmitTrasfer method * Implemented CancelQueuedTransfers * Minor clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27d7771a |
|
22-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Renamed fFinishTransfer to fLastTransfer (I don't even know why I called it so in the first place) * Renamed local variable descriptor to current in the finisher thread * Using next_done_descriptor instead of next_logical_descriptor, as the latest is used to keep track of all descriptors that belongs to the transfer * Added _UnlinkTransfer private method * Implemented _FreeDescriptorChain * Moved endpoint pointer from the ohci_general_td structur to the transfer_data_s structure, ad the ohci_general_td has already a transfer_data_s pointer which can be used to the endpoint pointer reducing ridundancy. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23701 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
acf9124f |
|
17-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Added definition for the hash related methods (not implemented) * Continue working in the _FinishTransfer thread * added next_done_descriptor in ohci_[general|isochronous]_td structure in order to handle collisions. * added next_logical_descriptor to ohci_isochronous_td structure git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23594 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4cfc1fee |
|
17-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Added hash function and related data in order to find the virtual address of the descriptor from its physical address returned by the controller. NOTE: As stated in the commented code, when the controller has finished processing some descriptors, it returns the first element physical address of an heterogeneous list (general + isochronous) and there is not way to tell the descriptor type. This solution, which implementes two hash tables (one for generic descriptors and one for isochronous) is the one adopted from *BSD. If somebody has better idea, please let me know. :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23589 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d98bdb30 |
|
06-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Started working on the finisher thread * Added some TRACE calls in the _InterruptHandler git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23266 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01489ae0 |
|
20-Nov-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Remove SubmitAsyncTransfer and SubmitPeriodicTransfer * Added _SubmitControlRequest (almost implemented), _LinkDescriptors, _WriteDescriptorChain (basically copied from EHCI, and UHCI) * Renamed ohci_general_descriptor to ohci_general_td, and ohci_isochronous_descriptor to ohci_isochronous_td * Finished _CreateGeneralDescriptor and _FreeGeneralDescriptor * Added buffer_size member to ohci_general_td instead and removed last_logical_byte_address as it looked unnecessary * minor clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22968 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ff17443 |
|
17-Nov-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Implemented _InsertEndpointForPipe * usual clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22938 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca73cdd6 |
|
14-Nov-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Renamed some variables * Reworking the interrupts endpoints tree parts * Added spin_locker, semaphore, finisher thread and interrupt handler (not implemented) * Made fInterruptEndpoints allocation dynamic instead of static * Fixed Start method (it should be correct now) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22927 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9d211eb1 |
|
25-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Removed endpoint and descriptor wrappers, everything is in the related structure like it's done in the uhci driver. * Clean up continues git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22733 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dfd1357a |
|
20-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Rewrote part of the constructor: most of the code is ported from FreeBSD * Usual clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22625 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2907d85a |
|
19-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Renaming macros git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22624 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f82eb041 |
|
14-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* License changed: I've successfully contacted Jan-Rixt Van Hoye, and he gave me his bless :) * Usual clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22555 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b442f19 |
|
13-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Revert Copyright git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22527 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46a41c43 |
|
12-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Clean up (removing unneeded comment) * Renaming, fixing coding guidelines * Re-writing AddTo method * Removing ohci_software.h file (its content has been moved to ohci.h) but it will probably be deleted in the future. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22522 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04394283 |
|
02-Oct-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Implemented endpoint creation for Pipes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18986 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2159acc7 |
|
25-Sep-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Implemented most of the roothub. There remains only one issue: reading the Port registers seem to return a bogus value (0). I need to find out what's causing it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18918 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
915367e3 |
|
31-Aug-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Wrote the initialisation routine of the host controller * Started cleaning up the style (WIP) * I'll slowly phase out ohci_software.h, since it is BSD legacy * Cleanup other BSD inspired naming. I like full names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18723 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34314b98 |
|
28-Aug-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
First commit to show that work on the ohci bus has restarted. It doesn't do anything yet, but it allocates the io registers properly and now the values that are returned when reading it make sense. More to come... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5a072ced |
|
14-Mar-2005 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Quick merge of my development branch with mainline (for SVN switch). The OHCI stuff was done by Jixt (thanks)./installusb All is still very much work in progress Patches applied: * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--base-0 tag of Niels.Reedijk@gmail.com--haiku-2005/usb-busses--mainline--0.1--base-0 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-1 Set the PORT_STATUS_LOW_SPEED flag correctly (using the register bitflag for low speed devices, instead of the proper lowspeed flag) * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-2 Clean up transfers when they're done * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-3 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-4 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-5 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-6 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-7 Remove obsolete ehci.c * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-8 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-9 Completed memory allocation + initialization * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-10 First attempt at performing control transfers - failed miserably * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-11 Trying to read a 16bit value into a 8bit integer, stupid * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-12 nicer way of getting the base io address * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-13 Take over control from BIOS * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-14 Revert change for disabling USB BIOS support git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11743 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b883e1977b1c420935c80b6fb9eb0067f112301 |
|
06-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Fix compilation of OHCI on x86. Fixes were needed to go with the USB stack changes. Haven't tested it yet because I don't have a a machine with OHCI, but I doubt there will be any problems.
|
#
16d113f9e5dc24440955d7c1c0b31e278f3f2ed9 |
|
10-May-2011 |
Jérôme Duval <korli@users.berlios.de> |
fix typo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1dd6c50cb3cdbcfe254d9b60f04bbfad100e6848 |
|
14-Sep-2009 |
Michael Lotz <mmlr@mlotz.ch> |
When submitting transfers there is a race condition between adding the pending transfer to the transfer list and scheduling the transfer descriptors on the controller by switching the endpoint tail. Since we only check that the endpoint head is equal to the endpoint tail to conclude that there are no active transfers, we need to ensure that we don't accidently do that check before the transfer descriptors are scheduled. Otherwise we could happen to processed a not yet started transfer and finishing it before an actual transfer has taken place. This would then lead to 0 byte transfers and toggle mismatches. To fix this we now protect the transfer addition and tail switching as well as the check in the finisher with a per-endpoint mutex. Note that we allocate the lock on the heap and only store the pointer in the endpoint structure as this one is allocated from the precious physical memory pool. Could fix #4067. Also switched the Jamfile to UsePrivateKernelHeaders (for the MutexLocker) and removed BeOS compatibility. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5a728361ccfdf83dcf89fa7a6f86b8f197b6e80 |
|
18-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Build the interrupt tree the same (imperfect) way as in EHCI to conserve on resources but still satisfy the scheduling policy. This works well, but effectifly limits the bandwidth available as the interrupts aren't spread across different frames. * Implement finding the interrupt endpoint head for a certain interval. * Deactivate endpoints that are going away until removing them is implemented. * Allow short packets for all data phases. * Disable tracing by default. There you go, interrupt transfers should work as well. Should enable mice, keyboards, hubs and other devices that use interrupt pipes. Note that it's still easily possible that a single failed request will hang an endpoint and prevent a device from working. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25554 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
408a8ff36a2514df0dcdc2cefe0daa7ad0972f41 |
|
18-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Completely rework how transfer finishing is implemented. It is now using pretty much the same strategy as UHCI. This does not leverage the done queue the hardware provides us, but as it saves a lot of other overhead and allows the structures to be smaller I think it is overall worth it. * Removed now unnecessary stuff from the transfer descriptor struct. * Directly acknowledge the done head interrupt as we do not use it either. * Activate control endpoints by removing the skip bit when a transfer is scheduled. * Correct the way the first descriptor is determined (the current tail becomes the first descriptor while the current first descriptor becomes the tail). * Remove the head_logical_descriptor field from the endpoint structure, as this would simply get out of sync with the first td with no real way of updating. * Stub out RemoveTransferFromEndpoint() as this needs reworking. * Correct CreateDescriptorChain() signature and implement the method. * Add ReadDescriptorChain() and ReadActualLength() to process finished transfers. * Prepare for actual data transfers by renaming/regrouping transfer types. * Fully clear out the new tail when switching (for the sake of it) * Add some helpers and definitions to the hardware header. * Add debugging facilities. With all this transfers can now actually be scheduled and they are processed when done. This brings control transfers to a usable state so setting the device address and reading out/setting the configuration works. That means you can now view your device using usb_dev_info, but since any other transfer type besides control transfers isn't implemented yet the device will most probably not yet do anything useful. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25546 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a9d7e87d40decf63c52a13f553955b0865f45a48 |
|
17-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Implement "tail switching" so that a new transfer descriptor chain can be appended to an endpoint descriptor without locking/disabling the endpoint. * Correct the direction of the data phase of a control transfer. * Some minor cleanup. Control requests without data phase (set address for example) might actually work now, but this is still untested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25541 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
20bbb1bf28b5ccd3fcda07e27f0dd24c62fbe71d |
|
18-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Make the operational register memory a uint8 * instead of a uint32 * so the driver has at least a chance of working (it previously always used wrong offsets for register access). * Remove the hash approach for now (I'm going to explore a few other ways of doing that first). * Reorder some stuff and check for errors in some more places. * More cleanup (mostly whitespace again). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25538 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd1e6f2b375d31347be55e2b1924618f9055711f |
|
16-May-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Getting familiar with the existing code * Cleanup (whitespace, nameing, code style) * Move around methods so they match the header order * Fix some obvious stuff * Initialize all members * Sync roothub code (this will be reworked to a common roothub) * Only minor functional changes (to the worse for now) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25527 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f061e0b6b5e64775404c84b3a814f7b5e0d4f5d |
|
24-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* More work on the finisher thread * Reworked SubmitTrasfer method * Implemented CancelQueuedTransfers * Minor clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27d7771a1ec1b6cd2ce5635cfc1f6f9a377bb153 |
|
22-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Renamed fFinishTransfer to fLastTransfer (I don't even know why I called it so in the first place) * Renamed local variable descriptor to current in the finisher thread * Using next_done_descriptor instead of next_logical_descriptor, as the latest is used to keep track of all descriptors that belongs to the transfer * Added _UnlinkTransfer private method * Implemented _FreeDescriptorChain * Moved endpoint pointer from the ohci_general_td structur to the transfer_data_s structure, ad the ohci_general_td has already a transfer_data_s pointer which can be used to the endpoint pointer reducing ridundancy. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23701 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
acf9124f1b49d095c7ea2a198f78a2105b49c027 |
|
17-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Added definition for the hash related methods (not implemented) * Continue working in the _FinishTransfer thread * added next_done_descriptor in ohci_[general|isochronous]_td structure in order to handle collisions. * added next_logical_descriptor to ohci_isochronous_td structure git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23594 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4cfc1fee3e724c8c63534bc04b6476446504b7e3 |
|
17-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Added hash function and related data in order to find the virtual address of the descriptor from its physical address returned by the controller. NOTE: As stated in the commented code, when the controller has finished processing some descriptors, it returns the first element physical address of an heterogeneous list (general + isochronous) and there is not way to tell the descriptor type. This solution, which implementes two hash tables (one for generic descriptors and one for isochronous) is the one adopted from *BSD. If somebody has better idea, please let me know. :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23589 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d98bdb30bcb05395231e26e7940dbb304a2c9b91 |
|
06-Jan-2008 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Started working on the finisher thread * Added some TRACE calls in the _InterruptHandler git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23266 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01489ae0603b930a2c14352c24138ca12c33a2d8 |
|
20-Nov-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Remove SubmitAsyncTransfer and SubmitPeriodicTransfer * Added _SubmitControlRequest (almost implemented), _LinkDescriptors, _WriteDescriptorChain (basically copied from EHCI, and UHCI) * Renamed ohci_general_descriptor to ohci_general_td, and ohci_isochronous_descriptor to ohci_isochronous_td * Finished _CreateGeneralDescriptor and _FreeGeneralDescriptor * Added buffer_size member to ohci_general_td instead and removed last_logical_byte_address as it looked unnecessary * minor clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22968 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ff174438e3938700c661ca1bf6b400e9138a1db |
|
17-Nov-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Implemented _InsertEndpointForPipe * usual clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22938 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca73cdd62fbfb79e407aba0b4372ac76a6be09dc |
|
14-Nov-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Renamed some variables * Reworking the interrupts endpoints tree parts * Added spin_locker, semaphore, finisher thread and interrupt handler (not implemented) * Made fInterruptEndpoints allocation dynamic instead of static * Fixed Start method (it should be correct now) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22927 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9d211eb10403b899571ca239c00a90f6fcc8b65e |
|
25-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Removed endpoint and descriptor wrappers, everything is in the related structure like it's done in the uhci driver. * Clean up continues git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22733 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dfd1357ad21f447892ab9a25a7b21dbc7333b1cf |
|
20-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Rewrote part of the constructor: most of the code is ported from FreeBSD * Usual clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22625 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2907d85a71db87392a4db4deef85c3710127d485 |
|
19-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Renaming macros git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22624 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f82eb0415aab313596ee8de85004c1eed22fb3dc |
|
14-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* License changed: I've successfully contacted Jan-Rixt Van Hoye, and he gave me his bless :) * Usual clean up git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22555 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b442f19197e315955fc4948a1e9109501abac79 |
|
13-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Revert Copyright git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22527 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46a41c432c78ffede0165f705000468672bbd681 |
|
12-Oct-2007 |
Salvatore Benedetto <salvatore.benedetto@gmail.com> |
* Clean up (removing unneeded comment) * Renaming, fixing coding guidelines * Re-writing AddTo method * Removing ohci_software.h file (its content has been moved to ohci.h) but it will probably be deleted in the future. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22522 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04394283560c099f04d3816286635ec6f436b709 |
|
02-Oct-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Implemented endpoint creation for Pipes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18986 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2159acc7d9492bb23888c5f4a8664d49ff91f371 |
|
25-Sep-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Implemented most of the roothub. There remains only one issue: reading the Port registers seem to return a bogus value (0). I need to find out what's causing it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18918 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
915367e31aea39fe40ae3239dc7fcc738aebf039 |
|
31-Aug-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Wrote the initialisation routine of the host controller * Started cleaning up the style (WIP) * I'll slowly phase out ohci_software.h, since it is BSD legacy * Cleanup other BSD inspired naming. I like full names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18723 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34314b980333eb800f399d2970743f9b88d0bbf8 |
|
28-Aug-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
First commit to show that work on the ohci bus has restarted. It doesn't do anything yet, but it allocates the io registers properly and now the values that are returned when reading it make sense. More to come... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5a072ced7588fd5525ca52d9ce1d45a2d0786b2d |
|
14-Mar-2005 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Quick merge of my development branch with mainline (for SVN switch). The OHCI stuff was done by Jixt (thanks)./installusb All is still very much work in progress Patches applied: * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--base-0 tag of Niels.Reedijk@gmail.com--haiku-2005/usb-busses--mainline--0.1--base-0 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-1 Set the PORT_STATUS_LOW_SPEED flag correctly (using the register bitflag for low speed devices, instead of the proper lowspeed flag) * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-2 Clean up transfers when they're done * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-3 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-4 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-5 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-6 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-7 Remove obsolete ehci.c * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-8 * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-9 Completed memory allocation + initialization * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-10 First attempt at performing control transfers - failed miserably * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-11 Trying to read a 16bit value into a 8bit integer, stupid * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-12 nicer way of getting the base io address * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-13 Take over control from BIOS * Niels.Reedijk@gmail.com--nielx-2005/usb-busses--development--0.1--patch-14 Revert change for disabling USB BIOS support git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11743 a95241bf-73f2-0310-859d-f6bbb57e9c96
|