xref: /haiku/src/add-ons/accelerants/radeon_hd/encoder.h (revision f2b4344867e97c3f4e742a1b4a15e6879644601a)
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 
15 void encoder_assign_crtc(uint8 crtcID);
16 uint32 encoder_pick_dig(uint32 connectorIndex);
17 
18 void encoder_apply_quirks(uint8 crtcID);
19 void encoder_mode_set(uint8 id, uint32 pixelClock);
20 status_t encoder_analog_setup(uint32 connectorIndex,
21 	uint32 pixelClock, int command);
22 status_t encoder_digital_setup(uint32 connectorIndex,
23 	uint32 pixelClock, int command);
24 status_t encoder_dig_setup(uint32 connectorIndex,
25 	uint32 pixelClock, int command);
26 status_t encoder_external_setup(uint32 connectorIndex,
27 	uint32 pixelClock, int command);
28 status_t encoder_tv_setup(uint32 connectorIndex,
29 	uint32 pixelClock, int command);
30 
31 bool encoder_analog_load_detect(uint32 connectorIndex);
32 void encoder_output_lock(bool lock);
33 status_t transmitter_dig_setup(uint32 connectorIndex, uint32 pixelClock,
34 	uint8 laneNumber, uint8 laneSet, int command);
35 void encoder_crtc_scratch(uint8 crtcID);
36 void encoder_dpms_scratch(uint8 crtcID, bool power);
37 void encoder_dpms_set(uint8 crtcID, int mode);
38 void encoder_dpms_set_dig(uint8 crtcID, int mode);
39 void encoder_dpms_set_external(uint8 crtcID, int mode);
40 
41 const char* encoder_name_lookup(uint32 encoderID);
42 uint32 encoder_object_lookup(uint32 encoderFlags, uint8 dacID);
43 uint32 encoder_type_lookup(uint32 encoderID, uint32 connectorFlags);
44 bool encoder_is_external(uint32 encoderID);
45 bool encoder_is_dp_bridge(uint32 encoderID);
46 
47 
48 #endif /* RADEON_HD_ENCODER_H */
49