Viewing file: sdw.h (1.63 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 * * linux/sound/sdw.h -- SoundWire helpers for ALSA/ASoC * * Copyright (c) 2022 Cirrus Logic Inc. * * Author: Charles Keepax <[email protected]> */
#include <linux/soundwire/sdw.h> #include <sound/asound.h> #include <sound/pcm.h> #include <sound/pcm_params.h>
#ifndef __INCLUDE_SOUND_SDW_H #define __INCLUDE_SOUND_SDW_H
/** * snd_sdw_params_to_config() - Conversion from hw_params to SoundWire config * * @substream: Pointer to the PCM substream structure * @params: Pointer to the hardware params structure * @stream_config: Stream configuration for the SoundWire audio stream * @port_config: Port configuration for the SoundWire audio stream * * This function provides a basic conversion from the hw_params structure to * SoundWire configuration structures. The user will at a minimum need to also * set the port number in the port config, but may also override more of the * setup, or in the case of a complex user, not use this helper at all and * open-code everything. */ static inline void snd_sdw_params_to_config(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct sdw_stream_config *stream_config, struct sdw_port_config *port_config) { stream_config->frame_rate = params_rate(params); stream_config->ch_count = params_channels(params); stream_config->bps = snd_pcm_format_width(params_format(params));
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) stream_config->direction = SDW_DATA_DIR_RX; else stream_config->direction = SDW_DATA_DIR_TX;
port_config->ch_mask = GENMASK(stream_config->ch_count - 1, 0); }
#endif
|