summaryrefslogblamecommitdiff
path: root/sound/usb/power.h
blob: 396e3e51440a7f95d1d7f0190b7ca559cad0cc97 (plain) (tree)
1
2
3
4
                                      


                          


















                                                                

                                                     

                               
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __USBAUDIO_POWER_H
#define __USBAUDIO_POWER_H

struct snd_usb_power_domain {
	int pd_id;              /* UAC3 Power Domain ID */
	int pd_d1d0_rec;        /* D1 to D0 recovery time */
	int pd_d2d0_rec;        /* D2 to D0 recovery time */
};

enum {
	UAC3_PD_STATE_D0,
	UAC3_PD_STATE_D1,
	UAC3_PD_STATE_D2,
};

int snd_usb_power_domain_set(struct snd_usb_audio *chip,
			     struct snd_usb_power_domain *pd,
			     unsigned char state);
struct snd_usb_power_domain *
snd_usb_find_power_domain(struct usb_host_interface *ctrl_iface,
			  unsigned char id);

int snd_usb_autoresume(struct snd_usb_audio *chip);
void snd_usb_autosuspend(struct snd_usb_audio *chip);

#endif /* __USBAUDIO_POWER_H */