Lines Matching refs:dvb
17 #include <media/videobuf2-dvb.h>
28 struct vb2_dvb *dvb = priv;
30 dvb_dmx_swfilter(&dvb->demux, vb2_plane_vaddr(vb, 0),
38 struct vb2_dvb *dvb = demux->priv;
44 mutex_lock(&dvb->lock);
45 dvb->nfeeds++;
47 if (!dvb->dvbq.threadio) {
48 rc = vb2_thread_start(&dvb->dvbq, dvb_fnc, dvb, dvb->name);
50 dvb->nfeeds--;
53 rc = dvb->nfeeds;
54 mutex_unlock(&dvb->lock);
61 struct vb2_dvb *dvb = demux->priv;
64 mutex_lock(&dvb->lock);
65 dvb->nfeeds--;
66 if (0 == dvb->nfeeds)
67 err = vb2_thread_stop(&dvb->dvbq);
68 mutex_unlock(&dvb->lock);
102 struct vb2_dvb *dvb)
107 result = dvb_register_frontend(adapter, dvb->frontend);
110 dvb->name, result);
115 dvb->demux.dmx.capabilities =
118 dvb->demux.priv = dvb;
119 dvb->demux.filternum = 256;
120 dvb->demux.feednum = 256;
121 dvb->demux.start_feed = vb2_dvb_start_feed;
122 dvb->demux.stop_feed = vb2_dvb_stop_feed;
123 result = dvb_dmx_init(&dvb->demux);
126 dvb->name, result);
130 dvb->dmxdev.filternum = 256;
131 dvb->dmxdev.demux = &dvb->demux.dmx;
132 dvb->dmxdev.capabilities = 0;
133 result = dvb_dmxdev_init(&dvb->dmxdev, adapter);
137 dvb->name, result);
141 dvb->fe_hw.source = DMX_FRONTEND_0;
142 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_hw);
145 dvb->name, result);
149 dvb->fe_mem.source = DMX_MEMORY_FE;
150 result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_mem);
153 dvb->name, result);
157 result = dvb->demux.dmx.connect_frontend(&dvb->demux.dmx, &dvb->fe_hw);
160 dvb->name, result);
165 result = dvb_net_init(adapter, &dvb->net, &dvb->demux.dmx);
168 dvb->name, result);
174 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem);
176 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw);
178 dvb_dmxdev_release(&dvb->dmxdev);
180 dvb_dmx_release(&dvb->demux);
182 dvb_unregister_frontend(dvb->frontend);
184 dvb_frontend_detach(dvb->frontend);
185 dvb->frontend = NULL;
212 fe->dvb.name, adapter_nr, mfe_shared);
222 res = vb2_dvb_register_frontend(&f->adapter, &fe->dvb);
225 fe->dvb.name, res);
284 if (fe->dvb.frontend == p) {
306 mutex_init(&fe->dvb.lock);
323 if (fe->dvb.net.dvbdev) {
324 dvb_net_release(&fe->dvb.net);
325 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx,
326 &fe->dvb.fe_mem);
327 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx,
328 &fe->dvb.fe_hw);
329 dvb_dmxdev_release(&fe->dvb.dmxdev);
330 dvb_dmx_release(&fe->dvb.demux);
331 dvb_unregister_frontend(fe->dvb.frontend);
333 if (fe->dvb.frontend)
335 dvb_frontend_detach(fe->dvb.frontend);