psb_intel_sdvo 196 drivers/gpu/drm/gma500/psb_intel_sdvo.c static struct psb_intel_sdvo *to_psb_intel_sdvo(struct drm_encoder *encoder) psb_intel_sdvo 198 drivers/gpu/drm/gma500/psb_intel_sdvo.c return container_of(encoder, struct psb_intel_sdvo, base.base); psb_intel_sdvo 201 drivers/gpu/drm/gma500/psb_intel_sdvo.c static struct psb_intel_sdvo *intel_attached_sdvo(struct drm_connector *connector) psb_intel_sdvo 204 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo, base); psb_intel_sdvo 213 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_output_setup(struct psb_intel_sdvo *psb_intel_sdvo, uint16_t flags); psb_intel_sdvo 215 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_tv_create_property(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 219 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_create_enhance_property(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 227 drivers/gpu/drm/gma500/psb_intel_sdvo.c static void psb_intel_sdvo_write_sdvox(struct psb_intel_sdvo *psb_intel_sdvo, u32 val) psb_intel_sdvo 229 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_device *dev = psb_intel_sdvo->base.base.dev; psb_intel_sdvo 235 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->sdvo_reg == SDVOB) psb_intel_sdvo 254 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_read_byte(struct psb_intel_sdvo *psb_intel_sdvo, u8 addr, u8 *ch) psb_intel_sdvo 258 drivers/gpu/drm/gma500/psb_intel_sdvo.c .addr = psb_intel_sdvo->slave_addr, psb_intel_sdvo 264 drivers/gpu/drm/gma500/psb_intel_sdvo.c .addr = psb_intel_sdvo->slave_addr, psb_intel_sdvo 272 drivers/gpu/drm/gma500/psb_intel_sdvo.c if ((ret = i2c_transfer(psb_intel_sdvo->i2c, msgs, 2)) == 2) psb_intel_sdvo 401 drivers/gpu/drm/gma500/psb_intel_sdvo.c static void psb_intel_sdvo_debug_write(struct psb_intel_sdvo *psb_intel_sdvo, u8 cmd, psb_intel_sdvo 407 drivers/gpu/drm/gma500/psb_intel_sdvo.c SDVO_NAME(psb_intel_sdvo), cmd); psb_intel_sdvo 435 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_write_cmd(struct psb_intel_sdvo *psb_intel_sdvo, u8 cmd, psb_intel_sdvo 447 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_debug_write(psb_intel_sdvo, cmd, args, args_len); psb_intel_sdvo 450 drivers/gpu/drm/gma500/psb_intel_sdvo.c msgs[i].addr = psb_intel_sdvo->slave_addr; psb_intel_sdvo 457 drivers/gpu/drm/gma500/psb_intel_sdvo.c msgs[i].addr = psb_intel_sdvo->slave_addr; psb_intel_sdvo 466 drivers/gpu/drm/gma500/psb_intel_sdvo.c msgs[i+1].addr = psb_intel_sdvo->slave_addr; psb_intel_sdvo 471 drivers/gpu/drm/gma500/psb_intel_sdvo.c msgs[i+2].addr = psb_intel_sdvo->slave_addr; psb_intel_sdvo 476 drivers/gpu/drm/gma500/psb_intel_sdvo.c ret = i2c_transfer(psb_intel_sdvo->i2c, msgs, i+3); psb_intel_sdvo 490 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_read_response(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 497 drivers/gpu/drm/gma500/psb_intel_sdvo.c DRM_DEBUG_KMS("%s: R: ", SDVO_NAME(psb_intel_sdvo)); psb_intel_sdvo 507 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_read_byte(psb_intel_sdvo, psb_intel_sdvo 515 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_read_byte(psb_intel_sdvo, psb_intel_sdvo 531 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_read_byte(psb_intel_sdvo, psb_intel_sdvo 555 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_control_bus_switch(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 559 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_write_cmd(psb_intel_sdvo, psb_intel_sdvo 564 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_value(struct psb_intel_sdvo *psb_intel_sdvo, u8 cmd, const void *data, int len) psb_intel_sdvo 566 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_write_cmd(psb_intel_sdvo, cmd, data, len)) psb_intel_sdvo 569 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_read_response(psb_intel_sdvo, NULL, 0); psb_intel_sdvo 573 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_get_value(struct psb_intel_sdvo *psb_intel_sdvo, u8 cmd, void *value, int len) psb_intel_sdvo 575 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_write_cmd(psb_intel_sdvo, cmd, NULL, 0)) psb_intel_sdvo 578 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_read_response(psb_intel_sdvo, value, len); psb_intel_sdvo 581 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_target_input(struct psb_intel_sdvo *psb_intel_sdvo) psb_intel_sdvo 584 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 595 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_get_trained_inputs(struct psb_intel_sdvo *psb_intel_sdvo, bool *input_1, bool *input_2) psb_intel_sdvo 600 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_TRAINED_INPUTS, psb_intel_sdvo 609 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_active_outputs(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 612 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 617 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_encoder_power_state(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 637 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 641 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_get_input_pixel_clock_range(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 648 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 659 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_target_output(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 662 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 667 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_timing(struct psb_intel_sdvo *psb_intel_sdvo, u8 cmd, psb_intel_sdvo 670 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, cmd, &dtd->part1, sizeof(dtd->part1)) && psb_intel_sdvo 671 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_value(psb_intel_sdvo, cmd + 1, &dtd->part2, sizeof(dtd->part2)); psb_intel_sdvo 674 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_input_timing(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 677 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_timing(psb_intel_sdvo, psb_intel_sdvo 681 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_output_timing(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 684 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_timing(psb_intel_sdvo, psb_intel_sdvo 689 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_create_preferred_input_timing(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 702 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_lvds && psb_intel_sdvo 703 drivers/gpu/drm/gma500/psb_intel_sdvo.c (psb_intel_sdvo->sdvo_lvds_fixed_mode->hdisplay != width || psb_intel_sdvo 704 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->sdvo_lvds_fixed_mode->vdisplay != height)) psb_intel_sdvo 707 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 712 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_get_preferred_input_timing(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 717 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1, psb_intel_sdvo 719 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2, psb_intel_sdvo 723 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_clock_rate_mult(struct psb_intel_sdvo *psb_intel_sdvo, u8 val) psb_intel_sdvo 725 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, SDVO_CMD_SET_CLOCK_RATE_MULT, &val, 1); psb_intel_sdvo 810 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_check_supp_encode(struct psb_intel_sdvo *psb_intel_sdvo) psb_intel_sdvo 815 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 820 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_encode(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 823 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, SDVO_CMD_SET_ENCODE, &mode, 1); psb_intel_sdvo 826 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_colorimetry(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 829 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, SDVO_CMD_SET_COLORIMETRY, &mode, 1); psb_intel_sdvo 833 drivers/gpu/drm/gma500/psb_intel_sdvo.c static void psb_intel_sdvo_dump_hdmi_buf(struct psb_intel_sdvo *psb_intel_sdvo) psb_intel_sdvo 862 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_avi_infoframe(struct psb_intel_sdvo *psb_intel_sdvo) psb_intel_sdvo 880 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 886 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 893 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 899 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_set_tv_format(struct psb_intel_sdvo *psb_intel_sdvo) psb_intel_sdvo 904 drivers/gpu/drm/gma500/psb_intel_sdvo.c format_map = 1 << psb_intel_sdvo->tv_format_index; psb_intel_sdvo 909 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 915 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_output_timings_from_mode(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 920 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_output(psb_intel_sdvo, psb_intel_sdvo 921 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->attached_output)) psb_intel_sdvo 925 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_output_timing(psb_intel_sdvo, &output_dtd)) psb_intel_sdvo 932 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_input_timings_for_mode(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 937 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_input(psb_intel_sdvo)) psb_intel_sdvo 940 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_create_preferred_input_timing(psb_intel_sdvo, psb_intel_sdvo 946 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_preferred_input_timing(psb_intel_sdvo, psb_intel_sdvo 947 drivers/gpu/drm/gma500/psb_intel_sdvo.c &psb_intel_sdvo->input_dtd)) psb_intel_sdvo 950 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_get_mode_from_dtd(adjusted_mode, &psb_intel_sdvo->input_dtd); psb_intel_sdvo 960 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = to_psb_intel_sdvo(encoder); psb_intel_sdvo 968 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_tv) { psb_intel_sdvo 969 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_output_timings_from_mode(psb_intel_sdvo, mode)) psb_intel_sdvo 972 drivers/gpu/drm/gma500/psb_intel_sdvo.c (void) psb_intel_sdvo_set_input_timings_for_mode(psb_intel_sdvo, psb_intel_sdvo 975 drivers/gpu/drm/gma500/psb_intel_sdvo.c } else if (psb_intel_sdvo->is_lvds) { psb_intel_sdvo 976 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_output_timings_from_mode(psb_intel_sdvo, psb_intel_sdvo 977 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->sdvo_lvds_fixed_mode)) psb_intel_sdvo 980 drivers/gpu/drm/gma500/psb_intel_sdvo.c (void) psb_intel_sdvo_set_input_timings_for_mode(psb_intel_sdvo, psb_intel_sdvo 1001 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = to_psb_intel_sdvo(encoder); psb_intel_sdvo 1018 drivers/gpu/drm/gma500/psb_intel_sdvo.c in_out.in0 = psb_intel_sdvo->attached_output; psb_intel_sdvo 1021 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_value(psb_intel_sdvo, psb_intel_sdvo 1026 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_output(psb_intel_sdvo, psb_intel_sdvo 1027 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->attached_output)) psb_intel_sdvo 1033 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_tv || psb_intel_sdvo->is_lvds) { psb_intel_sdvo 1034 drivers/gpu/drm/gma500/psb_intel_sdvo.c input_dtd = psb_intel_sdvo->input_dtd; psb_intel_sdvo 1037 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_output(psb_intel_sdvo, psb_intel_sdvo 1038 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->attached_output)) psb_intel_sdvo 1042 drivers/gpu/drm/gma500/psb_intel_sdvo.c (void) psb_intel_sdvo_set_output_timing(psb_intel_sdvo, &input_dtd); psb_intel_sdvo 1046 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_input(psb_intel_sdvo)) psb_intel_sdvo 1049 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->has_hdmi_monitor) { psb_intel_sdvo 1050 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_encode(psb_intel_sdvo, SDVO_ENCODE_HDMI); psb_intel_sdvo 1051 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_colorimetry(psb_intel_sdvo, psb_intel_sdvo 1053 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_avi_infoframe(psb_intel_sdvo); psb_intel_sdvo 1055 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_encode(psb_intel_sdvo, SDVO_ENCODE_DVI); psb_intel_sdvo 1057 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_tv && psb_intel_sdvo 1058 drivers/gpu/drm/gma500/psb_intel_sdvo.c !psb_intel_sdvo_set_tv_format(psb_intel_sdvo)) psb_intel_sdvo 1061 drivers/gpu/drm/gma500/psb_intel_sdvo.c (void) psb_intel_sdvo_set_input_timing(psb_intel_sdvo, &input_dtd); psb_intel_sdvo 1069 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_clock_rate_mult(psb_intel_sdvo, rate)) psb_intel_sdvo 1074 drivers/gpu/drm/gma500/psb_intel_sdvo.c sdvox = REG_READ_AUX(psb_intel_sdvo->sdvo_reg); psb_intel_sdvo 1076 drivers/gpu/drm/gma500/psb_intel_sdvo.c sdvox = REG_READ(psb_intel_sdvo->sdvo_reg); psb_intel_sdvo 1078 drivers/gpu/drm/gma500/psb_intel_sdvo.c switch (psb_intel_sdvo->sdvo_reg) { psb_intel_sdvo 1090 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->has_hdmi_audio) psb_intel_sdvo 1099 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_sdvox(psb_intel_sdvo, sdvox); psb_intel_sdvo 1105 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = to_psb_intel_sdvo(encoder); psb_intel_sdvo 1122 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_active_outputs(psb_intel_sdvo, 0); psb_intel_sdvo 1124 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_encoder_power_state(psb_intel_sdvo, mode); psb_intel_sdvo 1128 drivers/gpu/drm/gma500/psb_intel_sdvo.c temp = REG_READ_AUX(psb_intel_sdvo->sdvo_reg); psb_intel_sdvo 1130 drivers/gpu/drm/gma500/psb_intel_sdvo.c temp = REG_READ(psb_intel_sdvo->sdvo_reg); psb_intel_sdvo 1133 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_sdvox(psb_intel_sdvo, temp & ~SDVO_ENABLE); psb_intel_sdvo 1141 drivers/gpu/drm/gma500/psb_intel_sdvo.c temp = REG_READ_AUX(psb_intel_sdvo->sdvo_reg); psb_intel_sdvo 1143 drivers/gpu/drm/gma500/psb_intel_sdvo.c temp = REG_READ(psb_intel_sdvo->sdvo_reg); psb_intel_sdvo 1146 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_sdvox(psb_intel_sdvo, temp | SDVO_ENABLE); psb_intel_sdvo 1151 drivers/gpu/drm/gma500/psb_intel_sdvo.c status = psb_intel_sdvo_get_trained_inputs(psb_intel_sdvo, &input1, &input2); psb_intel_sdvo 1158 drivers/gpu/drm/gma500/psb_intel_sdvo.c "sync\n", SDVO_NAME(psb_intel_sdvo)); psb_intel_sdvo 1162 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_encoder_power_state(psb_intel_sdvo, mode); psb_intel_sdvo 1163 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_set_active_outputs(psb_intel_sdvo, psb_intel_sdvo->attached_output); psb_intel_sdvo 1171 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1176 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->pixel_clock_min > mode->clock) psb_intel_sdvo 1179 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->pixel_clock_max < mode->clock) psb_intel_sdvo 1182 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_lvds) { psb_intel_sdvo 1183 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (mode->hdisplay > psb_intel_sdvo->sdvo_lvds_fixed_mode->hdisplay) psb_intel_sdvo 1186 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (mode->vdisplay > psb_intel_sdvo->sdvo_lvds_fixed_mode->vdisplay) psb_intel_sdvo 1193 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_get_capabilities(struct psb_intel_sdvo *psb_intel_sdvo, struct psb_intel_sdvo_caps *caps) psb_intel_sdvo 1196 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 1235 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *iout = NULL; psb_intel_sdvo 1236 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo; psb_intel_sdvo 1262 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo; psb_intel_sdvo 1268 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo = to_psb_intel_sdvo(connector); psb_intel_sdvo 1270 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_HOT_PLUG_SUPPORT, psb_intel_sdvo 1278 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = to_psb_intel_sdvo(connector); psb_intel_sdvo 1280 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_cmd(psb_intel_sdvo, SDVO_CMD_GET_ACTIVE_HOT_PLUG, NULL, 0); psb_intel_sdvo 1281 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_read_response(psb_intel_sdvo, &response, 2); psb_intel_sdvo 1284 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_cmd(psb_intel_sdvo, SDVO_CMD_GET_HOT_PLUG_SUPPORT, NULL, 0); psb_intel_sdvo 1285 drivers/gpu/drm/gma500/psb_intel_sdvo.c status = psb_intel_sdvo_read_response(psb_intel_sdvo, &response, 2); psb_intel_sdvo 1287 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_cmd(psb_intel_sdvo, SDVO_CMD_SET_ACTIVE_HOT_PLUG, &response, 2); psb_intel_sdvo 1291 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_cmd(psb_intel_sdvo, SDVO_CMD_SET_ACTIVE_HOT_PLUG, &response, 2); psb_intel_sdvo 1294 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_write_cmd(psb_intel_sdvo, SDVO_CMD_GET_ACTIVE_HOT_PLUG, NULL, 0); psb_intel_sdvo 1295 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_read_response(psb_intel_sdvo, &response, 2); psb_intel_sdvo 1300 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_multifunc_encoder(struct psb_intel_sdvo *psb_intel_sdvo) psb_intel_sdvo 1303 drivers/gpu/drm/gma500/psb_intel_sdvo.c int caps = psb_intel_sdvo->caps.output_flags & 0xf; psb_intel_sdvo 1310 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1327 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1333 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (edid == NULL && psb_intel_sdvo_multifunc_encoder(psb_intel_sdvo)) { psb_intel_sdvo 1334 drivers/gpu/drm/gma500/psb_intel_sdvo.c u8 ddc, saved_ddc = psb_intel_sdvo->ddc_bus; psb_intel_sdvo 1340 drivers/gpu/drm/gma500/psb_intel_sdvo.c for (ddc = psb_intel_sdvo->ddc_bus >> 1; ddc > 1; ddc >>= 1) { psb_intel_sdvo 1341 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->ddc_bus = ddc; psb_intel_sdvo 1351 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->ddc_bus = saved_ddc; psb_intel_sdvo 1366 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_hdmi) { psb_intel_sdvo 1367 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid); psb_intel_sdvo 1368 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid); psb_intel_sdvo 1378 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->has_hdmi_audio = psb_intel_sdvo_connector->force_audio > 0; psb_intel_sdvo 1388 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1392 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_write_cmd(psb_intel_sdvo, psb_intel_sdvo 1397 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->caps.output_flags & psb_intel_sdvo 1401 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_read_response(psb_intel_sdvo, &response, 2)) psb_intel_sdvo 1411 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->attached_output = response; psb_intel_sdvo 1413 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->has_hdmi_monitor = false; psb_intel_sdvo 1414 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->has_hdmi_audio = false; psb_intel_sdvo 1439 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_tv = false; psb_intel_sdvo 1440 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_lvds = false; psb_intel_sdvo 1441 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.needs_tv_clock = false; psb_intel_sdvo 1444 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_tv = true; psb_intel_sdvo 1445 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.needs_tv_clock = true; psb_intel_sdvo 1448 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_lvds = psb_intel_sdvo->sdvo_lvds_fixed_mode != NULL; psb_intel_sdvo 1551 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1559 drivers/gpu/drm/gma500/psb_intel_sdvo.c format_map = 1 << psb_intel_sdvo->tv_format_index; psb_intel_sdvo 1563 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_output(psb_intel_sdvo, psb_intel_sdvo->attached_output)) psb_intel_sdvo 1567 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_write_cmd(psb_intel_sdvo, psb_intel_sdvo 1571 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_read_response(psb_intel_sdvo, &reply, 3)) psb_intel_sdvo 1586 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1595 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_ddc_get_modes(connector, psb_intel_sdvo->i2c); psb_intel_sdvo 1614 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->sdvo_lvds_fixed_mode = psb_intel_sdvo 1617 drivers/gpu/drm/gma500/psb_intel_sdvo.c drm_mode_set_crtcinfo(psb_intel_sdvo->sdvo_lvds_fixed_mode, psb_intel_sdvo 1620 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_lvds = true; psb_intel_sdvo 1650 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1654 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo->is_hdmi) psb_intel_sdvo 1669 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo 1694 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (has_audio == psb_intel_sdvo->has_hdmi_audio) psb_intel_sdvo 1697 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->has_hdmi_audio = has_audio; psb_intel_sdvo 1702 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (val == !!psb_intel_sdvo->color_range) psb_intel_sdvo 1705 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->color_range = val ? SDVO_COLOR_RANGE_16_235 : 0; psb_intel_sdvo 1722 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->tv_format_index == psb_intel_sdvo 1726 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->tv_format_index = psb_intel_sdvo_connector->tv_format_supported[val]; psb_intel_sdvo 1797 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_value(psb_intel_sdvo, cmd, &temp_value, 2)) psb_intel_sdvo 1802 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->base.base.crtc) { psb_intel_sdvo 1803 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_crtc *crtc = psb_intel_sdvo->base.base.crtc; psb_intel_sdvo 1816 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo = to_psb_intel_sdvo(&gma_encoder->base); psb_intel_sdvo 1825 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo = to_psb_intel_sdvo(encoder); psb_intel_sdvo 1861 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo = to_psb_intel_sdvo(encoder); psb_intel_sdvo 1863 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->sdvo_lvds_fixed_mode != NULL) psb_intel_sdvo 1865 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->sdvo_lvds_fixed_mode); psb_intel_sdvo 1867 drivers/gpu/drm/gma500/psb_intel_sdvo.c i2c_del_adapter(&psb_intel_sdvo->ddc); psb_intel_sdvo 1876 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_guess_ddc_bus(struct psb_intel_sdvo *sdvo) psb_intel_sdvo 1928 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo, u32 reg) psb_intel_sdvo 1945 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo, u32 reg) psb_intel_sdvo 1971 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_is_hdmi_connector(struct psb_intel_sdvo *psb_intel_sdvo, int device) psb_intel_sdvo 1973 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_check_supp_encode(psb_intel_sdvo); psb_intel_sdvo 2015 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *encoder) psb_intel_sdvo 2048 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_dvi_init(struct psb_intel_sdvo *psb_intel_sdvo, int device) psb_intel_sdvo 2050 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_encoder *encoder = &psb_intel_sdvo->base.base; psb_intel_sdvo 2060 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS0; psb_intel_sdvo 2063 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS1; psb_intel_sdvo 2073 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo_is_hdmi_connector(psb_intel_sdvo, device)) { psb_intel_sdvo 2075 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_hdmi = true; psb_intel_sdvo 2077 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.clone_mask = ((1 << INTEL_SDVO_NON_TV_CLONE_BIT) | psb_intel_sdvo 2080 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_connector_init(psb_intel_sdvo_connector, psb_intel_sdvo); psb_intel_sdvo 2081 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo->is_hdmi) psb_intel_sdvo 2088 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_tv_init(struct psb_intel_sdvo *psb_intel_sdvo, int type) psb_intel_sdvo 2090 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_encoder *encoder = &psb_intel_sdvo->base.base; psb_intel_sdvo 2104 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= type; psb_intel_sdvo 2107 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_tv = true; psb_intel_sdvo 2108 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.needs_tv_clock = true; psb_intel_sdvo 2109 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.clone_mask = 1 << INTEL_SDVO_TV_CLONE_BIT; psb_intel_sdvo 2111 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_connector_init(psb_intel_sdvo_connector, psb_intel_sdvo); psb_intel_sdvo 2113 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_tv_create_property(psb_intel_sdvo, psb_intel_sdvo_connector, type)) psb_intel_sdvo 2116 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_create_enhance_property(psb_intel_sdvo, psb_intel_sdvo_connector)) psb_intel_sdvo 2127 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_analog_init(struct psb_intel_sdvo *psb_intel_sdvo, int device) psb_intel_sdvo 2129 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_encoder *encoder = &psb_intel_sdvo->base.base; psb_intel_sdvo 2145 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB0; psb_intel_sdvo 2148 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB1; psb_intel_sdvo 2152 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.clone_mask = ((1 << INTEL_SDVO_NON_TV_CLONE_BIT) | psb_intel_sdvo 2156 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo); psb_intel_sdvo 2161 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_lvds_init(struct psb_intel_sdvo *psb_intel_sdvo, int device) psb_intel_sdvo 2163 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_encoder *encoder = &psb_intel_sdvo->base.base; psb_intel_sdvo 2178 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS0; psb_intel_sdvo 2181 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS1; psb_intel_sdvo 2185 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.clone_mask = ((1 << INTEL_ANALOG_CLONE_BIT) | psb_intel_sdvo 2188 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_connector_init(psb_intel_sdvo_connector, psb_intel_sdvo); psb_intel_sdvo 2189 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_create_enhance_property(psb_intel_sdvo, psb_intel_sdvo_connector)) psb_intel_sdvo 2200 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_output_setup(struct psb_intel_sdvo *psb_intel_sdvo, uint16_t flags) psb_intel_sdvo 2202 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_tv = false; psb_intel_sdvo 2203 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.needs_tv_clock = false; psb_intel_sdvo 2204 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->is_lvds = false; psb_intel_sdvo 2209 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_dvi_init(psb_intel_sdvo, 0)) psb_intel_sdvo 2213 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_dvi_init(psb_intel_sdvo, 1)) psb_intel_sdvo 2218 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_tv_init(psb_intel_sdvo, SDVO_OUTPUT_SVID0)) psb_intel_sdvo 2222 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_tv_init(psb_intel_sdvo, SDVO_OUTPUT_CVBS0)) psb_intel_sdvo 2226 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_analog_init(psb_intel_sdvo, 0)) psb_intel_sdvo 2230 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_analog_init(psb_intel_sdvo, 1)) psb_intel_sdvo 2234 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_lvds_init(psb_intel_sdvo, 0)) psb_intel_sdvo 2238 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_lvds_init(psb_intel_sdvo, 1)) psb_intel_sdvo 2244 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->controlled_output = 0; psb_intel_sdvo 2245 drivers/gpu/drm/gma500/psb_intel_sdvo.c memcpy(bytes, &psb_intel_sdvo->caps.output_flags, 2); psb_intel_sdvo 2247 drivers/gpu/drm/gma500/psb_intel_sdvo.c SDVO_NAME(psb_intel_sdvo), psb_intel_sdvo 2251 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->base.crtc_mask = (1 << 0) | (1 << 1); psb_intel_sdvo 2256 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_tv_create_property(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 2260 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_device *dev = psb_intel_sdvo->base.base.dev; psb_intel_sdvo 2264 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_output(psb_intel_sdvo, type)) psb_intel_sdvo 2268 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 2295 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->tv_format_index = psb_intel_sdvo_connector->tv_format_supported[0]; psb_intel_sdvo 2304 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_MAX_##NAME, &data_value, 4) || \ psb_intel_sdvo 2305 drivers/gpu/drm/gma500/psb_intel_sdvo.c !psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_##NAME, &response, 2)) \ psb_intel_sdvo 2321 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_create_enhance_property_tv(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 2325 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_device *dev = psb_intel_sdvo->base.base.dev; psb_intel_sdvo 2331 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 2336 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 2367 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 2372 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 2416 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_value(psb_intel_sdvo, SDVO_CMD_GET_DOT_CRAWL, &response, 2)) psb_intel_sdvo 2436 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_create_enhance_property_lvds(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 2440 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct drm_device *dev = psb_intel_sdvo->base.base.dev; psb_intel_sdvo 2450 drivers/gpu/drm/gma500/psb_intel_sdvo.c static bool psb_intel_sdvo_create_enhance_property(struct psb_intel_sdvo *psb_intel_sdvo, psb_intel_sdvo 2461 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_get_value(psb_intel_sdvo, psb_intel_sdvo 2470 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_create_enhance_property_tv(psb_intel_sdvo, psb_intel_sdvo_connector, enhancements.reply); psb_intel_sdvo 2472 drivers/gpu/drm/gma500/psb_intel_sdvo.c return psb_intel_sdvo_create_enhance_property_lvds(psb_intel_sdvo, psb_intel_sdvo_connector, enhancements.reply); psb_intel_sdvo 2481 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo = adapter->algo_data; psb_intel_sdvo 2491 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *sdvo = adapter->algo_data; psb_intel_sdvo 2501 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_init_ddc_proxy(struct psb_intel_sdvo *sdvo, psb_intel_sdvo 2518 drivers/gpu/drm/gma500/psb_intel_sdvo.c struct psb_intel_sdvo *psb_intel_sdvo; psb_intel_sdvo 2521 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo = kzalloc(sizeof(struct psb_intel_sdvo), GFP_KERNEL); psb_intel_sdvo 2522 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo) psb_intel_sdvo 2525 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->sdvo_reg = sdvo_reg; psb_intel_sdvo 2526 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->slave_addr = psb_intel_sdvo_get_slave_addr(dev, sdvo_reg) >> 1; psb_intel_sdvo 2527 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_select_i2c_bus(dev_priv, psb_intel_sdvo, sdvo_reg); psb_intel_sdvo 2528 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_init_ddc_proxy(psb_intel_sdvo, dev)) { psb_intel_sdvo 2529 drivers/gpu/drm/gma500/psb_intel_sdvo.c kfree(psb_intel_sdvo); psb_intel_sdvo 2534 drivers/gpu/drm/gma500/psb_intel_sdvo.c gma_encoder = &psb_intel_sdvo->base; psb_intel_sdvo 2543 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_read_byte(psb_intel_sdvo, i, &byte)) { psb_intel_sdvo 2558 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_capabilities(psb_intel_sdvo, &psb_intel_sdvo->caps)) psb_intel_sdvo 2561 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (psb_intel_sdvo_output_setup(psb_intel_sdvo, psb_intel_sdvo 2562 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->caps.output_flags) != true) { psb_intel_sdvo 2568 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo_select_ddc_bus(dev_priv, psb_intel_sdvo, sdvo_reg); psb_intel_sdvo 2571 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_set_target_input(psb_intel_sdvo)) psb_intel_sdvo 2574 drivers/gpu/drm/gma500/psb_intel_sdvo.c if (!psb_intel_sdvo_get_input_pixel_clock_range(psb_intel_sdvo, psb_intel_sdvo 2575 drivers/gpu/drm/gma500/psb_intel_sdvo.c &psb_intel_sdvo->pixel_clock_min, psb_intel_sdvo 2576 drivers/gpu/drm/gma500/psb_intel_sdvo.c &psb_intel_sdvo->pixel_clock_max)) psb_intel_sdvo 2583 drivers/gpu/drm/gma500/psb_intel_sdvo.c SDVO_NAME(psb_intel_sdvo), psb_intel_sdvo 2584 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->caps.vendor_id, psb_intel_sdvo->caps.device_id, psb_intel_sdvo 2585 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->caps.device_rev_id, psb_intel_sdvo 2586 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->pixel_clock_min / 1000, psb_intel_sdvo 2587 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->pixel_clock_max / 1000, psb_intel_sdvo 2588 drivers/gpu/drm/gma500/psb_intel_sdvo.c (psb_intel_sdvo->caps.sdvo_inputs_mask & 0x1) ? 'Y' : 'N', psb_intel_sdvo 2589 drivers/gpu/drm/gma500/psb_intel_sdvo.c (psb_intel_sdvo->caps.sdvo_inputs_mask & 0x2) ? 'Y' : 'N', psb_intel_sdvo 2591 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->caps.output_flags & psb_intel_sdvo 2593 drivers/gpu/drm/gma500/psb_intel_sdvo.c psb_intel_sdvo->caps.output_flags & psb_intel_sdvo 2599 drivers/gpu/drm/gma500/psb_intel_sdvo.c i2c_del_adapter(&psb_intel_sdvo->ddc); psb_intel_sdvo 2600 drivers/gpu/drm/gma500/psb_intel_sdvo.c kfree(psb_intel_sdvo);