| Server IP : 54.233.248.239 / Your IP : 172.28.1.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/modules/6.5.0-1014-aws/build/include/sound/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0
*
* linux/sound/sdw.h -- SoundWire helpers for ALSA/ASoC
*
* Copyright (c) 2022 Cirrus Logic Inc.
*
* Author: Charles Keepax <ckeepax@opensource.cirrus.com>
*/
#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