coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ast_mode.c File Reference
#include "ast_drv.h"
#include "ast_tables.h"
Include dependency graph for ast_mode.c:

Go to the source code of this file.

Functions

static void ast_load_palette_index (struct ast_private *ast, u8 index, u8 red, u8 green, u8 blue)
 
static void ast_crtc_load_lut (struct drm_crtc *crtc)
 
static bool ast_get_vbios_mode_info (struct drm_crtc *crtc, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode, struct ast_vbios_mode_info *vbios_mode)
 
static void ast_set_std_reg (struct drm_crtc *crtc, struct drm_display_mode *mode, struct ast_vbios_mode_info *vbios_mode)
 
static void ast_set_crtc_reg (struct drm_crtc *crtc, struct drm_display_mode *mode, struct ast_vbios_mode_info *vbios_mode)
 
void ast_set_offset_reg (struct drm_crtc *crtc)
 
static void ast_set_dclk_reg (struct drm_device *dev, struct drm_display_mode *mode, struct ast_vbios_mode_info *vbios_mode)
 
static void ast_set_ext_reg (struct drm_crtc *crtc, struct drm_display_mode *mode, struct ast_vbios_mode_info *vbios_mode)
 
static void ast_set_sync_reg (struct drm_device *dev, struct drm_display_mode *mode, struct ast_vbios_mode_info *vbios_mode)
 
void ast_set_start_address_crt1 (struct ast_private *ast, u32 offset)
 
void ast_hide_cursor (struct drm_crtc *crtc)
 
int ast_crtc_mode_set (struct drm_crtc *crtc, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode)
 
enum drm_mode_status ast_mode_valid (struct drm_connector *connector, const unsigned int hdisplay, const unsigned int vdisplay)
 

Function Documentation

◆ ast_crtc_load_lut()

static void ast_crtc_load_lut ( struct drm_crtc crtc)
static

Definition at line 23 of file ast_mode.c.

References ast, ast_load_palette_index(), drm_crtc::dev, and drm_device::dev_private.

Referenced by ast_crtc_mode_set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_crtc_mode_set()

◆ ast_get_vbios_mode_info()

static bool ast_get_vbios_mode_info ( struct drm_crtc crtc,
struct drm_display_mode mode,
struct drm_display_mode adjusted_mode,
struct ast_vbios_mode_info vbios_mode 
)
static

Definition at line 32 of file ast_mode.c.

References ast, AST1180, AST_IO_CRTC_PORT, ast_set_index_reg(), ast_private::chip, drm_display_mode::clock, drm_format::cpp, drm_display_mode::crtc_hblank_end, drm_display_mode::crtc_hblank_start, drm_display_mode::crtc_hdisplay, drm_display_mode::crtc_hsync_end, drm_display_mode::crtc_hsync_start, drm_display_mode::crtc_htotal, drm_display_mode::crtc_vblank_end, drm_display_mode::crtc_vblank_start, drm_display_mode::crtc_vdisplay, drm_display_mode::crtc_vsync_end, drm_display_mode::crtc_vsync_start, drm_display_mode::crtc_vtotal, drm_crtc::dev, drm_device::dev_private, DRM_MODE_FLAG_NHSYNC, DRM_MODE_FLAG_NVSYNC, DRM_MODE_FLAG_PHSYNC, DRM_MODE_FLAG_PVSYNC, ast_vbios_mode_info::enh_table, drm_primary::fb, ast_vbios_enhtable::flags, drm_display_mode::flags, drm_framebuffer::format, HBorder, ast_vbios_enhtable::hde, ast_vbios_enhtable::hfp, HiCModeIndex, ast_vbios_enhtable::hsync, ast_vbios_enhtable::ht, drm_crtc::mode, ast_vbios_enhtable::mode_id, NewModeInfo, NHSync, NULL, NVSync, PHSync, drm_crtc::primary, PVSync, ast_vbios_enhtable::refresh_rate, ast_vbios_enhtable::refresh_rate_index, res_1024x768, res_1280x1024, res_1280x800, res_1360x768, res_1440x900, res_1600x1200, res_1600x900, res_1680x1050, res_1920x1080, res_1920x1200, res_640x480, res_800x600, ast_vbios_mode_info::std_table, TrueCModeIndex, vbios_stdtable, VBorder, ast_vbios_enhtable::vde, ast_vbios_enhtable::vfp, VGAModeIndex, drm_display_mode::vrefresh, ast_vbios_enhtable::vsync, ast_vbios_enhtable::vt, and WideScreenMode.

