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

TOMOYO Linux Cross Reference
Linux/Documentation/sound/soc/platform.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/sound/soc/platform.rst (Version linux-6.12-rc7) and /Documentation/sound/soc/platform.rst (Version linux-4.17.19)


  1 ====================                                1 ====================
  2 ASoC Platform Driver                                2 ASoC Platform Driver
  3 ====================                                3 ====================
  4                                                     4 
  5 An ASoC platform driver class can be divided i      5 An ASoC platform driver class can be divided into audio DMA drivers, SoC DAI
  6 drivers and DSP drivers. The platform drivers       6 drivers and DSP drivers. The platform drivers only target the SoC CPU and must
  7 have no board specific code.                        7 have no board specific code.
  8                                                     8 
  9 Audio DMA                                           9 Audio DMA
 10 =========                                          10 =========
 11                                                    11 
 12 The platform DMA driver optionally supports th     12 The platform DMA driver optionally supports the following ALSA operations:-
 13 ::                                                 13 ::
 14                                                    14 
 15   /* SoC audio ops */                              15   /* SoC audio ops */
 16   struct snd_soc_ops {                             16   struct snd_soc_ops {
 17         int (*startup)(struct snd_pcm_substrea     17         int (*startup)(struct snd_pcm_substream *);
 18         void (*shutdown)(struct snd_pcm_substr     18         void (*shutdown)(struct snd_pcm_substream *);
 19         int (*hw_params)(struct snd_pcm_substr     19         int (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);
 20         int (*hw_free)(struct snd_pcm_substrea     20         int (*hw_free)(struct snd_pcm_substream *);
 21         int (*prepare)(struct snd_pcm_substrea     21         int (*prepare)(struct snd_pcm_substream *);
 22         int (*trigger)(struct snd_pcm_substrea     22         int (*trigger)(struct snd_pcm_substream *, int);
 23   };                                               23   };
 24                                                    24 
 25 The platform driver exports its DMA functional     25 The platform driver exports its DMA functionality via struct
 26 snd_soc_component_driver:-                     !!  26 snd_soc_platform_driver:-
 27 ::                                                 27 ::
 28                                                    28 
 29   struct snd_soc_component_driver {            !!  29   struct snd_soc_platform_driver {
 30         const char *name;                      !!  30         char *name;
 31                                                    31 
 32         ...                                    !!  32         int (*probe)(struct platform_device *pdev);
 33         int (*probe)(struct snd_soc_component  !!  33         int (*remove)(struct platform_device *pdev);
 34         void (*remove)(struct snd_soc_componen !!  34         int (*suspend)(struct platform_device *pdev, struct snd_soc_cpu_dai *cpu_dai);
 35         int (*suspend)(struct snd_soc_componen !!  35         int (*resume)(struct platform_device *pdev, struct snd_soc_cpu_dai *cpu_dai);
 36         int (*resume)(struct snd_soc_component << 
 37                                                    36 
 38         /* pcm creation and destruction */         37         /* pcm creation and destruction */
 39         int (*pcm_new)(struct snd_soc_pcm_runt !!  38         int (*pcm_new)(struct snd_card *, struct snd_soc_codec_dai *, struct snd_pcm *);
 40         void (*pcm_free)(struct snd_pcm *);        39         void (*pcm_free)(struct snd_pcm *);
 41                                                    40 
 42         ...                                    !!  41         /*
 43         const struct snd_pcm_ops *ops;         !!  42          * For platform caused delay reporting.
 44         const struct snd_compr_ops *compr_ops; !!  43          * Optional.
 45         ...                                    !!  44          */
                                                   >>  45         snd_pcm_sframes_t (*delay)(struct snd_pcm_substream *,
                                                   >>  46                 struct snd_soc_dai *);
                                                   >>  47 
                                                   >>  48         /* platform stream ops */
                                                   >>  49         struct snd_pcm_ops *pcm_ops;
 46   };                                               50   };
 47                                                    51 
 48 Please refer to the ALSA driver documentation      52 Please refer to the ALSA driver documentation for details of audio DMA.
 49 https://www.kernel.org/doc/html/latest/sound/k !!  53 http://www.alsa-project.org/~iwai/writing-an-alsa-driver/
 50                                                    54 
 51 An example DMA driver is soc/pxa/pxa2xx-pcm.c      55 An example DMA driver is soc/pxa/pxa2xx-pcm.c
 52                                                    56 
 53                                                    57 
 54 SoC DAI Drivers                                    58 SoC DAI Drivers
 55 ===============                                    59 ===============
 56                                                    60 
 57 Each SoC DAI driver must provide the following     61 Each SoC DAI driver must provide the following features:-
 58                                                    62 
 59 1. Digital audio interface (DAI) description       63 1. Digital audio interface (DAI) description
 60 2. Digital audio interface configuration           64 2. Digital audio interface configuration
 61 3. PCM's description                               65 3. PCM's description
 62 4. SYSCLK configuration                            66 4. SYSCLK configuration
 63 5. Suspend and resume (optional)                   67 5. Suspend and resume (optional)
 64                                                    68 
 65 Please see codec.rst for a description of item !!  69 Please see codec.txt for a description of items 1 - 4.
 66                                                    70 
 67                                                    71 
 68 SoC DSP Drivers                                    72 SoC DSP Drivers
 69 ===============                                    73 ===============
 70                                                    74 
 71 Each SoC DSP driver usually supplies the follo     75 Each SoC DSP driver usually supplies the following features :-
 72                                                    76 
 73 1. DAPM graph                                      77 1. DAPM graph
 74 2. Mixer controls                                  78 2. Mixer controls
 75 3. DMA IO to/from DSP buffers (if applicable)      79 3. DMA IO to/from DSP buffers (if applicable)
 76 4. Definition of DSP front end (FE) PCM device     80 4. Definition of DSP front end (FE) PCM devices.
 77                                                    81 
 78 Please see DPCM.txt for a description of item      82 Please see DPCM.txt for a description of item 4.
                                                      

~ [ 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