Ignore:
Timestamp:
Sep 26, 2021, 6:18:40 PM (4 years ago)
Author:
David Azarewicz
Message:

Merge changes from next branch.

Location:
GPL/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk

  • GPL/trunk/alsa-kernel/include/sound/soc-dai.h

    r695 r703  
    3737#define SND_SOC_DAIFMT_LSB              SND_SOC_DAIFMT_RIGHT_J
    3838
     39/* Describes the possible PCM format */
     40/*
     41 * use SND_SOC_DAI_FORMAT_xx as eash shift.
     42 * see
     43 *      snd_soc_runtime_get_dai_fmt()
     44 */
     45#define SND_SOC_POSSIBLE_DAIFMT_FORMAT_SHIFT    0
     46#define SND_SOC_POSSIBLE_DAIFMT_FORMAT_MASK     (0xFFFF << SND_SOC_POSSIBLE_DAIFMT_FORMAT_SHIFT)
     47#define SND_SOC_POSSIBLE_DAIFMT_I2S             (1 << SND_SOC_DAI_FORMAT_I2S)
     48#define SND_SOC_POSSIBLE_DAIFMT_RIGHT_J         (1 << SND_SOC_DAI_FORMAT_RIGHT_J)
     49#define SND_SOC_POSSIBLE_DAIFMT_LEFT_J          (1 << SND_SOC_DAI_FORMAT_LEFT_J)
     50#define SND_SOC_POSSIBLE_DAIFMT_DSP_A           (1 << SND_SOC_DAI_FORMAT_DSP_A)
     51#define SND_SOC_POSSIBLE_DAIFMT_DSP_B           (1 << SND_SOC_DAI_FORMAT_DSP_B)
     52#define SND_SOC_POSSIBLE_DAIFMT_AC97            (1 << SND_SOC_DAI_FORMAT_AC97)
     53#define SND_SOC_POSSIBLE_DAIFMT_PDM             (1 << SND_SOC_DAI_FORMAT_PDM)
     54
    3955/*
    4056 * DAI Clock gating.
     
    4561#define SND_SOC_DAIFMT_CONT             (1 << 4) /* continuous clock */
    4662#define SND_SOC_DAIFMT_GATED            (0 << 4) /* clock is gated */
     63
     64/* Describes the possible PCM format */
     65/*
     66 * define GATED -> CONT. GATED will be selected if both are selected.
     67 * see
     68 *      snd_soc_runtime_get_dai_fmt()
     69 */
     70#define SND_SOC_POSSIBLE_DAIFMT_CLOCK_SHIFT     16
     71#define SND_SOC_POSSIBLE_DAIFMT_CLOCK_MASK      (0xFFFF << SND_SOC_POSSIBLE_DAIFMT_CLOCK_SHIFT)
     72#define SND_SOC_POSSIBLE_DAIFMT_GATED           (0x1ULL << SND_SOC_POSSIBLE_DAIFMT_CLOCK_SHIFT)
     73#define SND_SOC_POSSIBLE_DAIFMT_CONT            (0x2ULL << SND_SOC_POSSIBLE_DAIFMT_CLOCK_SHIFT)
    4774
    4875/*
     
    7299#define SND_SOC_DAIFMT_IB_IF            (4 << 8) /* invert BCLK + FRM */
    73100
     101/* Describes the possible PCM format */
     102#define SND_SOC_POSSIBLE_DAIFMT_INV_SHIFT       32
     103#define SND_SOC_POSSIBLE_DAIFMT_INV_MASK        (0xFFFFULL << SND_SOC_POSSIBLE_DAIFMT_INV_SHIFT)
     104#define SND_SOC_POSSIBLE_DAIFMT_NB_NF           (0x1ULL    << SND_SOC_POSSIBLE_DAIFMT_INV_SHIFT)
     105#define SND_SOC_POSSIBLE_DAIFMT_NB_IF           (0x2ULL    << SND_SOC_POSSIBLE_DAIFMT_INV_SHIFT)
     106#define SND_SOC_POSSIBLE_DAIFMT_IB_NF           (0x4ULL    << SND_SOC_POSSIBLE_DAIFMT_INV_SHIFT)
     107#define SND_SOC_POSSIBLE_DAIFMT_IB_IF           (0x8ULL    << SND_SOC_POSSIBLE_DAIFMT_INV_SHIFT)
     108
    74109/*
    75110 * DAI hardware clock providers/consumers
     
    89124#define SND_SOC_DAIFMT_CBM_CFS          SND_SOC_DAIFMT_CBP_CFC
    90125#define SND_SOC_DAIFMT_CBS_CFS          SND_SOC_DAIFMT_CBC_CFC
     126
     127/* Describes the possible PCM format */
     128#define SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_SHIFT    48
     129#define SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_MASK     (0xFFFFULL << SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_SHIFT)
     130#define SND_SOC_POSSIBLE_DAIFMT_CBP_CFP                 (0x1ULL    << SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_SHIFT)
     131#define SND_SOC_POSSIBLE_DAIFMT_CBC_CFP                 (0x2ULL    << SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_SHIFT)
     132#define SND_SOC_POSSIBLE_DAIFMT_CBP_CFC                 (0x4ULL    << SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_SHIFT)
     133#define SND_SOC_POSSIBLE_DAIFMT_CBC_CFC                 (0x8ULL    << SND_SOC_POSSIBLE_DAIFMT_CLOCK_PROVIDER_SHIFT)
    91134
    92135#define SND_SOC_DAIFMT_FORMAT_MASK              0x000f
     
    132175
    133176/* Digital Audio interface formatting */
     177int snd_soc_dai_get_fmt_max_priority(struct snd_soc_pcm_runtime *rtd);
     178u64 snd_soc_dai_get_fmt(struct snd_soc_dai *dai, int priority);
    134179int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt);
    135180
     
    293338                struct snd_soc_dai *);
    294339
     340        /*
     341         * Format list for auto selection.
     342         * Format will be increased if priority format was
     343         * not selected.
     344         * see
     345         *      snd_soc_dai_get_fmt()
     346         */
     347        u64 *auto_selectable_formats;
     348        int num_auto_selectable_formats;
     349
    295350        /* bit field */
    296351        unsigned int no_capture_mute:1;
Note: See TracChangeset for help on using the changeset viewer.