Re: [PATCH 2/7] drm/i915: Add get_eld audio component

Takashi Iwai
2015-11-30T15:45:33Z

On Mon, 30 Nov 2015 16:34:22 +0100,
David Henningsson wrote:
>
>
>
> On 2015-11-30 16:29, Takashi Iwai wrote:
> > On Mon, 30 Nov 2015 16:24:41 +0100,
> > Ville Syrjälä wrote:
> >>
> >> On Mon, Nov 30, 2015 at 02:37:46PM +0100, Takashi Iwai wrote:
> >>> Implement a new i915_audio_component_ops, get_eld(). It's called by
> >>> the audio driver to fetch the current ELD of the given HDMI/DP port.
> >>> It returns the size of ELD bytes if it's valid, or zero if the audio
> >>> is disabled or unplugged, or a negative error code.
> >>
> >> Why do we need this? Isn't it something the eld notify hook should
> >> pass from i915 to the audio driver?
> >
> > We need this at least in two situations:
> > - when the audio driver is probed
> > - when the audio driver is resumed
> >
> >> At least with the locking you have for this, the audio driver can not
> >> call this from the eld notify hook since it would deadlock.
> >
> > OK, then we may change the eld_notify to pass the values in the
> > arguments, and also add the new op with a lock to be called from other
> > places from other places.
>
> Maybe we have to make eld_notify not do anything except to call
> schedule_work then? And that work in turn will ask for updated eld from
> the i915 driver, and handle the result.

Yes, it would work, too -- though, this would need a bit more code
reorganization.

Takashi