Message ID | 20210525132354.297468-1-maxime@cerno.tech |
---|---|
Headers | show |
Series | drm/vc4: hdmi: Enable Channel Mapping, IEC958, HBR Passthrough using hdmi-codec | expand |
On Tue, 25 May 2021 15:23:43 +0200, Maxime Ripard wrote: > > The doc currently mentions that the IEC958 Playback Default should be > exposed on the PCM iface, and the Playback Mask on the mixer iface. > > It's a bit confusing to advise to have two related controls on two > separate ifaces, and it looks like the drivers that currently expose > those controls use any combination of the mixer and PCM ifaces. > > Let's try to clarify the situation a bit, and encourage to at least have > the controls on the same iface. > > Signed-off-by: Maxime Ripard <maxime@cerno.tech> Reviewed-by: Takashi Iwai <tiwai@suse.de> thanks, Takashi > --- > .../sound/kernel-api/writing-an-alsa-driver.rst | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/Documentation/sound/kernel-api/writing-an-alsa-driver.rst b/Documentation/sound/kernel-api/writing-an-alsa-driver.rst > index e6365836fa8b..01d59b8aea92 100644 > --- a/Documentation/sound/kernel-api/writing-an-alsa-driver.rst > +++ b/Documentation/sound/kernel-api/writing-an-alsa-driver.rst > @@ -3508,14 +3508,15 @@ field must be set, though). > > “IEC958 Playback Con Mask” is used to return the bit-mask for the IEC958 > status bits of consumer mode. Similarly, “IEC958 Playback Pro Mask” > -returns the bitmask for professional mode. They are read-only controls, > -and are defined as MIXER controls (iface = > -``SNDRV_CTL_ELEM_IFACE_MIXER``). > +returns the bitmask for professional mode. They are read-only controls. > > Meanwhile, “IEC958 Playback Default” control is defined for getting and > -setting the current default IEC958 bits. Note that this one is usually > -defined as a PCM control (iface = ``SNDRV_CTL_ELEM_IFACE_PCM``), > -although in some places it's defined as a MIXER control. > +setting the current default IEC958 bits. > + > +Due to historical reasons, both variants of the Playback Mask and the > +Playback Default controls can be implemented on either a > +``SNDRV_CTL_ELEM_IFACE_PCM`` or a ``SNDRV_CTL_ELEM_IFACE_MIXER`` iface. > +Drivers should expose the mask and default on the same iface though. > > In addition, you can define the control switches to enable/disable or to > set the raw bit mode. The implementation will depend on the chip, but > -- > 2.31.1 >
On Tue, May 25, 2021 at 03:23:45PM +0200, Maxime Ripard wrote: > We're going to add more controls to support the IEC958 output, so let's > rework the control registration a bit to support more of them. Acked-by: Mark Brown <broonie@kernel.org>
On Tue, 2021-05-25 at 15:23 +0200, Maxime Ripard wrote: > From: Dom Cobley <popcornmix@gmail.com> > > Symptom is random switching of speakers when using multichannel. > > Repeatedly running speakertest -c8 occasionally starts with > channels jumbled. This is fixed with HD_CTL_WHOLSMP. > > The other bit looks beneficial and apears harmless in testing so > I'd suggest adding it too. > > Documentation says: HD_CTL_WHILSMP_SET > Wait for whole sample. When this bit is set MAI transmit will start > only when there is at least one whole sample available in the fifo. > > Documentation says: HD_CTL_CHALIGN_SET > Channel Align When Overflow. This bit is used to realign the audio > channels in case of an overflow. > If this bit is set, after the detection of an overflow, equal > amount of dummy words to the missing words will be written to fifo, > filling up the broken sample and maintaining alignment. > > Signed-off-by: Dom Cobley <popcornmix@gmail.com> > Signed-off-by: Maxime Ripard <maxime@cerno.tech> > --- Reviewed-by: Nicolas Saenz Julienne <nsaenz@kernel.org> Regards, Nicolas
On Tue, 2021-05-25 at 15:23 +0200, Maxime Ripard wrote: > From: Dom Cobley <popcornmix@gmail.com> > > The hardware uses this for generating the right audio > data island packets when using formats other than PCM > > Signed-off-by: Dom Cobley <popcornmix@gmail.com> > Signed-off-by: Maxime Ripard <maxime@cerno.tech> > --- Reviewed-by: Nicolas Saenz Julienne <nsaenz@kernel.org> Regards, Nicolas