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