Ticket #842 (closed defect: fixed)

Opened 12 years ago

Last modified 11 years ago

Whenever possible, Amp Mode should be Off

Reported by: Tuukka.Hastrup@… Owned by: graeme@…
Priority: high Milestone:
Component: kernel Version: current svn head
Severity: major Keywords:
Cc: buglog@…, cw@… Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: PatchReviewResult:
Reproducible:

Description

When Amp Mode isn't Off, the amp draws a lot of current. Whenever no sound is
produced, the kernel sound driver should keep the chip in that mode:

  1. Whenever the system is powered off
  2. Whenever the sound driver is not loaded
  3. Whenever the system is in the suspend mode
  4. Whenever the the sound device isn't open by any process

However, there are at least the following exceptions:

  1. We are on a GSM call
  2. We are functioning as a bluetooth headset

Based on a discussion with SpeedEvil? and XorA on IRC, it would seem it would be
preferable to handle these exceptions by being able to defer the policy to
userspace in cases 3 and 4. The mechanism could be a sysfs entry or a new mixer
setting "Amp Auto Poweroff" with values true and false. This setting should only
affect cases 3 and 4.

XorA said on IRC: "Amp Mode to off should be added in suspend function in
neo1973_wm8753.c" and "Im due to do some work on sound suspend soon". Also
assinging the bug to him per his request.

Change History

comment:1 Changed 12 years ago by mickey@…

Sounds reasonable. This will also work out-of-the box with our pulseaudio setup
-- which we have configured to auto-unload its modules (hence releasing the alsa
driver) after some period of inactivity (10 seconds or so).

comment:2 Changed 12 years ago by alex@…

  • dependson set to 781

Note that the patch for "Amp Mode to off should be added in suspend function in
neo1973_wm8753.c" is attached to #781 and is known to work. It is not
committed yet though.

comment:3 Changed 12 years ago by cw@…

  • Cc cw@… added

comment:4 Changed 12 years ago by laforge@…

graeme, can you please investigate this issue and work on a patch, or at least
comment on the bug. thanks!

comment:5 Changed 12 years ago by graeme@…

I believe you checked in a patch to turn amp off in suspend yesterday. I guess
it also needs to turn it off in unload? I dont know the mechanism for powerdown
and what path it takes in the driver.

The rest of these cases are AFAIK user space cases. As the sound driver does not
know when we are inside a GSM call and therefore doesnt know to turn the amp
on/off. This should I believe be a function of neod/ohm/soundmanager.

comment:6 Changed 11 years ago by graeme@…

  • Status changed from new to closed
  • Resolution set to fixed

I beleive this is fixed in svn patches now.

Note: See TracTickets for help on using tickets.