![]() |
|
|||
File indexing completed on 2025-05-11 08:23:41
0001 /** 0002 * @file 0003 * 0004 * @ingroup RTEMSBSPsI386 0005 * 0006 * @brief Headers specific for framebuffer drivers utilizing VESA VBE. 0007 */ 0008 0009 /* 0010 * Copyright (C) 2014 Jan Doležal (dolezj21@fel.cvut.cz) 0011 * CTU in Prague. 0012 * 0013 * The license and distribution terms for this file may be 0014 * found in the file LICENSE in this distribution or at 0015 * http://www.rtems.org/license/LICENSE. 0016 */ 0017 0018 #include <bsp/vbe3.h> 0019 #include <edid.h> 0020 0021 #ifndef _FB_VESA_H 0022 #define _FB_VESA_H 0023 0024 #ifndef ASM /* ASM */ 0025 0026 #include <stdint.h> 0027 0028 #ifdef __cplusplus 0029 extern "C" { 0030 #endif /* __cplusplus */ 0031 0032 0033 /* ----- Prototypes ----- */ 0034 0035 /** 0036 * @brief Returns information about graphic's controller in the \p info_block 0037 * structure. 0038 * 0039 * @param[out] info_block pointer to the struct to be filled with 0040 * controller information 0041 * @param[in] queried_VBE_Version if >0x200 then video bios is asked to fill in 0042 * parameters which appeared with second version 0043 * of VBE. 0044 * @retval ax register content as defined in VBE RETURN STATUS paragraph 0045 * @retval -1 error calling graphical bios 0046 */ 0047 uint32_t VBE_controller_information ( 0048 VBE_vbe_info_block *info_block, 0049 uint16_t queried_VBE_Version 0050 ); 0051 0052 /** 0053 * @brief Fills structure \p info_block with informations about selected mode in 0054 * \p mode_number variable. 0055 * 0056 * @param[out] info_block pointer to the struct to be filled with 0057 * mode information 0058 * @param[in] mode_number detailes of this mode to be filled 0059 * @retval ax register content as defined in VBE RETURN STATUS paragraph 0060 * @retval -1 error calling graphical bios 0061 */ 0062 uint32_t VBE_mode_information ( 0063 VBE_mode_info_block *info_block, 0064 uint16_t mode_number 0065 ); 0066 0067 /** 0068 * @brief Sets graphics mode selected. If mode has refreshRateCtrl bit set, than 0069 * the \p info_block must be filled accordingly. 0070 * 0071 * @param[in] mode_number number of mode to be set 0072 * @param[in] info_block pointer to struct containing refresh rate control info 0073 * @retval ax register content as defined in VBE RETURN STATUS paragraph 0074 * @retval -1 error calling graphical bios 0075 */ 0076 uint32_t VBE_set_mode ( 0077 uint16_t mode_number, 0078 VBE_CRTC_info_block *info_block 0079 ); 0080 0081 /** 0082 * @brief Get currently set mode number. 0083 * 0084 * @param[out] mode_number variable to be filled with current mode number 0085 * @retval ax register content as defined in VBE RETURN STATUS paragraph 0086 * @retval -1 error calling graphical bios 0087 */ 0088 uint32_t VBE_current_mode ( 0089 uint16_t *mode_number 0090 ); 0091 0092 /** 0093 * @brief Gets information about display data channel implemented in the 0094 * graphic's controller. 0095 * 0096 * @param[in] controller_unit_number 0097 * @param[out] seconds_to_transfer_EDID_block approximate time to transfer one 0098 * EDID block rounded up to seconds 0099 * @param[out] DDC_level_supported contains DDC version supported and 0100 * screen blanking state during transfer 0101 * @retval ax register content as defined in VBE RETURN STATUS paragraph 0102 * @retval -1 error calling graphical bios 0103 */ 0104 uint32_t VBE_report_DDC_capabilities ( 0105 uint16_t controller_unit_number, 0106 uint8_t *seconds_to_transfer_EDID_block, 0107 uint8_t *DDC_level_supported 0108 ); 0109 0110 /** 0111 * @brief Reads selected EDID block from display attached to controller's 0112 * interface. 0113 * 0114 * @param[in] controller_unit_number 0115 * @param[in] EDID_block_number block no. to be read from the display 0116 * @param[out] buffer place to store block fetched from the display 0117 * @retval ax register content as defined in VBE RETURN STATUS paragraph 0118 * @retval -1 error calling graphical bios 0119 */ 0120 uint32_t VBE_read_EDID ( 0121 uint16_t controller_unit_number, 0122 uint16_t EDID_block_number, 0123 EDID_edid1 *buffer 0124 ); 0125 0126 #ifdef __cplusplus 0127 } 0128 #endif /* __cplusplus */ 0129 0130 #endif /* ASM */ 0131 0132 #endif /* _FB_VESA_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |