Symbol: intel_sdvo
sys/dev/drm/i915/intel_sdvo.c
1000
if (intel_sdvo->rgb_quant_range_selectable) {
sys/dev/drm/i915/intel_sdvo.c
1013
return intel_sdvo_write_infoframe(intel_sdvo, SDVO_HBUF_INDEX_AVI_IF,
sys/dev/drm/i915/intel_sdvo.c
1018
static bool intel_sdvo_set_tv_format(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1029
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1035
intel_sdvo_set_output_timings_from_mode(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1040
if (!intel_sdvo_set_target_output(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1041
intel_sdvo->attached_output))
sys/dev/drm/i915/intel_sdvo.c
1045
if (!intel_sdvo_set_output_timing(intel_sdvo, &output_dtd))
sys/dev/drm/i915/intel_sdvo.c
1056
intel_sdvo_get_preferred_input_mode(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1064
if (!intel_sdvo_set_target_input(intel_sdvo))
sys/dev/drm/i915/intel_sdvo.c
1067
if (!intel_sdvo_create_preferred_input_timing(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1074
if (!intel_sdvo_get_preferred_input_timing(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1079
intel_sdvo->dtd_sdvo_flags = input_dtd.part2.sdvo_flags;
sys/dev/drm/i915/intel_sdvo.c
1116
struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
sys/dev/drm/i915/intel_sdvo.c
1137
if (!intel_sdvo_set_output_timings_from_mode(intel_sdvo, mode))
sys/dev/drm/i915/intel_sdvo.c
1140
(void) intel_sdvo_get_preferred_input_mode(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1146
if (!intel_sdvo_set_output_timings_from_mode(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1147
intel_sdvo->sdvo_lvds_fixed_mode))
sys/dev/drm/i915/intel_sdvo.c
1150
(void) intel_sdvo_get_preferred_input_mode(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1167
pipe_config->has_hdmi_sink = intel_sdvo->has_hdmi_monitor;
sys/dev/drm/i915/intel_sdvo.c
1170
(intel_sdvo_state->base.force_audio == HDMI_AUDIO_AUTO && intel_sdvo->has_hdmi_audio))
sys/dev/drm/i915/intel_sdvo.c
1203
intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_##NAME, &val, sizeof(val)); \
sys/dev/drm/i915/intel_sdvo.c
1206
static void intel_sdvo_update_props(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1276
struct intel_sdvo *intel_sdvo = to_sdvo(intel_encoder);
sys/dev/drm/i915/intel_sdvo.c
1282
intel_sdvo_update_props(intel_sdvo, sdvo_state);
sys/dev/drm/i915/intel_sdvo.c
1291
in_out.in0 = intel_sdvo->attached_output;
sys/dev/drm/i915/intel_sdvo.c
1294
intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1299
if (!intel_sdvo_set_target_output(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1300
intel_sdvo->attached_output))
sys/dev/drm/i915/intel_sdvo.c
1306
intel_sdvo->sdvo_lvds_fixed_mode);
sys/dev/drm/i915/intel_sdvo.c
1309
if (!intel_sdvo_set_output_timing(intel_sdvo, &output_dtd))
sys/dev/drm/i915/intel_sdvo.c
1311
SDVO_NAME(intel_sdvo));
sys/dev/drm/i915/intel_sdvo.c
1314
if (!intel_sdvo_set_target_input(intel_sdvo))
sys/dev/drm/i915/intel_sdvo.c
1318
intel_sdvo_set_encode(intel_sdvo, SDVO_ENCODE_HDMI);
sys/dev/drm/i915/intel_sdvo.c
1319
intel_sdvo_set_colorimetry(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1321
intel_sdvo_set_avi_infoframe(intel_sdvo, crtc_state);
sys/dev/drm/i915/intel_sdvo.c
1323
intel_sdvo_set_encode(intel_sdvo, SDVO_ENCODE_DVI);
sys/dev/drm/i915/intel_sdvo.c
1326
!intel_sdvo_set_tv_format(intel_sdvo, conn_state))
sys/dev/drm/i915/intel_sdvo.c
1332
input_dtd.part2.sdvo_flags = intel_sdvo->dtd_sdvo_flags;
sys/dev/drm/i915/intel_sdvo.c
1333
if (!intel_sdvo_set_input_timing(intel_sdvo, &input_dtd))
sys/dev/drm/i915/intel_sdvo.c
1335
SDVO_NAME(intel_sdvo));
sys/dev/drm/i915/intel_sdvo.c
1345
if (!intel_sdvo_set_clock_rate_mult(intel_sdvo, rate))
sys/dev/drm/i915/intel_sdvo.c
1358
sdvox = I915_READ(intel_sdvo->sdvo_reg);
sys/dev/drm/i915/intel_sdvo.c
1359
if (intel_sdvo->port == PORT_B)
sys/dev/drm/i915/intel_sdvo.c
1389
intel_sdvo_write_sdvox(intel_sdvo, sdvox);
sys/dev/drm/i915/intel_sdvo.c
1396
struct intel_sdvo *intel_sdvo = intel_attached_sdvo(&connector->base);
sys/dev/drm/i915/intel_sdvo.c
1399
intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs);
sys/dev/drm/i915/intel_sdvo.c
1426
struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
sys/dev/drm/i915/intel_sdvo.c
1430
intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs);
sys/dev/drm/i915/intel_sdvo.c
1432
ret = intel_sdvo_port_enabled(dev_priv, intel_sdvo->sdvo_reg, pipe);
sys/dev/drm/i915/intel_sdvo.c
1442
struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
sys/dev/drm/i915/intel_sdvo.c
1452
sdvox = I915_READ(intel_sdvo->sdvo_reg);
sys/dev/drm/i915/intel_sdvo.c
1454
ret = intel_sdvo_get_input_timing(intel_sdvo, &dtd);
sys/dev/drm/i915/intel_sdvo.c
1497
if (intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_CLOCK_RATE_MULT,
sys/dev/drm/i915/intel_sdvo.c
1518
if (intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_ENCODE,
sys/dev/drm/i915/intel_sdvo.c
1534
struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
sys/dev/drm/i915/intel_sdvo.c
1538
intel_sdvo_set_active_outputs(intel_sdvo, 0);
sys/dev/drm/i915/intel_sdvo.c
1540
intel_sdvo_set_encoder_power_state(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1543
temp = I915_READ(intel_sdvo->sdvo_reg);
sys/dev/drm/i915/intel_sdvo.c
1546
intel_sdvo_write_sdvox(intel_sdvo, temp);
sys/dev/drm/i915/intel_sdvo.c
1563
intel_sdvo_write_sdvox(intel_sdvo, temp);
sys/dev/drm/i915/intel_sdvo.c
1566
intel_sdvo_write_sdvox(intel_sdvo, temp);
sys/dev/drm/i915/intel_sdvo.c
1593
struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
sys/dev/drm/i915/intel_sdvo.c
1600
temp = I915_READ(intel_sdvo->sdvo_reg);
sys/dev/drm/i915/intel_sdvo.c
1602
intel_sdvo_write_sdvox(intel_sdvo, temp);
sys/dev/drm/i915/intel_sdvo.c
1607
success = intel_sdvo_get_trained_inputs(intel_sdvo, &input1, &input2);
sys/dev/drm/i915/intel_sdvo.c
1616
"sync\n", SDVO_NAME(intel_sdvo));
sys/dev/drm/i915/intel_sdvo.c
1620
intel_sdvo_set_encoder_power_state(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1622
intel_sdvo_set_active_outputs(intel_sdvo, intel_sdvo->attached_output);
sys/dev/drm/i915/intel_sdvo.c
1629
struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
1637
if (intel_sdvo->pixel_clock_min > mode->clock)
sys/dev/drm/i915/intel_sdvo.c
1640
if (intel_sdvo->pixel_clock_max < mode->clock)
sys/dev/drm/i915/intel_sdvo.c
1647
if (mode->hdisplay > intel_sdvo->sdvo_lvds_fixed_mode->hdisplay)
sys/dev/drm/i915/intel_sdvo.c
1650
if (mode->vdisplay > intel_sdvo->sdvo_lvds_fixed_mode->vdisplay)
sys/dev/drm/i915/intel_sdvo.c
1657
static bool intel_sdvo_get_capabilities(struct intel_sdvo *intel_sdvo, struct intel_sdvo_caps *caps)
sys/dev/drm/i915/intel_sdvo.c
1660
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1694
static uint16_t intel_sdvo_get_hotplug_support(struct intel_sdvo *intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
1696
struct drm_i915_private *dev_priv = to_i915(intel_sdvo->base.base.dev);
sys/dev/drm/i915/intel_sdvo.c
1709
if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_HOT_PLUG_SUPPORT,
sys/dev/drm/i915/intel_sdvo.c
1718
struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
sys/dev/drm/i915/intel_sdvo.c
1720
intel_sdvo_write_cmd(intel_sdvo, SDVO_CMD_SET_ACTIVE_HOT_PLUG,
sys/dev/drm/i915/intel_sdvo.c
1721
&intel_sdvo->hotplug_active, 2);
sys/dev/drm/i915/intel_sdvo.c
1733
intel_sdvo_multifunc_encoder(struct intel_sdvo *intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
1736
return hweight16(intel_sdvo->caps.output_flags) > 1;
sys/dev/drm/i915/intel_sdvo.c
174
static struct intel_sdvo *to_sdvo(struct intel_encoder *encoder)
sys/dev/drm/i915/intel_sdvo.c
1742
struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
176
return container_of(encoder, struct intel_sdvo, base);
sys/dev/drm/i915/intel_sdvo.c
1760
struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
1768
if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) {
sys/dev/drm/i915/intel_sdvo.c
1769
u8 ddc, saved_ddc = intel_sdvo->ddc_bus;
sys/dev/drm/i915/intel_sdvo.c
1775
for (ddc = intel_sdvo->ddc_bus >> 1; ddc > 1; ddc >>= 1) {
sys/dev/drm/i915/intel_sdvo.c
1776
intel_sdvo->ddc_bus = ddc;
sys/dev/drm/i915/intel_sdvo.c
1786
intel_sdvo->ddc_bus = saved_ddc;
sys/dev/drm/i915/intel_sdvo.c
179
static struct intel_sdvo *intel_attached_sdvo(struct drm_connector *connector)
sys/dev/drm/i915/intel_sdvo.c
1802
intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid);
sys/dev/drm/i915/intel_sdvo.c
1803
intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid);
sys/dev/drm/i915/intel_sdvo.c
1804
intel_sdvo->rgb_quant_range_selectable =
sys/dev/drm/i915/intel_sdvo.c
1831
struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
1838
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1850
intel_sdvo->attached_output = response;
sys/dev/drm/i915/intel_sdvo.c
1852
intel_sdvo->has_hdmi_monitor = false;
sys/dev/drm/i915/intel_sdvo.c
1853
intel_sdvo->has_hdmi_audio = false;
sys/dev/drm/i915/intel_sdvo.c
1854
intel_sdvo->rgb_quant_range_selectable = false;
sys/dev/drm/i915/intel_sdvo.c
194
intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, uint16_t flags);
sys/dev/drm/i915/intel_sdvo.c
196
intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
1979
struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
1996
if (!intel_sdvo_set_target_output(intel_sdvo, intel_sdvo->attached_output))
sys/dev/drm/i915/intel_sdvo.c
200
intel_sdvo_create_enhance_property(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2000
if (!intel_sdvo_write_cmd(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2004
if (!intel_sdvo_read_response(intel_sdvo, &reply, 3))
sys/dev/drm/i915/intel_sdvo.c
2019
struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
2046
intel_ddc_get_modes(connector, &intel_sdvo->ddc);
sys/dev/drm/i915/intel_sdvo.c
208
static void intel_sdvo_write_sdvox(struct intel_sdvo *intel_sdvo, u32 val)
sys/dev/drm/i915/intel_sdvo.c
210
struct drm_device *dev = intel_sdvo->base.base.dev;
sys/dev/drm/i915/intel_sdvo.c
216
I915_WRITE(intel_sdvo->sdvo_reg, val);
sys/dev/drm/i915/intel_sdvo.c
217
POSTING_READ(intel_sdvo->sdvo_reg);
sys/dev/drm/i915/intel_sdvo.c
2191
struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
2206
struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
sys/dev/drm/i915/intel_sdvo.c
223
I915_WRITE(intel_sdvo->sdvo_reg, val);
sys/dev/drm/i915/intel_sdvo.c
224
POSTING_READ(intel_sdvo->sdvo_reg);
sys/dev/drm/i915/intel_sdvo.c
2270
struct intel_sdvo *intel_sdvo = to_sdvo(to_intel_encoder(encoder));
sys/dev/drm/i915/intel_sdvo.c
2272
if (intel_sdvo->sdvo_lvds_fixed_mode != NULL)
sys/dev/drm/i915/intel_sdvo.c
2274
intel_sdvo->sdvo_lvds_fixed_mode);
sys/dev/drm/i915/intel_sdvo.c
2276
i2c_del_adapter(&intel_sdvo->ddc);
sys/dev/drm/i915/intel_sdvo.c
2285
intel_sdvo_guess_ddc_bus(struct intel_sdvo *sdvo)
sys/dev/drm/i915/intel_sdvo.c
229
if (intel_sdvo->port == PORT_B)
sys/dev/drm/i915/intel_sdvo.c
2335
struct intel_sdvo *sdvo)
sys/dev/drm/i915/intel_sdvo.c
2352
struct intel_sdvo *sdvo)
sys/dev/drm/i915/intel_sdvo.c
2380
intel_sdvo_unselect_i2c_bus(struct intel_sdvo *sdvo)
sys/dev/drm/i915/intel_sdvo.c
2386
intel_sdvo_is_hdmi_connector(struct intel_sdvo *intel_sdvo, int device)
sys/dev/drm/i915/intel_sdvo.c
2388
return intel_sdvo_check_supp_encode(intel_sdvo);
sys/dev/drm/i915/intel_sdvo.c
2393
struct intel_sdvo *sdvo)
sys/dev/drm/i915/intel_sdvo.c
2432
struct intel_sdvo *encoder)
sys/dev/drm/i915/intel_sdvo.c
2459
intel_sdvo_add_hdmi_properties(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
248
static bool intel_sdvo_read_byte(struct intel_sdvo *intel_sdvo, u8 addr, u8 *ch)
sys/dev/drm/i915/intel_sdvo.c
2494
intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device)
sys/dev/drm/i915/intel_sdvo.c
2496
struct drm_encoder *encoder = &intel_sdvo->base.base;
sys/dev/drm/i915/intel_sdvo.c
2510
intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS0;
sys/dev/drm/i915/intel_sdvo.c
2513
intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS1;
sys/dev/drm/i915/intel_sdvo.c
2519
if (intel_sdvo_get_hotplug_support(intel_sdvo) &
sys/dev/drm/i915/intel_sdvo.c
252
.addr = intel_sdvo->slave_addr,
sys/dev/drm/i915/intel_sdvo.c
2521
intel_sdvo->hotplug_active |= intel_sdvo_connector->output_flag;
sys/dev/drm/i915/intel_sdvo.c
2536
intel_sdvo_is_hdmi_connector(intel_sdvo, device)) {
sys/dev/drm/i915/intel_sdvo.c
2541
if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) {
sys/dev/drm/i915/intel_sdvo.c
2547
intel_sdvo_add_hdmi_properties(intel_sdvo, intel_sdvo_connector);
sys/dev/drm/i915/intel_sdvo.c
2553
intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type)
sys/dev/drm/i915/intel_sdvo.c
2555
struct drm_encoder *encoder = &intel_sdvo->base.base;
sys/dev/drm/i915/intel_sdvo.c
2571
intel_sdvo->controlled_output |= type;
sys/dev/drm/i915/intel_sdvo.c
2574
if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) {
sys/dev/drm/i915/intel_sdvo.c
2579
if (!intel_sdvo_tv_create_property(intel_sdvo, intel_sdvo_connector, type))
sys/dev/drm/i915/intel_sdvo.c
258
.addr = intel_sdvo->slave_addr,
sys/dev/drm/i915/intel_sdvo.c
2582
if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector))
sys/dev/drm/i915/intel_sdvo.c
2593
intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device)
sys/dev/drm/i915/intel_sdvo.c
2595
struct drm_encoder *encoder = &intel_sdvo->base.base;
sys/dev/drm/i915/intel_sdvo.c
2613
intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB0;
sys/dev/drm/i915/intel_sdvo.c
2616
intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB1;
sys/dev/drm/i915/intel_sdvo.c
2620
if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) {
sys/dev/drm/i915/intel_sdvo.c
2629
intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
sys/dev/drm/i915/intel_sdvo.c
2631
struct drm_encoder *encoder = &intel_sdvo->base.base;
sys/dev/drm/i915/intel_sdvo.c
2649
intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS0;
sys/dev/drm/i915/intel_sdvo.c
2652
intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS1;
sys/dev/drm/i915/intel_sdvo.c
2656
if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) {
sys/dev/drm/i915/intel_sdvo.c
266
if ((ret = i2c_transfer(intel_sdvo->i2c, msgs, 2)) == 2)
sys/dev/drm/i915/intel_sdvo.c
2661
if (!intel_sdvo_create_enhance_property(intel_sdvo, intel_sdvo_connector))
sys/dev/drm/i915/intel_sdvo.c
2668
intel_sdvo->sdvo_lvds_fixed_mode =
sys/dev/drm/i915/intel_sdvo.c
2674
if (!intel_sdvo->sdvo_lvds_fixed_mode)
sys/dev/drm/i915/intel_sdvo.c
2685
intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, uint16_t flags)
sys/dev/drm/i915/intel_sdvo.c
2690
if (!intel_sdvo_dvi_init(intel_sdvo, 0))
sys/dev/drm/i915/intel_sdvo.c
2694
if (!intel_sdvo_dvi_init(intel_sdvo, 1))
sys/dev/drm/i915/intel_sdvo.c
2699
if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_SVID0))
sys/dev/drm/i915/intel_sdvo.c
2703
if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_CVBS0))
sys/dev/drm/i915/intel_sdvo.c
2707
if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_YPRPB0))
sys/dev/drm/i915/intel_sdvo.c
2711
if (!intel_sdvo_analog_init(intel_sdvo, 0))
sys/dev/drm/i915/intel_sdvo.c
2715
if (!intel_sdvo_analog_init(intel_sdvo, 1))
sys/dev/drm/i915/intel_sdvo.c
2719
if (!intel_sdvo_lvds_init(intel_sdvo, 0))
sys/dev/drm/i915/intel_sdvo.c
2723
if (!intel_sdvo_lvds_init(intel_sdvo, 1))
sys/dev/drm/i915/intel_sdvo.c
2729
intel_sdvo->controlled_output = 0;
sys/dev/drm/i915/intel_sdvo.c
2730
memcpy(bytes, &intel_sdvo->caps.output_flags, 2);
sys/dev/drm/i915/intel_sdvo.c
2732
SDVO_NAME(intel_sdvo),
sys/dev/drm/i915/intel_sdvo.c
2736
intel_sdvo->base.crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
sys/dev/drm/i915/intel_sdvo.c
2741
static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
2743
struct drm_device *dev = intel_sdvo->base.base.dev;
sys/dev/drm/i915/intel_sdvo.c
2748
if (intel_attached_encoder(connector) == &intel_sdvo->base) {
sys/dev/drm/i915/intel_sdvo.c
2755
static bool intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2759
struct drm_device *dev = intel_sdvo->base.base.dev;
sys/dev/drm/i915/intel_sdvo.c
2763
if (!intel_sdvo_set_target_output(intel_sdvo, type))
sys/dev/drm/i915/intel_sdvo.c
2767
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2802
if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_MAX_##NAME, &data_value, 4) || \
sys/dev/drm/i915/intel_sdvo.c
2803
!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_##NAME, &response, 2)) \
sys/dev/drm/i915/intel_sdvo.c
2819
intel_sdvo_create_enhance_property_tv(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2823
struct drm_device *dev = intel_sdvo->base.base.dev;
sys/dev/drm/i915/intel_sdvo.c
2832
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2837
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2866
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2871
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2915
if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_DOT_CRAWL, &response, 2))
sys/dev/drm/i915/intel_sdvo.c
2933
intel_sdvo_create_enhance_property_lvds(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2937
struct drm_device *dev = intel_sdvo->base.base.dev;
sys/dev/drm/i915/intel_sdvo.c
2948
static bool intel_sdvo_create_enhance_property(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2958
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
2967
return intel_sdvo_create_enhance_property_tv(intel_sdvo, intel_sdvo_connector, enhancements.reply);
sys/dev/drm/i915/intel_sdvo.c
2969
return intel_sdvo_create_enhance_property_lvds(intel_sdvo, intel_sdvo_connector, enhancements.reply);
sys/dev/drm/i915/intel_sdvo.c
2978
struct intel_sdvo *sdvo = adapter->algo_data;
sys/dev/drm/i915/intel_sdvo.c
2988
struct intel_sdvo *sdvo = adapter->algo_data;
sys/dev/drm/i915/intel_sdvo.c
3000
struct intel_sdvo *sdvo = adapter->algo_data;
sys/dev/drm/i915/intel_sdvo.c
3007
struct intel_sdvo *sdvo = adapter->algo_data;
sys/dev/drm/i915/intel_sdvo.c
3014
struct intel_sdvo *sdvo = adapter->algo_data;
sys/dev/drm/i915/intel_sdvo.c
3025
intel_sdvo_init_ddc_proxy(struct intel_sdvo *sdvo,
sys/dev/drm/i915/intel_sdvo.c
3056
struct intel_sdvo *intel_sdvo;
sys/dev/drm/i915/intel_sdvo.c
3061
intel_sdvo = kzalloc(sizeof(*intel_sdvo), GFP_KERNEL);
sys/dev/drm/i915/intel_sdvo.c
3062
if (!intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
3065
intel_sdvo->sdvo_reg = sdvo_reg;
sys/dev/drm/i915/intel_sdvo.c
3066
intel_sdvo->port = port;
sys/dev/drm/i915/intel_sdvo.c
3067
intel_sdvo->slave_addr =
sys/dev/drm/i915/intel_sdvo.c
3068
intel_sdvo_get_slave_addr(dev_priv, intel_sdvo) >> 1;
sys/dev/drm/i915/intel_sdvo.c
3069
intel_sdvo_select_i2c_bus(dev_priv, intel_sdvo);
sys/dev/drm/i915/intel_sdvo.c
3070
if (!intel_sdvo_init_ddc_proxy(intel_sdvo, dev_priv))
sys/dev/drm/i915/intel_sdvo.c
3074
intel_encoder = &intel_sdvo->base;
sys/dev/drm/i915/intel_sdvo.c
3086
if (!intel_sdvo_read_byte(intel_sdvo, i, &byte)) {
sys/dev/drm/i915/intel_sdvo.c
3088
SDVO_NAME(intel_sdvo));
sys/dev/drm/i915/intel_sdvo.c
3106
if (!intel_sdvo_get_capabilities(intel_sdvo, &intel_sdvo->caps))
sys/dev/drm/i915/intel_sdvo.c
3109
if (intel_sdvo_output_setup(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
3110
intel_sdvo->caps.output_flags) != true) {
sys/dev/drm/i915/intel_sdvo.c
3112
SDVO_NAME(intel_sdvo));
sys/dev/drm/i915/intel_sdvo.c
3121
if (intel_sdvo->hotplug_active) {
sys/dev/drm/i915/intel_sdvo.c
3122
if (intel_sdvo->port == PORT_B)
sys/dev/drm/i915/intel_sdvo.c
3136
intel_sdvo->base.cloneable = 0;
sys/dev/drm/i915/intel_sdvo.c
3138
intel_sdvo_select_ddc_bus(dev_priv, intel_sdvo);
sys/dev/drm/i915/intel_sdvo.c
3141
if (!intel_sdvo_set_target_input(intel_sdvo))
sys/dev/drm/i915/intel_sdvo.c
3144
if (!intel_sdvo_get_input_pixel_clock_range(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
3145
&intel_sdvo->pixel_clock_min,
sys/dev/drm/i915/intel_sdvo.c
3146
&intel_sdvo->pixel_clock_max))
sys/dev/drm/i915/intel_sdvo.c
3153
SDVO_NAME(intel_sdvo),
sys/dev/drm/i915/intel_sdvo.c
3154
intel_sdvo->caps.vendor_id, intel_sdvo->caps.device_id,
sys/dev/drm/i915/intel_sdvo.c
3155
intel_sdvo->caps.device_rev_id,
sys/dev/drm/i915/intel_sdvo.c
3156
intel_sdvo->pixel_clock_min / 1000,
sys/dev/drm/i915/intel_sdvo.c
3157
intel_sdvo->pixel_clock_max / 1000,
sys/dev/drm/i915/intel_sdvo.c
3158
(intel_sdvo->caps.sdvo_inputs_mask & 0x1) ? 'Y' : 'N',
sys/dev/drm/i915/intel_sdvo.c
3159
(intel_sdvo->caps.sdvo_inputs_mask & 0x2) ? 'Y' : 'N',
sys/dev/drm/i915/intel_sdvo.c
3161
intel_sdvo->caps.output_flags &
sys/dev/drm/i915/intel_sdvo.c
3163
intel_sdvo->caps.output_flags &
sys/dev/drm/i915/intel_sdvo.c
3168
intel_sdvo_output_cleanup(intel_sdvo);
sys/dev/drm/i915/intel_sdvo.c
3172
i2c_del_adapter(&intel_sdvo->ddc);
sys/dev/drm/i915/intel_sdvo.c
3174
intel_sdvo_unselect_i2c_bus(intel_sdvo);
sys/dev/drm/i915/intel_sdvo.c
3175
kfree(intel_sdvo);
sys/dev/drm/i915/intel_sdvo.c
394
static void intel_sdvo_debug_write(struct intel_sdvo *intel_sdvo, u8 cmd,
sys/dev/drm/i915/intel_sdvo.c
424
DRM_DEBUG_KMS("%s: W: %02X %s\n", SDVO_NAME(intel_sdvo), cmd, buffer);
sys/dev/drm/i915/intel_sdvo.c
437
static bool __intel_sdvo_write_cmd(struct intel_sdvo *intel_sdvo, u8 cmd,
sys/dev/drm/i915/intel_sdvo.c
456
intel_sdvo_debug_write(intel_sdvo, cmd, args, args_len);
sys/dev/drm/i915/intel_sdvo.c
459
msgs[i].addr = intel_sdvo->slave_addr;
sys/dev/drm/i915/intel_sdvo.c
466
msgs[i].addr = intel_sdvo->slave_addr;
sys/dev/drm/i915/intel_sdvo.c
475
msgs[i+1].addr = intel_sdvo->slave_addr;
sys/dev/drm/i915/intel_sdvo.c
480
msgs[i+2].addr = intel_sdvo->slave_addr;
sys/dev/drm/i915/intel_sdvo.c
486
ret = i2c_transfer(intel_sdvo->i2c, msgs, i+3);
sys/dev/drm/i915/intel_sdvo.c
488
ret = __i2c_transfer(intel_sdvo->i2c, msgs, i+3);
sys/dev/drm/i915/intel_sdvo.c
506
static bool intel_sdvo_write_cmd(struct intel_sdvo *intel_sdvo, u8 cmd,
sys/dev/drm/i915/intel_sdvo.c
509
return __intel_sdvo_write_cmd(intel_sdvo, cmd, args, args_len, true);
sys/dev/drm/i915/intel_sdvo.c
512
static bool intel_sdvo_read_response(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
539
if (!intel_sdvo_read_byte(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
551
if (!intel_sdvo_read_byte(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
570
if (!intel_sdvo_read_byte(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
580
DRM_DEBUG_KMS("%s: R: %s\n", SDVO_NAME(intel_sdvo), buffer);
sys/dev/drm/i915/intel_sdvo.c
584
DRM_DEBUG_KMS("%s: R: ... failed\n", SDVO_NAME(intel_sdvo));
sys/dev/drm/i915/intel_sdvo.c
598
static bool __intel_sdvo_set_control_bus_switch(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
602
return __intel_sdvo_write_cmd(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
607
static bool intel_sdvo_set_value(struct intel_sdvo *intel_sdvo, u8 cmd, const void *data, int len)
sys/dev/drm/i915/intel_sdvo.c
609
if (!intel_sdvo_write_cmd(intel_sdvo, cmd, data, len))
sys/dev/drm/i915/intel_sdvo.c
612
return intel_sdvo_read_response(intel_sdvo, NULL, 0);
sys/dev/drm/i915/intel_sdvo.c
616
intel_sdvo_get_value(struct intel_sdvo *intel_sdvo, u8 cmd, void *value, int len)
sys/dev/drm/i915/intel_sdvo.c
618
if (!intel_sdvo_write_cmd(intel_sdvo, cmd, NULL, 0))
sys/dev/drm/i915/intel_sdvo.c
621
return intel_sdvo_read_response(intel_sdvo, value, len);
sys/dev/drm/i915/intel_sdvo.c
624
static bool intel_sdvo_set_target_input(struct intel_sdvo *intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
627
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
638
static bool intel_sdvo_get_trained_inputs(struct intel_sdvo *intel_sdvo, bool *input_1, bool *input_2)
sys/dev/drm/i915/intel_sdvo.c
643
if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_TRAINED_INPUTS,
sys/dev/drm/i915/intel_sdvo.c
652
static bool intel_sdvo_set_active_outputs(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
655
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
660
static bool intel_sdvo_get_active_outputs(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
663
return intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
668
static bool intel_sdvo_set_encoder_power_state(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
688
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
692
static bool intel_sdvo_get_input_pixel_clock_range(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
699
if (!intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
710
static bool intel_sdvo_set_target_output(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
713
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
718
static bool intel_sdvo_set_timing(struct intel_sdvo *intel_sdvo, u8 cmd,
sys/dev/drm/i915/intel_sdvo.c
721
return intel_sdvo_set_value(intel_sdvo, cmd, &dtd->part1, sizeof(dtd->part1)) &&
sys/dev/drm/i915/intel_sdvo.c
722
intel_sdvo_set_value(intel_sdvo, cmd + 1, &dtd->part2, sizeof(dtd->part2));
sys/dev/drm/i915/intel_sdvo.c
725
static bool intel_sdvo_get_timing(struct intel_sdvo *intel_sdvo, u8 cmd,
sys/dev/drm/i915/intel_sdvo.c
728
return intel_sdvo_get_value(intel_sdvo, cmd, &dtd->part1, sizeof(dtd->part1)) &&
sys/dev/drm/i915/intel_sdvo.c
729
intel_sdvo_get_value(intel_sdvo, cmd + 1, &dtd->part2, sizeof(dtd->part2));
sys/dev/drm/i915/intel_sdvo.c
732
static bool intel_sdvo_set_input_timing(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
735
return intel_sdvo_set_timing(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
739
static bool intel_sdvo_set_output_timing(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
742
return intel_sdvo_set_timing(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
746
static bool intel_sdvo_get_input_timing(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
749
return intel_sdvo_get_timing(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
754
intel_sdvo_create_preferred_input_timing(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
769
(intel_sdvo->sdvo_lvds_fixed_mode->hdisplay != width ||
sys/dev/drm/i915/intel_sdvo.c
770
intel_sdvo->sdvo_lvds_fixed_mode->vdisplay != height))
sys/dev/drm/i915/intel_sdvo.c
773
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
778
static bool intel_sdvo_get_preferred_input_timing(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
783
return intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1,
sys/dev/drm/i915/intel_sdvo.c
785
intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2,
sys/dev/drm/i915/intel_sdvo.c
789
static bool intel_sdvo_set_clock_rate_mult(struct intel_sdvo *intel_sdvo, u8 val)
sys/dev/drm/i915/intel_sdvo.c
791
return intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_CLOCK_RATE_MULT, &val, 1);
sys/dev/drm/i915/intel_sdvo.c
893
static bool intel_sdvo_check_supp_encode(struct intel_sdvo *intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
898
return intel_sdvo_get_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
903
static bool intel_sdvo_set_encode(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
906
return intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_ENCODE, &mode, 1);
sys/dev/drm/i915/intel_sdvo.c
909
static bool intel_sdvo_set_colorimetry(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
912
return intel_sdvo_set_value(intel_sdvo, SDVO_CMD_SET_COLORIMETRY, &mode, 1);
sys/dev/drm/i915/intel_sdvo.c
916
static void intel_sdvo_dump_hdmi_buf(struct intel_sdvo *intel_sdvo)
sys/dev/drm/i915/intel_sdvo.c
945
static bool intel_sdvo_write_infoframe(struct intel_sdvo *intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
953
if (!intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
958
if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_HBUF_INFO,
sys/dev/drm/i915/intel_sdvo.c
973
if (!intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
979
return intel_sdvo_set_value(intel_sdvo,
sys/dev/drm/i915/intel_sdvo.c
984
static bool intel_sdvo_set_avi_infoframe(struct intel_sdvo *intel_sdvo,