1 /* 2 * Copyright 2006-2011, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Alexander von Gluck, kallisti5@unixzen.com 7 */ 8 #ifndef RADEON_HD_ENCODER_H 9 #define RADEON_HD_ENCODER_H 10 11 12 #include <SupportDefs.h> 13 14 void encoder_init(); 15 16 void encoder_assign_crtc(uint8 crtcID); 17 uint32 encoder_pick_dig(uint32 connectorIndex); 18 19 void encoder_apply_quirks(uint8 crtcID); 20 void encoder_mode_set(uint8 id, uint32 pixelClock); 21 status_t encoder_analog_setup(uint32 connectorIndex, 22 uint32 pixelClock, int command); 23 status_t encoder_digital_setup(uint32 connectorIndex, 24 uint32 pixelClock, int command); 25 status_t encoder_dig_setup(uint32 connectorIndex, 26 uint32 pixelClock, int command); 27 status_t encoder_external_setup(uint32 connectorIndex, 28 uint32 pixelClock, int command); 29 status_t encoder_tv_setup(uint32 connectorIndex, 30 uint32 pixelClock, int command); 31 32 bool encoder_analog_load_detect(uint32 connectorIndex); 33 bool encoder_dac_load_detect(uint32 connectorIndex); 34 bool encoder_dig_load_detect(uint32 connectorIndex); 35 void encoder_output_lock(bool lock); 36 status_t transmitter_dig_setup(uint32 connectorIndex, uint32 pixelClock, 37 uint8 laneNumber, uint8 laneSet, int command); 38 void encoder_crtc_scratch(uint8 crtcID); 39 void encoder_dpms_scratch(uint8 crtcID, bool power); 40 void encoder_dpms_set(uint8 crtcID, int mode); 41 void encoder_dpms_set_dig(uint8 crtcID, int mode); 42 void encoder_dpms_set_dvo(uint8 crtcID, int mode); 43 void encoder_dpms_set_external(uint8 crtcID, int mode); 44 45 const char* encoder_name_lookup(uint32 encoderID); 46 uint32 encoder_object_lookup(uint32 encoderFlags, uint8 dacID); 47 uint32 encoder_type_lookup(uint32 encoderID, uint32 connectorFlags); 48 bool encoder_is_external(uint32 encoderID); 49 bool encoder_is_dp_bridge(uint32 encoderID); 50 51 52 #endif /* RADEON_HD_ENCODER_H */ 53