All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Mark Brown <broonie@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	linux-pm@vger.kernel.org
Subject: Re: PM regression in next
Date: Fri, 12 Jan 2018 13:07:06 -0800	[thread overview]
Message-ID: <20180112210706.GE4821@atomide.com> (raw)
In-Reply-To: <20180112191251.GE21458@sirena.org.uk>

* Mark Brown <broonie@kernel.org> [180112 19:13]:
> On Fri, Jan 12, 2018 at 11:00:46AM -0800, Tony Lindgren wrote:
> 
> > It's commit 3bb0f7c31b1a ("ASoC: don't use snd_soc_write/read
> > on twl4030"). And that is for the PMIC on my test system, so
> > adding Kuninori and Mark to the thread :)
> 
> > Kuninori, it seems that commit 3bb0f7c31b1a causes higher
> > power consumption on an idle system on omap3 using twl4030.
> > Reverting 3bb0f7c31b1a makes things behave again. My guess
> > is that twl4030_read does not do the same as snd_soc_read
> > in the driver?
> 
> As far as I can tell it should end up boiling down to the same thing but
> I didn't follow through in detail, they should both bottom out in
> twl_i2c_read_u8() if they hit hardware - all snd_soc_read() did was call
> twl4030_read(), the patch just removes the indirection through assigning
> the pointer.
> 
> Could you try deleting the attempt to read from the cache in
> twl4030_read() and always go to hardware?

Thanks I tried that, but that's not it.

Tturns out just adding back .read = twl4030_read fixes it..
I added a dummy function for read and am now seeing a bunch
of reads that now don't happen:

(twl4030_dummy_read [snd_soc_twl4030]) from [<bf1cc3b4>]
  (snd_soc_codec_drv_read+0x1c/0x28 [snd_soc_core])
(snd_soc_codec_drv_read [snd_soc_core]) from [<bf1da1cc>]
  (snd_soc_dapm_new_widgets+0x29c/0x578 [snd_soc_core])
(snd_soc_dapm_new_widgets [snd_soc_core]) from [<bf1d2f30>]
  (snd_soc_register_card+0xad0/0xe30 [snd_soc_core])
(snd_soc_register_card [snd_soc_core]) from [<bf1e1850>]
  (devm_snd_soc_register_card+0x30/0x70 [snd_soc_core])
(devm_snd_soc_register_card [snd_soc_core]) from [<bf234364>]
  (omap_twl4030_probe+0x100/0x1d0 [snd_soc_omap_twl4030])
(omap_twl4030_probe [snd_soc_omap_twl4030]) from [<c0606660>]
  (platform_drv_probe+0x50/0xb0)

So probably there are other asoc drivers broken too with these
kind of patches until snd_soc_codec_drv_write() and
snd_soc_codec_drv_read() are fixed?

Regards,

Tony

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: PM regression in next
Date: Fri, 12 Jan 2018 13:07:06 -0800	[thread overview]
Message-ID: <20180112210706.GE4821@atomide.com> (raw)
In-Reply-To: <20180112191251.GE21458@sirena.org.uk>

* Mark Brown <broonie@kernel.org> [180112 19:13]:
> On Fri, Jan 12, 2018 at 11:00:46AM -0800, Tony Lindgren wrote:
> 
> > It's commit 3bb0f7c31b1a ("ASoC: don't use snd_soc_write/read
> > on twl4030"). And that is for the PMIC on my test system, so
> > adding Kuninori and Mark to the thread :)
> 
> > Kuninori, it seems that commit 3bb0f7c31b1a causes higher
> > power consumption on an idle system on omap3 using twl4030.
> > Reverting 3bb0f7c31b1a makes things behave again. My guess
> > is that twl4030_read does not do the same as snd_soc_read
> > in the driver?
> 
> As far as I can tell it should end up boiling down to the same thing but
> I didn't follow through in detail, they should both bottom out in
> twl_i2c_read_u8() if they hit hardware - all snd_soc_read() did was call
> twl4030_read(), the patch just removes the indirection through assigning
> the pointer.
> 
> Could you try deleting the attempt to read from the cache in
> twl4030_read() and always go to hardware?

Thanks I tried that, but that's not it.

Tturns out just adding back .read = twl4030_read fixes it..
I added a dummy function for read and am now seeing a bunch
of reads that now don't happen:

(twl4030_dummy_read [snd_soc_twl4030]) from [<bf1cc3b4>]
  (snd_soc_codec_drv_read+0x1c/0x28 [snd_soc_core])
(snd_soc_codec_drv_read [snd_soc_core]) from [<bf1da1cc>]
  (snd_soc_dapm_new_widgets+0x29c/0x578 [snd_soc_core])
(snd_soc_dapm_new_widgets [snd_soc_core]) from [<bf1d2f30>]
  (snd_soc_register_card+0xad0/0xe30 [snd_soc_core])
(snd_soc_register_card [snd_soc_core]) from [<bf1e1850>]
  (devm_snd_soc_register_card+0x30/0x70 [snd_soc_core])