Referenced by ast_crtc_mode_set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_hide_cursor()

void ast_hide_cursor ( struct drm_crtc crtc)

Definition at line 456 of file ast_mode.c.

References ast, AST_IO_CRTC_PORT, ast_set_index_reg_mask(), drm_crtc::dev, and drm_device::dev_private.

Referenced by ast_driver_framebuffer_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_load_palette_index()

static void ast_load_palette_index ( struct ast_private ast,
u8  index,
u8  red,
u8  green,
u8  blue 
)
inlinestatic

Definition at line 9 of file ast_mode.c.

References ast, AST_IO_DAC_DATA, AST_IO_DAC_INDEX_WRITE, and AST_IO_SEQ_PORT.

Referenced by ast_crtc_load_lut().

Here is the caller graph for this function:

◆ ast_mode_valid()

enum drm_mode_status ast_mode_valid ( struct drm_connector connector,
const unsigned int  hdisplay,
const unsigned int  vdisplay 
)

Definition at line 462 of file ast_mode.c.

Referenced by ast_select_mode().

Here is the caller graph for this function:

◆ ast_set_crtc_reg()

◆ ast_set_dclk_reg()

static void ast_set_dclk_reg ( struct drm_device dev,
struct drm_display_mode mode,
struct ast_vbios_mode_info vbios_mode 
)
static

◆ ast_set_ext_reg()

static void ast_set_ext_reg ( struct drm_crtc crtc,
struct drm_display_mode mode,
struct ast_vbios_mode_info vbios_mode 
)
static

Definition at line 383 of file ast_mode.c.

References ast, AST1100, AST2100, AST2150, AST2200, AST2300, AST2400, AST2500, AST_IO_CRTC_PORT, ast_set_index_reg(), ast_set_index_reg_mask(), ast_private::chip, drm_format::cpp, drm_crtc::dev, drm_device::dev_private, drm_primary::fb, drm_framebuffer::format, and drm_crtc::primary.

Referenced by ast_crtc_mode_set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_set_offset_reg()

void ast_set_offset_reg ( struct drm_crtc crtc)

Definition at line 353 of file ast_mode.c.

References ast, AST_IO_CRTC_PORT, ast_set_index_reg(), drm_crtc::dev, drm_device::dev_private, drm_primary::fb, offset, drm_framebuffer::pitches, and drm_crtc::primary.

Referenced by ast_crtc_do_set_base(), and ast_crtc_mode_set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_set_start_address_crt1()

void ast_set_start_address_crt1 ( struct ast_private ast,
u32  offset 
)

Definition at line 446 of file ast_mode.c.

References addr, ast, AST_IO_CRTC_PORT, ast_set_index_reg(), and offset.

Referenced by ast_crtc_do_set_base().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ast_set_std_reg()

◆ ast_set_sync_reg()

static void ast_set_sync_reg ( struct drm_device dev,
struct drm_display_mode mode,
struct ast_vbios_mode_info vbios_mode 
)
static

Definition at line 431 of file ast_mode.c.

References ast, AST_IO_MISC_PORT_READ, AST_IO_MISC_PORT_WRITE, ast_private::dev, drm_device::dev_private, ast_vbios_mode_info::enh_table, ast_vbios_enhtable::flags, NHSync, and NVSync.

Referenced by ast_crtc_mode_set().

Here is the caller graph for this function: