-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework USB architecture #35
Open
adamgreloch
wants to merge
8
commits into
adamgreloch/RTOS-937
Choose a base branch
from
adamgreloch/RTOS-970
base: adamgreloch/RTOS-937
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 tasks
25acf9a
to
2ab1ead
Compare
65405df
to
3514ec3
Compare
9047765
to
f53dc3b
Compare
f53dc3b
to
297736e
Compare
3645782
to
6926923
Compare
257c6d9
to
1f3319f
Compare
065b7eb
to
5ccd210
Compare
14 tasks
d151c98
to
864d4f9
Compare
fc0e5f9
to
351c423
Compare
864d4f9
to
204e45a
Compare
Every driver talking to usb host implements some sort of this handling loop, so it's better to move it to libusb to eliminate redundancy. This is also a first step in making the driver logic expressible via handler functions API only JIRA: RTOS-970
It is now possible to substitute driver-side pipe operations (e.g. the hostdriver can now provide its own implementations that does not use msg API and call the host functions directly) JIRA: RTOS-970
This makes it possible to run drivers straight from the usbhost process thereby allowing for various optimizations based on shared memory between device driver and host driver -- ability to bypass msg-passing, as included in this change, being a prime example. JIRA: RTOS-970
Adds options to exclude external driver logic from the usbhost driver if for instance no such driver is ever expected to be run. JIRA: RTOS-970
LTO allowed for inlining of substitutable libusb driver API functions, e.g. usb_open(drv, ...) got inlined into drv->pipeOps->open(drv, ...), and decreased text section size by ~300 bytes on imxrt117x. JIRA: RTOS-970
If hcd became operational before returning from hcd init, it could try to access hcd->roothub while it was still uninitialized JIRA: RTOS-970
351c423
to
2a49d5f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reworks USB device drivers API to allow them to run in two variants: either as a standalone process or (statically) linked with the host driver and run as an internal thread. The API is constructed in such a way that from the perspective of device driver implementation the choice of variant is transparent
JIRA: RTOS-970
Description
Motivation and Context
Types of changes
How Has This Been Tested?
Checklist:
Special treatment
Adapt USB stack to work on ia32 #34
Adapt drivers to USB architecture rework phoenix-rtos-devices#524