xref: /linux/include/sound/hda-sdw-bpt.h (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*5d5cb86fSPierre-Louis Bossart /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2*5d5cb86fSPierre-Louis Bossart /*
3*5d5cb86fSPierre-Louis Bossart  * This file is provided under a dual BSD/GPLv2 license.  When using or
4*5d5cb86fSPierre-Louis Bossart  * redistributing this file, you may do so under either license.
5*5d5cb86fSPierre-Louis Bossart  *
6*5d5cb86fSPierre-Louis Bossart  * Copyright(c) 2025 Intel Corporation.
7*5d5cb86fSPierre-Louis Bossart  */
8*5d5cb86fSPierre-Louis Bossart 
9*5d5cb86fSPierre-Louis Bossart #ifndef __HDA_SDW_BPT_H
10*5d5cb86fSPierre-Louis Bossart #define __HDA_SDW_BPT_H
11*5d5cb86fSPierre-Louis Bossart 
12*5d5cb86fSPierre-Louis Bossart #include <linux/device.h>
13*5d5cb86fSPierre-Louis Bossart 
14*5d5cb86fSPierre-Louis Bossart struct hdac_ext_stream;
15*5d5cb86fSPierre-Louis Bossart struct snd_dma_buffer;
16*5d5cb86fSPierre-Louis Bossart 
17*5d5cb86fSPierre-Louis Bossart #if IS_ENABLED(CONFIG_SND_SOF_SOF_HDA_SDW_BPT)
18*5d5cb86fSPierre-Louis Bossart int hda_sdw_bpt_open(struct device *dev, int link_id, struct hdac_ext_stream **bpt_tx_stream,
19*5d5cb86fSPierre-Louis Bossart 		     struct snd_dma_buffer *dmab_tx_bdl, u32 bpt_tx_num_bytes,
20*5d5cb86fSPierre-Louis Bossart 		     u32 tx_dma_bandwidth, struct hdac_ext_stream **bpt_rx_stream,
21*5d5cb86fSPierre-Louis Bossart 		     struct snd_dma_buffer *dmab_rx_bdl, u32 bpt_rx_num_bytes,
22*5d5cb86fSPierre-Louis Bossart 		     u32 rx_dma_bandwidth);
23*5d5cb86fSPierre-Louis Bossart 
24*5d5cb86fSPierre-Louis Bossart int hda_sdw_bpt_send_async(struct device *dev, struct hdac_ext_stream *bpt_tx_stream,
25*5d5cb86fSPierre-Louis Bossart 			   struct hdac_ext_stream *bpt_rx_stream);
26*5d5cb86fSPierre-Louis Bossart 
27*5d5cb86fSPierre-Louis Bossart int hda_sdw_bpt_wait(struct device *dev, struct hdac_ext_stream *bpt_tx_stream,
28*5d5cb86fSPierre-Louis Bossart 		     struct hdac_ext_stream *bpt_rx_stream);
29*5d5cb86fSPierre-Louis Bossart 
30*5d5cb86fSPierre-Louis Bossart int hda_sdw_bpt_close(struct device *dev, struct hdac_ext_stream *bpt_tx_stream,
31*5d5cb86fSPierre-Louis Bossart 		      struct snd_dma_buffer *dmab_tx_bdl, struct hdac_ext_stream *bpt_rx_stream,
32*5d5cb86fSPierre-Louis Bossart 		      struct snd_dma_buffer *dmab_rx_bdl);
33*5d5cb86fSPierre-Louis Bossart #else
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)34*5d5cb86fSPierre-Louis Bossart static inline int hda_sdw_bpt_open(struct device *dev, int link_id,
35*5d5cb86fSPierre-Louis Bossart 				   struct hdac_ext_stream **bpt_tx_stream,
36*5d5cb86fSPierre-Louis Bossart 				   struct snd_dma_buffer *dmab_tx_bdl, u32 bpt_tx_num_bytes,
37*5d5cb86fSPierre-Louis Bossart 				   u32 tx_dma_bandwidth, struct hdac_ext_stream **bpt_rx_stream,
38*5d5cb86fSPierre-Louis Bossart 				   struct snd_dma_buffer *dmab_rx_bdl, u32 bpt_rx_num_bytes,
39*5d5cb86fSPierre-Louis Bossart 				   u32 rx_dma_bandwidth)
40*5d5cb86fSPierre-Louis Bossart {
41*5d5cb86fSPierre-Louis Bossart 	WARN_ONCE(1, "SoundWire BPT is disabled");
42*5d5cb86fSPierre-Louis Bossart 	return -EOPNOTSUPP;
43*5d5cb86fSPierre-Louis Bossart }
44*5d5cb86fSPierre-Louis Bossart 
hda_sdw_bpt_send_async(struct device * dev,struct hdac_ext_stream * bpt_tx_stream,struct hdac_ext_stream * bpt_rx_stream)45*5d5cb86fSPierre-Louis Bossart static inline int hda_sdw_bpt_send_async(struct device *dev, struct hdac_ext_stream *bpt_tx_stream,
46*5d5cb86fSPierre-Louis Bossart 					 struct hdac_ext_stream *bpt_rx_stream)
47*5d5cb86fSPierre-Louis Bossart {
48*5d5cb86fSPierre-Louis Bossart 	WARN_ONCE(1, "SoundWire BPT is disabled");
49*5d5cb86fSPierre-Louis Bossart 	return -EOPNOTSUPP;
50*5d5cb86fSPierre-Louis Bossart }
51*5d5cb86fSPierre-Louis Bossart 
hda_sdw_bpt_wait(struct device * dev,struct hdac_ext_stream * bpt_tx_stream,struct hdac_ext_stream * bpt_rx_stream)52*5d5cb86fSPierre-Louis Bossart static inline int hda_sdw_bpt_wait(struct device *dev, struct hdac_ext_stream *bpt_tx_stream,
53*5d5cb86fSPierre-Louis Bossart 				   struct hdac_ext_stream *bpt_rx_stream)
54*5d5cb86fSPierre-Louis Bossart {
55*5d5cb86fSPierre-Louis Bossart 	WARN_ONCE(1, "SoundWire BPT is disabled");
56*5d5cb86fSPierre-Louis Bossart 	return -EOPNOTSUPP;
57*5d5cb86fSPierre-Louis Bossart }
58*5d5cb86fSPierre-Louis Bossart 
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)59*5d5cb86fSPierre-Louis Bossart static inline int hda_sdw_bpt_close(struct device *dev, struct hdac_ext_stream *bpt_tx_stream,
60*5d5cb86fSPierre-Louis Bossart 				    struct snd_dma_buffer *dmab_tx_bdl,
61*5d5cb86fSPierre-Louis Bossart 				    struct hdac_ext_stream *bpt_rx_stream,
62*5d5cb86fSPierre-Louis Bossart 				    struct snd_dma_buffer *dmab_rx_bdl)
63*5d5cb86fSPierre-Louis Bossart {
64*5d5cb86fSPierre-Louis Bossart 	WARN_ONCE(1, "SoundWire BPT is disabled");
65*5d5cb86fSPierre-Louis Bossart 	return -EOPNOTSUPP;
66*5d5cb86fSPierre-Louis Bossart }
67*5d5cb86fSPierre-Louis Bossart #endif
68*5d5cb86fSPierre-Louis Bossart 
69*5d5cb86fSPierre-Louis Bossart #endif /* __HDA_SDW_BPT_H */
70