mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-05-01 15:15:19 -04:00
usb: gadget: Introduce SSP rates and lanes
A USB device controller operating in SuperSpeed Plus may support gen2x1, gen1x2, and/or gen2x2. Introduce SuperSpeed Plus signaling rate generation and lane count to usb_gadget with the fields ssp_rate and max_ssp_rate. The gadget driver can use these to setup the device BOS descriptor and select the desire operating speed and number of lanes. Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://lore.kernel.org/r/b6d2196dcc3c73747f91abf9a082b20bbe276cc4.1610592135.git.Thinh.Nguyen@synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
121fc3ac2f
commit
db615c6264
@@ -339,6 +339,10 @@ struct usb_gadget_ops {
|
||||
* @speed: Speed of current connection to USB host.
|
||||
* @max_speed: Maximal speed the UDC can handle. UDC must support this
|
||||
* and all slower speeds.
|
||||
* @ssp_rate: Current connected SuperSpeed Plus signaling rate and lane count.
|
||||
* @max_ssp_rate: Maximum SuperSpeed Plus signaling rate and lane count the UDC
|
||||
* can handle. The UDC must support this and all slower speeds and lower
|
||||
* number of lanes.
|
||||
* @state: the state we are now (attached, suspended, configured, etc)
|
||||
* @name: Identifies the controller hardware type. Used in diagnostics
|
||||
* and sometimes configuration.
|
||||
@@ -406,6 +410,11 @@ struct usb_gadget {
|
||||
struct list_head ep_list; /* of usb_ep */
|
||||
enum usb_device_speed speed;
|
||||
enum usb_device_speed max_speed;
|
||||
|
||||
/* USB SuperSpeed Plus only */
|
||||
enum usb_ssp_rate ssp_rate;
|
||||
enum usb_ssp_rate max_ssp_rate;
|
||||
|
||||
enum usb_device_state state;
|
||||
const char *name;
|
||||
struct device dev;
|
||||
|
||||
Reference in New Issue
Block a user