Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4e8a884 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "uapi: lsm_params: add support for lsm version 3.0"

parents 25a990e3 1f6b04af
Loading
Loading
Loading
Loading
+31 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
#include <linux/types.h>
#include <sound/asound.h>

#define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 0)
#define SNDRV_LSM_VERSION SNDRV_PROTOCOL_VERSION(0, 3, 0)

#define LSM_OUT_FORMAT_PCM (0)
#define LSM_OUT_FORMAT_ADPCM (1 << 0)
@@ -38,6 +38,18 @@
#define LSM_DET_EVENT_TYPE_LEGACY (0)
#define LSM_DET_EVENT_TYPE_GENERIC (1)

/* Valid sample rates for input hw_params */
#define LSM_INPUT_SAMPLE_RATE_16K 16000
#define LSM_INPUT_SAMPLE_RATE_48K 48000

/* Valid bit-widths for input hw_params */
#define LSM_INPUT_BIT_WIDTH_16	16
#define LSM_INPUT_BIT_WIDTH_24	24

/* Min and Max channels for input hw_params */
#define LSM_INPUT_NUM_CHANNELS_MIN	1
#define LSM_INPUT_NUM_CHANNELS_MAX	9

enum lsm_app_id {
	LSM_VOICE_WAKEUP_APP_ID = 1,
	LSM_VOICE_WAKEUP_APP_ID_V2 = 2,
@@ -189,6 +201,22 @@ struct snd_lsm_output_format_cfg {
	__u8 mode;
};

/*
 * Data passed to SNDRV_LSM_SET_INPUT_HW_PARAMS ioctl
 *
 * @sample_rate: Sample rate of input to lsm.
 *		 valid values are 16000 and 48000
 * @bit_width: Bit width of audio samples input to lsm.
 *	       valid values are 16 and 24
 * @num_channels: Number of channels input to lsm.
 *		  valid values are range from 1 to 16
 */
struct snd_lsm_input_hw_params {
	__u32 sample_rate;
	__u16 bit_width;
	__u16 num_channels;
} __packed;

#define SNDRV_LSM_DEREG_SND_MODEL _IOW('U', 0x01, int)
#define SNDRV_LSM_EVENT_STATUS	_IOW('U', 0x02, struct snd_lsm_event_status)
#define SNDRV_LSM_ABORT_EVENT	_IOW('U', 0x03, int)
@@ -210,5 +238,7 @@ struct snd_lsm_output_format_cfg {
#define SNDRV_LSM_EVENT_STATUS_V3	_IOW('U', 0x0F, \
					struct snd_lsm_event_status_v3)
#define SNDRV_LSM_GENERIC_DET_EVENT	_IOW('U', 0x10, struct snd_lsm_event_status)
#define SNDRV_LSM_SET_INPUT_HW_PARAMS	_IOW('U', 0x11,	\
					     struct snd_lsm_input_hw_params)

#endif