| /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ | |
| /* | |
| * This file is provided under a dual BSD/GPLv2 license. When using or | |
| * redistributing this file, you may do so under either license. | |
| * | |
| * Copyright(c) 2025 Intel Corporation. | |
| */ | |
| #ifndef __HDA_SDW_BPT_H | |
| #define __HDA_SDW_BPT_H | |
| #include <linux/device.h> | |
| struct hdac_ext_stream; | |
| struct snd_dma_buffer; | |
| #if IS_ENABLED(CONFIG_SND_SOF_SOF_HDA_SDW_BPT) | |
| int hda_sdw_bpt_open(struct device *dev, int link_id, struct hdac_ext_stream **bpt_tx_stream, | |
| struct snd_dma_buffer *dmab_tx_bdl, u32 bpt_tx_num_bytes, | |
| u32 tx_dma_bandwidth, struct hdac_ext_stream **bpt_rx_stream, | |
| struct snd_dma_buffer *dmab_rx_bdl, u32 bpt_rx_num_bytes, | |
| u32 rx_dma_bandwidth); | |
| int hda_sdw_bpt_send_async(struct device *dev, struct hdac_ext_stream *bpt_tx_stream, | |
| struct hdac_ext_stream *bpt_rx_stream); | |
| int hda_sdw_bpt_wait(struct device *dev, struct hdac_ext_stream *bpt_tx_stream, | |
| struct hdac_ext_stream *bpt_rx_stream); | |
| int hda_sdw_bpt_close(struct device *dev, int link_id, struct hdac_ext_stream *bpt_tx_stream, | |
| struct snd_dma_buffer *dmab_tx_bdl, struct hdac_ext_stream *bpt_rx_stream, | |
| struct snd_dma_buffer *dmab_rx_bdl); | |
| unsigned int hda_sdw_bpt_get_buf_size_alignment(unsigned int dma_bandwidth); | |
| #else | |
| static inline int hda_sdw_bpt_open(struct device *dev, int link_id, | |
| struct hdac_ext_stream **bpt_tx_stream, | |
| struct snd_dma_buffer *dmab_tx_bdl, u32 bpt_tx_num_bytes, | |
| u32 tx_dma_bandwidth, struct hdac_ext_stream **bpt_rx_stream, | |
| struct snd_dma_buffer *dmab_rx_bdl, u32 bpt_rx_num_bytes, | |
| u32 rx_dma_bandwidth) | |
| { | |
| WARN_ONCE(1, "SoundWire BPT is disabled"); | |
| return -EOPNOTSUPP; | |
| } | |
| static inline int hda_sdw_bpt_send_async(struct device *dev, struct hdac_ext_stream *bpt_tx_stream, | |
| struct hdac_ext_stream *bpt_rx_stream) | |
| { | |
| WARN_ONCE(1, "SoundWire BPT is disabled"); | |
| return -EOPNOTSUPP; | |
| } | |
| static inline int hda_sdw_bpt_wait(struct device *dev, struct hdac_ext_stream *bpt_tx_stream, | |
| struct hdac_ext_stream *bpt_rx_stream) | |
| { | |
| WARN_ONCE(1, "SoundWire BPT is disabled"); | |
| return -EOPNOTSUPP; | |
| } | |
| static inline int hda_sdw_bpt_close(struct device *dev, int link_id, | |
| struct hdac_ext_stream *bpt_tx_stream, | |
| struct snd_dma_buffer *dmab_tx_bdl, | |
| struct hdac_ext_stream *bpt_rx_stream, | |
| struct snd_dma_buffer *dmab_rx_bdl) | |
| { | |
| WARN_ONCE(1, "SoundWire BPT is disabled"); | |
| return -EOPNOTSUPP; | |
| } | |
| static inline unsigned int hda_sdw_bpt_get_buf_size_alignment(unsigned int dma_bandwidth) | |
| { | |
| return 0; | |
| } | |
| #endif | |
| #endif /* __HDA_SDW_BPT_H */ |