Lines Matching refs:fdtv

32 static inline struct fw_device *device_of(struct firedtv *fdtv)
34 return fw_device(fdtv->device->parent);
37 static int node_req(struct firedtv *fdtv, u64 addr, void *data, size_t len,
40 struct fw_device *device = device_of(fdtv);
51 int fdtv_lock(struct firedtv *fdtv, u64 addr, void *data)
53 return node_req(fdtv, addr, data, 8, TCODE_LOCK_COMPARE_SWAP);
56 int fdtv_read(struct firedtv *fdtv, u64 addr, void *data)
58 return node_req(fdtv, addr, data, 4, TCODE_READ_QUADLET_REQUEST);
61 int fdtv_write(struct firedtv *fdtv, u64 addr, void *data, size_t len)
63 return node_req(fdtv, addr, data, len, TCODE_WRITE_BLOCK_REQUEST);
101 struct firedtv *fdtv = data;
102 struct fdtv_ir_context *ctx = fdtv->ir_context;
110 dev_err(fdtv->device, "length = %d\n", length);
120 dvb_dmx_swfilter_packets(&fdtv->demux, p, 1);
124 dev_err(fdtv->device, "requeue failed\n");
132 int fdtv_start_iso(struct firedtv *fdtv)
135 struct fw_device *device = device_of(fdtv);
143 FW_ISO_CONTEXT_RECEIVE, fdtv->isochannel,
144 device->max_speed, ISO_HEADER_SIZE, handle_iso, fdtv);
172 fdtv->ir_context = ctx;
185 void fdtv_stop_iso(struct firedtv *fdtv)
187 struct fdtv_ir_context *ctx = fdtv->ir_context;
190 fw_iso_buffer_destroy(&ctx->buffer, device_of(fdtv)->card);
200 struct firedtv *f, *fdtv = NULL;
221 fdtv = f;
227 if (fdtv)
228 avc_recv(fdtv, payload, length);
254 struct firedtv *fdtv;
258 fdtv = kzalloc(sizeof(*fdtv), GFP_KERNEL);
259 if (!fdtv)
262 dev_set_drvdata(&unit->device, fdtv);
263 fdtv->device = &unit->device;
264 fdtv->isochannel = -1;
265 fdtv->voltage = 0xff;
266 fdtv->tone = 0xff;
268 mutex_init(&fdtv->avc_mutex);
269 init_waitqueue_head(&fdtv->avc_wait);
270 mutex_init(&fdtv->demux_mutex);
271 INIT_WORK(&fdtv->remote_ctrl_work, avc_remote_ctrl_work);
283 fdtv->type = i;
285 err = fdtv_register_rc(fdtv, &unit->device);
290 list_add_tail(&fdtv->list, &node_list);
293 err = avc_identify_subunit(fdtv);
297 err = fdtv_dvb_register(fdtv, model_names[fdtv->type]);
301 avc_register_remote_control(fdtv);
306 list_del(&fdtv->list);
308 fdtv_unregister_rc(fdtv);
310 kfree(fdtv);
317 struct firedtv *fdtv = dev_get_drvdata(&unit->device);
319 fdtv_dvb_unregister(fdtv);
322 list_del(&fdtv->list);
325 fdtv_unregister_rc(fdtv);
327 kfree(fdtv);
332 struct firedtv *fdtv = dev_get_drvdata(&unit->device);
334 if (fdtv->isochannel >= 0)
335 cmp_establish_pp_connection(fdtv, fdtv->subunit,
336 fdtv->isochannel);