cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

amdtp-am824.h (1601B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
      3#define SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
      4
      5#include <sound/pcm.h>
      6#include <sound/rawmidi.h>
      7
      8#include "amdtp-stream.h"
      9
     10#define AM824_IN_PCM_FORMAT_BITS	SNDRV_PCM_FMTBIT_S32
     11
     12#define AM824_OUT_PCM_FORMAT_BITS	SNDRV_PCM_FMTBIT_S32
     13
     14/*
     15 * This module supports maximum 64 PCM channels for one PCM stream
     16 * This is for our convenience.
     17 */
     18#define AM824_MAX_CHANNELS_FOR_PCM	64
     19
     20/*
     21 * AMDTP packet can include channels for MIDI conformant data.
     22 * Each MIDI conformant data channel includes 8 MPX-MIDI data stream.
     23 * Each MPX-MIDI data stream includes one data stream from/to MIDI ports.
     24 *
     25 * This module supports maximum 1 MIDI conformant data channels.
     26 * Then this AMDTP packets can transfer maximum 8 MIDI data streams.
     27 */
     28#define AM824_MAX_CHANNELS_FOR_MIDI	1
     29
     30int amdtp_am824_set_parameters(struct amdtp_stream *s, unsigned int rate,
     31			       unsigned int pcm_channels,
     32			       unsigned int midi_ports,
     33			       bool double_pcm_frames);
     34
     35void amdtp_am824_set_pcm_position(struct amdtp_stream *s, unsigned int index,
     36				 unsigned int position);
     37
     38void amdtp_am824_set_midi_position(struct amdtp_stream *s,
     39				   unsigned int position);
     40
     41int amdtp_am824_add_pcm_hw_constraints(struct amdtp_stream *s,
     42				       struct snd_pcm_runtime *runtime);
     43
     44void amdtp_am824_midi_trigger(struct amdtp_stream *s, unsigned int port,
     45			      struct snd_rawmidi_substream *midi);
     46
     47int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit,
     48		     enum amdtp_stream_direction dir, unsigned int flags);
     49#endif