Lines Matching full:cx

138 	struct cx18 *cx = id->cx;  in cx18_g_fmt_vid_cap()  local
139 struct cx18_stream *s = &cx->streams[id->type]; in cx18_g_fmt_vid_cap()
142 pixfmt->width = cx->cxhdl.width; in cx18_g_fmt_vid_cap()
143 pixfmt->height = cx->cxhdl.height; in cx18_g_fmt_vid_cap()
161 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_fmt_vbi_cap() local
168 vbifmt->start[0] = cx->vbi.start[0]; in cx18_g_fmt_vbi_cap()
169 vbifmt->start[1] = cx->vbi.start[1]; in cx18_g_fmt_vbi_cap()
170 vbifmt->count[0] = vbifmt->count[1] = cx->vbi.count; in cx18_g_fmt_vbi_cap()
180 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_fmt_sliced_vbi_cap() local
195 if (v4l2_subdev_call(cx->sd_av, vbi, g_sliced_fmt, &fmt->fmt.sliced)) in cx18_g_fmt_sliced_vbi_cap()
206 struct cx18 *cx = id->cx; in cx18_try_fmt_vid_cap() local
218 h = min(h, cx->is_50hz ? 576 : 480); in cx18_try_fmt_vid_cap()
235 struct cx18 *cx = fh2id(fh)->cx; in cx18_try_fmt_sliced_vbi_cap() local
244 cx18_expand_service_set(vbifmt, cx->is_50hz); in cx18_try_fmt_sliced_vbi_cap()
246 if (check_service_set(vbifmt, cx->is_50hz)) in cx18_try_fmt_sliced_vbi_cap()
255 struct cx18 *cx = id->cx; in cx18_s_fmt_vid_cap() local
259 struct cx18_stream *s = &cx->streams[id->type]; in cx18_s_fmt_vid_cap()
269 if (cx->cxhdl.width == w && cx->cxhdl.height == h && in cx18_s_fmt_vid_cap()
273 if (atomic_read(&cx->ana_capturing) > 0) in cx18_s_fmt_vid_cap()
287 format.format.width = cx->cxhdl.width = w; in cx18_s_fmt_vid_cap()
288 format.format.height = cx->cxhdl.height = h; in cx18_s_fmt_vid_cap()
290 v4l2_subdev_call(cx->sd_av, pad, set_fmt, NULL, &format); in cx18_s_fmt_vid_cap()
298 struct cx18 *cx = id->cx; in cx18_s_fmt_vbi_cap() local
305 if (!cx18_raw_vbi(cx) && atomic_read(&cx->ana_capturing) > 0) in cx18_s_fmt_vbi_cap()
313 ret = v4l2_subdev_call(cx->sd_av, vbi, s_raw_fmt, &fmt->fmt.vbi); in cx18_s_fmt_vbi_cap()
318 cx->vbi.sliced_in->service_set = 0; in cx18_s_fmt_vbi_cap()
319 cx->vbi.in.type = V4L2_BUF_TYPE_VBI_CAPTURE; in cx18_s_fmt_vbi_cap()
328 struct cx18 *cx = id->cx; in cx18_s_fmt_sliced_vbi_cap() local
338 if (cx18_raw_vbi(cx) && atomic_read(&cx->ana_capturing) > 0) in cx18_s_fmt_sliced_vbi_cap()
346 ret = v4l2_subdev_call(cx->sd_av, vbi, s_sliced_fmt, &fmt->fmt.sliced); in cx18_s_fmt_sliced_vbi_cap()
350 cx->vbi.in.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE; in cx18_s_fmt_sliced_vbi_cap()
351 memcpy(cx->vbi.sliced_in, vbifmt, sizeof(*cx->vbi.sliced_in)); in cx18_s_fmt_sliced_vbi_cap()
359 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_register() local
366 reg->val = cx18_read_enc(cx, reg->reg); in cx18_g_register()
373 struct cx18 *cx = fh2id(fh)->cx; in cx18_s_register() local
379 cx18_write_enc(cx, reg->val, reg->reg); in cx18_s_register()
388 struct cx18 *cx = id->cx; in cx18_querycap() local
391 strscpy(vcap->card, cx->card_name, sizeof(vcap->card)); in cx18_querycap()
392 vcap->capabilities = cx->v4l2_cap | V4L2_CAP_DEVICE_CAPS; in cx18_querycap()
398 struct cx18 *cx = fh2id(fh)->cx; in cx18_enumaudio() local
400 return cx18_get_audio_input(cx, vin->index, vin); in cx18_enumaudio()
405 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_audio() local
407 vin->index = cx->audio_input; in cx18_g_audio()
408 return cx18_get_audio_input(cx, vin->index, vin); in cx18_g_audio()
413 struct cx18 *cx = fh2id(fh)->cx; in cx18_s_audio() local
415 if (vout->index >= cx->nof_audio_inputs) in cx18_s_audio()
417 cx->audio_input = vout->index; in cx18_s_audio()
418 cx18_audio_set_io(cx); in cx18_s_audio()
424 struct cx18 *cx = fh2id(fh)->cx; in cx18_enum_input() local
427 return cx18_get_input(cx, vin->index, vin); in cx18_enum_input()
433 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_pixelaspect() local
438 f->numerator = cx->is_50hz ? 54 : 11; in cx18_g_pixelaspect()
439 f->denominator = cx->is_50hz ? 59 : 10; in cx18_g_pixelaspect()
446 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_selection() local
455 sel->r.height = cx->is_50hz ? 576 : 480; in cx18_g_selection()
496 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_input() local
498 *i = cx->active_input; in cx18_g_input()
505 struct cx18 *cx = id->cx; in cx18_s_input() local
508 cx->card->video_inputs + inp; in cx18_s_input()
510 if (inp >= cx->nof_inputs) in cx18_s_input()
513 if (inp == cx->active_input) { in cx18_s_input()
519 cx->active_input, inp); in cx18_s_input()
521 cx->active_input = inp; in cx18_s_input()
523 cx->audio_input = cx->card->video_inputs[inp].audio_index; in cx18_s_input()
525 std = cx->tuner_std; in cx18_s_input()
526 cx->streams[CX18_ENC_STREAM_TYPE_MPG].video_dev.tvnorms = std; in cx18_s_input()
527 cx->streams[CX18_ENC_STREAM_TYPE_YUV].video_dev.tvnorms = std; in cx18_s_input()
528 cx->streams[CX18_ENC_STREAM_TYPE_VBI].video_dev.tvnorms = std; in cx18_s_input()
532 cx18_mute(cx); in cx18_s_input()
533 cx18_video_set_io(cx); in cx18_s_input()
534 cx18_audio_set_io(cx); in cx18_s_input()
535 cx18_unmute(cx); in cx18_s_input()
542 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_frequency() local
547 cx18_call_all(cx, tuner, g_frequency, vf); in cx18_g_frequency()
554 struct cx18 *cx = id->cx; in cx18_s_frequency() local
559 cx18_mute(cx); in cx18_s_frequency()
561 cx18_call_all(cx, tuner, s_frequency, vf); in cx18_s_frequency()
562 cx18_unmute(cx); in cx18_s_frequency()
568 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_std() local
570 *std = cx->std; in cx18_g_std()
577 struct cx18 *cx = id->cx; in cx18_s_std() local
582 if (std == cx->std) in cx18_s_std()
585 if (test_bit(CX18_F_I_RADIO_USER, &cx->i_flags) || in cx18_s_std()
586 atomic_read(&cx->ana_capturing) > 0) { in cx18_s_std()
593 cx->std = std; in cx18_s_std()
594 cx->is_60hz = (std & V4L2_STD_525_60) ? 1 : 0; in cx18_s_std()
595 cx->is_50hz = !cx->is_60hz; in cx18_s_std()
596 cx2341x_handler_set_50hz(&cx->cxhdl, cx->is_50hz); in cx18_s_std()
597 cx->cxhdl.width = 720; in cx18_s_std()
598 cx->cxhdl.height = cx->is_50hz ? 576 : 480; in cx18_s_std()
599 cx->vbi.count = cx->is_50hz ? 18 : 12; in cx18_s_std()
600 cx->vbi.start[0] = cx->is_50hz ? 6 : 10; in cx18_s_std()
601 cx->vbi.start[1] = cx->is_50hz ? 318 : 273; in cx18_s_std()
603 (unsigned long long) cx->std); in cx18_s_std()
606 cx18_call_all(cx, video, s_std, cx->std); in cx18_s_std()
613 struct cx18 *cx = id->cx; in cx18_s_tuner() local
618 cx18_call_all(cx, tuner, s_tuner, vt); in cx18_s_tuner()
624 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_tuner() local
629 cx18_call_all(cx, tuner, g_tuner, vt); in cx18_g_tuner()
641 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_sliced_vbi_cap() local
642 int set = cx->is_50hz ? V4L2_SLICED_VBI_625 : V4L2_SLICED_VBI_525; in cx18_g_sliced_vbi_cap()
651 if (valid_service_line(f, l, cx->is_50hz)) { in cx18_g_sliced_vbi_cap()
762 struct cx18 *cx = fh2id(fh)->cx; in cx18_g_enc_index() local
763 struct cx18_stream *s = &cx->streams[CX18_ENC_STREAM_TYPE_IDX]; in cx18_g_enc_index()
809 struct cx18 *cx = id->cx; in cx18_vb_queue() local
810 struct cx18_stream *s = &cx->streams[id->type]; in cx18_vb_queue()
828 struct cx18 *cx = id->cx; in cx18_streamon() local
829 struct cx18_stream *s = &cx->streams[id->type]; in cx18_streamon()
849 struct cx18 *cx = id->cx; in cx18_streamoff() local
850 struct cx18_stream *s = &cx->streams[id->type]; in cx18_streamoff()
867 struct cx18 *cx = id->cx; in cx18_reqbufs() local
868 struct cx18_stream *s = &cx->streams[id->type]; in cx18_reqbufs()
881 struct cx18 *cx = id->cx; in cx18_querybuf() local
882 struct cx18_stream *s = &cx->streams[id->type]; in cx18_querybuf()
894 struct cx18 *cx = id->cx; in cx18_qbuf() local
895 struct cx18_stream *s = &cx->streams[id->type]; in cx18_qbuf()
907 struct cx18 *cx = id->cx; in cx18_dqbuf() local
908 struct cx18_stream *s = &cx->streams[id->type]; in cx18_dqbuf()
921 struct cx18 *cx = id->cx; in cx18_encoder_cmd() local
940 if (!atomic_read(&cx->ana_capturing)) in cx18_encoder_cmd()
942 if (test_and_set_bit(CX18_F_I_ENC_PAUSED, &cx->i_flags)) in cx18_encoder_cmd()
944 h = cx18_find_handle(cx); in cx18_encoder_cmd()
949 cx18_mute(cx); in cx18_encoder_cmd()
950 cx18_vapi(cx, CX18_CPU_CAPTURE_PAUSE, 1, h); in cx18_encoder_cmd()
956 if (!atomic_read(&cx->ana_capturing)) in cx18_encoder_cmd()
958 if (!test_and_clear_bit(CX18_F_I_ENC_PAUSED, &cx->i_flags)) in cx18_encoder_cmd()
960 h = cx18_find_handle(cx); in cx18_encoder_cmd()
965 cx18_vapi(cx, CX18_CPU_CAPTURE_RESUME, 1, h); in cx18_encoder_cmd()
966 cx18_unmute(cx); in cx18_encoder_cmd()
979 struct cx18 *cx = fh2id(fh)->cx; in cx18_try_encoder_cmd() local
1011 struct cx18 *cx = fh2id(fh)->cx; in cx18_log_status() local
1016 CX18_INFO("Version: %s Card: %s\n", CX18_VERSION, cx->card_name); in cx18_log_status()
1017 if (cx->hw_flags & CX18_HW_TVEEPROM) { in cx18_log_status()
1020 cx18_read_eeprom(cx, &tv); in cx18_log_status()
1022 cx18_call_all(cx, core, log_status); in cx18_log_status()
1023 cx18_get_input(cx, cx->active_input, &vidin); in cx18_log_status()
1024 cx18_get_audio_input(cx, cx->audio_input, &audin); in cx18_log_status()
1027 mutex_lock(&cx->gpio_lock); in cx18_log_status()
1029 cx->gpio_dir, cx->gpio_val); in cx18_log_status()
1030 mutex_unlock(&cx->gpio_lock); in cx18_log_status()
1032 test_bit(CX18_F_I_RADIO_USER, &cx->i_flags) ? "Radio" : "TV"); in cx18_log_status()
1033 v4l2_ctrl_handler_log_status(&cx->cxhdl.hdl, cx->v4l2_dev.name); in cx18_log_status()
1034 CX18_INFO("Status flags: 0x%08lx\n", cx->i_flags); in cx18_log_status()
1036 struct cx18_stream *s = &cx->streams[i]; in cx18_log_status()
1047 (long long)cx->mpg_data_received, in cx18_log_status()
1048 (long long)cx->vbi_data_inserted); in cx18_log_status()
1055 struct cx18 *cx = fh2id(fh)->cx; in cx18_default() local
1062 cx18_call_hw(cx, CX18_HW_GPIO_RESET_CTRL, core, reset, in cx18_default()