public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Paulo Zanoni <przanoni@gmail.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"Girdwood, Liam R" <liam.r.girdwood@intel.com>,
	"daniel.vetter@ffwll.ch" <daniel.vetter@ffwll.ch>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	Wang xingchao <xingchao.wang@linux.intel.com>,
	"Wang, Xingchao" <xingchao.wang@intel.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	"Jin, Gordon" <gordon.jin@intel.com>,
	"david.henningsson@canonical.com"
	<david.henningsson@canonical.com>
Subject: Re: [Intel-gfx] [PATCH 0/4 V7] Power-well API implementation for Haswell
Date: Wed, 17 Jul 2013 16:00:36 +0200	[thread overview]
Message-ID: <s5hwqopthff.wl%tiwai@suse.de> (raw)
In-Reply-To: <CA+gsUGTCimKS35XaX7V+aWXtmGBeHS2ftChU5ndzsray5Aipuw@mail.gmail.com>

At Wed, 17 Jul 2013 10:31:26 -0300,
Paulo Zanoni wrote:
> 
> 2013/7/17 Wang, Xingchao <xingchao.wang@intel.com>:
> >
> >
> >> -----Original Message-----
> >> From: Takashi Iwai [mailto:tiwai@suse.de]
> >> Sent: Wednesday, July 17, 2013 4:18 PM
> >> To: Wang, Xingchao
> >> Cc: Paulo Zanoni; alsa-devel@alsa-project.org; Daniel Vetter;
> >> daniel.vetter@ffwll.ch; intel-gfx@lists.freedesktop.org; Wang xingchao;
> >> Girdwood, Liam R; david.henningsson@canonical.com
> >> Subject: Re: [alsa-devel] [Intel-gfx] [PATCH 0/4 V7] Power-well API
> >> implementation for Haswell
> >>
> >> At Wed, 17 Jul 2013 08:03:38 +0000,
> >> Wang, Xingchao wrote:
> >> >
> >> >
> >> >
> >> > > -----Original Message-----
> >> > > From: Takashi Iwai [mailto:tiwai@suse.de]
> >> > > Sent: Wednesday, July 17, 2013 3:34 PM
> >> > > To: Wang, Xingchao
> >> > > Cc: Paulo Zanoni; alsa-devel@alsa-project.org; Daniel Vetter;
> >> > > daniel.vetter@ffwll.ch; intel-gfx@lists.freedesktop.org; Wang
> >> > > xingchao; Girdwood, Liam R; david.henningsson@canonical.com
> >> > > Subject: Re: [alsa-devel] [Intel-gfx] [PATCH 0/4 V7] Power-well API
> >> > > implementation for Haswell
> >> > >
> >> > > At Wed, 17 Jul 2013 02:52:41 +0000,
> >> > > Wang, Xingchao wrote:
> >> > > >
> >> > > > Hi Takashi/Paulo,
> >> > > >
> >> > > > > > > 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.
> >> > > > >
> >> > > > [Wang, Xingchao] Paulo used a new Ultrabook board with charger
> >> > > > connected,
> >> > > and see the default parameter "auto=on".
> >> > > > In such scenario, power-well is always occupied by Display audio
> >> > > > controller. Moreover, in this board, if no external monitors
> >> > > > connected, It's
> >> > > using internal eDP and totally no audio support. Power-well usage in
> >> > > such case also blocks some eDP features as Paulo told me.
> >> > > >
> >> > > > So I think it's not a good idea to break the rule of power policy
> >> > > > when charger
> >> > > connected but it's necessary to add support in this particular case.
> >> > > > Takashi, do you think it's acceptable to let Display audio
> >> > > > controller/codec
> >> > > suspend in such case?
> >> > >
> >> > > Do you mean the driver enables the powersave forcibly?
> >> >
> >> > Yes. I mean call pm_runtime_allow() for the power-well HD-A controller.
> >> >
> >> > > Then, no, not in general.
> >> > >
> >> > > If the default parameter of autopm is the problem, this should be
> >> > > changed, instead of forcing the policy in the driver.
> >> > >
> >> > > OTOH, the audio codec's powersave policy is governed by the
> >> > > power_save option and it's set up dynamically by the desktop system.
> >> > > We shouldn't override it in the driver.
> >> > >
> >> > > If the power well *must* be off when only an eDP is used (e.g.
> >> > > otherwise the hardware doesn't work properly), then it's a
> >> > > different story.  Is it the case?   And what exactly would be the
> >> > > problem?
> >> > In the eDP only case, no audio is needed for the HD-A controller, so it's
> >> wasting power in current design.
> >> > I think Paulo or Daniel could explain more details on the impact.
> >>
> >> Consuming more power is the expected behavior.  What else?
> >>
> >>
> >> > > If it's the case, controlling the power well based on the runtime PM
> >> > > is likely a bad design, as it relies on the parameter user sets.
> >> > > (And remember that the power-saving of the audio can be disabled
> >> > > completely via Kconfig, too.)
> >> > From audio controller's point of view, if it's asked be active, it needs power
> >> and should request power-well from gfx side.
> >> > In above case, audio controller should not be active but user set it be
> >> "active".
> >>
> >> By setting the autopm "on", user expects that no runtime PM happens.
> >> In other words, the audio controller must be kept active as long as this
> >> parameter is set.  And this is the parameter user controls, and not what the
> >> driver forcibly sets.
> >
> > Okay, become clear now. :)
> > So I think the conflict for Paulo becomes, in eDP caes, if audio is active and requested power-well, some eDP feature was under impact?
> > Paulo, would you clarify this in more details?
> 
> On our driver we try to disable the power well whenever possible, as
> soon as possible. We don't change our behavior based on power AC or
> other user-space modifiable behavior (except the
> i915.disable_power_well Kernel option). If the power well is not
> disabled we can't enable some features, like PSR (panel self refresh,
> and eDP feature) or PC8, which is another power-saving feature. This
> will also make our QA procedures a lot more complex since when we want
> to test specific features (e.g., PSR, PC8) we'll have to disconnect
> the AC adapter or run scripts. So the behavior/predictability of our
> driver will be based on the Audio driver power management policies.

So all missing feature are about the power saving?

> I am not so experienced with general Linux Power Management code, so
> maybe the way the Audio driver is behaving is just the usual way, but
> I have to admit I was expecting the audio driver would only require
> the power well when it is actually needed, and release it as soon as
> possible.

It would behave so, if all setups are for power-saving.

But, in your case, the runtime PM control attribute shows "on"; it
implies that the runtime PM is effectively disabled, thus disabling
power well is also impossible (because it would require turning off
the audio controller, too).


Takashi

  reply	other threads:[~2013-07-17 14:00 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             ` [Intel-gfx] " Takashi Iwai
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                           ` Takashi Iwai [this message]
2013-07-17 14:05                             ` [Intel-gfx] " 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=s5hwqopthff.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=gordon.jin@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=liam.r.girdwood@intel.com \
    --cc=przanoni@gmail.com \
    --cc=xingchao.wang@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox