All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Paulo Zanoni <przanoni@gmail.com>
Cc: alsa-devel@alsa-project.org, Daniel Vetter <daniel@ffwll.ch>,
	daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org,
	Wang xingchao <xingchao.wang@linux.intel.com>,
	liam.r.girdwood@intel.com, david.henningsson@canonical.com
Subject: Re: [Intel-gfx] [PATCH 0/4 V7] Power-well API implementation for Haswell
Date: Sat, 06 Jul 2013 08:20:59 +0200	[thread overview]
Message-ID: <s5hd2qww6no.wl%tiwai@suse.de> (raw)
In-Reply-To: <CA+gsUGRVkeArxvFPFH0=MfZH6M6-VTpu8L4fbGkfoTRaB7oX0w@mail.gmail.com>

At Fri, 5 Jul 2013 18:19:32 -0300,
Paulo Zanoni wrote:
> 
> 2013/7/4 Wang xingchao <xingchao.wang@linux.intel.com>:
> > On Thu, Jul 04, 2013 at 10:24:15AM -0300, Paulo Zanoni wrote:
> >> 2013/7/4 Wang xingchao <xingchao.wang@linux.intel.com>:
> >> > On Wed, Jul 03, 2013 at 05:00:51PM -0300, Paulo Zanoni wrote:
> >> >> 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
> >> >
> >> > right, if no application using audio it should be in runtime suspend mode.
> >> > And maybe your system didnot enable runtime suspend by default, would you
> >> > tell me the output below?
> >> > cat /sys/devices/pci0000:00/0000:00:03.0/power/control
> >>
> >> It says "on".
> >
> > would you change it to "auto" and test again.
> > Runtime power save should be enabled with "auto".
> 
> Doesn't solve the problem. Should I open a bug report somewhere?
> Having the power well enabled prevents some power saving features from
> the graphics driver.

Is the HD-audio power-saving itself working?  You can check it via
watching /sys/class/hwC*/power_{on|off}_acct files.

power_save option has to be adjusted appropriately.  Note that many
DEs change this value dynamically per AC-cable plug/unplug depending
on the configuration, and often it's set to 0 (= no power save) when
AC-cable is plugged.


Takashi


> 
> 
> >
> > --xingchao
> >>
> >>
> >> >
> >> > thanks
> >> > --xingchao
> >> >> 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
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Paulo Zanoni
> >>
> >>
> >>
> >> --
> >> Paulo Zanoni
> 
> 
> 
> -- 
> Paulo Zanoni
> 

  reply	other threads:[~2013-07-06  6:19 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-30 14:07 [PATCH 0/4 V7] Power-well API implementation for Haswell Wang Xingchao
2013-05-30 14:07 ` [PATCH 1/4 V7] ALSA: hda - Fix runtime PM check Wang Xingchao
2013-05-30 14:07 ` [PATCH 2/4] ALSA: hda - Move azx_first_init() into azx_probe_continue() Wang Xingchao
2013-05-30 14:07 ` [PATCH 3/4 V7] ALSA: hda - Add power-welll support for haswell HDA Wang Xingchao
2013-05-30 14:07 ` [PATCH 4/4 V7] i915/drm: Add private api for power well usage Wang Xingchao
2013-06-06 15:34 ` [PATCH 0/4 V7] Power-well API implementation for Haswell Daniel Vetter
2013-07-03 20:00   ` Paulo Zanoni
2013-07-04  8:23     ` Wang xingchao
2013-07-04 13:24       ` Paulo Zanoni
2013-07-04 13:13         ` [Intel-gfx] " Wang xingchao
2013-07-05 21:19           ` Paulo Zanoni
2013-07-06  6:20             ` Takashi Iwai [this message]
2013-07-07 23:59               ` Wang xingchao
2013-07-08  8:07                 ` Takashi Iwai
2013-07-17  2:52               ` [Intel-gfx] " Wang, Xingchao
2013-07-17  7:34                 ` [alsa-devel] " Takashi Iwai
2013-07-17  8:03                   ` [Intel-gfx] " Wang, Xingchao
2013-07-17  8:18                     ` Takashi Iwai
2013-07-17  8:25                       ` Wang, Xingchao
2013-07-17 13:31                         ` [alsa-devel] " Paulo Zanoni
2013-07-17 14:00                           ` [Intel-gfx] " Takashi Iwai
2013-07-17 14:05                             ` David Henningsson
2013-07-17 14:21                               ` [alsa-devel] " Takashi Iwai
2013-07-17 23:17                                 ` [Intel-gfx] " Wang, Xingchao
2013-07-18  1:00                                 ` Wang, Xingchao
2013-07-18  6:44                                   ` Daniel Vetter
2013-07-18  9:23                                     ` [alsa-devel] " Wang, Xingchao
2013-07-18  9:34                                       ` Takashi Iwai
2013-07-24 10:31                                         ` [Intel-gfx] " Wang, Xingchao
2013-07-24 11:02                                           ` [alsa-devel] " Takashi Iwai
2013-07-24 11:33                                             ` [Intel-gfx] " Wang, Xingchao
2013-07-24 11:57                                               ` [alsa-devel] " David Henningsson
2013-07-24 12:13                                                 ` [Intel-gfx] " Takashi Iwai
2013-07-24 13:14                                                 ` Rafael J. Wysocki
2013-07-24 13:30                                                   ` Wang, Xingchao
2013-07-24 13:42                                                     ` Takashi Iwai
2013-07-24 13:46                                                       ` Wang, Xingchao
2013-07-24 14:00                                                       ` Wang, Xingchao
2013-07-25  6:50                                                         ` [alsa-devel] " Wang, Xingchao
2013-07-24 14:36                                                       ` [Intel-gfx] " Wang, Xingchao
2013-07-18  6:54                                   ` [alsa-devel] " Takashi Iwai

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=s5hd2qww6no.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@ffwll.ch \
    --cc=david.henningsson@canonical.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=liam.r.girdwood@intel.com \
    --cc=przanoni@gmail.com \
    --cc=xingchao.wang@linux.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.