mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
docs: sound: hdspm: clean up driver doc.
Do some overall document cleanups: - add driver name for clarification - fix some punctuation issues - correct some capitalization - correct some grammar - convert a few words from German to English - eliminate double use of "note:" - unindent Precise Pointer bullets so that they are not part of the Hint - drop precise_ptr documentation since it has been modified to be "always on" Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Link: https://patch.msgid.link/20260914195806.1544938-1-rdunlap@infradead.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c1d6580f70
commit
4d4bc65658
|
|
@ -6,9 +6,11 @@ Software Interface ALSA-DSP MADI Driver
|
|||
|
||||
2004 - winfried ritsch
|
||||
|
||||
driver name - snd-hdspm
|
||||
|
||||
|
||||
Full functionality has been added to the driver. Since some of
|
||||
the Controls and startup-options are ALSA-Standard and only the
|
||||
the Controls and startup options are ALSA-Standard, only the
|
||||
special Controls are described and discussed below.
|
||||
|
||||
|
||||
|
|
@ -18,7 +20,7 @@ Hardware functionality
|
|||
Audio transmission
|
||||
------------------
|
||||
|
||||
* number of channels -- depends on transmission mode
|
||||
* number of channels -- depends on transmission mode
|
||||
|
||||
The number of channels chosen is from 1..Nmax. The reason to
|
||||
use for a lower number of channels is only resource allocation,
|
||||
|
|
@ -29,29 +31,29 @@ Audio transmission
|
|||
* Single Speed -- 1..64 channels
|
||||
|
||||
.. note::
|
||||
(Note: Choosing the 56channel mode for transmission or as
|
||||
Choosing the 56-channel mode for transmission or as
|
||||
receiver, only 56 are transmitted/received over the MADI, but
|
||||
all 64 channels are available for the mixer, so channel count
|
||||
for the driver)
|
||||
for the driver.
|
||||
|
||||
* Double Speed -- 1..32 channels
|
||||
|
||||
.. note::
|
||||
Note: Choosing the 56-channel mode for
|
||||
transmission/receive-mode , only 28 are transmitted/received
|
||||
Choosing the 56-channel mode for
|
||||
transmission/receive-mode, only 28 are transmitted/received
|
||||
over the MADI, but all 32 channels are available for the mixer,
|
||||
so channel count for the driver
|
||||
so channel count for the driver.
|
||||
|
||||
|
||||
* Quad Speed -- 1..16 channels
|
||||
|
||||
.. note::
|
||||
Choosing the 56-channel mode for
|
||||
transmission/receive-mode , only 14 are transmitted/received
|
||||
transmission/receive-mode, only 14 are transmitted/received
|
||||
over the MADI, but all 16 channels are available for the mixer,
|
||||
so channel count for the driver
|
||||
so channel count for the driver.
|
||||
|
||||
* Format -- signed 32 Bit Little Endian (SNDRV_PCM_FMTBIT_S32_LE)
|
||||
* Format -- signed 32-bit Little Endian (SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
* Sample Rates --
|
||||
|
||||
|
|
@ -67,30 +69,6 @@ Audio transmission
|
|||
|
||||
* fragments -- 2
|
||||
|
||||
* Hardware-pointer -- 2 Modi
|
||||
|
||||
|
||||
The Card supports the readout of the actual Buffer-pointer,
|
||||
where DMA reads/writes. Since of the bulk mode of PCI it is only
|
||||
64 Byte accurate. SO it is not really usable for the
|
||||
ALSA-mid-level functions (here the buffer-ID gives a better
|
||||
result), but if MMAP is used by the application. Therefore it
|
||||
can be configured at load-time with the parameter
|
||||
precise-pointer.
|
||||
|
||||
|
||||
.. hint::
|
||||
(Hint: Experimenting I found that the pointer is maximum 64 to
|
||||
large never to small. So if you subtract 64 you always have a
|
||||
safe pointer for writing, which is used on this mode inside
|
||||
ALSA. In theory now you can get now a latency as low as 16
|
||||
Samples, which is a quarter of the interrupt possibilities.)
|
||||
|
||||
* Precise Pointer -- off
|
||||
interrupt used for pointer-calculation
|
||||
|
||||
* Precise Pointer -- on
|
||||
hardware pointer used.
|
||||
|
||||
Controller
|
||||
----------
|
||||
|
|
@ -104,7 +82,7 @@ hwdep-interface.
|
|||
Also all 128+256 Peak and RMS-Meter can be accessed via the
|
||||
hwdep-interface. Since it could be a performance problem always
|
||||
copying and converting Peak and RMS-Levels even if you just need
|
||||
one, I decided to export the hardware structure, so that of
|
||||
one, I decided to export the hardware structure, so that if
|
||||
needed some driver-guru can implement a memory-mapping of mixer
|
||||
or peak-meters over ioctl, or also to do only copying and no
|
||||
conversion. A test-application shows the usage of the controller.
|
||||
|
|
@ -112,9 +90,9 @@ conversion. A test-application shows the usage of the controller.
|
|||
* Latency Controls --- not implemented !!!
|
||||
|
||||
.. note::
|
||||
Note: Within the windows-driver the latency is accessible of a
|
||||
control-panel, but buffer-sizes are controlled with ALSA from
|
||||
hwparams-calls and should not be changed in run-state, I did not
|
||||
Within the Windows driver the latency is accessible via
|
||||
Control Panel, but buffer sizes are controlled with ALSA from
|
||||
hwparams calls and should not be changed in run-state. I did not
|
||||
implement it here.
|
||||
|
||||
|
||||
|
|
@ -127,12 +105,12 @@ conversion. A test-application shows the usage of the controller.
|
|||
* Values -- "Master" "Slave"
|
||||
|
||||
.. note::
|
||||
!!!! This is a hardware-function but is in conflict with the
|
||||
Clock-source controller, which is a kind of ALSA-standard. I
|
||||
!!!! This is a hardware function but is in conflict with the
|
||||
Clock-source controller, which is a kind of ALSA-standard. It
|
||||
makes sense to set the card to a special mode (master at some
|
||||
frequency or slave), since even not using an Audio-application
|
||||
frequency or slave), since even not using an Audio application
|
||||
a studio should have working synchronisations setup. So use
|
||||
Clock-source-controller instead !!!!
|
||||
Clock-source controller instead !!!!
|
||||
|
||||
* Clock Source
|
||||
|
||||
|
|
@ -145,11 +123,11 @@ conversion. A test-application shows the usage of the controller.
|
|||
"Internal 96.0 kHz"
|
||||
|
||||
Choose between Master at a specific Frequency and so also the
|
||||
Speed-mode or Slave (Autosync). Also see "Preferred Sync Ref"
|
||||
Speed-mode or Slave (Autosync). Also see "Preferred Sync Ref".
|
||||
|
||||
.. warning::
|
||||
!!!! This is no pure hardware function but was implemented by
|
||||
ALSA by some ALSA-drivers before, so I use it also. !!!
|
||||
!!!! This is not a pure hardware function but was implemented by
|
||||
ALSA by some ALSA drivers before, so I use it also. !!!
|
||||
|
||||
|
||||
* Preferred Sync Ref
|
||||
|
|
@ -165,7 +143,7 @@ conversion. A test-application shows the usage of the controller.
|
|||
chosen. If it is not available another is used if possible.
|
||||
|
||||
.. note::
|
||||
Note: Since MADI has a much higher bit-rate than word-clock, the
|
||||
Since MADI has a much higher bit-rate than word-clock, the
|
||||
card should synchronise better in MADI Mode. But since the
|
||||
RME-PLL is very good, there are almost no problems with
|
||||
word-clock too. I never found a difference.
|
||||
|
|
@ -179,12 +157,12 @@ conversion. A test-application shows the usage of the controller.
|
|||
|
||||
* Values -- 0 1
|
||||
|
||||
Using 64-channel-modus (1) or 56-channel-modus for
|
||||
Using 64-channel mode (1) or 56-channel mode for
|
||||
MADI-transmission (0).
|
||||
|
||||
|
||||
.. note::
|
||||
Note: This control is for output only. Input-mode is detected
|
||||
This control is for output only. Input mode is detected
|
||||
automatically from hardware sending MADI.
|
||||
|
||||
|
||||
|
|
@ -200,7 +178,7 @@ conversion. A test-application shows the usage of the controller.
|
|||
Don't use to lower 5 Audio-bits on AES as additional Bits.
|
||||
|
||||
|
||||
* Safe Mode oder Auto Input
|
||||
* Safe Mode or Auto Input
|
||||
|
||||
* Name -- "Safe Mode"
|
||||
|
||||
|
|
@ -222,7 +200,7 @@ conversion. A test-application shows the usage of the controller.
|
|||
* Values -- optical coaxial
|
||||
|
||||
|
||||
Choosing the Input, optical or coaxial. If Safe-mode is active,
|
||||
Choosing the Input, optical or coaxial. If Safe mode is active,
|
||||
this is the preferred Input.
|
||||
|
||||
Mixer
|
||||
|
|
@ -240,7 +218,7 @@ Mixer
|
|||
Here as a first value the channel-index is taken to get/set the
|
||||
corresponding mixer channel, where 0-63 are the input to output
|
||||
fader and 64-127 the playback to outputs fader. Value 0
|
||||
is channel muted 0 and 32768 an amplification of 1.
|
||||
is channel muted 0 and 32768 an amplification of 1.
|
||||
|
||||
* Chn 1-64
|
||||
|
||||
|
|
@ -250,14 +228,14 @@ Mixer
|
|||
|
||||
* Line Out
|
||||
|
||||
* Name -- "Line Out"
|
||||
* Name -- "Line Out"
|
||||
|
||||
* Access -- Read Write
|
||||
|
||||
* Values -- 0 1
|
||||
|
||||
Switching on and off the analog out, which has nothing to do
|
||||
with mixing or routing. the analog outs reflects channel 63,64.
|
||||
with mixing or routing. The analog outs reflects channel 63,64.
|
||||
|
||||
|
||||
Information (only read access)
|
||||
|
|
@ -280,7 +258,7 @@ Information (only read access)
|
|||
|
||||
|
||||
Should be "Autosync Rate", but Name used is
|
||||
ALSA-Scheme. External Sample frequency liked used on Autosync is
|
||||
ALSA-Scheme. External Sample frequency like used on Autosync is
|
||||
reported.
|
||||
|
||||
|
||||
|
|
@ -315,19 +293,19 @@ Information (only read access)
|
|||
|
||||
Sync-Reference is either "WordClock", "MADI" or none.
|
||||
|
||||
* RX 64ch --- noch nicht implementiert
|
||||
* RX 64ch --- not yet implemented
|
||||
|
||||
MADI-Receiver is in 64 channel mode oder 56 channel mode.
|
||||
MADI-Receiver is in 64-channel mode or 56-channel mode.
|
||||
|
||||
|
||||
* AB_inp --- not tested
|
||||
* AB_inp --- not tested
|
||||
|
||||
Used input for Auto-Input.
|
||||
|
||||
|
||||
* actual Buffer Position --- not implemented
|
||||
|
||||
!!! this is a ALSA internal function, so no control is used !!!
|
||||
!!! This is an ALSA internal function, so no control is used !!!
|
||||
|
||||
|
||||
|
||||
|
|
@ -352,22 +330,15 @@ Calling Parameter
|
|||
|
||||
note: ALSA-standard
|
||||
|
||||
* precise_ptr int array (min = 1, max = 8)
|
||||
|
||||
Enable precise pointer, or disable.
|
||||
|
||||
.. note::
|
||||
note: Use only when the application supports this (which is a special case).
|
||||
|
||||
* line_outs_monitor int array (min = 1, max = 8)
|
||||
|
||||
Send playback streams to analog outs by default.
|
||||
|
||||
.. note::
|
||||
note: each playback channel is mixed to the same numbered output
|
||||
Each playback channel is mixed to the same numbered output
|
||||
channel (routed). This is against the ALSA-convention, where all
|
||||
channels have to be muted on after loading the driver, but was
|
||||
used before on other cards, so i historically use it again)
|
||||
used before on other cards, so I historically use it again.
|
||||
|
||||
|
||||
|
||||
|
|
@ -375,5 +346,5 @@ Calling Parameter
|
|||
|
||||
Enable Analog Out on Channel 63/64 by default.
|
||||
|
||||
.. note ::
|
||||
note: here the analog output is enabled (but not routed).
|
||||
.. note::
|
||||
Here the analog output is enabled (but not routed).
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user