(devm_snd_soc_register_card [snd_soc_core]) from [<bf234364>]
  (omap_twl4030_probe+0x100/0x1d0 [snd_soc_omap_twl4030])
(omap_twl4030_probe [snd_soc_omap_twl4030]) from [<c0606660>]
  (platform_drv_probe+0x50/0xb0)

So probably there are other asoc drivers broken too with these
kind of patches until snd_soc_codec_drv_write() and
snd_soc_codec_drv_read() are fixed?

Regards,

Tony

  reply	other threads:[~2018-01-12 21:07 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-12  0:01 PM regression in next Tony Lindgren
2018-01-12  0:01 ` Tony Lindgren
2018-01-12  0:18 ` Andrew Morton
2018-01-12  0:18   ` Andrew Morton
2018-01-12  0:23   ` Tony Lindgren
2018-01-12  0:23     ` Tony Lindgren
2018-01-12  0:45     ` Andrew Morton
2018-01-12  0:45       ` Andrew Morton
2018-01-12  0:45       ` Andrew Morton
2018-01-12  1:20       ` Tony Lindgren
2018-01-12  1:20         ` Tony Lindgren
2018-01-12  1:32         ` Tony Lindgren
2018-01-12  1:32           ` Tony Lindgren
2018-01-12 12:23           ` Rafael J. Wysocki
2018-01-12 12:23             ` Rafael J. Wysocki
2018-01-12 12:30             ` Rafael J. Wysocki
2018-01-12 12:30               ` Rafael J. Wysocki
2018-01-12 13:01               ` Lars-Peter Clausen
2018-01-12 13:01                 ` Lars-Peter Clausen
2018-01-12 13:16                 ` Andrew Lunn
2018-01-12 13:16                   ` Andrew Lunn
2018-01-12 13:52                   ` Tony Lindgren
2018-01-12 13:52                     ` Tony Lindgren
2018-01-12 13:55                     ` Andrew Lunn
2018-01-12 13:55                       ` Andrew Lunn
2018-01-12 14:14                       ` Tony Lindgren
2018-01-12 14:14                         ` Tony Lindgren
2018-01-12 19:00         ` Tony Lindgren
2018-01-12 19:00           ` Tony Lindgren
2018-01-12 19:12           ` Mark Brown
2018-01-12 19:12             ` Mark Brown
2018-01-12 21:07             ` Tony Lindgren [this message]
2018-01-12 21:07               ` Tony Lindgren
2018-01-12 21:15               ` Mark Brown
2018-01-12 21:15                 ` Mark Brown
2018-01-12 21:50                 ` Tony Lindgren
2018-01-12 21:50                   ` Tony Lindgren
2018-01-12 22:11                   ` Mark Brown
2018-01-12 22:11                     ` Mark Brown
2018-01-12 22:49                     ` Tony Lindgren
2018-01-12 22:49                       ` Tony Lindgren
2018-01-12 22:59                       ` Mark Brown
2018-01-12 22:59                         ` Mark Brown
2018-01-15  1:45                         ` Kuninori Morimoto
2018-01-15  1:45                           ` Kuninori Morimoto
2018-01-15 16:50                           ` Tony Lindgren
2018-01-15 16:50                             ` Tony Lindgren
2018-01-15 17:19                             ` Mark Brown
2018-01-15 17:19                               ` Mark Brown
2018-01-15 17:52                               ` Tony Lindgren
2018-01-15 17:52                                 ` Tony Lindgren
2018-01-15 17:56                                 ` Mark Brown
2018-01-15 17:56                                   ` Mark Brown
2018-01-15 17:56                                   ` Mark Brown
2018-01-15 18:06                                   ` Tony Lindgren
2018-01-15 18:06                                     ` Tony Lindgren
2018-01-15 18:13                                     ` Mark Brown
2018-01-15 18:13                                       ` Mark Brown
2018-01-15 18:55                                       ` Tony Lindgren
2018-01-15 18:55                                         ` Tony Lindgren
2018-01-16  0:38                                         ` Kuninori Morimoto
2018-01-16  0:38                                           ` Kuninori Morimoto
2018-01-16  0:38                                           ` Kuninori Morimoto
2018-01-17  9:47                                         ` Peter Ujfalusi
2018-01-17  9:47                                           ` Peter Ujfalusi
2018-01-17  9:47                                           ` Peter Ujfalusi
2018-01-15 23:22                             ` Kuninori Morimoto
2018-01-15 23:22                               ` Kuninori Morimoto
2018-01-16  0:36                               ` Tony Lindgren
2018-01-16  0:36                                 ` Tony Lindgren
2018-01-12 21:38               ` Mark Brown
2018-01-12 21:38                 ` Mark Brown

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=20180112210706.GE4821@atomide.com \
    --to=tony@atomide.com \
    --cc=akpm@linux-foundation.org \
    --cc=broonie@kernel.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=sfr@canb.auug.org.au \
    /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.