Lines Matching refs:dvb
148 dvb_dmx_swfilter_packets(&dev->dvb.demux, in urb_completion()
267 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_start_feed() local
275 if (dvb->frontend) { in au0828_dvb_start_feed()
276 mutex_lock(&dvb->lock); in au0828_dvb_start_feed()
277 dvb->start_count++; in au0828_dvb_start_feed()
279 dvb->start_count, dvb->stop_count); in au0828_dvb_start_feed()
280 if (dvb->feeding++ == 0) { in au0828_dvb_start_feed()
286 dvb->feeding--; /* We ran out of memory... */ in au0828_dvb_start_feed()
289 mutex_unlock(&dvb->lock); in au0828_dvb_start_feed()
299 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_stop_feed() local
304 if (dvb->frontend) { in au0828_dvb_stop_feed()
307 mutex_lock(&dvb->lock); in au0828_dvb_stop_feed()
308 dvb->stop_count++; in au0828_dvb_stop_feed()
310 dvb->start_count, dvb->stop_count); in au0828_dvb_stop_feed()
311 if (dvb->feeding > 0) { in au0828_dvb_stop_feed()
312 dvb->feeding--; in au0828_dvb_stop_feed()
313 if (dvb->feeding == 0) { in au0828_dvb_stop_feed()
319 mutex_unlock(&dvb->lock); in au0828_dvb_stop_feed()
329 struct au0828_dvb *dvb = &dev->dvb; in au0828_restart_dvb_streaming() local
336 mutex_lock(&dvb->lock); in au0828_restart_dvb_streaming()
346 mutex_unlock(&dvb->lock); in au0828_restart_dvb_streaming()
351 struct au0828_dev *dev = fe->dvb->priv; in au0828_set_frontend()
352 struct au0828_dvb *dvb = &dev->dvb; in au0828_set_frontend() local
355 mutex_lock(&dvb->lock); in au0828_set_frontend()
364 mutex_unlock(&dvb->lock); in au0828_set_frontend()
366 mutex_lock(&dvb->lock); in au0828_set_frontend()
370 mutex_unlock(&dvb->lock); in au0828_set_frontend()
372 ret = dvb->set_frontend(fe); in au0828_set_frontend()
375 mutex_lock(&dvb->lock); in au0828_set_frontend()
378 mutex_unlock(&dvb->lock); in au0828_set_frontend()
386 struct au0828_dvb *dvb = &dev->dvb; in dvb_register() local
410 result = dvb_register_adapter(&dvb->adapter, in dvb_register()
418 dvb->adapter.priv = dev; in dvb_register()
421 result = dvb_register_frontend(&dvb->adapter, dvb->frontend); in dvb_register()
429 dvb->set_frontend = dvb->frontend->ops.set_frontend; in dvb_register()
430 dvb->frontend->ops.set_frontend = au0828_set_frontend; in dvb_register()
433 dvb->demux.dmx.capabilities = in dvb_register()
436 dvb->demux.priv = dev; in dvb_register()
437 dvb->demux.filternum = 256; in dvb_register()
438 dvb->demux.feednum = 256; in dvb_register()
439 dvb->demux.start_feed = au0828_dvb_start_feed; in dvb_register()
440 dvb->demux.stop_feed = au0828_dvb_stop_feed; in dvb_register()
441 result = dvb_dmx_init(&dvb->demux); in dvb_register()
447 dvb->dmxdev.filternum = 256; in dvb_register()
448 dvb->dmxdev.demux = &dvb->demux.dmx; in dvb_register()
449 dvb->dmxdev.capabilities = 0; in dvb_register()
450 result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter); in dvb_register()
456 dvb->fe_hw.source = DMX_FRONTEND_0; in dvb_register()
457 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_hw); in dvb_register()
464 dvb->fe_mem.source = DMX_MEMORY_FE; in dvb_register()
465 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_mem); in dvb_register()
472 result = dvb->demux.dmx.connect_frontend(&dvb->demux.dmx, &dvb->fe_hw); in dvb_register()
479 dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx); in dvb_register()
481 dvb->start_count = 0; in dvb_register()
482 dvb->stop_count = 0; in dvb_register()
486 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem); in dvb_register()
488 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw); in dvb_register()
490 dvb_dmxdev_release(&dvb->dmxdev); in dvb_register()
492 dvb_dmx_release(&dvb->demux); in dvb_register()
494 dvb_unregister_frontend(dvb->frontend); in dvb_register()
496 dvb_frontend_detach(dvb->frontend); in dvb_register()
497 dvb_unregister_adapter(&dvb->adapter); in dvb_register()
511 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_unregister() local
515 if (dvb->frontend == NULL) in au0828_dvb_unregister()
520 dvb_net_release(&dvb->net); in au0828_dvb_unregister()
521 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem); in au0828_dvb_unregister()
522 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw); in au0828_dvb_unregister()
523 dvb_dmxdev_release(&dvb->dmxdev); in au0828_dvb_unregister()
524 dvb_dmx_release(&dvb->demux); in au0828_dvb_unregister()
525 dvb_unregister_frontend(dvb->frontend); in au0828_dvb_unregister()
526 dvb_frontend_detach(dvb->frontend); in au0828_dvb_unregister()
527 dvb_unregister_adapter(&dvb->adapter); in au0828_dvb_unregister()
534 dvb->frontend = NULL; in au0828_dvb_unregister()
543 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_register() local
552 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
555 if (dvb->frontend != NULL) in au0828_dvb_register()
559 dvb_attach(xc5000_attach, dvb->frontend, in au0828_dvb_register()
564 dvb_attach(xc5000_attach, dvb->frontend, in au0828_dvb_register()
571 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
574 if (dvb->frontend != NULL) in au0828_dvb_register()
575 dvb_attach(mxl5007t_attach, dvb->frontend, in au0828_dvb_register()
580 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
583 if (dvb->frontend != NULL) in au0828_dvb_register()
584 dvb_attach(tda18271_attach, dvb->frontend, in au0828_dvb_register()
589 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
592 if (dvb->frontend != NULL) { in au0828_dvb_register()
593 dvb_attach(xc5000_attach, dvb->frontend, in au0828_dvb_register()
602 if (NULL == dvb->frontend) { in au0828_dvb_register()
608 dvb->frontend->callback = au0828_tuner_callback; in au0828_dvb_register()
613 if (dvb->frontend->ops.release) in au0828_dvb_register()
614 dvb->frontend->ops.release(dvb->frontend); in au0828_dvb_register()
615 dvb->frontend = NULL; in au0828_dvb_register()
624 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_suspend() local
627 if (dvb->frontend) { in au0828_dvb_suspend()
631 mutex_lock(&dvb->lock); in au0828_dvb_suspend()
634 mutex_unlock(&dvb->lock); in au0828_dvb_suspend()
638 rc = dvb_frontend_suspend(dvb->frontend); in au0828_dvb_suspend()
645 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_resume() local
648 if (dvb->frontend) { in au0828_dvb_resume()
650 rc = dvb_frontend_resume(dvb->frontend); in au0828_dvb_resume()
654 mutex_lock(&dvb->lock); in au0828_dvb_resume()
657 mutex_unlock(&dvb->lock); in au0828_dvb_resume()