-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ASoC: SOF: Intel: hda-sdw-bpt: add helpers for SoundWire BPT DMA
Add SoundWire BPT DMA helpers as a separate module to avoid circular dependencies. For now this assumes no link DMA, only coupled mode. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Acked-by: Mark Brown <broonie@kernel.org> Tested-by: shumingf@realtek.com Link: https://lore.kernel.org/r/20250227140615.8147-12-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
- Loading branch information
Pierre-Louis Bossart
authored and
Vinod Koul
committed
Mar 10, 2025
1 parent
7f17a73
commit 5d5cb86
Showing
4 changed files
with
399 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/* 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, 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); | ||
#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, 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; | ||
} | ||
#endif | ||
|
||
#endif /* __HDA_SDW_BPT_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.