All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Henningsson <david.henningsson@canonical.com>
To: Vinod Koul <vinod.koul@intel.com>, Takashi Iwai <tiwai@suse.de>
Cc: daniel.vetter@intel.com, alsa-devel@alsa-project.org,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/4] drm/i915: Add audio hotplug info struct
Date: Wed, 22 Jul 2015 19:52:23 +0200	[thread overview]
Message-ID: <55AFD857.4090901@canonical.com> (raw)
In-Reply-To: <20150722141323.GX23525@localhost>



On 2015-07-22 16:13, Vinod Koul wrote:
> On Wed, Jul 22, 2015 at 10:55:55AM +0200, Takashi Iwai wrote:
>> On Wed, 22 Jul 2015 10:50:03 +0200,
>> David Henningsson wrote:
>>>
>>>>>    struct i915_audio_component {
>>>>>    	struct device *dev;
>>>>> +	struct hdac_bus *hdac_bus;
>>>>
>>>> If we want to be more generic, using a struct device would be better,
>>>> e.g.
>>>> 	struct device *audio_dev;
>>>
>>> Does this work? If we want to have the hdac_bus.dev ptr instead of a
>>> hdac_bus ptr, there does not seem to be an obvious way to go from the
>>> audio_dev back to the hdac_bus struct (as snd_hdac_bus_init takes an
>>> arbitrary dev pointer).
>>
>> Hrm, right, currently it's not straightforward.  Scratch the idea,
>> then.
>
> That depends on the device we register this with. Actually this makes more
> sense to me :)
>
> If we register with struct device *audio_dev, which in this case would be
> the codec device we create while probing the bus. This way you are linking i915
> ops to the codec device. Ofcourse hdac_device has bus pointer but you can
> invoke device callback without even searching for the device :)

It would require some extra setup, so I skipped it (at least for now).

I e, in order to detect codecs, we need to call hdac_i915 functions to 
turn the power well on. And in order to connect the codec to the 
i915_audio_component, we need to have detected a codec.

Which, now that I think of it, actually gives an interesting potential 
race condition, in case the following happens:

1) Monitor is plugged in at boot time
2) i915 initializes
3) hda starts initializing and sets up the audio component
4) i915 finishes initialization and as part of that, calls the hotplug 
notify to let hda know that the monitor is plugged in. However, at this 
point, hda has not finished initialization yet, so there are no codecs 
that listen for this information.

Anyhow, this is not a problem really yet, but it might be if we ever 
decide to not write the ELD to the hardware.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-07-22 17:52 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-21  7:57 [PATCH 0/4] i915 to call hda driver on HDMI plug/unplug David Henningsson
2015-07-21  7:57 ` [PATCH 1/4] drm/i915: Add audio hotplug info struct David Henningsson
2015-07-22  8:22   ` Takashi Iwai
2015-07-22  8:50     ` David Henningsson
2015-07-22  8:55       ` Takashi Iwai
2015-07-22 14:13         ` Vinod Koul
2015-07-22 17:52           ` David Henningsson [this message]
2015-07-22 20:31             ` Takashi Iwai
2015-07-23  3:43               ` Vinod Koul
2015-07-23  6:17               ` David Henningsson
2015-07-23  6:25                 ` David Henningsson
2015-07-23 10:02                   ` Takashi Iwai
2015-07-21  7:57 ` [PATCH 2/4] drm/i915: Call audio hotplug notify function David Henningsson
2015-07-21  9:14   ` Daniel Vetter
2015-07-21 14:26     ` David Henningsson
2015-07-21  7:57 ` [PATCH 3/4] ALSA: hda - Dispatch incoming HDMI hotplug i915 callback David Henningsson
2015-07-22  8:30   ` Takashi Iwai
2015-07-22 13:56     ` Vinod Koul
2015-07-22 14:01       ` Takashi Iwai
2015-07-21  7:57 ` [PATCH 4/4] ALSA: hda - Wake the codec up on hotplug notify events David Henningsson
2015-07-21 17:37 ` [PATCH 0/4] i915 to call hda driver on HDMI plug/unplug R, Durgadoss
2015-07-22  8:50   ` Takashi Iwai
2015-07-22 15:53   ` David Henningsson
2015-07-22 15:28 [PATCH v2 " David Henningsson
2015-07-22 15:28 ` [PATCH 1/4] drm/i915: Add audio hotplug info struct David Henningsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55AFD857.4090901@canonical.com \
    --to=david.henningsson@canonical.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=tiwai@suse.de \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.