USB/PHY patches for 5.2-rc1
Here is the big set of USB and PHY driver patches for 5.2-rc1 There is the usual set of: - USB gadget updates - PHY driver updates and additions - USB serial driver updates and fixes - typec updates and new chips supported - mtu3 driver updates - xhci driver updates - other tiny driver updates Nothing really interesting, just constant forward progress. All of these have been in linux-next for a while with no reported issues. The usb-gadget and usb-serial trees were merged a bit "late", but both of them had been in linux-next before they got merged here last Friday. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXNKuwg8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymRUgCfa8Ri7KrCaBR5NHQcLhbdrX90ToQAmgNw7vpo fqt0XpNM0CSa9O/gOr79 =8HFh -----END PGP SIGNATURE----- Merge tag 'usb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB/PHY updates from Greg KH: "Here is the big set of USB and PHY driver patches for 5.2-rc1 There is the usual set of: - USB gadget updates - PHY driver updates and additions - USB serial driver updates and fixes - typec updates and new chips supported - mtu3 driver updates - xhci driver updates - other tiny driver updates Nothing really interesting, just constant forward progress. All of these have been in linux-next for a while with no reported issues. The usb-gadget and usb-serial trees were merged a bit "late", but both of them had been in linux-next before they got merged here last Friday" * tag 'usb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (206 commits) USB: serial: f81232: implement break control USB: serial: f81232: add high baud rate support USB: serial: f81232: clear overrun flag USB: serial: f81232: fix interrupt worker not stop usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA usb: dwc3: Fix default lpm_nyet_threshold value usb: dwc3: debug: Print GET_STATUS(device) tracepoint usb: dwc3: Do core validation early on probe usb: dwc3: gadget: Set lpm_capable usb: gadget: atmel: tie wake lock to running clock usb: gadget: atmel: support USB suspend usb: gadget: atmel_usba_udc: simplify setting of interrupt-enabled mask dwc2: gadget: Fix completed transfer size calculation in DDMA usb: dwc2: Set lpm mode parameters depend on HW configuration usb: dwc2: Fix channel disable flow usb: dwc2: Set actual frame number for completed ISOC transfer usb: gadget: do not use __constant_cpu_to_le16 usb: dwc2: gadget: Increase descriptors count for ISOC's usb: introduce usb_ep_type_string() function usb: dwc3: move synchronize_irq() out of the spinlock protected block ...
This commit is contained in:
commit
132d68d37d
206 changed files with 12173 additions and 3318 deletions
|
|
@ -64,6 +64,7 @@ union phy_configure_opts {
|
|||
* @set_mode: set the mode of the phy
|
||||
* @reset: resetting the phy
|
||||
* @calibrate: calibrate the phy
|
||||
* @release: ops to be performed while the consumer relinquishes the PHY
|
||||
* @owner: the module owner containing the ops
|
||||
*/
|
||||
struct phy_ops {
|
||||
|
|
@ -105,6 +106,7 @@ struct phy_ops {
|
|||
union phy_configure_opts *opts);
|
||||
int (*reset)(struct phy *phy);
|
||||
int (*calibrate)(struct phy *phy);
|
||||
void (*release)(struct phy *phy);
|
||||
struct module *owner;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1543,10 +1543,10 @@ typedef void (*usb_complete_t)(struct urb *);
|
|||
struct urb {
|
||||
/* private: usb core and host controller only fields in the urb */
|
||||
struct kref kref; /* reference count of the URB */
|
||||
int unlinked; /* unlink error code */
|
||||
void *hcpriv; /* private data for host controller */
|
||||
atomic_t use_count; /* concurrent submissions counter */
|
||||
atomic_t reject; /* submissions will fail */
|
||||
int unlinked; /* unlink error code */
|
||||
|
||||
/* public: documented fields in the urb that can be used by drivers */
|
||||
struct list_head urb_list; /* list head for use by the urb's
|
||||
|
|
|
|||
|
|
@ -36,6 +36,14 @@
|
|||
#include <linux/device.h>
|
||||
#include <uapi/linux/usb/ch9.h>
|
||||
|
||||
/**
|
||||
* usb_ep_type_string() - Returns human readable-name of the endpoint type.
|
||||
* @ep_type: The endpoint type to return human-readable name for. If it's not
|
||||
* any of the types: USB_ENDPOINT_XFER_{CONTROL, ISOC, BULK, INT},
|
||||
* usually got by usb_endpoint_type(), the string 'unknown' will be returned.
|
||||
*/
|
||||
extern const char *usb_ep_type_string(int ep_type);
|
||||
|
||||
/**
|
||||
* usb_speed_string() - Returns human readable-name of the speed.
|
||||
* @speed: The speed to return human-readable name for. If it's not
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ struct usb_hcd {
|
|||
#ifdef CONFIG_PM
|
||||
struct work_struct wakeup_work; /* for remote wakeup */
|
||||
#endif
|
||||
struct work_struct died_work; /* for when the device dies */
|
||||
|
||||
/*
|
||||
* hardware info/state
|
||||
|
|
@ -652,11 +653,16 @@ extern wait_queue_head_t usb_kill_urb_queue;
|
|||
#define usb_endpoint_out(ep_dir) (!((ep_dir) & USB_DIR_IN))
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
extern unsigned usb_wakeup_enabled_descendants(struct usb_device *udev);
|
||||
extern void usb_root_hub_lost_power(struct usb_device *rhdev);
|
||||
extern int hcd_bus_suspend(struct usb_device *rhdev, pm_message_t msg);
|
||||
extern int hcd_bus_resume(struct usb_device *rhdev, pm_message_t msg);
|
||||
extern void usb_hcd_resume_root_hub(struct usb_hcd *hcd);
|
||||
#else
|
||||
static inline unsigned usb_wakeup_enabled_descendants(struct usb_device *udev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline void usb_hcd_resume_root_hub(struct usb_hcd *hcd)
|
||||
{
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -23,11 +23,9 @@
|
|||
/* The maximum number of ports one device can grab at once */
|
||||
#define MAX_NUM_PORTS 16
|
||||
|
||||
/* parity check flag */
|
||||
#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))
|
||||
|
||||
/* USB serial flags */
|
||||
#define USB_SERIAL_WRITE_BUSY 0
|
||||
#define USB_SERIAL_THROTTLED 1
|
||||
|
||||
/**
|
||||
* usb_serial_port: structure for the specific ports of a device.
|
||||
|
|
@ -67,8 +65,6 @@
|
|||
* @flags: usb serial port flags
|
||||
* @write_wait: a wait_queue_head_t used by the port.
|
||||
* @work: work queue entry for the line discipline waking up.
|
||||
* @throttled: nonzero if the read urb is inactive to throttle the device
|
||||
* @throttle_req: nonzero if the tty wants to throttle us
|
||||
* @dev: pointer to the serial device
|
||||
*
|
||||
* This structure is used by the usb-serial core and drivers for the specific
|
||||
|
|
@ -115,8 +111,6 @@ struct usb_serial_port {
|
|||
unsigned long flags;
|
||||
wait_queue_head_t write_wait;
|
||||
struct work_struct work;
|
||||
char throttled;
|
||||
char throttle_req;
|
||||
unsigned long sysrq; /* sysrq timeout */
|
||||
struct device dev;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -121,10 +121,10 @@ struct tcpc_config {
|
|||
* with partner.
|
||||
* @set_pd_rx: Called to enable or disable reception of PD messages
|
||||
* @set_roles: Called to set power and data roles
|
||||
* @start_drp_toggling:
|
||||
* Optional; if supported by hardware, called to start DRP
|
||||
* toggling. DRP toggling is stopped automatically if
|
||||
* a connection is established.
|
||||
* @start_toggling:
|
||||
* Optional; if supported by hardware, called to start dual-role
|
||||
* toggling or single-role connection detection. Toggling stops
|
||||
* automatically if a connection is established.
|
||||
* @try_role: Optional; called to set a preferred role
|
||||
* @pd_transmit:Called to transmit PD message
|
||||
* @mux: Pointer to multiplexer data
|
||||
|
|
@ -147,8 +147,9 @@ struct tcpc_dev {
|
|||
int (*set_pd_rx)(struct tcpc_dev *dev, bool on);
|
||||
int (*set_roles)(struct tcpc_dev *dev, bool attached,
|
||||
enum typec_role role, enum typec_data_role data);
|
||||
int (*start_drp_toggling)(struct tcpc_dev *dev,
|
||||
enum typec_cc_status cc);
|
||||
int (*start_toggling)(struct tcpc_dev *dev,
|
||||
enum typec_port_type port_type,
|
||||
enum typec_cc_status cc);
|
||||
int (*try_role)(struct tcpc_dev *dev, int role);
|
||||
int (*pd_transmit)(struct tcpc_dev *dev, enum tcpm_transmit_type type,
|
||||
const struct pd_message *msg);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@
|
|||
#include <linux/usb/typec_altmode.h>
|
||||
|
||||
#define USB_TYPEC_DP_SID 0xff01
|
||||
/* USB IF has not assigned a Standard ID (SID) for VirtualLink,
|
||||
* so the manufacturers of VirtualLink adapters use their Vendor
|
||||
* IDs as the SVID.
|
||||
*/
|
||||
#define USB_TYPEC_NVIDIA_VLINK_SID 0x955 /* NVIDIA VirtualLink */
|
||||
#define USB_TYPEC_DP_MODE 1
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue