1 /* SPDX-License-Identifier: GPL-2.0-only 2 * SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. 3 * All rights reserved. 4 * 5 * tegra_isomgr_bw.h - Definitions for ADMA bandwidth calculation 6 * 7 */ 8 9 #ifndef __TEGRA_ISOMGR_BW_H__ 10 #define __TEGRA_ISOMGR_BW_H__ 11 12 /* Playback and Capture streams */ 13 #define STREAM_TYPE 2 14 15 struct tegra_adma_isomgr { 16 /* Protect pcm devices bandwidth */ 17 struct mutex mutex; 18 /* interconnect path handle */ 19 struct icc_path *icc_path_handle; 20 u32 *bw_per_dev[STREAM_TYPE]; 21 u32 current_bandwidth; 22 u32 max_pcm_device; 23 u32 max_bw; 24 }; 25 26 int tegra_isomgr_adma_register(struct device *dev); 27 void tegra_isomgr_adma_unregister(struct device *dev); 28 int tegra_isomgr_adma_setbw(struct snd_pcm_substream *substream, 29 struct snd_soc_dai *dai, bool is_running); 30 31 #endif 32