public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: mengdong.lin@linux.intel.com, tiwai@suse.de,
	intel-gfx@lists.freedesktop.org, liam.r.girdwood@linux.intel.com,
	vinod.koul@intel.com, broonie@kernel.org,
	rakesh.a.ughreja@intel.com,
	David Henningsson <david.henningsson@canonical.com>
Subject: Re: [RFC 04/15] drm/i915: Add headers for non-HDAudio HDMI interface
Date: Tue, 15 Mar 2016 09:36:55 +0100	[thread overview]
Message-ID: <20160315083655.GV14170@phenom.ffwll.local> (raw)
In-Reply-To: <20160314090359.GO14170@phenom.ffwll.local>

On Mon, Mar 14, 2016 at 10:04:00AM +0100, Daniel Vetter wrote:
> On Fri, Mar 11, 2016 at 09:09:12PM +0200, Ville Syrjälä wrote:
> > On Fri, Mar 11, 2016 at 11:27:13AM -0600, Pierre-Louis Bossart wrote:
> > > Thanks for the review Ville
> > > 
> > > [snip]
> > > 
> > > > Kinda hard to see where everything gets used due to the way the patches
> > > > are split up.
> > > 
> > > Yes, it's far from great...
> > > 
> > > > At least the hotplug/mode change events are not needed. We only have the
> > > > two points where i915 should inform the audio driver about this stuff,
> > > > and those are the intel_audio_code_enable/disable(). For that we
> > > > already have the .pin_eld_notify() hook.
> > > >
> > > > The interrupt stuff should mostly vanish from i915 with the subdevice
> > > > approach. As in i915 would just call the interrupt handler of the audio
> > > > driver based on the LPE bits in IIR, and the audio driver can then do
> > > > whatever it wants based on its own status register.
> > > 
> > > Are you saying that the subdevice would provide a read/write interface 
> > > for the audio driver to look at display registers, and the i915 driver 
> > > would only provide a notification interface (EDID and interrupts) to the 
> > > audio driver?
> > 
> > The audio driver would simply ioremap the appropriate range of
> > registers itself.
> > 
> > > If yes, would there be two component framework links, one between 
> > > i915/audio driver and one between subdevice/audio driver.
> > 
> > Yeah sort of. i915 registers the platform device for the audio, the
> > audio driver can then bind to the device via the platform driver .probe
> > callback. It can then register with the audio component stuff at some
> > point to get the relevant notifications on the display state. When
> > i915 gets unloaded we remove the platform device, at which point the
> > audio driver's platform driver .remove() callback gets invoked and
> > it should unregister/cleanup everything.
> > 
> > I just tried to frob around with the VED code a bit, and got it to load
> > at least. It's not quite happy about reloading i915 while the ipvr
> > driver was loaded though. Not sure what's going on there, but I do
> > think this approach should work. So the VED patch could serve as a
> > decent enough model to follow.
> 
> platform devices registerd by modules are apparently inherently racy and
> in an unfixable way. At least I remember something like that from VED
> discussion.
> 
> In short you _must_ unload VED manually before unloading i915, or it all
> goes boom. If this is the only thing that went boom it's acceptable.
> 
> Another bit we didn't fully do for VED is abstracting away the dma mapping
> stuff, because x86 dma abstraction sucks (compared to arm). Not sure, but
> this might have been fixed meanwhile - if we can set up a dma_ops that the
> subdevice would use, we should do so (instead of the page_to_pfn hacks VED
> used).

This one might be a bit a problem - on byt we got away with pfn_to_page
because no iommu at all, but that's not a good idea really. Definitely
need to reevaluate this again. Iirc there's been some talk of just walking
up a chain of platform devices until the core x86 dma code finds something
with dma support, then use that.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2016-03-15  8:36 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-05  2:50 [RFC 00/15] HDMI Audio support on Atom w/o HDAUdio Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 01/15] drm: i915: fix inversion of definitions for LPE_PIPE_A/B Pierre-Louis Bossart
2016-03-05 13:27   ` Ville Syrjälä
2016-03-07 18:00     ` Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 02/15] drm: i915: remove intel_hdmi variable declaration Pierre-Louis Bossart
2016-03-10 17:34   ` Ville Syrjälä
2016-03-11 17:08     ` Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 03/15] Doc: sound: add description of Atom HDMI audio interface Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 04/15] drm/i915: Add headers for non-HDAudio HDMI interface Pierre-Louis Bossart
2016-03-10 17:54   ` Ville Syrjälä
2016-03-10 18:00   ` Ville Syrjälä
2016-03-11 17:27     ` Pierre-Louis Bossart
2016-03-11 19:09       ` Ville Syrjälä
2016-03-14  9:04         ` Daniel Vetter
2016-03-14 14:20           ` Ville Syrjälä
2016-03-15  8:35             ` Daniel Vetter
2016-03-15 13:30               ` Ville Syrjälä
2016-03-16 16:43                 ` Ville Syrjälä
2016-03-21  8:35                   ` Daniel Vetter
2016-03-15  8:36           ` Daniel Vetter [this message]
2016-03-14 15:13         ` Pierre-Louis Bossart
2016-03-14 15:21           ` Ville Syrjälä
2016-03-14 15:30             ` Ville Syrjälä
2016-03-14 17:27               ` Pierre-Louis Bossart
2016-03-15  8:39                 ` Daniel Vetter
2016-03-15 13:35                   ` Ville Syrjälä
2016-03-15 13:43                     ` Daniel Vetter
2016-03-15 16:21                     ` Vinod Koul
2016-03-15 21:14                       ` Pierre-Louis Bossart
2016-03-16  3:09                         ` Vinod Koul
2016-03-05  2:50 ` [RFC 05/15] drm/i915: changes " Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 06/15] drm/i915: power-related changes " Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 07/15] drm/i915: Add API code for " Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 08/15] drm/i915: enable non-HDAudio HDMI interface Makefile Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 09/15] ALSA: Intel: Atom: add Atom non-HDAudio HDMI interface Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 10/15] add dependency on PM_RUNTIME Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 11/15] hdmi_audio: Improve position reporting Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 12/15] hdmi_audio: Fixup some monitor Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 13/15] hdmi_audio: Fix mishandling of AUD_HDMI_STATUS_v2 register Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 14/15] i915: Enable LPE_PIPEA_Interrupt Pierre-Louis Bossart
2016-03-05  2:50 ` [RFC 15/15] i915: Fix typo in comment Pierre-Louis Bossart
2016-03-05 13:42 ` [RFC 00/15] HDMI Audio support on Atom w/o HDAUdio Ville Syrjälä
2016-03-07 17:54   ` Pierre-Louis Bossart
2016-03-07 18:02     ` Ville Syrjälä
2016-03-07 18:12       ` Pierre-Louis Bossart
2016-03-07 18:29         ` Ville Syrjälä
2016-03-07 12:04 ` ✗ Fi.CI.BAT: failure for " Patchwork

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=20160315083655.GV14170@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=broonie@kernel.org \
    --cc=david.henningsson@canonical.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=mengdong.lin@linux.intel.com \
    --cc=rakesh.a.ughreja@intel.com \
    --cc=tiwai@suse.de \
    --cc=ville.syrjala@linux.intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox