Hi all. Once in a time I wrote into Mantis driver Suspend / resume code. The idea was, that bridge driver (mantis_dvb.c) will handle the suspend / resume transparently to the application. With a PCI device this was rather easy to achieve. With xine, there was just a glitch with video and audio after resume. So after suspend, frontend was tuned into the original frequency, and the DMA transfer state was restored. Suspend: 1. Turn off possible DMA transfer if active (feeds > 0) 2. Remember tuner power on state. 3. Do tuner and fronted power off. Resume: 1. Restore frontend and tuner power. 2. (feeds > 0)? Set frequency for the tuner. 3. (feeds > 0)? Restore DMA transfer into previous state. What do you think about this? I need some feedback: is it worth coding? Other needed code is usual suspend / resume stuff. Is it worth powering off the tuner, if it isn't used? For my current usage, powering off the unused tuner gives more power savings than implementing suspend/resume. Marko Ristola ------------------------------ // suspend to standby, ram or disk. int mantis_dvb_suspend(struct mantis_pci *mantis, pm_message_t prevState, pm_message_t mesg) { if (mantis->feeds > 0) mantis_dma_stop(mantis); if (mantis->has_power) mantis_fe_powerdown(mantis); // power off tuner. return 0; } void mantis_dvb_resume(struct mantis_pci *mantis, pm_message_t prevMesg) { // power on frontend and tuner. mantis_frontend_tuner_init(mantis); if (mantis->feeds > 0 && mantis->fe->ops.tuner_ops.init) (mantis->fe->ops.init)(mantis->fe); if (mantis->feeds > 0) { (mantis->fe->ops.set_frontend)(mantis->fe, NULL); mantis_dma_start(mantis); } } -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html