Lines Matching refs:dvb
32 struct vb2_dvb *dvb = priv; in dvb_fnc() local
34 dvb_dmx_swfilter(&dvb->demux, vb2_plane_vaddr(vb, 0), in dvb_fnc()
42 struct vb2_dvb *dvb = demux->priv; in vb2_dvb_start_feed() local
48 mutex_lock(&dvb->lock); in vb2_dvb_start_feed()
49 dvb->nfeeds++; in vb2_dvb_start_feed()
51 if (!dvb->dvbq.threadio) { in vb2_dvb_start_feed()
52 rc = vb2_thread_start(&dvb->dvbq, dvb_fnc, dvb, dvb->name); in vb2_dvb_start_feed()
54 dvb->nfeeds--; in vb2_dvb_start_feed()
57 rc = dvb->nfeeds; in vb2_dvb_start_feed()
58 mutex_unlock(&dvb->lock); in vb2_dvb_start_feed()
65 struct vb2_dvb *dvb = demux->priv; in vb2_dvb_stop_feed() local
68 mutex_lock(&dvb->lock); in vb2_dvb_stop_feed()
69 dvb->nfeeds--; in vb2_dvb_stop_feed()
70 if (0 == dvb->nfeeds) in vb2_dvb_stop_feed()
71 err = vb2_thread_stop(&dvb->dvbq); in vb2_dvb_stop_feed()
72 mutex_unlock(&dvb->lock); in vb2_dvb_stop_feed()
102 struct vb2_dvb *dvb) in vb2_dvb_register_frontend() argument
107 result = dvb_register_frontend(adapter, dvb->frontend); in vb2_dvb_register_frontend()
110 dvb->name, result); in vb2_dvb_register_frontend()
115 dvb->demux.dmx.capabilities = in vb2_dvb_register_frontend()
118 dvb->demux.priv = dvb; in vb2_dvb_register_frontend()
119 dvb->demux.filternum = 256; in vb2_dvb_register_frontend()
120 dvb->demux.feednum = 256; in vb2_dvb_register_frontend()
121 dvb->demux.start_feed = vb2_dvb_start_feed; in vb2_dvb_register_frontend()
122 dvb->demux.stop_feed = vb2_dvb_stop_feed; in vb2_dvb_register_frontend()
123 result = dvb_dmx_init(&dvb->demux); in vb2_dvb_register_frontend()
126 dvb->name, result); in vb2_dvb_register_frontend()
130 dvb->dmxdev.filternum = 256; in vb2_dvb_register_frontend()
131 dvb->dmxdev.demux = &dvb->demux.dmx; in vb2_dvb_register_frontend()
132 dvb->dmxdev.capabilities = 0; in vb2_dvb_register_frontend()
133 result = dvb_dmxdev_init(&dvb->dmxdev, adapter); in vb2_dvb_register_frontend()
137 dvb->name, result); in vb2_dvb_register_frontend()
141 dvb->fe_hw.source = DMX_FRONTEND_0; in vb2_dvb_register_frontend()
142 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_hw); in vb2_dvb_register_frontend()
145 dvb->name, result); in vb2_dvb_register_frontend()
149 dvb->fe_mem.source = DMX_MEMORY_FE; in vb2_dvb_register_frontend()
150 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_mem); in vb2_dvb_register_frontend()
153 dvb->name, result); in vb2_dvb_register_frontend()
157 result = dvb->demux.dmx.connect_frontend(&dvb->demux.dmx, &dvb->fe_hw); in vb2_dvb_register_frontend()
160 dvb->name, result); in vb2_dvb_register_frontend()
165 result = dvb_net_init(adapter, &dvb->net, &dvb->demux.dmx); in vb2_dvb_register_frontend()
168 dvb->name, result); in vb2_dvb_register_frontend()
174 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem); in vb2_dvb_register_frontend()
176 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw); in vb2_dvb_register_frontend()
178 dvb_dmxdev_release(&dvb->dmxdev); in vb2_dvb_register_frontend()
180 dvb_dmx_release(&dvb->demux); in vb2_dvb_register_frontend()
182 dvb_unregister_frontend(dvb->frontend); in vb2_dvb_register_frontend()
184 dvb_frontend_detach(dvb->frontend); in vb2_dvb_register_frontend()
185 dvb->frontend = NULL; in vb2_dvb_register_frontend()
211 fe->dvb.name, adapter_nr, mfe_shared); in vb2_dvb_register_bus()
221 res = vb2_dvb_register_frontend(&f->adapter, &fe->dvb); in vb2_dvb_register_bus()
224 fe->dvb.name, res); in vb2_dvb_register_bus()
279 if (fe->dvb.frontend == p) { in vb2_dvb_find_frontend()
301 mutex_init(&fe->dvb.lock); in vb2_dvb_alloc_frontend()
318 if (fe->dvb.net.dvbdev) { in vb2_dvb_dealloc_frontends()
319 dvb_net_release(&fe->dvb.net); in vb2_dvb_dealloc_frontends()
320 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in vb2_dvb_dealloc_frontends()
321 &fe->dvb.fe_mem); in vb2_dvb_dealloc_frontends()
322 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in vb2_dvb_dealloc_frontends()
323 &fe->dvb.fe_hw); in vb2_dvb_dealloc_frontends()
324 dvb_dmxdev_release(&fe->dvb.dmxdev); in vb2_dvb_dealloc_frontends()
325 dvb_dmx_release(&fe->dvb.demux); in vb2_dvb_dealloc_frontends()
326 dvb_unregister_frontend(fe->dvb.frontend); in vb2_dvb_dealloc_frontends()
328 if (fe->dvb.frontend) in vb2_dvb_dealloc_frontends()
330 dvb_frontend_detach(fe->dvb.frontend); in vb2_dvb_dealloc_frontends()