17c91a33cSAlexander von Gluck IV /* 27c91a33cSAlexander von Gluck IV * Copyright 2006-2011, Haiku, Inc. All Rights Reserved. 37c91a33cSAlexander von Gluck IV * Distributed under the terms of the MIT License. 47c91a33cSAlexander von Gluck IV * 57c91a33cSAlexander von Gluck IV * Authors: 67c91a33cSAlexander von Gluck IV * Alexander von Gluck, kallisti5@unixzen.com 77c91a33cSAlexander von Gluck IV */ 87c91a33cSAlexander von Gluck IV #ifndef RADEON_HD_ENCODER_H 97c91a33cSAlexander von Gluck IV #define RADEON_HD_ENCODER_H 107c91a33cSAlexander von Gluck IV 117c91a33cSAlexander von Gluck IV 1261cf7133SAlexander von Gluck IV #include <SupportDefs.h> 1361cf7133SAlexander von Gluck IV 147dd18210SAlexander von Gluck IV void encoder_init(); 1561cf7133SAlexander von Gluck IV 166b120e4cSAlexander von Gluck IV void encoder_assign_crtc(uint8 crtcID); 17c8677fb1SAlexander von Gluck IV uint32 encoder_pick_dig(uint32 connectorIndex); 186b120e4cSAlexander von Gluck IV 1907a90a63SAlexander von Gluck IV void encoder_apply_quirks(uint8 crtcID); 205e87e395SAlexander von Gluck IV void encoder_mode_set(uint8 crtcID); 217a13bce5SAlexander von Gluck IV status_t encoder_analog_setup(uint32 connectorIndex, 227a13bce5SAlexander von Gluck IV uint32 pixelClock, int command); 237a13bce5SAlexander von Gluck IV status_t encoder_digital_setup(uint32 connectorIndex, 247a13bce5SAlexander von Gluck IV uint32 pixelClock, int command); 257a13bce5SAlexander von Gluck IV status_t encoder_dig_setup(uint32 connectorIndex, 267a13bce5SAlexander von Gluck IV uint32 pixelClock, int command); 2719574417SAlexander von Gluck IV status_t encoder_external_setup(uint32 connectorIndex, int command); 287a13bce5SAlexander von Gluck IV status_t encoder_tv_setup(uint32 connectorIndex, 297a13bce5SAlexander von Gluck IV uint32 pixelClock, int command); 307a13bce5SAlexander von Gluck IV 317a13bce5SAlexander von Gluck IV bool encoder_analog_load_detect(uint32 connectorIndex); 32119cd5e1SAlexander von Gluck IV bool encoder_dac_load_detect(uint32 connectorIndex); 33119cd5e1SAlexander von Gluck IV bool encoder_dig_load_detect(uint32 connectorIndex); 34b54c8119SAlexander von Gluck IV void encoder_output_lock(bool lock); 358ff2ca22SAlexander von Gluck IV status_t transmitter_dig_setup(uint32 connectorIndex, uint32 pixelClock, 368ff2ca22SAlexander von Gluck IV uint8 laneNumber, uint8 laneSet, int command); 376b0b621bSAlexander von Gluck IV void encoder_crtc_scratch(uint8 crtcID); 386b0b621bSAlexander von Gluck IV void encoder_dpms_scratch(uint8 crtcID, bool power); 3945e71a9eSAlexander von Gluck IV void encoder_dpms_set(uint8 crtcID, int mode); 4045e71a9eSAlexander von Gluck IV void encoder_dpms_set_dig(uint8 crtcID, int mode); 41e766693eSAlexander von Gluck IV void encoder_dpms_set_dvo(uint8 crtcID, int mode); 4294e5ca7eSAlexander von Gluck IV 43bdd19893SAlexander von Gluck IV const char* encoder_name_lookup(uint32 encoderID); 44*9c2d51d6SAlexander von Gluck IV uint32 encoder_object_lookup(uint32 connectorFlags, uint8 dacID); 455a2c3572SAlexander von Gluck IV uint32 encoder_type_lookup(uint32 encoderID, uint32 connectorFlags); 46dad34be3SAlexander von Gluck IV bool encoder_is_external(uint32 encoderID); 47dad34be3SAlexander von Gluck IV bool encoder_is_dp_bridge(uint32 encoderID); 487c91a33cSAlexander von Gluck IV 497c91a33cSAlexander von Gluck IV 507c91a33cSAlexander von Gluck IV #endif /* RADEON_HD_ENCODER_H */ 51