Em Qua, 2009-06-17 às 00:52 +0300, Ilya Petrov escreveu:
> 2009/6/16 Daniel Ribeiro <drw...@gmail.com>:
> 
> > Heh, dont forget that the logic we are talking about here is used on ALL
> > platforms, including X86. Its generic OHCI, and the Host Controller
> > driver only provides some hardware specific functions to the generic
> > code.
> 
> ok, can we use .init and .exit fields in pxaohci_platform_data for this, as
> in mach-pxa/spitz.c ? i put UP3OCR writes there.

Yes, you can. But UP3OCR is lost on suspend. So, after resume no chance
that it will work.

Spitz (and all Zaurus) is very buggy regarding suspend/resume, don't use
it as reference when doing suspend/resume related work.

To be honest, I think that our code is the better working for all pxa
machines regarding PM and suspend/resume. I had to submit a bunch of pxa
fixes to correct generic pxa suspend/resume code, this implies that it
was broken for everybody but nobody really cared.

> > As I said earlier, other phones are resuming with BP on a working state,
> > I tested this on a780 and e680, but this was before your changes to mux.
> 
> i never seen this working on a1200.

Me neither. ;)

> here is log with debug enabled:
> 
> http://pastebin.com/fd52ab8d
> 
> any ideas?

If you set UP3OCR on ohci's .init, then certainly it can't work. Move it
back to where it was (ezx-bp.c) and this will give you better results.

Other than this, you can try to implement suspend/resume callbacks on
the IPC driver, to disconnect IPC on suspend and reconnect it on resume.

The disconnect _after_ resume on the log seems odd.

Also, another thing that may help is to temporarily increase the retries
on hub.c, so if its a timing issue you do some extra retries, I dont see
a BP WDI irq on the log, so I assume that BP haven't paniced and the
issue is on the AP side.

-- 
Daniel Ribeiro

Attachment: signature.asc
Description: Esta é uma parte de mensagem assinada digitalmente

Reply via email to