[linux-dvb] Suspend/resume for Mantis 2033 driver

Marko Ristola marko.ristola at kolumbus.fi
Sat Aug 4 18:35:12 CEST 2007

Thankyou for your feedback.

Maybe others can implement full suspend/resume
on other drivers too, because we have one more working example.
It is better that I try to concentrate on Mantis,
because then I can be helpful without trying too much.

My current focus is to implement suspend/resume (S2DISK, resume from there)
into all Mantis drivers on Manu's branch with minimal Mantis frontend 
All my changes went into dvb/mantis/ and dvb/frontends/cu1216.c,
so that dvb/dvb_core/ directory didn't need any changes
and thus my implementation should be copiable at least into all PCI 
based DVB cards.

My plan is also, that with my initial implementation as a start,
Mantis drivers can be made more fine-grained (S2MEM, Hibernate, ?).

I don't know how to do suspend/resume with USB.
Somebody else could try to figure out what is necessary with USB 

My version does
1. Mantis driver suspend (did we have DMA transfer?)
2. Mantis driver PCI suspend (mantis_pci.c)
3. Linux completes the S2DISK and does full power off.
4. Computer gets power back and Linux starts with grub and Linux begins 
resume from DISK.
5. Mantis driver PCI resume (mantis_pci.c, restore PCI configuration)
6. Mantis driver resume (restore Mantis power configuration, tune 
frequency, restore DMA transfer).

So tasks 2 and 5 are different for USB hardware.

I will send patches into this email list for Manu. You can take source 
code copies for other drivers too.
I will release my patches probably with GPLv3 so that they can be 
incorporated into Linux
kernel and modified/copied when necessary for other drivers.

I looked that pluto2 is a PCI device. Thus my future Mantis patches 
could be used as a sample
to implement suspend/resume for it. For USB devices, cinergyT2 has 
suspend/resume implementation.

If you or somebody wants, he can try to implement suspend/resume into 
pluto2 for example,
and maybe I am able to help him to succeed.

Best regards,
Marko Ristola

CIJOML wrote:
> COOL!!! First driver implementing suspend/resume!
> Do you plan add  suspend/resume also to other drivers?
> I can help testing dib0700/dib7000/pluto2/opera drivers
> Michal
> Dne sobota 04 srpen 2007 08:02 Marko Ristola napsal(a):
>> Hi Manu and all
>> I have done small improvements into Mantis drivers:
>> I have fixed the insmod/rmmod problem and I have implemented
>> suspend/resume for cu1216.
>> It does in mantis_dvb.c "power off"/ "power on" if no application
>> uses the frontend.
>> So with my suspend/resume and with non-USB sound output,
>> I am able to suspend to disk and back so that Kaffeine will
>> continue displaying the TV channel.
>> I use now kernel.
>> cu1216 needed only small changes with the current version.
>> Most changes went into dvb/mantis directory.
>> resume uses fe->opt.init for cu1216, so it must do something.
>> resume uses fe->opt.set_frontend(fe,NULL) currently, meaning
>> "please set the previous tuning values".
>> I need to collect the patches and clean them up before sending them for
>> you.
>> Regards, Marko Ristola
>> _______________________________________________
>> linux-dvb mailing list
>> linux-dvb at linuxtv.org
>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

More information about the linux-dvb mailing list