2008-08-24 17:56:00

by Soeren Sonnenburg

[permalink] [raw]
Subject: converting appletouch to usb autosuspend again...

Dear all,

I wonder whether anyone else tried to get appletouch usb autosuspend to
work. I've seen Oliver's patch but as it kept oopsing on me and I
couldn't parse the usb_mark_last_busy logic I came up with the attached
patch against (current git; at least didn't oops for me over the last
several days and suspend/resume cycles).

However things I don't understand,

a) is autosuspend on the appletouch driver used at all (how can I find
out)

b) do I need dev->intf->needs_remote_wakeup = 1; ?

c) is line 33 in the patch safe to do ?

And while we are at it I am still seeing these X falls back to hid mouse
mode, only switching to console and back resolves this (looks like this
only worked in previous kernels as resume from s2ram took a lot longer
due to the IDE driver doing a couple of resets) - is there anything one
could do about it?

Soeren


Attachments:
appletouch_autosuspend.diff (3.83 kB)

2008-08-24 18:38:47

by Oliver Neukum

[permalink] [raw]
Subject: Re: converting appletouch to usb autosuspend again...

Am Samstag 23 August 2008 23:00:18 schrieb Soeren Sonnenburg:
> Dear all,
>
> I wonder whether anyone else tried to get appletouch usb autosuspend to
> work. I've seen Oliver's patch but as it kept oopsing on me and I

You might post the oops. I haven't seen it.

> couldn't parse the usb_mark_last_busy logic I came up with the attached
> patch against (current git; at least didn't oops for me over the last
> several days and suspend/resume cycles).
>
> However things I don't understand,
>
> a) is autosuspend on the appletouch driver used at all (how can I find
> out)

Compile your kernel with CONFIG_USB_DEBUG and autosuspend will be logged.
You need to activate autosuspend via sysfs.

> b) do I need dev->intf->needs_remote_wakeup = 1; ?

Yes.

> c) is line 33 in the patch safe to do ?

Why do you want to add it?

> And while we are at it I am still seeing these X falls back to hid mouse
> mode, only switching to console and back resolves this (looks like this
> only worked in previous kernels as resume from s2ram took a lot longer
> due to the IDE driver doing a couple of resets) - is there anything one
> could do about it?

Post a log.

Regards
Oliver

2008-08-28 18:06:49

by Soeren Sonnenburg

[permalink] [raw]
Subject: Re: converting appletouch to usb autosuspend again...

On Sun, 2008-08-24 at 20:39 +0200, Oliver Neukum wrote:
> Am Samstag 23 August 2008 23:00:18 schrieb Soeren Sonnenburg:
> > Dear all,
> >
> > I wonder whether anyone else tried to get appletouch usb autosuspend to
> > work. I've seen Oliver's patch but as it kept oopsing on me and I
>
> You might post the oops. I haven't seen it.

Do you have an updated version of your patch that applies to
git-current? I will give your patch another try then.

> > couldn't parse the usb_mark_last_busy logic I came up with the attached
> > patch against (current git; at least didn't oops for me over the last
> > several days and suspend/resume cycles).
> >
> > However things I don't understand,
> >
> > a) is autosuspend on the appletouch driver used at all (how can I find
> > out)
>
> Compile your kernel with CONFIG_USB_DEBUG and autosuspend will be logged.
> You need to activate autosuspend via sysfs.

OK, indeed it never autosuspends... I guess this is this due to the
keyboard and the mice being on the same usb port and as the kbd part
does not support autosuspend it never suspends?!

> > b) do I need dev->intf->needs_remote_wakeup = 1; ?
>
> Yes.
>
> > c) is line 33 in the patch safe to do ?
>
> Why do you want to add it?

Well reaching this line the touchpad is idling (hasn't been touched+no
button was pressed) - I somehow wanted to force it to suspend in this
case.

> > And while we are at it I am still seeing these X falls back to hid mouse
> > mode, only switching to console and back resolves this (looks like this
> > only worked in previous kernels as resume from s2ram took a lot longer
> > due to the IDE driver doing a couple of resets) - is there anything one
> > could do about it?
>
> Post a log.

My fault. I was still rmmod'ing appletouch before suspending. It works
perfectly + reliably the way it is.

Thanks,
Soeren