source: rtems/c/src/lib/libbsp/i386/pc386/include/fb_vesa.h @ 4251b88

4.115
Last change on this file since 4251b88 was 038e1dba, checked in by Jan Dolezal <dolezj21@…>, on 12/03/14 at 23:56:39

i386: doxygen and comments related to VESA real mode framebuffer

  • Property mode set to 100644
File size: 3.7 KB
Line 
1/**
2 * @file fb_vesa.h
3 *
4 * @ingroup i386_pc386
5 *
6 * @brief Headers specific for framebuffer drivers utilizing VESA VBE.
7 */
8
9/*
10 * Copyright (C) 2014  Jan DoleÅŸal (dolezj21@fel.cvut.cz)
11 *                     CTU in Prague.
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.org/license/LICENSE.
16 */
17
18#include <bsp/vbe3.h>
19#include <edid.h>
20
21#ifndef _FB_VESA_H
22#define _FB_VESA_H
23
24#ifndef ASM /* ASM */
25
26#include <stdint.h>
27
28#ifdef __cplusplus
29extern "C" {
30#endif /* __cplusplus */
31
32
33/* ----- Prototypes ----- */
34
35/**
36 * @brief Returns information about graphic's controller in the \p info_block
37 * structure.
38 *
39 * @param[out] info_block pointer to the struct to be filled with
40 *                  controller information
41 * @param[in] queried_VBE_Version if >0x200 then video bios is asked to fill in
42 *                          parameters which appeared with second version
43 *                          of VBE.
44 * @retval  ax register content as defined in VBE RETURN STATUS paragraph
45 * @retval  -1 error calling graphical bios
46 */
47uint32_t VBE_controller_information (
48    VBE_vbe_info_block *info_block,
49    uint16_t queried_VBE_Version
50);
51
52/**
53 * @brief Fills structure \p info_block with informations about selected mode in
54 * \p mode_number variable.
55 *
56 * @param[out] info_block pointer to the struct to be filled with
57 *                        mode information
58 * @param[in] mode_number detailes of this mode to be filled
59 * @retval  ax register content as defined in VBE RETURN STATUS paragraph
60 * @retval  -1 error calling graphical bios
61 */
62uint32_t VBE_mode_information (
63    VBE_mode_info_block *info_block,
64    uint16_t mode_number
65);
66
67/**
68 * @brief Sets graphics mode selected. If mode has refreshRateCtrl bit set, than
69 * the \p info_block must be filled accordingly.
70 *
71 * @param[in] mode_number number of mode to be set
72 * @param[in] info_block pointer to struct containing refresh rate control info
73 * @retval  ax register content as defined in VBE RETURN STATUS paragraph
74 * @retval  -1 error calling graphical bios
75 */
76uint32_t VBE_set_mode (
77    uint16_t mode_number,
78    VBE_CRTC_info_block *info_block
79);
80
81/**
82 * @brief Get currently set mode number.
83 *
84 * @param[out] mode_number variable to be filled with current mode number
85 * @retval  ax register content as defined in VBE RETURN STATUS paragraph
86 * @retval  -1 error calling graphical bios
87 */
88uint32_t VBE_current_mode (
89    uint16_t *mode_number
90);
91
92/**
93 * @brief Gets information about display data channel implemented in the
94 * graphic's controller.
95 *
96 * @param[in] controller_unit_number
97 * @param[out] seconds_to_transfer_EDID_block approximate time to transfer one
98 *                                      EDID block rounded up to seconds
99 * @param[out] DDC_level_supported contains DDC version supported and
100 *                          screen blanking state during transfer
101 * @retval  ax register content as defined in VBE RETURN STATUS paragraph
102 * @retval  -1 error calling graphical bios
103 */
104uint32_t VBE_report_DDC_capabilities (
105    uint16_t controller_unit_number,
106    uint8_t *seconds_to_transfer_EDID_block,
107    uint8_t *DDC_level_supported
108);
109
110/**
111 * @brief Reads selected EDID block from display attached to controller's
112 * interface.
113 *
114 * @param[in] controller_unit_number
115 * @param[in] EDID_block_number block no. to be read from the display
116 * @param[out] buffer place to store block fetched from the display
117 * @retval  ax register content as defined in VBE RETURN STATUS paragraph
118 * @retval  -1 error calling graphical bios
119 */
120uint32_t VBE_read_EDID (
121    uint16_t controller_unit_number,
122    uint16_t EDID_block_number,
123    EDID_edid1 *buffer
124);
125
126#ifdef __cplusplus
127}
128#endif /* __cplusplus */
129
130#endif /* ASM */
131
132#endif /* _FB_VESA_H */
Note: See TracBrowser for help on using the repository browser.