Lines Matching defs:encoder

86 	struct drm_encoder *encoder = &amdgpu_encoder->base;
107 amdgpu_atombios_encoder_setup_dig_transmitter(encoder,
110 amdgpu_atombios_encoder_setup_dig_transmitter(encoder,
112 amdgpu_atombios_encoder_setup_dig_transmitter(encoder,
140 struct amdgpu_encoder *amdgpu_encoder = pdata->encoder;
152 struct amdgpu_encoder *amdgpu_encoder = pdata->encoder;
211 pdata->encoder = amdgpu_encoder;
263 bool amdgpu_atombios_encoder_is_digital(struct drm_encoder *encoder)
265 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
278 bool amdgpu_atombios_encoder_mode_fixup(struct drm_encoder *encoder,
282 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
284 /* set the active encoder to connector routing */
285 amdgpu_encoder_set_active_device(encoder);
299 amdgpu_panel_mode_fixup(encoder, adjusted_mode);
301 amdgpu_panel_mode_fixup(encoder, adjusted_mode);
304 (amdgpu_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE)) {
305 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
313 amdgpu_atombios_encoder_setup_dac(struct drm_encoder *encoder, int action)
315 struct drm_device *dev = encoder->dev;
317 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
342 static u8 amdgpu_atombios_encoder_get_bpc(struct drm_encoder *encoder)
346 if (encoder->crtc) {
347 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc);
376 amdgpu_atombios_encoder_setup_dvo(struct drm_encoder *encoder, int action)
378 struct drm_device *dev = encoder->dev;
380 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
397 if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
409 if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
423 args.dvo_v4.ucBitPerColor = amdgpu_atombios_encoder_get_bpc(encoder);
438 int amdgpu_atombios_encoder_get_encoder_mode(struct drm_encoder *encoder)
440 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
446 if (amdgpu_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE)
454 connector = amdgpu_get_connector_for_encoder(encoder);
456 * the connectors tied to the encoder.
459 connector = amdgpu_get_connector_for_encoder_init(encoder);
533 * - 6 DIG encoder blocks.
543 * crtc -> dig encoder -> UNIPHY/LVTMA (1 or 2 links)
560 amdgpu_atombios_encoder_setup_dig_encoder(struct drm_encoder *encoder,
563 struct drm_device *dev = encoder->dev;
565 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
567 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
585 /* no dig encoder assigned */
603 args.v1.ucEncoderMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
607 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
638 args.v3.ucEncoderMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
642 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
650 args.v3.ucBitPerColor = amdgpu_atombios_encoder_get_bpc(encoder);
658 args.v4.ucEncoderMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
662 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
678 args.v4.ucBitPerColor = amdgpu_atombios_encoder_get_bpc(encoder);
695 amdgpu_atombios_encoder_get_encoder_mode(encoder);
698 else if (amdgpu_dig_monitor_is_duallink(encoder,
706 amdgpu_atombios_encoder_get_bpc(encoder);
749 amdgpu_atombios_encoder_setup_dig_transmitter(struct drm_encoder *encoder, int action,
752 struct drm_device *dev = encoder->dev;
754 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
769 connector = amdgpu_get_connector_for_encoder_init(encoder);
770 /* just needed to avoid bailing in the encoder check. the encoder
775 connector = amdgpu_get_connector_for_encoder(encoder);
789 if (encoder->crtc) {
790 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc);
794 /* no dig encoder assigned */
798 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(encoder)))
834 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
857 if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
871 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
899 if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
913 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
921 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
958 if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
972 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
980 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
1020 if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
1056 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
1061 args.v5.ucDigMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
1113 else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
1121 args.v6.ucDigMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
1190 amdgpu_atombios_encoder_setup_external_encoder(struct drm_encoder *encoder,
1194 struct drm_device *dev = encoder->dev;
1196 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1208 connector = amdgpu_get_connector_for_encoder_init(encoder);
1210 connector = amdgpu_get_connector_for_encoder(encoder);
1239 amdgpu_atombios_encoder_get_encoder_mode(encoder);
1245 } else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
1257 amdgpu_atombios_encoder_get_encoder_mode(encoder);
1265 } else if (amdgpu_dig_monitor_is_duallink(encoder, amdgpu_encoder->pixel_clock))
1280 args.v3.sExtEncoder.ucBitPerColor = amdgpu_atombios_encoder_get_bpc(encoder);
1295 amdgpu_atombios_encoder_setup_dig(struct drm_encoder *encoder, int action)
1297 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1298 struct drm_encoder *ext_encoder = amdgpu_get_external_encoder(encoder);
1300 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
1313 dig->panel_mode = amdgpu_atombios_dp_get_panel_mode(encoder, connector);
1315 /* setup and enable the encoder */
1316 amdgpu_atombios_encoder_setup_dig_encoder(encoder, ATOM_ENCODER_CMD_SETUP, 0);
1317 amdgpu_atombios_encoder_setup_dig_encoder(encoder,
1321 amdgpu_atombios_encoder_setup_external_encoder(encoder, ext_encoder,
1323 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(encoder)) &&
1332 amdgpu_atombios_encoder_setup_dig_transmitter(encoder,
1335 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(encoder)) &&
1338 amdgpu_atombios_dp_link_train(encoder, connector);
1339 amdgpu_atombios_encoder_setup_dig_encoder(encoder, ATOM_ENCODER_CMD_DP_VIDEO_ON, 0);
1344 amdgpu_atombios_encoder_setup_external_encoder(encoder, ext_encoder, ATOM_ENABLE);
1346 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(encoder)) &&
1348 amdgpu_atombios_encoder_setup_dig_encoder(encoder,
1351 amdgpu_atombios_encoder_setup_external_encoder(encoder, ext_encoder, ATOM_DISABLE);
1353 amdgpu_atombios_encoder_setup_dig_transmitter(encoder,
1356 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(encoder)) &&
1360 amdgpu_atombios_encoder_setup_dig_transmitter(encoder,
1362 if (ENCODER_MODE_IS_DP(amdgpu_atombios_encoder_get_encoder_mode(encoder)) &&
1374 amdgpu_atombios_encoder_dpms(struct drm_encoder *encoder, int mode)
1376 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1378 DRM_DEBUG_KMS("encoder dpms %d to mode %d, devices %08x, active_devices %08x\n",
1388 amdgpu_atombios_encoder_setup_dig(encoder, ATOM_ENABLE);
1393 amdgpu_atombios_encoder_setup_dig(encoder, ATOM_DISABLE);
1400 amdgpu_atombios_encoder_setup_dvo(encoder, ATOM_ENABLE);
1405 amdgpu_atombios_encoder_setup_dvo(encoder, ATOM_DISABLE);
1412 amdgpu_atombios_encoder_setup_dac(encoder, ATOM_ENABLE);
1417 amdgpu_atombios_encoder_setup_dac(encoder, ATOM_DISABLE);
1433 amdgpu_atombios_encoder_set_crtc_source(struct drm_encoder *encoder)
1435 struct drm_device *dev = encoder->dev;
1437 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1438 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc);
1494 if (amdgpu_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE) {
1495 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
1502 args.v2.ucEncodeMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
1506 args.v2.ucEncodeMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
1562 if (amdgpu_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE) {
1563 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
1570 args.v2.ucEncodeMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
1574 args.v2.ucEncodeMode = amdgpu_atombios_encoder_get_encoder_mode(encoder);
1576 args.v3.ucDstBpc = amdgpu_atombios_encoder_get_bpc(encoder);
1644 struct drm_encoder *encoder;
1646 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
1647 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1648 struct drm_encoder *ext_encoder = amdgpu_get_external_encoder(encoder);
1655 amdgpu_atombios_encoder_setup_dig_transmitter(encoder, ATOM_TRANSMITTER_ACTION_INIT,
1661 amdgpu_atombios_encoder_setup_external_encoder(encoder, ext_encoder,
1667 amdgpu_atombios_encoder_dac_load_detect(struct drm_encoder *encoder,
1670 struct drm_device *dev = encoder->dev;
1672 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1717 amdgpu_atombios_encoder_dac_detect(struct drm_encoder *encoder,
1720 struct drm_device *dev = encoder->dev;
1722 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1726 if (!amdgpu_atombios_encoder_dac_load_detect(encoder, connector)) {
1756 amdgpu_atombios_encoder_dig_detect(struct drm_encoder *encoder,
1759 struct drm_device *dev = encoder->dev;
1761 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1763 struct drm_encoder *ext_encoder = amdgpu_get_external_encoder(encoder);
1773 amdgpu_atombios_encoder_setup_external_encoder(encoder, ext_encoder,
1801 amdgpu_atombios_encoder_setup_ext_encoder_ddc(struct drm_encoder *encoder)
1803 struct drm_encoder *ext_encoder = amdgpu_get_external_encoder(encoder);
1807 amdgpu_atombios_encoder_setup_external_encoder(encoder, ext_encoder,
1814 struct drm_encoder *encoder,
1821 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
1966 amdgpu_atombios_encoder_get_lcd_info(struct amdgpu_encoder *encoder)
1968 struct drm_device *dev = encoder->base.dev;
1976 int encoder_enum = (encoder->encoder_enum & ENUM_ID_MASK) >> ENUM_ID_SHIFT;
2030 encoder->native_mode = lvds->native_mode;