• Home
  • Raw
  • Download

Lines Matching refs:mantis

43 int mantis_frontend_power(struct mantis_pci *mantis, enum mantis_power power)  in mantis_frontend_power()  argument
45 struct mantis_hwconfig *config = mantis->hwconfig; in mantis_frontend_power()
50 mantis_gpio_set_bits(mantis, config->power, POWER_ON); in mantis_frontend_power()
52 mantis_gpio_set_bits(mantis, config->power, POWER_ON); in mantis_frontend_power()
58 mantis_gpio_set_bits(mantis, config->power, POWER_OFF); in mantis_frontend_power()
71 void mantis_frontend_soft_reset(struct mantis_pci *mantis) in mantis_frontend_soft_reset() argument
73 struct mantis_hwconfig *config = mantis->hwconfig; in mantis_frontend_soft_reset()
76 mantis_gpio_set_bits(mantis, config->reset, 0); in mantis_frontend_soft_reset()
78 mantis_gpio_set_bits(mantis, config->reset, 0); in mantis_frontend_soft_reset()
80 mantis_gpio_set_bits(mantis, config->reset, 1); in mantis_frontend_soft_reset()
82 mantis_gpio_set_bits(mantis, config->reset, 1); in mantis_frontend_soft_reset()
89 static int mantis_frontend_shutdown(struct mantis_pci *mantis) in mantis_frontend_shutdown() argument
93 mantis_frontend_soft_reset(mantis); in mantis_frontend_shutdown()
94 err = mantis_frontend_power(mantis, POWER_OFF); in mantis_frontend_shutdown()
106 struct mantis_pci *mantis = dvbdmx->priv; in mantis_dvb_start_feed() local
114 mantis->feeds++; in mantis_dvb_start_feed()
115 dprintk(MANTIS_DEBUG, 1, "mantis start feed, feeds=%d", mantis->feeds); in mantis_dvb_start_feed()
117 if (mantis->feeds == 1) { in mantis_dvb_start_feed()
119 mantis_dma_start(mantis); in mantis_dvb_start_feed()
120 tasklet_enable(&mantis->tasklet); in mantis_dvb_start_feed()
123 return mantis->feeds; in mantis_dvb_start_feed()
129 struct mantis_pci *mantis = dvbdmx->priv; in mantis_dvb_stop_feed() local
137 mantis->feeds--; in mantis_dvb_stop_feed()
138 if (mantis->feeds == 0) { in mantis_dvb_stop_feed()
140 tasklet_disable(&mantis->tasklet); in mantis_dvb_stop_feed()
141 mantis_dma_stop(mantis); in mantis_dvb_stop_feed()
147 int mantis_dvb_init(struct mantis_pci *mantis) in mantis_dvb_init() argument
149 struct mantis_hwconfig *config = mantis->hwconfig; in mantis_dvb_init()
154 result = dvb_register_adapter(&mantis->dvb_adapter, in mantis_dvb_init()
157 &mantis->pdev->dev, in mantis_dvb_init()
166 mantis->dvb_adapter.priv = mantis; in mantis_dvb_init()
167 mantis->demux.dmx.capabilities = DMX_TS_FILTERING | in mantis_dvb_init()
171 mantis->demux.priv = mantis; in mantis_dvb_init()
172 mantis->demux.filternum = 256; in mantis_dvb_init()
173 mantis->demux.feednum = 256; in mantis_dvb_init()
174 mantis->demux.start_feed = mantis_dvb_start_feed; in mantis_dvb_init()
175 mantis->demux.stop_feed = mantis_dvb_stop_feed; in mantis_dvb_init()
176 mantis->demux.write_to_decoder = NULL; in mantis_dvb_init()
179 result = dvb_dmx_init(&mantis->demux); in mantis_dvb_init()
186 mantis->dmxdev.filternum = 256; in mantis_dvb_init()
187 mantis->dmxdev.demux = &mantis->demux.dmx; in mantis_dvb_init()
188 mantis->dmxdev.capabilities = 0; in mantis_dvb_init()
191 result = dvb_dmxdev_init(&mantis->dmxdev, &mantis->dvb_adapter); in mantis_dvb_init()
198 mantis->fe_hw.source = DMX_FRONTEND_0; in mantis_dvb_init()
199 result = mantis->demux.dmx.add_frontend(&mantis->demux.dmx, &mantis->fe_hw); in mantis_dvb_init()
206 mantis->fe_mem.source = DMX_MEMORY_FE; in mantis_dvb_init()
207 result = mantis->demux.dmx.add_frontend(&mantis->demux.dmx, &mantis->fe_mem); in mantis_dvb_init()
213 result = mantis->demux.dmx.connect_frontend(&mantis->demux.dmx, &mantis->fe_hw); in mantis_dvb_init()
219 dvb_net_init(&mantis->dvb_adapter, &mantis->dvbnet, &mantis->demux.dmx); in mantis_dvb_init()
220 tasklet_init(&mantis->tasklet, mantis_dma_xfer, (unsigned long) mantis); in mantis_dvb_init()
221 tasklet_disable(&mantis->tasklet); in mantis_dvb_init()
222 if (mantis->hwconfig) { in mantis_dvb_init()
223 result = config->frontend_init(mantis, mantis->fe); in mantis_dvb_init()
228 if (mantis->fe == NULL) { in mantis_dvb_init()
233 if (dvb_register_frontend(&mantis->dvb_adapter, mantis->fe)) { in mantis_dvb_init()
236 if (mantis->fe->ops.release) in mantis_dvb_init()
237 mantis->fe->ops.release(mantis->fe); in mantis_dvb_init()
239 mantis->fe = NULL; in mantis_dvb_init()
249 tasklet_kill(&mantis->tasklet); in mantis_dvb_init()
250 dvb_net_release(&mantis->dvbnet); in mantis_dvb_init()
251 if (mantis->fe) { in mantis_dvb_init()
252 dvb_unregister_frontend(mantis->fe); in mantis_dvb_init()
253 dvb_frontend_detach(mantis->fe); in mantis_dvb_init()
256 mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_mem); in mantis_dvb_init()
259 mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_hw); in mantis_dvb_init()
262 dvb_dmxdev_release(&mantis->dmxdev); in mantis_dvb_init()
265 dvb_dmx_release(&mantis->demux); in mantis_dvb_init()
268 dvb_unregister_adapter(&mantis->dvb_adapter); in mantis_dvb_init()
274 int mantis_dvb_exit(struct mantis_pci *mantis) in mantis_dvb_exit() argument
278 if (mantis->fe) { in mantis_dvb_exit()
280 err = mantis_frontend_shutdown(mantis); in mantis_dvb_exit()
283 dvb_unregister_frontend(mantis->fe); in mantis_dvb_exit()
284 dvb_frontend_detach(mantis->fe); in mantis_dvb_exit()
287 tasklet_kill(&mantis->tasklet); in mantis_dvb_exit()
288 dvb_net_release(&mantis->dvbnet); in mantis_dvb_exit()
290 mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_mem); in mantis_dvb_exit()
291 mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_hw); in mantis_dvb_exit()
293 dvb_dmxdev_release(&mantis->dmxdev); in mantis_dvb_exit()
294 dvb_dmx_release(&mantis->demux); in mantis_dvb_exit()
297 dvb_unregister_adapter(&mantis->dvb_adapter); in mantis_dvb_exit()