Lines Matching refs:dvb
150 dvb_dmx_swfilter_packets(&dev->dvb.demux, in urb_completion()
277 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_start_feed() local
285 if (dvb->frontend) { in au0828_dvb_start_feed()
286 mutex_lock(&dvb->lock); in au0828_dvb_start_feed()
287 dvb->start_count++; in au0828_dvb_start_feed()
289 dvb->start_count, dvb->stop_count); in au0828_dvb_start_feed()
290 if (dvb->feeding++ == 0) { in au0828_dvb_start_feed()
296 dvb->feeding--; /* We ran out of memory... */ in au0828_dvb_start_feed()
299 mutex_unlock(&dvb->lock); in au0828_dvb_start_feed()
309 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_stop_feed() local
314 if (dvb->frontend) { in au0828_dvb_stop_feed()
317 mutex_lock(&dvb->lock); in au0828_dvb_stop_feed()
318 dvb->stop_count++; in au0828_dvb_stop_feed()
320 dvb->start_count, dvb->stop_count); in au0828_dvb_stop_feed()
321 if (dvb->feeding > 0) { in au0828_dvb_stop_feed()
322 dvb->feeding--; in au0828_dvb_stop_feed()
323 if (dvb->feeding == 0) { in au0828_dvb_stop_feed()
329 mutex_unlock(&dvb->lock); in au0828_dvb_stop_feed()
339 struct au0828_dvb *dvb = &dev->dvb; in au0828_restart_dvb_streaming() local
346 mutex_lock(&dvb->lock); in au0828_restart_dvb_streaming()
356 mutex_unlock(&dvb->lock); in au0828_restart_dvb_streaming()
361 struct au0828_dev *dev = fe->dvb->priv; in au0828_set_frontend()
362 struct au0828_dvb *dvb = &dev->dvb; in au0828_set_frontend() local
365 mutex_lock(&dvb->lock); in au0828_set_frontend()
374 mutex_unlock(&dvb->lock); in au0828_set_frontend()
376 mutex_lock(&dvb->lock); in au0828_set_frontend()
380 mutex_unlock(&dvb->lock); in au0828_set_frontend()
382 ret = dvb->set_frontend(fe); in au0828_set_frontend()
385 mutex_lock(&dvb->lock); in au0828_set_frontend()
388 mutex_unlock(&dvb->lock); in au0828_set_frontend()
396 struct au0828_dvb *dvb = &dev->dvb; in dvb_register() local
420 result = dvb_register_adapter(&dvb->adapter, in dvb_register()
430 dvb->adapter.mdev = dev->media_dev; in dvb_register()
433 dvb->adapter.priv = dev; in dvb_register()
436 result = dvb_register_frontend(&dvb->adapter, dvb->frontend); in dvb_register()
444 dvb->set_frontend = dvb->frontend->ops.set_frontend; in dvb_register()
445 dvb->frontend->ops.set_frontend = au0828_set_frontend; in dvb_register()
448 dvb->demux.dmx.capabilities = in dvb_register()
451 dvb->demux.priv = dev; in dvb_register()
452 dvb->demux.filternum = 256; in dvb_register()
453 dvb->demux.feednum = 256; in dvb_register()
454 dvb->demux.start_feed = au0828_dvb_start_feed; in dvb_register()
455 dvb->demux.stop_feed = au0828_dvb_stop_feed; in dvb_register()
456 result = dvb_dmx_init(&dvb->demux); in dvb_register()
462 dvb->dmxdev.filternum = 256; in dvb_register()
463 dvb->dmxdev.demux = &dvb->demux.dmx; in dvb_register()
464 dvb->dmxdev.capabilities = 0; in dvb_register()
465 result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter); in dvb_register()
471 dvb->fe_hw.source = DMX_FRONTEND_0; in dvb_register()
472 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_hw); in dvb_register()
479 dvb->fe_mem.source = DMX_MEMORY_FE; in dvb_register()
480 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_mem); in dvb_register()
487 result = dvb->demux.dmx.connect_frontend(&dvb->demux.dmx, &dvb->fe_hw); in dvb_register()
494 dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx); in dvb_register()
496 dvb->start_count = 0; in dvb_register()
497 dvb->stop_count = 0; in dvb_register()
499 result = dvb_create_media_graph(&dvb->adapter, false); in dvb_register()
506 dvb_net_release(&dvb->net); in dvb_register()
508 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem); in dvb_register()
510 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw); in dvb_register()
512 dvb_dmxdev_release(&dvb->dmxdev); in dvb_register()
514 dvb_dmx_release(&dvb->demux); in dvb_register()
516 dvb_unregister_frontend(dvb->frontend); in dvb_register()
518 dvb_frontend_detach(dvb->frontend); in dvb_register()
519 dvb_unregister_adapter(&dvb->adapter); in dvb_register()
533 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_unregister() local
537 if (dvb->frontend == NULL) in au0828_dvb_unregister()
542 dvb_net_release(&dvb->net); in au0828_dvb_unregister()
543 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem); in au0828_dvb_unregister()
544 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw); in au0828_dvb_unregister()
545 dvb_dmxdev_release(&dvb->dmxdev); in au0828_dvb_unregister()
546 dvb_dmx_release(&dvb->demux); in au0828_dvb_unregister()
547 dvb_unregister_frontend(dvb->frontend); in au0828_dvb_unregister()
548 dvb_frontend_detach(dvb->frontend); in au0828_dvb_unregister()
549 dvb_unregister_adapter(&dvb->adapter); in au0828_dvb_unregister()
556 dvb->frontend = NULL; in au0828_dvb_unregister()
565 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_register() local
574 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
577 if (dvb->frontend != NULL) in au0828_dvb_register()
581 dvb_attach(xc5000_attach, dvb->frontend, in au0828_dvb_register()
586 dvb_attach(xc5000_attach, dvb->frontend, in au0828_dvb_register()
593 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
596 if (dvb->frontend != NULL) in au0828_dvb_register()
597 dvb_attach(mxl5007t_attach, dvb->frontend, in au0828_dvb_register()
602 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
605 if (dvb->frontend != NULL) in au0828_dvb_register()
606 dvb_attach(tda18271_attach, dvb->frontend, in au0828_dvb_register()
611 dvb->frontend = dvb_attach(au8522_attach, in au0828_dvb_register()
614 if (dvb->frontend != NULL) { in au0828_dvb_register()
615 dvb_attach(xc5000_attach, dvb->frontend, in au0828_dvb_register()
624 if (NULL == dvb->frontend) { in au0828_dvb_register()
630 dvb->frontend->callback = au0828_tuner_callback; in au0828_dvb_register()
635 if (dvb->frontend->ops.release) in au0828_dvb_register()
636 dvb->frontend->ops.release(dvb->frontend); in au0828_dvb_register()
637 dvb->frontend = NULL; in au0828_dvb_register()
648 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_suspend() local
651 if (dvb->frontend) { in au0828_dvb_suspend()
655 mutex_lock(&dvb->lock); in au0828_dvb_suspend()
658 mutex_unlock(&dvb->lock); in au0828_dvb_suspend()
662 rc = dvb_frontend_suspend(dvb->frontend); in au0828_dvb_suspend()
669 struct au0828_dvb *dvb = &dev->dvb; in au0828_dvb_resume() local
672 if (dvb->frontend) { in au0828_dvb_resume()
674 rc = dvb_frontend_resume(dvb->frontend); in au0828_dvb_resume()
678 mutex_lock(&dvb->lock); in au0828_dvb_resume()
681 mutex_unlock(&dvb->lock); in au0828_dvb_resume()