usb suspend deep sleep
This commit is contained in:
parent
f50b96f459
commit
9a9a957047
|
|
@ -322,6 +322,13 @@ static int tascam_suspend(struct usb_interface *intf, pm_message_t message)
|
||||||
usb_kill_anchored_urbs(&tascam->midi_in_anchor);
|
usb_kill_anchored_urbs(&tascam->midi_in_anchor);
|
||||||
usb_kill_anchored_urbs(&tascam->midi_out_anchor);
|
usb_kill_anchored_urbs(&tascam->midi_out_anchor);
|
||||||
|
|
||||||
|
dev_info(&intf->dev, "sending deep sleep command\n");
|
||||||
|
int err = usb_control_msg(tascam->dev, usb_sndctrlpipe(tascam->dev, 0),
|
||||||
|
VENDOR_REQ_DEEP_SLEEP, RT_H2D_VENDOR_DEV,
|
||||||
|
0x0000, 0x0000, NULL, 0, USB_CTRL_TIMEOUT_MS);
|
||||||
|
if (err < 0)
|
||||||
|
dev_err(&intf->dev, "deep sleep command failed: %d\n", err);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ enum uac_control_selector {
|
||||||
|
|
||||||
enum tascam_vendor_request {
|
enum tascam_vendor_request {
|
||||||
VENDOR_REQ_REGISTER_WRITE = 0x41,
|
VENDOR_REQ_REGISTER_WRITE = 0x41,
|
||||||
|
VENDOR_REQ_DEEP_SLEEP = 0x44,
|
||||||
VENDOR_REQ_MODE_CONTROL = 0x49,
|
VENDOR_REQ_MODE_CONTROL = 0x49,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,7 @@ int us144mkii_configure_device_for_rate(struct tascam_card *tascam, int rate)
|
||||||
u16 rate_vendor_wValue;
|
u16 rate_vendor_wValue;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
const u8 *current_payload_src;
|
const u8 *current_payload_src;
|
||||||
|
|
||||||
u8 *rate_payload_buf __free(kfree);
|
u8 *rate_payload_buf __free(kfree);
|
||||||
|
|
||||||
static const u8 payload_44100[] = { 0x44, 0xac, 0x00 };
|
static const u8 payload_44100[] = { 0x44, 0xac, 0x00 };
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue