Lines Matching refs:port
117 static int si2157_attach(struct saa7164_port *port, struct i2c_adapter *adapter, in si2157_attach() argument
142 port->i2c_client_tuner = tuner; in si2157_attach()
147 static int saa7164_dvb_stop_port(struct saa7164_port *port) in saa7164_dvb_stop_port() argument
149 struct saa7164_dev *dev = port->dev; in saa7164_dvb_stop_port()
152 ret = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_stop_port()
165 static int saa7164_dvb_acquire_port(struct saa7164_port *port) in saa7164_dvb_acquire_port() argument
167 struct saa7164_dev *dev = port->dev; in saa7164_dvb_acquire_port()
170 ret = saa7164_api_transition_port(port, SAA_DMASTATE_ACQUIRE); in saa7164_dvb_acquire_port()
183 static int saa7164_dvb_pause_port(struct saa7164_port *port) in saa7164_dvb_pause_port() argument
185 struct saa7164_dev *dev = port->dev; in saa7164_dvb_pause_port()
188 ret = saa7164_api_transition_port(port, SAA_DMASTATE_PAUSE); in saa7164_dvb_pause_port()
205 static int saa7164_dvb_stop_streaming(struct saa7164_port *port) in saa7164_dvb_stop_streaming() argument
207 struct saa7164_dev *dev = port->dev; in saa7164_dvb_stop_streaming()
212 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_stop_streaming()
214 ret = saa7164_dvb_pause_port(port); in saa7164_dvb_stop_streaming()
215 ret = saa7164_dvb_acquire_port(port); in saa7164_dvb_stop_streaming()
216 ret = saa7164_dvb_stop_port(port); in saa7164_dvb_stop_streaming()
219 mutex_lock(&port->dmaqueue_lock); in saa7164_dvb_stop_streaming()
220 list_for_each_safe(p, q, &port->dmaqueue.list) { in saa7164_dvb_stop_streaming()
224 mutex_unlock(&port->dmaqueue_lock); in saa7164_dvb_stop_streaming()
229 static int saa7164_dvb_start_port(struct saa7164_port *port) in saa7164_dvb_start_port() argument
231 struct saa7164_dev *dev = port->dev; in saa7164_dvb_start_port()
234 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_start_port()
236 saa7164_buffer_cfg_port(port); in saa7164_dvb_start_port()
239 result = saa7164_api_transition_port(port, SAA_DMASTATE_ACQUIRE); in saa7164_dvb_start_port()
245 result = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_start_port()
256 result = saa7164_api_transition_port(port, SAA_DMASTATE_PAUSE); in saa7164_dvb_start_port()
262 result = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_start_port()
274 result = saa7164_api_transition_port(port, SAA_DMASTATE_RUN); in saa7164_dvb_start_port()
280 result = saa7164_api_transition_port(port, SAA_DMASTATE_STOP); in saa7164_dvb_start_port()
297 struct saa7164_port *port = (struct saa7164_port *) demux->priv; in saa7164_dvb_start_feed() local
298 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_start_feed()
299 struct saa7164_dev *dev = port->dev; in saa7164_dvb_start_feed()
302 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_start_feed()
311 ret = saa7164_dvb_start_port(port); in saa7164_dvb_start_feed()
315 __func__, port->nr, dvb->feeding); in saa7164_dvb_start_feed()
324 struct saa7164_port *port = (struct saa7164_port *) demux->priv; in saa7164_dvb_stop_feed() local
325 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_stop_feed()
326 struct saa7164_dev *dev = port->dev; in saa7164_dvb_stop_feed()
329 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in saa7164_dvb_stop_feed()
335 ret = saa7164_dvb_stop_streaming(port); in saa7164_dvb_stop_feed()
339 __func__, port->nr, dvb->feeding); in saa7164_dvb_stop_feed()
345 static int dvb_register(struct saa7164_port *port) in dvb_register() argument
347 struct saa7164_dvb *dvb = &port->dvb; in dvb_register()
348 struct saa7164_dev *dev = port->dev; in dvb_register()
352 dprintk(DBGLVL_DVB, "%s(port=%d)\n", __func__, port->nr); in dvb_register()
354 if (port->type != SAA7164_MPEG_DVB) in dvb_register()
358 if (port->hwcfg.BARLocation == 0) { in dvb_register()
367 port->hw_streamingparams.bitspersample = 8; in dvb_register()
368 port->hw_streamingparams.samplesperline = 188; in dvb_register()
369 port->hw_streamingparams.numberoflines = in dvb_register()
372 port->hw_streamingparams.pitch = 188; in dvb_register()
373 port->hw_streamingparams.linethreshold = 0; in dvb_register()
374 port->hw_streamingparams.pagetablelistvirt = NULL; in dvb_register()
375 port->hw_streamingparams.pagetablelistphys = NULL; in dvb_register()
376 port->hw_streamingparams.numpagetables = 2 + in dvb_register()
379 port->hw_streamingparams.numpagetableentries = port->hwcfg.buffercount; in dvb_register()
382 for (i = 0; i < port->hwcfg.buffercount; i++) { in dvb_register()
383 buf = saa7164_buffer_alloc(port, in dvb_register()
384 port->hw_streamingparams.numberoflines * in dvb_register()
385 port->hw_streamingparams.pitch); in dvb_register()
395 mutex_lock(&port->dmaqueue_lock); in dvb_register()
396 list_add_tail(&buf->list, &port->dmaqueue.list); in dvb_register()
397 mutex_unlock(&port->dmaqueue_lock); in dvb_register()
408 dvb->adapter.priv = port; in dvb_register()
422 dvb->demux.priv = port; in dvb_register()
488 int saa7164_dvb_unregister(struct saa7164_port *port) in saa7164_dvb_unregister() argument
490 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_unregister()
491 struct saa7164_dev *dev = port->dev; in saa7164_dvb_unregister()
498 if (port->type != SAA7164_MPEG_DVB) in saa7164_dvb_unregister()
502 mutex_lock(&port->dmaqueue_lock); in saa7164_dvb_unregister()
503 list_for_each_safe(c, n, &port->dmaqueue.list) { in saa7164_dvb_unregister()
508 mutex_unlock(&port->dmaqueue_lock); in saa7164_dvb_unregister()
514 client = port->i2c_client_tuner; in saa7164_dvb_unregister()
521 client = port->i2c_client_demod; in saa7164_dvb_unregister()
541 int saa7164_dvb_register(struct saa7164_port *port) in saa7164_dvb_register() argument
543 struct saa7164_dev *dev = port->dev; in saa7164_dvb_register()
544 struct saa7164_dvb *dvb = &port->dvb; in saa7164_dvb_register()
563 i2c_bus = &dev->i2c_bus[port->nr + 1]; in saa7164_dvb_register()
564 switch (port->nr) { in saa7164_dvb_register()
566 port->dvb.frontend = dvb_attach(tda10048_attach, in saa7164_dvb_register()
570 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
572 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
579 port->dvb.frontend = dvb_attach(tda10048_attach, in saa7164_dvb_register()
583 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
585 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
596 i2c_bus = &dev->i2c_bus[port->nr + 1]; in saa7164_dvb_register()
598 port->dvb.frontend = dvb_attach(s5h1411_attach, in saa7164_dvb_register()
602 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
603 if (port->nr == 0) { in saa7164_dvb_register()
606 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
611 dvb_attach(tda18271_attach, port->dvb.frontend, in saa7164_dvb_register()
622 if (port->nr == 0) { in saa7164_dvb_register()
623 port->dvb.frontend = dvb_attach(lgdt3306a_attach, in saa7164_dvb_register()
626 port->dvb.frontend = dvb_attach(lgdt3306a_attach, in saa7164_dvb_register()
630 if (port->dvb.frontend != NULL) { in saa7164_dvb_register()
632 if (port->nr == 0) { in saa7164_dvb_register()
633 si2157_attach(port, &dev->i2c_bus[0].i2c_adap, in saa7164_dvb_register()
634 port->dvb.frontend, 0xc0, in saa7164_dvb_register()
637 si2157_attach(port, &dev->i2c_bus[1].i2c_adap, in saa7164_dvb_register()
638 port->dvb.frontend, 0xc0, in saa7164_dvb_register()
645 if (port->nr == 0) { in saa7164_dvb_register()
649 si2168_config.fe = &port->dvb.frontend; in saa7164_dvb_register()
665 port->i2c_client_demod = client_demod; in saa7164_dvb_register()
670 si2157_config.fe = port->dvb.frontend; in saa7164_dvb_register()
689 port->i2c_client_tuner = client_tuner; in saa7164_dvb_register()
694 si2168_config.fe = &port->dvb.frontend; in saa7164_dvb_register()
710 port->i2c_client_demod = client_demod; in saa7164_dvb_register()
714 si2157_config.fe = port->dvb.frontend; in saa7164_dvb_register()
734 port->i2c_client_tuner = client_tuner; in saa7164_dvb_register()
750 ret = dvb_register(port); in saa7164_dvb_register()