Re: dmasound_pmac (2.4.x{,-benh}) does not restore mixer duringPM-wake

From: Rene Rebe
Date: Wed Sep 10 2003 - 17:43:28 EST


Hi,

On: Wed, 10 Sep 2003 21:19:25 +0200,
Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> 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
rene@xxxxxxxxxxxxx rene.rebe@xxxxxxx
http://www.rocklinux.org http://www.rocklinux.net/people/rene
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/