Sound Open Firmware
Loading...
Searching...
No Matches
mic_privacy_manager.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2025 Intel Corporation. All rights reserved.
4 *
5 */
6
7#ifndef ADSP_FW_MIC_PRIVACY_MANAGER_H
8#define ADSP_FW_MIC_PRIVACY_MANAGER_H
9
10#include <zephyr/drivers/mic_privacy/intel/mic_privacy.h>
11#include <sof/lib/notifier.h>
12#include <ipc4/base-config.h>
13#include "../audio/copier/copier_gain.h"
14
15#define ADSP_RTC_FREQUENCY 32768
16
18 enum ipc4_sampling_frequency audio_freq;
23
24 struct copier_gain_params mic_priv_gain_params;
25};
26
28 enum mic_privacy_policy mic_privacy_mode;
29 /* 0-Mic Unmute, 1-Mic Mute */
31 uint32_t max_ramp_time;
32 union mic_privacy_mask privacy_mask_bits;
33};
34
40
47
55void mic_privacy_enable_dmic_irq(bool enable_irq);
56void mic_privacy_fill_settings(struct mic_privacy_settings *settings, uint32_t mic_disable_status);
58 uint32_t mic_disable_status);
60 uint32_t hw_mic_disable_status);
61void mic_privacy_process(struct comp_dev *dev, struct mic_privacy_data *mic_priv,
62 struct comp_buffer *buffer, uint32_t copy_samples);
63void mic_privacy_gain_input(uint8_t *buff, uint32_t buff_size, uint32_t mic_priv_state,
64 const struct ipc4_audio_format *in_fmt);
65
66#endif /* ADSP_FW_MIC_PRIVACY_MANAGER_H */
void mic_privacy_process(struct comp_dev *dev, struct mic_privacy_data *mic_priv, struct comp_buffer *buffer, uint32_t copy_samples)
uint32_t mic_privacy_get_dma_zeroing_wait_time(void)
void mic_privacy_enable_dmic_irq(bool enable_irq)
int mic_privacy_manager_init(void)
void mic_privacy_propagate_settings(struct mic_privacy_settings *settings)
uint32_t mic_privacy_get_policy_register(void)
int mic_privacy_manager_get_policy(void)
void mic_privacy_fill_settings(struct mic_privacy_settings *settings, uint32_t mic_disable_status)
uint32_t mic_privacy_get_mic_disable_status(void)
uint32_t mic_privacy_get_privacy_mask(void)
void mic_privacy_set_gtw_mic_state(struct mic_privacy_data *mic_priv_data, uint32_t mic_disable_status)
void mic_privacy_gain_input(uint8_t *buff, uint32_t buff_size, uint32_t mic_priv_state, const struct ipc4_audio_format *in_fmt)
void mic_privacy_update_gtw_mic_state(struct mic_privacy_data *mic_priv_data, uint32_t hw_mic_disable_status)
mic_privacy_state
Definition mic_privacy_manager.h:41
@ MIC_PRIV_UNMUTED
Definition mic_privacy_manager.h:42
@ MIC_PRIV_MUTED
Definition mic_privacy_manager.h:45
@ MIC_PRIV_FADE_IN
Definition mic_privacy_manager.h:43
@ MIC_PRIV_FADE_OUT
Definition mic_privacy_manager.h:44
Definition buffer.h:130
Audio component base device "class".
Definition component.h:645
Definition mic_privacy_manager.h:17
uint32_t fade_in_out_bytes
Definition mic_privacy_manager.h:21
enum ipc4_sampling_frequency audio_freq
Definition mic_privacy_manager.h:18
struct copier_gain_params mic_priv_gain_params
Definition mic_privacy_manager.h:24
uint32_t max_ramp_time_in_ms
Definition mic_privacy_manager.h:22
uint32_t mic_privacy_state
Definition mic_privacy_manager.h:19
bool dma_data_zeroing
Definition mic_privacy_manager.h:20
Definition mic_privacy_manager.h:27
uint32_t max_ramp_time
Definition mic_privacy_manager.h:31
enum mic_privacy_policy mic_privacy_mode
Definition mic_privacy_manager.h:28
union mic_privacy_mask privacy_mask_bits
Definition mic_privacy_manager.h:32
uint32_t mic_privacy_state
Definition mic_privacy_manager.h:30
Definition mic_privacy_manager.h:35
uint32_t capabilities_length
Definition mic_privacy_manager.h:37
uint32_t privacy_version
Definition mic_privacy_manager.h:36
uint32_t capabilities[1]
Definition mic_privacy_manager.h:38