1/* 2 * Copyright 2012 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 _DP_H 9#define _DP_H 10 11 12#include <Accelerant.h> 13#include "dp_raw.h" 14#include <GraphicsDefs.h> 15#include <OS.h> 16 17 18typedef struct { 19 // Required configuration 20 bool valid; // Is valid DP information 21 uint32 auxPin; // Normally GPIO pin on GPU 22 uint8 revision; // DP Revision from DPCD 23 24 int laneCount; 25 uint32 linkRate; // DP Link Speed 162000, 270000, 540000 26 27 // Internal State information 28 uint8 linkStatus[DP_LINK_STATUS_SIZE]; 29 30 uint8 trainingAttempts; 31 uint8 trainingSet[4]; 32 int trainingReadInterval; 33 34} dp_info; 35 36typedef struct { 37 uint32 address; 38 uint8 request; 39 uint8 reply; 40 void* buffer; 41 size_t size; 42} dp_aux_msg; 43 44uint32 dp_encode_link_rate(uint32 linkRate); 45uint32 dp_decode_link_rate(uint32 rawLinkRate); 46 47uint32 dp_get_pixel_clock_max(int linkRate, int laneCount, int bpp); 48 49 50#endif /* _DP_H */ 51