public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] RFC: UsbIo extensions
@ 2024-10-24 18:22 Oleg Ilyasov via groups.io
  2024-10-25 15:06 ` olegi via groups.io
  0 siblings, 1 reply; 2+ messages in thread
From: Oleg Ilyasov via groups.io @ 2024-10-24 18:22 UTC (permalink / raw)
  To: devel@edk2.groups.io


[-- Attachment #1.1: Type: text/plain, Size: 2497 bytes --]

Hi, All

As currently defined, UsbIo protocol performs USB transfers on an interface as well as it returns various descriptors data for the selected device configuration.

This functionality is sufficient for common device drivers - mass storage, keyboard/mouse. However, more complex devices implement several types of descriptors that are not supported by UsbIo. These are Class Specific interface and endpoint descriptors, as well as interface association descriptors.

Also, when an interface descriptor contains multiple alternate settings, currently it is impossible to retrieve the data of non-default setting without selecting this setting. And this selection involves USB transaction with SET_INTERFACE command. Issuing this command might change the device state and may not be desirable.

The list of such "complex" devices includes USB cameras, audio devices, communication devices, modems, network controllers. Writing UEFI device driver for these using existing UsbIo is challenging.

A new protocol UsbIoExt extends the functionality of UsbDxeBus and aims to overcome the above mentioned problems.
PR: https://github.com/tianocore/edk2/pull/6368

It implements a protocol that 1) retrieves class specific descriptors 2) allows to get data from different alt setting without switching to this setting

Interface Association descriptor support will be a different PR that makes use of this UsbIoExt protocol.

Please review and respond.

[cid:image001.png@01DB2620.1A038990]

Oleg Ilyasov

BIOS Core Group
American Megatrends International LLC.

+1(770)246-8798

-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120683): https://edk2.groups.io/g/devel/message/120683
Mute This Topic: https://groups.io/mt/109195507/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #1.2: Type: text/html, Size: 6818 bytes --]

[-- Attachment #2: image001.png --]
[-- Type: image/png, Size: 5507 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-11-04 14:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24 18:22 [edk2-devel] RFC: UsbIo extensions Oleg Ilyasov via groups.io
2024-10-25 15:06 ` olegi via groups.io

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox