~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/sound/hdmi-codec.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/sound/hdmi-codec.h (Version linux-6.11.5) and /include/sound/hdmi-codec.h (Version linux-4.9.337)


  1 /* SPDX-License-Identifier: GPL-2.0-only */    << 
  2 /*                                                  1 /*
  3  * hdmi-codec.h - HDMI Codec driver API             2  * hdmi-codec.h - HDMI Codec driver API
  4  *                                                  3  *
  5  * Copyright (C) 2014 Texas Instruments Incorp !!   4  * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com
  6  *                                                  5  *
  7  * Author: Jyri Sarha <jsarha@ti.com>               6  * Author: Jyri Sarha <jsarha@ti.com>
                                                   >>   7  *
                                                   >>   8  * This program is free software; you can redistribute it and/or
                                                   >>   9  * modify it under the terms of the GNU General Public License
                                                   >>  10  * version 2 as published by the Free Software Foundation.
                                                   >>  11  *
                                                   >>  12  * This program is distributed in the hope that it will be useful, but
                                                   >>  13  * WITHOUT ANY WARRANTY; without even the implied warranty of
                                                   >>  14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                                                   >>  15  * General Public License for more details.
  8  */                                                16  */
  9                                                    17 
 10 #ifndef __HDMI_CODEC_H__                           18 #ifndef __HDMI_CODEC_H__
 11 #define __HDMI_CODEC_H__                           19 #define __HDMI_CODEC_H__
 12                                                    20 
 13 #include <linux/of_graph.h>                    << 
 14 #include <linux/hdmi.h>                            21 #include <linux/hdmi.h>
                                                   >>  22 #include <drm/drm_edid.h>
 15 #include <sound/asoundef.h>                        23 #include <sound/asoundef.h>
 16 #include <sound/soc.h>                         << 
 17 #include <uapi/sound/asound.h>                     24 #include <uapi/sound/asound.h>
 18                                                    25 
 19 /*                                                 26 /*
 20  * Protocol between ASoC cpu-dai and HDMI-enco     27  * Protocol between ASoC cpu-dai and HDMI-encoder
 21  */                                                28  */
 22 struct hdmi_codec_daifmt {                         29 struct hdmi_codec_daifmt {
 23         enum {                                     30         enum {
 24                 HDMI_I2S,                          31                 HDMI_I2S,
 25                 HDMI_RIGHT_J,                      32                 HDMI_RIGHT_J,
 26                 HDMI_LEFT_J,                       33                 HDMI_LEFT_J,
 27                 HDMI_DSP_A,                        34                 HDMI_DSP_A,
 28                 HDMI_DSP_B,                        35                 HDMI_DSP_B,
 29                 HDMI_AC97,                         36                 HDMI_AC97,
 30                 HDMI_SPDIF,                        37                 HDMI_SPDIF,
 31         } fmt;                                     38         } fmt;
 32         unsigned int bit_clk_inv:1;                39         unsigned int bit_clk_inv:1;
 33         unsigned int frame_clk_inv:1;              40         unsigned int frame_clk_inv:1;
 34         unsigned int bit_clk_provider:1;       !!  41         unsigned int bit_clk_master:1;
 35         unsigned int frame_clk_provider:1;     !!  42         unsigned int frame_clk_master:1;
 36         /* bit_fmt could be standard PCM forma << 
 37          * IEC958 encoded format. ALSA IEC958  << 
 38          * IEC958_SUBFRAME format to the under << 
 39          */                                    << 
 40         snd_pcm_format_t bit_fmt;              << 
 41 };                                                 43 };
 42                                                    44 
 43 /*                                                 45 /*
 44  * HDMI audio parameters                           46  * HDMI audio parameters
 45  */                                                47  */
 46 struct hdmi_codec_params {                         48 struct hdmi_codec_params {
 47         struct hdmi_audio_infoframe cea;           49         struct hdmi_audio_infoframe cea;
 48         struct snd_aes_iec958 iec;                 50         struct snd_aes_iec958 iec;
 49         int sample_rate;                           51         int sample_rate;
 50         int sample_width;                          52         int sample_width;
 51         int channels;                              53         int channels;
 52 };                                                 54 };
 53                                                    55 
 54 typedef void (*hdmi_codec_plugged_cb)(struct d << 
 55                                       bool plu << 
 56                                                << 
 57 struct hdmi_codec_pdata;                           56 struct hdmi_codec_pdata;
 58 struct hdmi_codec_ops {                            57 struct hdmi_codec_ops {
 59         /*                                         58         /*
 60          * Called when ASoC starts an audio st     59          * Called when ASoC starts an audio stream setup.
 61          * Optional                                60          * Optional
 62          */                                        61          */
 63         int (*audio_startup)(struct device *de     62         int (*audio_startup)(struct device *dev, void *data);
 64                                                    63 
 65         /*                                         64         /*
 66          * Configures HDMI-encoder for audio s     65          * Configures HDMI-encoder for audio stream.
 67          * Having either prepare or hw_params  !!  66          * Mandatory
 68          */                                        67          */
 69         int (*hw_params)(struct device *dev, v     68         int (*hw_params)(struct device *dev, void *data,
 70                          struct hdmi_codec_dai     69                          struct hdmi_codec_daifmt *fmt,
 71                          struct hdmi_codec_par     70                          struct hdmi_codec_params *hparms);
 72                                                    71 
 73         /*                                         72         /*
 74          * Configures HDMI-encoder for audio s << 
 75          * multiple times for each setup.      << 
 76          *                                     << 
 77          * Having either prepare or hw_params  << 
 78          */                                    << 
 79         int (*prepare)(struct device *dev, voi << 
 80                        struct hdmi_codec_daifm << 
 81                        struct hdmi_codec_param << 
 82                                                << 
 83         /*                                     << 
 84          * Shuts down the audio stream.            73          * Shuts down the audio stream.
 85          * Mandatory                               74          * Mandatory
 86          */                                        75          */
 87         void (*audio_shutdown)(struct device *     76         void (*audio_shutdown)(struct device *dev, void *data);
 88                                                    77 
 89         /*                                         78         /*
 90          * Mute/unmute HDMI audio stream.          79          * Mute/unmute HDMI audio stream.
 91          * Optional                                80          * Optional
 92          */                                        81          */
 93         int (*mute_stream)(struct device *dev, !!  82         int (*digital_mute)(struct device *dev, void *data, bool enable);
 94                            bool enable, int di << 
 95                                                    83 
 96         /*                                         84         /*
 97          * Provides EDID-Like-Data from connec     85          * Provides EDID-Like-Data from connected HDMI device.
 98          * Optional                                86          * Optional
 99          */                                        87          */
100         int (*get_eld)(struct device *dev, voi     88         int (*get_eld)(struct device *dev, void *data,
101                        uint8_t *buf, size_t le     89                        uint8_t *buf, size_t len);
102                                                << 
103         /*                                     << 
104          * Getting DAI ID                      << 
105          * Optional                            << 
106          */                                    << 
107         int (*get_dai_id)(struct snd_soc_compo << 
108                           struct device_node * << 
109                                                << 
110         /*                                     << 
111          * Hook callback function to handle co << 
112          * Optional                            << 
113          */                                    << 
114         int (*hook_plugged_cb)(struct device * << 
115                                hdmi_codec_plug << 
116                                struct device * << 
117                                                << 
118         /* bit field */                        << 
119         unsigned int no_capture_mute:1;        << 
120 };                                                 90 };
121                                                    91 
122 /* HDMI codec initalization data */                92 /* HDMI codec initalization data */
123 struct hdmi_codec_pdata {                          93 struct hdmi_codec_pdata {
124         const struct hdmi_codec_ops *ops;          94         const struct hdmi_codec_ops *ops;
125         uint i2s:1;                                95         uint i2s:1;
126         uint no_i2s_playback:1;                << 
127         uint no_i2s_capture:1;                 << 
128         uint spdif:1;                              96         uint spdif:1;
129         uint no_spdif_playback:1;              << 
130         uint no_spdif_capture:1;               << 
131         int max_i2s_channels;                      97         int max_i2s_channels;
132         void *data;                                98         void *data;
133 };                                                 99 };
134                                                << 
135 struct snd_soc_component;                      << 
136 struct snd_soc_jack;                           << 
137                                                   100 
138 #define HDMI_CODEC_DRV_NAME "hdmi-audio-codec"    101 #define HDMI_CODEC_DRV_NAME "hdmi-audio-codec"
139                                                   102 
140 #endif /* __HDMI_CODEC_H__ */                     103 #endif /* __HDMI_CODEC_H__ */
141                                                   104 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php