[alsa-devel] [Intel-gfx] [PATCH 0/4 V7] Power-well API implementation for Haswell

Paulo Zanoni przanoni at gmail.com
Wed Jul 3 22:00:51 CEST 2013


2013/6/6 Daniel Vetter <daniel at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni


More information about the Alsa-devel mailing list