diff options
Diffstat (limited to 'sound/soc/intel/sst-haswell-ipc.h')
-rw-r--r-- | sound/soc/intel/sst-haswell-ipc.h | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/sound/soc/intel/sst-haswell-ipc.h b/sound/soc/intel/sst-haswell-ipc.h index 138e894ab413..858096041cb1 100644 --- a/sound/soc/intel/sst-haswell-ipc.h +++ b/sound/soc/intel/sst-haswell-ipc.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/types.h> | 20 | #include <linux/types.h> |
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
23 | #include <sound/asound.h> | ||
23 | 24 | ||
24 | #define SST_HSW_NO_CHANNELS 4 | 25 | #define SST_HSW_NO_CHANNELS 4 |
25 | #define SST_HSW_MAX_DX_REGIONS 14 | 26 | #define SST_HSW_MAX_DX_REGIONS 14 |
@@ -376,32 +377,17 @@ int sst_hsw_fw_get_version(struct sst_hsw *hsw, | |||
376 | u32 create_channel_map(enum sst_hsw_channel_config config); | 377 | u32 create_channel_map(enum sst_hsw_channel_config config); |
377 | 378 | ||
378 | /* Stream Mixer Controls - */ | 379 | /* Stream Mixer Controls - */ |
379 | int sst_hsw_stream_mute(struct sst_hsw *hsw, struct sst_hsw_stream *stream, | ||
380 | u32 stage_id, u32 channel); | ||
381 | int sst_hsw_stream_unmute(struct sst_hsw *hsw, struct sst_hsw_stream *stream, | ||
382 | u32 stage_id, u32 channel); | ||
383 | |||
384 | int sst_hsw_stream_set_volume(struct sst_hsw *hsw, | 380 | int sst_hsw_stream_set_volume(struct sst_hsw *hsw, |
385 | struct sst_hsw_stream *stream, u32 stage_id, u32 channel, u32 volume); | 381 | struct sst_hsw_stream *stream, u32 stage_id, u32 channel, u32 volume); |
386 | int sst_hsw_stream_get_volume(struct sst_hsw *hsw, | 382 | int sst_hsw_stream_get_volume(struct sst_hsw *hsw, |
387 | struct sst_hsw_stream *stream, u32 stage_id, u32 channel, u32 *volume); | 383 | struct sst_hsw_stream *stream, u32 stage_id, u32 channel, u32 *volume); |
388 | 384 | ||
389 | int sst_hsw_stream_set_volume_curve(struct sst_hsw *hsw, | ||
390 | struct sst_hsw_stream *stream, u64 curve_duration, | ||
391 | enum sst_hsw_volume_curve curve); | ||
392 | |||
393 | /* Global Mixer Controls - */ | 385 | /* Global Mixer Controls - */ |
394 | int sst_hsw_mixer_mute(struct sst_hsw *hsw, u32 stage_id, u32 channel); | ||
395 | int sst_hsw_mixer_unmute(struct sst_hsw *hsw, u32 stage_id, u32 channel); | ||
396 | |||
397 | int sst_hsw_mixer_set_volume(struct sst_hsw *hsw, u32 stage_id, u32 channel, | 386 | int sst_hsw_mixer_set_volume(struct sst_hsw *hsw, u32 stage_id, u32 channel, |
398 | u32 volume); | 387 | u32 volume); |
399 | int sst_hsw_mixer_get_volume(struct sst_hsw *hsw, u32 stage_id, u32 channel, | 388 | int sst_hsw_mixer_get_volume(struct sst_hsw *hsw, u32 stage_id, u32 channel, |
400 | u32 *volume); | 389 | u32 *volume); |
401 | 390 | ||
402 | int sst_hsw_mixer_set_volume_curve(struct sst_hsw *hsw, | ||
403 | u64 curve_duration, enum sst_hsw_volume_curve curve); | ||
404 | |||
405 | /* Stream API */ | 391 | /* Stream API */ |
406 | struct sst_hsw_stream *sst_hsw_stream_new(struct sst_hsw *hsw, int id, | 392 | struct sst_hsw_stream *sst_hsw_stream_new(struct sst_hsw *hsw, int id, |
407 | u32 (*get_write_position)(struct sst_hsw_stream *stream, void *data), | 393 | u32 (*get_write_position)(struct sst_hsw_stream *stream, void *data), |
@@ -440,18 +426,14 @@ int sst_hsw_stream_set_pmemory_info(struct sst_hsw *hsw, | |||
440 | struct sst_hsw_stream *stream, u32 offset, u32 size); | 426 | struct sst_hsw_stream *stream, u32 offset, u32 size); |
441 | int sst_hsw_stream_set_smemory_info(struct sst_hsw *hsw, | 427 | int sst_hsw_stream_set_smemory_info(struct sst_hsw *hsw, |
442 | struct sst_hsw_stream *stream, u32 offset, u32 size); | 428 | struct sst_hsw_stream *stream, u32 offset, u32 size); |
443 | int sst_hsw_stream_get_hw_id(struct sst_hsw *hsw, | 429 | snd_pcm_uframes_t sst_hsw_stream_get_old_position(struct sst_hsw *hsw, |
444 | struct sst_hsw_stream *stream); | ||
445 | int sst_hsw_stream_get_mixer_id(struct sst_hsw *hsw, | ||
446 | struct sst_hsw_stream *stream); | ||
447 | u32 sst_hsw_stream_get_read_reg(struct sst_hsw *hsw, | ||
448 | struct sst_hsw_stream *stream); | 430 | struct sst_hsw_stream *stream); |
449 | u32 sst_hsw_stream_get_pointer_reg(struct sst_hsw *hsw, | 431 | void sst_hsw_stream_set_old_position(struct sst_hsw *hsw, |
432 | struct sst_hsw_stream *stream, snd_pcm_uframes_t val); | ||
433 | bool sst_hsw_stream_get_silence_start(struct sst_hsw *hsw, | ||
450 | struct sst_hsw_stream *stream); | 434 | struct sst_hsw_stream *stream); |
451 | u32 sst_hsw_stream_get_peak_reg(struct sst_hsw *hsw, | 435 | void sst_hsw_stream_set_silence_start(struct sst_hsw *hsw, |
452 | struct sst_hsw_stream *stream, u32 channel); | 436 | struct sst_hsw_stream *stream, bool val); |
453 | u32 sst_hsw_stream_get_vol_reg(struct sst_hsw *hsw, | ||
454 | struct sst_hsw_stream *stream, u32 channel); | ||
455 | int sst_hsw_mixer_get_info(struct sst_hsw *hsw); | 437 | int sst_hsw_mixer_get_info(struct sst_hsw *hsw); |
456 | 438 | ||
457 | /* Stream ALSA trigger operations */ | 439 | /* Stream ALSA trigger operations */ |
@@ -466,8 +448,6 @@ int sst_hsw_stream_get_read_pos(struct sst_hsw *hsw, | |||
466 | struct sst_hsw_stream *stream, u32 *position); | 448 | struct sst_hsw_stream *stream, u32 *position); |
467 | int sst_hsw_stream_get_write_pos(struct sst_hsw *hsw, | 449 | int sst_hsw_stream_get_write_pos(struct sst_hsw *hsw, |
468 | struct sst_hsw_stream *stream, u32 *position); | 450 | struct sst_hsw_stream *stream, u32 *position); |
469 | int sst_hsw_stream_set_write_position(struct sst_hsw *hsw, | ||
470 | struct sst_hsw_stream *stream, u32 stage_id, u32 position); | ||
471 | u32 sst_hsw_get_dsp_position(struct sst_hsw *hsw, | 451 | u32 sst_hsw_get_dsp_position(struct sst_hsw *hsw, |
472 | struct sst_hsw_stream *stream); | 452 | struct sst_hsw_stream *stream); |
473 | u64 sst_hsw_get_dsp_presentation_position(struct sst_hsw *hsw, | 453 | u64 sst_hsw_get_dsp_presentation_position(struct sst_hsw *hsw, |
@@ -481,8 +461,6 @@ int sst_hsw_device_set_config(struct sst_hsw *hsw, | |||
481 | /* DX Config */ | 461 | /* DX Config */ |
482 | int sst_hsw_dx_set_state(struct sst_hsw *hsw, | 462 | int sst_hsw_dx_set_state(struct sst_hsw *hsw, |
483 | enum sst_hsw_dx_state state, struct sst_hsw_ipc_dx_reply *dx); | 463 | enum sst_hsw_dx_state state, struct sst_hsw_ipc_dx_reply *dx); |
484 | int sst_hsw_dx_get_state(struct sst_hsw *hsw, u32 item, | ||
485 | u32 *offset, u32 *size, u32 *source); | ||
486 | 464 | ||
487 | /* init */ | 465 | /* init */ |
488 | int sst_hsw_dsp_init(struct device *dev, struct sst_pdata *pdata); | 466 | int sst_hsw_dsp_init(struct device *dev, struct sst_pdata *pdata); |