2013/6/6 Daniel Vetter daniel@ffwll.ch:
On Thu, May 30, 2013 at 10:07:07PM +0800, Wang Xingchao wrote:
Hi all,
This is V7 and here're some changes notes: change from V6-->V7:
- rename variable
- use HAS_POWER_WELL instead of IS_HASWELL
- put structure inside drm_i915_private
- use WARN_ON for global pointer check
change from V5-->V6:
- Remove duplication code in new introduced probe work
- move duplication code in azx_probe_continue
- remove unused #ifdef
- replace request_module with symbol_request
- replace spin_lock_irq with spin_lock_irqsave in gfx side
- other typo fixes
(review by Takashi)
change from V4-->V5:
- fix reference count bug
- new patch on general runtime pm support for audio pci device
- new patch to avoid request_module() deadlock
change between V3-->V4:
- add new structure i915_power_well
- initialize drm_device pointer at module init time
- change function name
change between V2-->V3:
- make SND_HDA_I915 selectable
- use snd_printdd to output message
- add return error code check
- use symbol_request to replace symbol_get
- release power_well at azx_free
- some typo fixes
changes between V1-->V2:
- use reference count to track power-well usage
- remove external module, compiled into snd-hda-intel instead
- manage symbols and module loading properly
- remove IS_HSW macro, use flag instead
- remove audio callback for gfx driver to avoid dependency
- split whole patch into two pieces for easy review
- more typo fixes
Takashi Iwai (1): ALSA: hda - Move azx_first_init() into azx_probe_continue()
Wang Xingchao (3): ALSA: hda - Fix runtime PM check ALSA: hda - Add power-welll support for haswell HDA i915/drm: Add private api for power well usage
After discussion with Dave and Takashi I've merged the entire series to drm-intel-next. I'll show up in the next linux-next and I'll forward it to Dave for mergin into drm-next in roughly 2 weeks.
So today I unblacklisted the audio modules on one of my Haswell machines and booted it with i915.disable_power_well=1. I only have an eDP output (it doesn't have audio) and I see the power well is enabled. This is wrong, the power well should be disabled since we only have an eDP panel, and we don't support audio on eDP. I checked on dmesg and the audio driver requests the power well but never releases it.
So I decided to do the same test on another Haswell machine, and on that specific machine the audio driver gets the power well and then releases it at azx_runtime_suspend. This machine is also eDP-only
I was expecting that on both cases the audio driver would release the power well as soon as it sees there's no connected output capable of HD audio.
How can I help debugging this?
Thanks, Paulo
Thanks, Daniel
drivers/gpu/drm/i915/i915_dma.c | 6 +++ drivers/gpu/drm/i915/i915_drv.h | 12 ++++++ drivers/gpu/drm/i915/intel_drv.h | 4 ++ drivers/gpu/drm/i915/intel_pm.c | 81 ++++++++++++++++++++++++++++++++--- include/drm/i915_powerwell.h | 36 ++++++++++++++++ sound/pci/hda/Kconfig | 10 +++++ sound/pci/hda/Makefile | 2 + sound/pci/hda/hda_i915.c | 75 ++++++++++++++++++++++++++++++++ sound/pci/hda/hda_i915.h | 35 +++++++++++++++ sound/pci/hda/hda_intel.c | 87 ++++++++++++++++++++++++++++++-------- 10 files changed, 324 insertions(+), 24 deletions(-) create mode 100644 include/drm/i915_powerwell.h create mode 100644 sound/pci/hda/hda_i915.c create mode 100644 sound/pci/hda/hda_i915.h
-- 1.7.9.5
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx