Lines Matching refs:ca
94 struct dvb_ca_en50221 ca; member
145 static int tt3650_ci_msg_locked(struct dvb_ca_en50221 *ca, in tt3650_ci_msg_locked() argument
149 struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data; in tt3650_ci_msg_locked()
160 static int tt3650_ci_read_attribute_mem(struct dvb_ca_en50221 *ca, in tt3650_ci_read_attribute_mem() argument
172 ret = tt3650_ci_msg_locked(ca, TT3650_CMD_CI_RD_ATTR, buf, 2, 3); in tt3650_ci_read_attribute_mem()
183 static int tt3650_ci_write_attribute_mem(struct dvb_ca_en50221 *ca, in tt3650_ci_write_attribute_mem() argument
198 return tt3650_ci_msg_locked(ca, TT3650_CMD_CI_WR_ATTR, buf, 3, 3); in tt3650_ci_write_attribute_mem()
201 static int tt3650_ci_read_cam_control(struct dvb_ca_en50221 *ca, in tt3650_ci_read_cam_control() argument
213 ret = tt3650_ci_msg_locked(ca, TT3650_CMD_CI_RD_CTRL, buf, 1, 2); in tt3650_ci_read_cam_control()
224 static int tt3650_ci_write_cam_control(struct dvb_ca_en50221 *ca, in tt3650_ci_write_cam_control() argument
240 return tt3650_ci_msg_locked(ca, TT3650_CMD_CI_WR_CTRL, buf, 2, 2); in tt3650_ci_write_cam_control()
243 static int tt3650_ci_set_video_port(struct dvb_ca_en50221 *ca, in tt3650_ci_set_video_port() argument
258 ret = tt3650_ci_msg_locked(ca, TT3650_CMD_CI_SET_VIDEO_PORT, buf, 1, 1); in tt3650_ci_set_video_port()
270 static int tt3650_ci_slot_shutdown(struct dvb_ca_en50221 *ca, int slot) in tt3650_ci_slot_shutdown() argument
272 return tt3650_ci_set_video_port(ca, slot, /* enable */ 0); in tt3650_ci_slot_shutdown()
275 static int tt3650_ci_slot_ts_enable(struct dvb_ca_en50221 *ca, int slot) in tt3650_ci_slot_ts_enable() argument
277 return tt3650_ci_set_video_port(ca, slot, /* enable */ 1); in tt3650_ci_slot_ts_enable()
280 static int tt3650_ci_slot_reset(struct dvb_ca_en50221 *ca, int slot) in tt3650_ci_slot_reset() argument
282 struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data; in tt3650_ci_slot_reset()
320 static int tt3650_ci_poll_slot_status(struct dvb_ca_en50221 *ca, in tt3650_ci_poll_slot_status() argument
330 ret = tt3650_ci_msg_locked(ca, TT3650_CMD_CI_TEST, buf, 0, 1); in tt3650_ci_poll_slot_status()
355 if (NULL == state->ca.data) in tt3650_ci_uninit()
359 tt3650_ci_set_video_port(&state->ca, /* slot */ 0, /* enable */ 0); in tt3650_ci_uninit()
361 dvb_ca_en50221_release(&state->ca); in tt3650_ci_uninit()
363 memset(&state->ca, 0, sizeof(state->ca)); in tt3650_ci_uninit()
376 state->ca.owner = THIS_MODULE; in tt3650_ci_init()
377 state->ca.read_attribute_mem = tt3650_ci_read_attribute_mem; in tt3650_ci_init()
378 state->ca.write_attribute_mem = tt3650_ci_write_attribute_mem; in tt3650_ci_init()
379 state->ca.read_cam_control = tt3650_ci_read_cam_control; in tt3650_ci_init()
380 state->ca.write_cam_control = tt3650_ci_write_cam_control; in tt3650_ci_init()
381 state->ca.slot_reset = tt3650_ci_slot_reset; in tt3650_ci_init()
382 state->ca.slot_shutdown = tt3650_ci_slot_shutdown; in tt3650_ci_init()
383 state->ca.slot_ts_enable = tt3650_ci_slot_ts_enable; in tt3650_ci_init()
384 state->ca.poll_slot_status = tt3650_ci_poll_slot_status; in tt3650_ci_init()
385 state->ca.data = d; in tt3650_ci_init()
388 &state->ca, in tt3650_ci_init()
393 memset(&state->ca, 0, sizeof(state->ca)); in tt3650_ci_init()