Lines Matching refs:state

340 	struct adv7842_state *state = to_state(sd);  in avlink_read()  local
342 return adv_smbus_read_byte_data(state->i2c_avlink, reg); in avlink_read()
347 struct adv7842_state *state = to_state(sd); in avlink_write() local
349 return adv_smbus_write_byte_data(state->i2c_avlink, reg, val); in avlink_write()
354 struct adv7842_state *state = to_state(sd); in cec_read() local
356 return adv_smbus_read_byte_data(state->i2c_cec, reg); in cec_read()
361 struct adv7842_state *state = to_state(sd); in cec_write() local
363 return adv_smbus_write_byte_data(state->i2c_cec, reg, val); in cec_write()
373 struct adv7842_state *state = to_state(sd); in infoframe_read() local
375 return adv_smbus_read_byte_data(state->i2c_infoframe, reg); in infoframe_read()
380 struct adv7842_state *state = to_state(sd); in infoframe_write() local
382 return adv_smbus_write_byte_data(state->i2c_infoframe, reg, val); in infoframe_write()
387 struct adv7842_state *state = to_state(sd); in sdp_io_read() local
389 return adv_smbus_read_byte_data(state->i2c_sdp_io, reg); in sdp_io_read()
394 struct adv7842_state *state = to_state(sd); in sdp_io_write() local
396 return adv_smbus_write_byte_data(state->i2c_sdp_io, reg, val); in sdp_io_write()
406 struct adv7842_state *state = to_state(sd); in sdp_read() local
408 return adv_smbus_read_byte_data(state->i2c_sdp, reg); in sdp_read()
413 struct adv7842_state *state = to_state(sd); in sdp_write() local
415 return adv_smbus_write_byte_data(state->i2c_sdp, reg, val); in sdp_write()
425 struct adv7842_state *state = to_state(sd); in afe_read() local
427 return adv_smbus_read_byte_data(state->i2c_afe, reg); in afe_read()
432 struct adv7842_state *state = to_state(sd); in afe_write() local
434 return adv_smbus_write_byte_data(state->i2c_afe, reg, val); in afe_write()
444 struct adv7842_state *state = to_state(sd); in rep_read() local
446 return adv_smbus_read_byte_data(state->i2c_repeater, reg); in rep_read()
451 struct adv7842_state *state = to_state(sd); in rep_write() local
453 return adv_smbus_write_byte_data(state->i2c_repeater, reg, val); in rep_write()
463 struct adv7842_state *state = to_state(sd); in edid_read() local
465 return adv_smbus_read_byte_data(state->i2c_edid, reg); in edid_read()
470 struct adv7842_state *state = to_state(sd); in edid_write() local
472 return adv_smbus_write_byte_data(state->i2c_edid, reg, val); in edid_write()
477 struct adv7842_state *state = to_state(sd); in hdmi_read() local
479 return adv_smbus_read_byte_data(state->i2c_hdmi, reg); in hdmi_read()
484 struct adv7842_state *state = to_state(sd); in hdmi_write() local
486 return adv_smbus_write_byte_data(state->i2c_hdmi, reg, val); in hdmi_write()
496 struct adv7842_state *state = to_state(sd); in cp_read() local
498 return adv_smbus_read_byte_data(state->i2c_cp, reg); in cp_read()
503 struct adv7842_state *state = to_state(sd); in cp_write() local
505 return adv_smbus_write_byte_data(state->i2c_cp, reg, val); in cp_write()
515 struct adv7842_state *state = to_state(sd); in vdp_read() local
517 return adv_smbus_read_byte_data(state->i2c_vdp, reg); in vdp_read()
522 struct adv7842_state *state = to_state(sd); in vdp_write() local
524 return adv_smbus_write_byte_data(state->i2c_vdp, reg, val); in vdp_write()
542 struct adv7842_state *state = to_state(sd); in is_analog_input() local
544 return ((state->mode == ADV7842_MODE_RGB) || in is_analog_input()
545 (state->mode == ADV7842_MODE_COMP)); in is_analog_input()
550 struct adv7842_state *state = to_state(sd); in is_digital_input() local
552 return state->mode == ADV7842_MODE_HDMI; in is_digital_input()
589 struct adv7842_state *state = container_of(dwork, in adv7842_delayed_work_enable_hotplug() local
591 struct v4l2_subdev *sd = &state->sd; in adv7842_delayed_work_enable_hotplug()
592 int present = state->hdmi_edid.present; in adv7842_delayed_work_enable_hotplug()
608 struct adv7842_state *state = to_state(sd); in edid_write_vga_segment() local
609 const u8 *val = state->vga_edid.edid; in edid_write_vga_segment()
625 err = adv_smbus_write_i2c_block_data(state->i2c_edid, i, in edid_write_vga_segment()
646 queue_delayed_work(state->work_queues, in edid_write_vga_segment()
647 &state->delayed_work_enable_hotplug, HZ / 5); in edid_write_vga_segment()
688 struct adv7842_state *state = to_state(sd); in edid_write_hdmi_segment() local
689 const u8 *val = state->hdmi_edid.edid; in edid_write_hdmi_segment()
703 if (!state->hdmi_edid.present) in edid_write_hdmi_segment()
710 err = adv_smbus_write_i2c_block_data(state->i2c_edid, i, in edid_write_hdmi_segment()
731 rep_write_and_or(sd, 0x77, 0xf3, state->hdmi_edid.present); in edid_write_hdmi_segment()
734 if (rep_read(sd, 0x7d) & state->hdmi_edid.present) in edid_write_hdmi_segment()
745 queue_delayed_work(state->work_queues, in edid_write_hdmi_segment()
746 &state->delayed_work_enable_hotplug, HZ / 5); in edid_write_hdmi_segment()
872 struct adv7842_state *state = to_state(sd); in adv7842_s_detect_tx_5v_ctrl() local
873 int prev = v4l2_ctrl_g_ctrl(state->detect_tx_5v_ctrl); in adv7842_s_detect_tx_5v_ctrl()
885 return v4l2_ctrl_s_ctrl(state->detect_tx_5v_ctrl, val); in adv7842_s_detect_tx_5v_ctrl()
913 struct adv7842_state *state = to_state(sd); in configure_predefined_video_timings() local
935 switch (state->mode) { in configure_predefined_video_timings()
953 __func__, state->mode); in configure_predefined_video_timings()
965 struct adv7842_state *state = to_state(sd); in configure_custom_video_timings() local
982 switch (state->mode) { in configure_custom_video_timings()
1019 __func__, state->mode); in configure_custom_video_timings()
1031 struct adv7842_state *state = to_state(sd); in adv7842_set_offset() local
1050 if (adv_smbus_write_i2c_block_data(state->i2c_cp, 0x77, 4, offset_buf)) in adv7842_set_offset()
1056 struct adv7842_state *state = to_state(sd); in adv7842_set_gain() local
1079 if (adv_smbus_write_i2c_block_data(state->i2c_cp, 0x73, 4, gain_buf)) in adv7842_set_gain()
1085 struct adv7842_state *state = to_state(sd); in set_rgb_quantization_range() local
1090 __func__, state->rgb_quantization_range, in set_rgb_quantization_range()
1096 switch (state->rgb_quantization_range) { in set_rgb_quantization_range()
1098 if (state->mode == ADV7842_MODE_RGB) { in set_rgb_quantization_range()
1105 if (state->mode == ADV7842_MODE_COMP) { in set_rgb_quantization_range()
1122 if (state->timings.bt.flags & V4L2_DV_FL_IS_CE_VIDEO) { in set_rgb_quantization_range()
1138 if (state->mode == ADV7842_MODE_COMP) { in set_rgb_quantization_range()
1149 if (state->mode == ADV7842_MODE_COMP) { in set_rgb_quantization_range()
1175 struct adv7842_state *state = to_state(sd); in adv7842_s_ctrl() local
1242 state->rgb_quantization_range = ctrl->val; in adv7842_s_ctrl()
1266 struct adv7842_state *state = to_state(sd); in adv7842_g_input_status() local
1273 if (state->mode == ADV7842_MODE_SDP) { in adv7842_g_input_status()
1307 struct adv7842_state *state = to_state(sd); in stdi2dv_timings() local
1341 state->aspect_ratio, timings)) in stdi2dv_timings()
1423 struct adv7842_state *state = to_state(sd); in adv7842_query_dv_timings() local
1432 if (state->mode == ADV7842_MODE_SDP) in adv7842_query_dv_timings()
1437 state->restart_stdi_once = true; in adv7842_query_dv_timings()
1506 if (state->restart_stdi_once) { in adv7842_query_dv_timings()
1515 state->restart_stdi_once = false; in adv7842_query_dv_timings()
1521 state->restart_stdi_once = true; in adv7842_query_dv_timings()
1534 struct adv7842_state *state = to_state(sd); in adv7842_s_dv_timings() local
1540 if (state->mode == ADV7842_MODE_SDP) in adv7842_s_dv_timings()
1543 if (v4l2_match_dv_timings(&state->timings, timings, 0)) { in adv7842_s_dv_timings()
1556 state->timings = *timings; in adv7842_s_dv_timings()
1580 struct adv7842_state *state = to_state(sd); in adv7842_g_dv_timings() local
1582 if (state->mode == ADV7842_MODE_SDP) in adv7842_g_dv_timings()
1584 *timings = state->timings; in adv7842_g_dv_timings()
1590 struct adv7842_state *state = to_state(sd); in enable_input() local
1593 switch (state->mode) { in enable_input()
1606 __func__, state->mode); in enable_input()
1671 struct adv7842_state *state = to_state(sd); in select_input() local
1673 switch (state->mode) { in select_input()
1730 if (state->mode == ADV7842_MODE_COMP) { in select_input()
1759 if (state->hdmi_port_a) in select_input()
1818 __func__, state->mode); in select_input()
1826 struct adv7842_state *state = to_state(sd); in adv7842_s_routing() local
1832 state->mode = ADV7842_MODE_HDMI; in adv7842_s_routing()
1833 state->vid_std_select = ADV7842_HDMI_COMP_VID_STD_HD_1250P; in adv7842_s_routing()
1834 state->hdmi_port_a = true; in adv7842_s_routing()
1837 state->mode = ADV7842_MODE_HDMI; in adv7842_s_routing()
1838 state->vid_std_select = ADV7842_HDMI_COMP_VID_STD_HD_1250P; in adv7842_s_routing()
1839 state->hdmi_port_a = false; in adv7842_s_routing()
1842 state->mode = ADV7842_MODE_COMP; in adv7842_s_routing()
1843 state->vid_std_select = ADV7842_RGB_VID_STD_AUTO_GRAPH_MODE; in adv7842_s_routing()
1846 state->mode = ADV7842_MODE_RGB; in adv7842_s_routing()
1847 state->vid_std_select = ADV7842_RGB_VID_STD_AUTO_GRAPH_MODE; in adv7842_s_routing()
1850 state->mode = ADV7842_MODE_SDP; in adv7842_s_routing()
1851 state->vid_std_select = ADV7842_SDP_VID_STD_CVBS_SD_4x1; in adv7842_s_routing()
1854 state->mode = ADV7842_MODE_SDP; in adv7842_s_routing()
1855 state->vid_std_select = ADV7842_SDP_VID_STD_YC_SD4_x1; in adv7842_s_routing()
1862 select_input(sd, state->vid_std_select); in adv7842_s_routing()
1883 struct adv7842_state *state = to_state(sd); in adv7842_g_mbus_fmt() local
1885 fmt->width = state->timings.bt.width; in adv7842_g_mbus_fmt()
1886 fmt->height = state->timings.bt.height; in adv7842_g_mbus_fmt()
1890 if (state->mode == ADV7842_MODE_SDP) { in adv7842_g_mbus_fmt()
1896 if (state->norm & V4L2_STD_525_60) in adv7842_g_mbus_fmt()
1905 if (state->timings.bt.flags & V4L2_DV_FL_IS_CE_VIDEO) { in adv7842_g_mbus_fmt()
1906 fmt->colorspace = (state->timings.bt.height <= 576) ? in adv7842_g_mbus_fmt()
1939 struct adv7842_state *state = to_state(sd); in adv7842_isr() local
1977 if (state->mode == ADV7842_MODE_SDP) in adv7842_isr()
2020 struct adv7842_state *state = to_state(sd); in adv7842_get_edid() local
2028 if (state->hdmi_edid.present & (0x04 << edid->pad)) in adv7842_get_edid()
2029 data = state->hdmi_edid.edid; in adv7842_get_edid()
2032 if (state->vga_edid.present) in adv7842_get_edid()
2033 data = state->vga_edid.edid; in adv7842_get_edid()
2060 struct adv7842_state *state = to_state(sd); in adv7842_set_edid() local
2075 state->aspect_ratio = v4l2_calc_aspect_ratio(e->edid[0x15], in adv7842_set_edid()
2080 memset(&state->vga_edid.edid, 0, 256); in adv7842_set_edid()
2081 state->vga_edid.present = e->blocks ? 0x1 : 0x0; in adv7842_set_edid()
2082 memcpy(&state->vga_edid.edid, e->edid, 128 * e->blocks); in adv7842_set_edid()
2087 memset(&state->hdmi_edid.edid, 0, 256); in adv7842_set_edid()
2089 state->hdmi_edid.present |= 0x04 << e->pad; in adv7842_set_edid()
2091 state->hdmi_edid.present &= ~(0x04 << e->pad); in adv7842_set_edid()
2092 memcpy(&state->hdmi_edid.edid, e->edid, 128 * e->blocks); in adv7842_set_edid()
2228 struct adv7842_state *state = to_state(sd); in adv7842_cp_log_status() local
2267 state->hdmi_port_a ? "A" : "B"); in adv7842_cp_log_status()
2280 if (state->hdmi_port_a) { in adv7842_cp_log_status()
2326 &state->timings, true); in adv7842_cp_log_status()
2333 rgb_quantization_range_txt[state->rgb_quantization_range]); in adv7842_cp_log_status()
2382 struct adv7842_state *state = to_state(sd); in adv7842_log_status() local
2384 if (state->mode == ADV7842_MODE_SDP) in adv7842_log_status()
2391 struct adv7842_state *state = to_state(sd); in adv7842_querystd() local
2395 if (state->mode != ADV7842_MODE_SDP) in adv7842_querystd()
2486 struct adv7842_state *state = to_state(sd); in adv7842_s_std() local
2487 struct adv7842_platform_data *pdata = &state->pdata; in adv7842_s_std()
2491 if (state->mode != ADV7842_MODE_SDP) in adv7842_s_std()
2502 state->norm = norm; in adv7842_s_std()
2510 struct adv7842_state *state = to_state(sd); in adv7842_g_std() local
2514 if (state->mode != ADV7842_MODE_SDP) in adv7842_g_std()
2517 *norm = state->norm; in adv7842_g_std()
2525 struct adv7842_state *state = to_state(sd); in adv7842_core_init() local
2526 struct adv7842_platform_data *pdata = &state->pdata; in adv7842_core_init()
2732 struct adv7842_state *state = to_state(sd); in adv7842_command_ram_test() local
2761 select_input(sd, state->vid_std_select); in adv7842_command_ram_test()
2769 timings = state->timings; in adv7842_command_ram_test()
2771 memset(&state->timings, 0, sizeof(struct v4l2_dv_timings)); in adv7842_command_ram_test()
2866 struct adv7842_state *state = to_state(sd); in adv7842_unregister_clients() local
2867 if (state->i2c_avlink) in adv7842_unregister_clients()
2868 i2c_unregister_device(state->i2c_avlink); in adv7842_unregister_clients()
2869 if (state->i2c_cec) in adv7842_unregister_clients()
2870 i2c_unregister_device(state->i2c_cec); in adv7842_unregister_clients()
2871 if (state->i2c_infoframe) in adv7842_unregister_clients()
2872 i2c_unregister_device(state->i2c_infoframe); in adv7842_unregister_clients()
2873 if (state->i2c_sdp_io) in adv7842_unregister_clients()
2874 i2c_unregister_device(state->i2c_sdp_io); in adv7842_unregister_clients()
2875 if (state->i2c_sdp) in adv7842_unregister_clients()
2876 i2c_unregister_device(state->i2c_sdp); in adv7842_unregister_clients()
2877 if (state->i2c_afe) in adv7842_unregister_clients()
2878 i2c_unregister_device(state->i2c_afe); in adv7842_unregister_clients()
2879 if (state->i2c_repeater) in adv7842_unregister_clients()
2880 i2c_unregister_device(state->i2c_repeater); in adv7842_unregister_clients()
2881 if (state->i2c_edid) in adv7842_unregister_clients()
2882 i2c_unregister_device(state->i2c_edid); in adv7842_unregister_clients()
2883 if (state->i2c_hdmi) in adv7842_unregister_clients()
2884 i2c_unregister_device(state->i2c_hdmi); in adv7842_unregister_clients()
2885 if (state->i2c_cp) in adv7842_unregister_clients()
2886 i2c_unregister_device(state->i2c_cp); in adv7842_unregister_clients()
2887 if (state->i2c_vdp) in adv7842_unregister_clients()
2888 i2c_unregister_device(state->i2c_vdp); in adv7842_unregister_clients()
2890 state->i2c_avlink = NULL; in adv7842_unregister_clients()
2891 state->i2c_cec = NULL; in adv7842_unregister_clients()
2892 state->i2c_infoframe = NULL; in adv7842_unregister_clients()
2893 state->i2c_sdp_io = NULL; in adv7842_unregister_clients()
2894 state->i2c_sdp = NULL; in adv7842_unregister_clients()
2895 state->i2c_afe = NULL; in adv7842_unregister_clients()
2896 state->i2c_repeater = NULL; in adv7842_unregister_clients()
2897 state->i2c_edid = NULL; in adv7842_unregister_clients()
2898 state->i2c_hdmi = NULL; in adv7842_unregister_clients()
2899 state->i2c_cp = NULL; in adv7842_unregister_clients()
2900 state->i2c_vdp = NULL; in adv7842_unregister_clients()
2925 struct adv7842_state *state = to_state(sd); in adv7842_register_clients() local
2926 struct adv7842_platform_data *pdata = &state->pdata; in adv7842_register_clients()
2928 state->i2c_avlink = adv7842_dummy_client(sd, "avlink", pdata->i2c_avlink, 0xf3); in adv7842_register_clients()
2929 state->i2c_cec = adv7842_dummy_client(sd, "cec", pdata->i2c_cec, 0xf4); in adv7842_register_clients()
2930 state->i2c_infoframe = adv7842_dummy_client(sd, "infoframe", pdata->i2c_infoframe, 0xf5); in adv7842_register_clients()
2931 state->i2c_sdp_io = adv7842_dummy_client(sd, "sdp_io", pdata->i2c_sdp_io, 0xf2); in adv7842_register_clients()
2932 state->i2c_sdp = adv7842_dummy_client(sd, "sdp", pdata->i2c_sdp, 0xf1); in adv7842_register_clients()
2933 state->i2c_afe = adv7842_dummy_client(sd, "afe", pdata->i2c_afe, 0xf8); in adv7842_register_clients()
2934 state->i2c_repeater = adv7842_dummy_client(sd, "repeater", pdata->i2c_repeater, 0xf9); in adv7842_register_clients()
2935 state->i2c_edid = adv7842_dummy_client(sd, "edid", pdata->i2c_edid, 0xfa); in adv7842_register_clients()
2936 state->i2c_hdmi = adv7842_dummy_client(sd, "hdmi", pdata->i2c_hdmi, 0xfb); in adv7842_register_clients()
2937 state->i2c_cp = adv7842_dummy_client(sd, "cp", pdata->i2c_cp, 0xfd); in adv7842_register_clients()
2938 state->i2c_vdp = adv7842_dummy_client(sd, "vdp", pdata->i2c_vdp, 0xfe); in adv7842_register_clients()
2940 if (!state->i2c_avlink || in adv7842_register_clients()
2941 !state->i2c_cec || in adv7842_register_clients()
2942 !state->i2c_infoframe || in adv7842_register_clients()
2943 !state->i2c_sdp_io || in adv7842_register_clients()
2944 !state->i2c_sdp || in adv7842_register_clients()
2945 !state->i2c_afe || in adv7842_register_clients()
2946 !state->i2c_repeater || in adv7842_register_clients()
2947 !state->i2c_edid || in adv7842_register_clients()
2948 !state->i2c_hdmi || in adv7842_register_clients()
2949 !state->i2c_cp || in adv7842_register_clients()
2950 !state->i2c_vdp) in adv7842_register_clients()
2959 struct adv7842_state *state; in adv7842_probe() local
2980 state = devm_kzalloc(&client->dev, sizeof(struct adv7842_state), GFP_KERNEL); in adv7842_probe()
2981 if (!state) { in adv7842_probe()
2987 state->pdata = *pdata; in adv7842_probe()
2988 state->timings = cea640x480; in adv7842_probe()
2990 sd = &state->sd; in adv7842_probe()
2993 state->mode = pdata->mode; in adv7842_probe()
2995 state->hdmi_port_a = pdata->input == ADV7842_SELECT_HDMI_PORT_A; in adv7842_probe()
2996 state->restart_stdi_once = true; in adv7842_probe()
3016 hdl = &state->hdl; in adv7842_probe()
3030 state->detect_tx_5v_ctrl = v4l2_ctrl_new_std(hdl, NULL, in adv7842_probe()
3032 state->analog_sampling_phase_ctrl = v4l2_ctrl_new_custom(hdl, in adv7842_probe()
3034 state->free_run_color_ctrl_manual = v4l2_ctrl_new_custom(hdl, in adv7842_probe()
3036 state->free_run_color_ctrl = v4l2_ctrl_new_custom(hdl, in adv7842_probe()
3038 state->rgb_quantization_range_ctrl = in adv7842_probe()
3047 state->detect_tx_5v_ctrl->is_private = true; in adv7842_probe()
3048 state->rgb_quantization_range_ctrl->is_private = true; in adv7842_probe()
3049 state->analog_sampling_phase_ctrl->is_private = true; in adv7842_probe()
3050 state->free_run_color_ctrl_manual->is_private = true; in adv7842_probe()
3051 state->free_run_color_ctrl->is_private = true; in adv7842_probe()
3065 state->work_queues = create_singlethread_workqueue(client->name); in adv7842_probe()
3066 if (!state->work_queues) { in adv7842_probe()
3072 INIT_DELAYED_WORK(&state->delayed_work_enable_hotplug, in adv7842_probe()
3075 state->pad.flags = MEDIA_PAD_FL_SOURCE; in adv7842_probe()
3076 err = media_entity_init(&sd->entity, 1, &state->pad, 0); in adv7842_probe()
3091 cancel_delayed_work(&state->delayed_work_enable_hotplug); in adv7842_probe()
3092 destroy_workqueue(state->work_queues); in adv7842_probe()
3105 struct adv7842_state *state = to_state(sd); in adv7842_remove() local
3109 cancel_delayed_work(&state->delayed_work_enable_hotplug); in adv7842_remove()
3110 destroy_workqueue(state->work_queues); in adv7842_remove()