Hi,
on an iBook, currently running 2.4.22-benh2, the dmasound_pmac does
not restore the mixer setting during PowerManagement resume. I need to
use e.g. umix or whatever to reset it - but a simple change on a mixer
value is enought to set a useful value.
The device in use:
Found KeyWest i2c on "uni-n", 2 channels, stepping: 4 bits
i2c-core.o: adapter mac-io 0 registered as adapter 2.
Found KeyWest i2c on "mac-io", 1 channel, stepping: 4 bits
tas driver [TAS3004 driver V 0.3])
using i2c address: 0x35 from device-tree
i2c-core.o: driver TAS3004 driver V 0.3 registered.
i2c-core.o: client [tas Digital Equalizer] registered to adapter [mac-io 0](pos. 0).
Audio jack plugged, muting speakers.
AE-Init snapper mixer
PowerMac Snapper DMA sound driver rev 016 installed
Core driver edition 01.06 : PowerMac Built-in Sound driver edition 00.07
Write will use 4 fragments of 32768 bytes as default
The code in tas3004_leave_sleep() looks ok so ... any idea (maybe I
need to add a printk do test if it is really called?)?
Sincerely yours,
Ren? Rebe
--
Ren? Rebe - Europe/Germany/Berlin
[email protected] [email protected]
http://www.rocklinux.org http://www.rocklinux.net/people/rene
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene
> The code in tas3004_leave_sleep() looks ok so ... any idea (maybe I
> need to add a printk do test if it is really called?)?
Either that or we need some delay after powering the chip back
up and before we can write to its mixer ?
ben.
Hi,
On: Wed, 10 Sep 2003 21:19:25 +0200,
Benjamin Herrenschmidt <[email protected]> wrote:
>
> > The code in tas3004_leave_sleep() looks ok so ... any idea (maybe I
> > need to add a printk do test if it is really called?)?
>
> Either that or we need some delay after powering the chip back
> up and before we can write to its mixer ?
Ok, here we go:
...
PCI: Enabling bus mastering for device 10:18.0
host/usb-ohci.c: USB continue: usb-10:18.0 from host wakeup
PCI: Enabling bus mastering for device 10:19.0
host/usb-ohci.c: USB continue: usb-10:19.0 from host wakeup
eth0: resuming
adb: starting probe task...
adb devices: [2]: 2 c4 [3]: 3 1 [7]: 7 1f
ADB keyboard at 2, handler 1
ADB mouse at 3, handler set to 4 (trackpad)
adb: finished probe task...
RxR: 1
RxR: 2
tas: I2C byte write failed
udio jack plugged, muting speakers.
eth0: Link is up at 100 Mbps, half-duplex.
...
#
(I overread the "tas: I2C byte write failed" before ...)
Where I instrumented the code with:
static int
tas3004_leave_sleep(struct tas3004_data_t *self)
{
unsigned char mcr = (1<<6)+(2<<4)+(2<<2);
printk("RxR: 1\n");
if (!self)
return -1;
printk("RxR: 2\n");
/* Make sure something answers on the i2c bus */
if (tas3004_write_register(self, TAS3004_REG_MCR, &mcr,
WRITE_NORMAL | FORCE_WRITE) < 0)
return -1;
printk("RxR: 3\n");
so hm?!? - is the wakeup order of the devices incorrect (i2c needs to
be before damsound_pmac ...)?
> ben.
Sincerely yours,
Ren? Rebe
- ROCK Linux stable release maintainer
--
Ren? Rebe - Europe/Germany/Berlin
[email protected] [email protected]
http://www.rocklinux.org http://www.rocklinux.net/people/rene
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene
> so hm?!? - is the wakeup order of the devices incorrect (i2c needs to
> be before damsound_pmac ...)?
The i2c bus isn't suspended during sleep... I don't know for sure
what's up, I'll investigate.
Ben.
Hi,
On: Thu, 11 Sep 2003 08:35:57 +0200,
Benjamin Herrenschmidt <[email protected]> wrote:
> > so hm?!? - is the wakeup order of the devices incorrect (i2c needs to
> > be before damsound_pmac ...)?
>
> The i2c bus isn't suspended during sleep... I don't know for sure
> what's up, I'll investigate.
I added a schedule_timeout without success ... - should I check if
self is correct? Or any other idea?
Sincerely yours,
Ren?
--
Ren? Rebe - Europe/Germany/Berlin
[email protected] [email protected]
http://www.rocklinux.org http://www.rocklinux.net/people/rene
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene
Hi,
On: Thu, 11 Sep 2003 08:35:57 +0200,
Benjamin Herrenschmidt <[email protected]> wrote:
>
> > so hm?!? - is the wakeup order of the devices incorrect (i2c needs to
> > be before damsound_pmac ...)?
>
> The i2c bus isn't suspended during sleep... I don't know for sure
> what's up, I'll investigate.
Have you found some time to look into this issue in more detail? I
already tried a tiny timeout wihtout help - maybe you got an idea?
> Ben.
Sincerely yours,
Ren? Rebe
--
Ren? Rebe - Europe/Germany/Berlin
[email protected] [email protected]
http://www.rocklinux.org http://www.rocklinux-consulting.de
http://gsmp.rocklinux-consulting.de/ http://gsmp.tfh-berlin.de/rene
On Thu, 2003-09-25 at 20:01, Rene Rebe wrote:
> Hi,
>
> On: Thu, 11 Sep 2003 08:35:57 +0200,
> Benjamin Herrenschmidt <[email protected]> wrote:
> >
> > > so hm?!? - is the wakeup order of the devices incorrect (i2c needs to
> > > be before damsound_pmac ...)?
> >
> > The i2c bus isn't suspended during sleep... I don't know for sure
> > what's up, I'll investigate.
>
> Have you found some time to look into this issue in more detail? I
> already tried a tiny timeout wihtout help - maybe you got an idea?
My current bk 2.4 contains a reworked i2c driver that might help...
Ben.