Lines Matching refs:fdtv

31 static inline struct fw_device *device_of(struct firedtv *fdtv)  in device_of()  argument
33 return fw_device(fdtv->device->parent); in device_of()
36 static int node_req(struct firedtv *fdtv, u64 addr, void *data, size_t len, in node_req() argument
39 struct fw_device *device = device_of(fdtv); in node_req()
50 int fdtv_lock(struct firedtv *fdtv, u64 addr, void *data) in fdtv_lock() argument
52 return node_req(fdtv, addr, data, 8, TCODE_LOCK_COMPARE_SWAP); in fdtv_lock()
55 int fdtv_read(struct firedtv *fdtv, u64 addr, void *data) in fdtv_read() argument
57 return node_req(fdtv, addr, data, 4, TCODE_READ_QUADLET_REQUEST); in fdtv_read()
60 int fdtv_write(struct firedtv *fdtv, u64 addr, void *data, size_t len) in fdtv_write() argument
62 return node_req(fdtv, addr, data, len, TCODE_WRITE_BLOCK_REQUEST); in fdtv_write()
100 struct firedtv *fdtv = data; in handle_iso() local
101 struct fdtv_ir_context *ctx = fdtv->ir_context; in handle_iso()
109 dev_err(fdtv->device, "length = %d\n", length); in handle_iso()
119 dvb_dmx_swfilter_packets(&fdtv->demux, p, 1); in handle_iso()
123 dev_err(fdtv->device, "requeue failed\n"); in handle_iso()
131 int fdtv_start_iso(struct firedtv *fdtv) in fdtv_start_iso() argument
134 struct fw_device *device = device_of(fdtv); in fdtv_start_iso()
142 FW_ISO_CONTEXT_RECEIVE, fdtv->isochannel, in fdtv_start_iso()
143 device->max_speed, ISO_HEADER_SIZE, handle_iso, fdtv); in fdtv_start_iso()
171 fdtv->ir_context = ctx; in fdtv_start_iso()
184 void fdtv_stop_iso(struct firedtv *fdtv) in fdtv_stop_iso() argument
186 struct fdtv_ir_context *ctx = fdtv->ir_context; in fdtv_stop_iso()
189 fw_iso_buffer_destroy(&ctx->buffer, device_of(fdtv)->card); in fdtv_stop_iso()
199 struct firedtv *f, *fdtv = NULL; in handle_fcp() local
220 fdtv = f; in handle_fcp()
226 if (fdtv) in handle_fcp()
227 avc_recv(fdtv, payload, length); in handle_fcp()
253 struct firedtv *fdtv; in node_probe() local
257 fdtv = kzalloc(sizeof(*fdtv), GFP_KERNEL); in node_probe()
258 if (!fdtv) in node_probe()
261 dev_set_drvdata(&unit->device, fdtv); in node_probe()
262 fdtv->device = &unit->device; in node_probe()
263 fdtv->isochannel = -1; in node_probe()
264 fdtv->voltage = 0xff; in node_probe()
265 fdtv->tone = 0xff; in node_probe()
267 mutex_init(&fdtv->avc_mutex); in node_probe()
268 init_waitqueue_head(&fdtv->avc_wait); in node_probe()
269 mutex_init(&fdtv->demux_mutex); in node_probe()
270 INIT_WORK(&fdtv->remote_ctrl_work, avc_remote_ctrl_work); in node_probe()
278 fdtv->type = i; in node_probe()
280 err = fdtv_register_rc(fdtv, &unit->device); in node_probe()
285 list_add_tail(&fdtv->list, &node_list); in node_probe()
288 err = avc_identify_subunit(fdtv); in node_probe()
292 err = fdtv_dvb_register(fdtv, model_names[fdtv->type]); in node_probe()
296 avc_register_remote_control(fdtv); in node_probe()
301 list_del(&fdtv->list); in node_probe()
303 fdtv_unregister_rc(fdtv); in node_probe()
305 kfree(fdtv); in node_probe()
312 struct firedtv *fdtv = dev_get_drvdata(&unit->device); in node_remove() local
314 fdtv_dvb_unregister(fdtv); in node_remove()
317 list_del(&fdtv->list); in node_remove()
320 fdtv_unregister_rc(fdtv); in node_remove()
322 kfree(fdtv); in node_remove()
327 struct firedtv *fdtv = dev_get_drvdata(&unit->device); in node_update() local
329 if (fdtv->isochannel >= 0) in node_update()
330 cmp_establish_pp_connection(fdtv, fdtv->subunit, in node_update()
331 fdtv->isochannel); in node_update()