[Intel-gfx] [PATCH] drm/i915/display: compute config for audio

Kai Vehmanen kai.vehmanen at linux.intel.com
Wed Aug 24 15:57:04 UTC 2022


Hi,

On Wed, 24 Aug 2022, Jani Nikula wrote:

> On Wed, 24 Aug 2022, "Borah, Chaitanya Kumar" <chaitanya.kumar.borah at intel.com> wrote:
> > In certain scenarios, we might have to filter out some audio
> > configuration depending on HW limitation. For example, in
> > GLK DP port more than 2 channels are not supported for audio.
[...]
> > +			for (i = 0; i < drm_eld_sad_count(temp_buf); i++, sad += 3) {
> > +				if (!(intel_encoder->supported_sads & (1 << i)))
> > +					memset(&sad[0], 0, 3);
> 
> Here's the main question I have about the change, really. The ELD
> (literally EDID-like-data) and SAD are supposed to describe the *sink*
> capabilities. Why are we filtering the data here, telling the audio
> controller driver this is what the *sink* supports, when the limitation
> comes from the *source*?
> 
> I could just be clueless about how audio works, but semantically this
> feels the same as modifying the EDID based on what the *source*
> supports.

I provided early input to this patchset and I think this is a pragmatic 
approach to take. What the audio controller really wants is intersection 
of capabilities supported both by source and the sink. E.g. no need to 
advertise to the audio user-space about an audio format xyz, if the full 
pipeline, including source and sink, cannot support it.

And in practise, as the constraints depend on active display 
configuration, this is the only interface where we can pass such 
information to ALSA.

Br, Kai


More information about the Intel-gfx mailing list