Lines Matching refs:port

85 static int saa7164_dvb_stop_port(struct saa7164_port *port)  in saa7164_dvb_stop_port()  argument
87 struct saa7164_dev *dev = port->dev; in saa7164_dvb_stop_port()
90 ret = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_stop_port()
103 static int saa7164_dvb_acquire_port(struct saa7164_port *port) in saa7164_dvb_acquire_port() argument
105 struct saa7164_dev *dev = port->dev; in saa7164_dvb_acquire_port()
108 ret = saa7164_api_transition_port(port, SAA_DMASTATE_ACQUIRE); in saa7164_dvb_acquire_port()
121 static int saa7164_dvb_pause_port(struct saa7164_port *port) in saa7164_dvb_pause_port() argument
123 struct saa7164_dev *dev = port->dev; in saa7164_dvb_pause_port()
126 ret = saa7164_api_transition_port(port, SAA_DMASTATE_PAUSE); in saa7164_dvb_pause_port()
143 static int saa7164_dvb_stop_streaming(struct saa7164_port *port) in saa7164_dvb_stop_streaming() argument
145 struct saa7164_dev *dev = port->dev; in saa7164_dvb_stop_streaming()
150 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_stop_streaming()
152 ret = saa7164_dvb_pause_port(port); in saa7164_dvb_stop_streaming()
153 ret = saa7164_dvb_acquire_port(port); in saa7164_dvb_stop_streaming()
154 ret = saa7164_dvb_stop_port(port); in saa7164_dvb_stop_streaming()
157 mutex_lock(&port->dmaqueue_lock); in saa7164_dvb_stop_streaming()
158 list_for_each_safe(p, q, &port->dmaqueue.list) { in saa7164_dvb_stop_streaming()
162 mutex_unlock(&port->dmaqueue_lock); in saa7164_dvb_stop_streaming()
167 static int saa7164_dvb_start_port(struct saa7164_port *port) in saa7164_dvb_start_port() argument
169 struct saa7164_dev *dev = port->dev; in saa7164_dvb_start_port()
172 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_start_port()
174 saa7164_buffer_cfg_port(port); in saa7164_dvb_start_port()
177 result = saa7164_api_transition_port(port, SAA_DMASTATE_ACQUIRE); in saa7164_dvb_start_port()
183 result = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_start_port()
194 result = saa7164_api_transition_port(port, SAA_DMASTATE_PAUSE); in saa7164_dvb_start_port()
200 result = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_start_port()
212 result = saa7164_api_transition_port(port, SAA_DMASTATE_RUN); in saa7164_dvb_start_port()
218 result = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_start_port()
235 struct saa7164_port *port = (struct saa7164_port *) demux->priv; in saa7164_dvb_start_feed() local
236 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_start_feed()
237 struct saa7164_dev *dev = port->dev; in saa7164_dvb_start_feed()
240 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_start_feed()
248 ret = saa7164_dvb_start_port(port); in saa7164_dvb_start_feed()
252 __func__, port->nr, dvb->feeding); in saa7164_dvb_start_feed()
260 struct saa7164_port *port = (struct saa7164_port *) demux->priv; in saa7164_dvb_stop_feed() local
261 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_stop_feed()
262 struct saa7164_dev *dev = port->dev; in saa7164_dvb_stop_feed()
265 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_stop_feed()
270 ret = saa7164_dvb_stop_streaming(port); in saa7164_dvb_stop_feed()
274 __func__, port->nr, dvb->feeding); in saa7164_dvb_stop_feed()
279 static int dvb_register(struct saa7164_port *port) in dvb_register() argument
281 struct saa7164_dvb *dvb = &port->dvb; in dvb_register()
282 struct saa7164_dev *dev = port->dev; in dvb_register()
286 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in dvb_register()
288 if (port->type != SAA7164_MPEG_DVB) in dvb_register()
292 if (port->hwcfg.BARLocation == 0) { in dvb_register()
301 port->hw_streamingparams.bitspersample = 8; in dvb_register()
302 port->hw_streamingparams.samplesperline = 188; in dvb_register()
303 port->hw_streamingparams.numberoflines = in dvb_register()
306 port->hw_streamingparams.pitch = 188; in dvb_register()
307 port->hw_streamingparams.linethreshold = 0; in dvb_register()
308 port->hw_streamingparams.pagetablelistvirt = NULL; in dvb_register()
309 port->hw_streamingparams.pagetablelistphys = NULL; in dvb_register()
310 port->hw_streamingparams.numpagetables = 2 + in dvb_register()
313 port->hw_streamingparams.numpagetableentries = port->hwcfg.buffercount; in dvb_register()
316 for (i = 0; i < port->hwcfg.buffercount; i++) { in dvb_register()
317 buf = saa7164_buffer_alloc(port, in dvb_register()
318 port->hw_streamingparams.numberoflines * in dvb_register()
319 port->hw_streamingparams.pitch); in dvb_register()
329 mutex_lock(&port->dmaqueue_lock); in dvb_register()
330 list_add_tail(&buf->list, &port->dmaqueue.list); in dvb_register()
331 mutex_unlock(&port->dmaqueue_lock); in dvb_register()
342 dvb->adapter.priv = port; in dvb_register()
356 dvb->demux.priv = port; in dvb_register()
422 int saa7164_dvb_unregister(struct saa7164_port *port) in saa7164_dvb_unregister() argument
424 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_unregister()
425 struct saa7164_dev *dev = port->dev; in saa7164_dvb_unregister()
431 if (port->type != SAA7164_MPEG_DVB) in saa7164_dvb_unregister()
435 mutex_lock(&port->dmaqueue_lock); in saa7164_dvb_unregister()
436 list_for_each_safe(c, n, &port->dmaqueue.list) { in saa7164_dvb_unregister()
441 mutex_unlock(&port->dmaqueue_lock); in saa7164_dvb_unregister()
460 int saa7164_dvb_register(struct saa7164_port *port) in saa7164_dvb_register() argument
462 struct saa7164_dev *dev = port->dev; in saa7164_dvb_register()
463 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_register()
476 i2c_bus = &dev->i2c_bus[port->nr + 1]; in saa7164_dvb_register()
477 switch (port->nr) { in saa7164_dvb_register()
479 port->dvb.frontend = dvb_attach(tda10048_attach, in saa7164_dvb_register()
483 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
485 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
492 port->dvb.frontend = dvb_attach(tda10048_attach, in saa7164_dvb_register()
496 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
498 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
509 i2c_bus = &dev->i2c_bus[port->nr + 1]; in saa7164_dvb_register()
511 port->dvb.frontend = dvb_attach(s5h1411_attach, in saa7164_dvb_register()
515 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
516 if (port->nr == 0) { in saa7164_dvb_register()
519 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
524 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
543 ret = dvb_register(port); in saa7164_dvb_register()