Monitor (DDC) information
Implementation internals » Information gathering

Monitor information functions. More...

## Functions

static void | add_monitor (hd_data_t *hd_data, devtree_t *dt)
static int | chk_edid_info (hd_data_t *hd_data, unsigned char *edid)
static void | add_lcd_info (hd_data_t *hd_data, hd_t *hd, bios_info_t *bt)
static int | mi_cmp (monitor_info_t **mi0, monitor_info_t **mi1)
static void | add_edid_info (hd_data_t *hd_data, hd_t *hd, unsigned char *edid)
static void | add_monitor_res (hd_t *hd, unsigned x, unsigned y, unsigned hz, unsigned il)
static void | fix_edid_info (hd_data_t *hd_data, unsigned char *edid)
void | hd_scan_monitor (hd_data_t *hd_data)

## Detailed Description

Monitor information functions.

See also
  http://en.wikipedia.org/wiki/Extended_Display_Identification_Data#EDID_1.3_data_format for the detailed EDID data structure description

## Function Documentation

## add_edid_info()

void add_edid_info | ( | hd_data_t * | hd_data,
|  | hd_t * | hd,
|  | unsigned char * | edid )

static

References ADD2LOG, add_monitor_res(), add_res_entry(), u_hd_res_t::any, bc_monitor, canon_str(), monitor_info_t::clock, hd_detail_monitor_s::data, s_hd_t::detail, s_hd_t::device, device_class, fix_edid_info(), free_mem(), hd_data, hd_detail_monitor, hd_log_hex(), monitor_info_t::hdisp, monitor_info_t::height, res_monitor_t::height, monitor_info_t::height_mm, monitor_info_t::hflag, monitor_info_t::hsyncend, monitor_info_t::hsyncstart, monitor_info_t::htotal, hd_id_t::id, MAKE_ID, monitor_info_t::manu_week, monitor_info_t::manu_year, monitor_info_t::max_hsync, monitor_info_t::max_vsync, mi_cmp(), monitor_info_t::min_hsync, monitor_info_t::min_vsync, hd_detail_t::monitor, u_hd_res_t::monitor, hd_id_t::name, monitor_info_t::name, new_mem(), new_str(), hd_detail_monitor_s::next, u_hd_res_t::next, s_hd_t::res, res_monitor, res_size, monitor_info_t::serial, s_hd_t::serial, u_hd_res_t::size, size_unit_mm, str_printf(), s_hd_t::sub_class, TAG_EISA, hd_detail_t::type, res_any_t::type, res_size_t::type, res_size_t::unit, res_size_t::val1, res_size_t::val2, monitor_info_t::vdisp, monitor_info_t::vendor, s_hd_t::vendor, vendor, monitor_info_t::vflag, monitor_info_t::vsyncend, monitor_info_t::vsyncstart, monitor_info_t::vtotal, monitor_info_t::width, res_monitor_t::width, and monitor_info_t::width_mm.

Referenced by add_monitor(), and hd_scan_monitor().

## add_lcd_info()

void add_lcd_info | ( | hd_data_t * | hd_data,
|  | hd_t * | hd,
|  | bios_info_t * | bt )

static

References add_monitor_res(), add_res_entry(), hd_detail_monitor_s::data, s_hd_t::detail, s_hd_t::device, hd_data, hd_detail_monitor, bios_info_t::height, bios_info_t::lcd, monitor_info_t::max_hsync, monitor_info_t::max_vsync, monitor_info_t::min_hsync, monitor_info_t::min_vsync, hd_detail_t::monitor, bios_info_t::name, hd_id_t::name, new_mem(), new_str(), s_hd_t::res, res_size, u_hd_res_t::size, size_unit_mm, hd_detail_t::type, res_size_t::type, res_size_t::unit, res_size_t::val1, res_size_t::val2, bios_info_t::vendor, s_hd_t::vendor, bios_info_t::width, bios_info_t::xsize, and bios_info_t::ysize.

Referenced by hd_scan_monitor().

## add_monitor()

void add_monitor | ( | hd_data_t * | hd_data,
|  | devtree_t * | dt )

static

References add_edid_info(), add_hd_entry(), s_hd_t::attached_to, s_hd_t::base_class, bc_monitor, chk_edid_info(), hd_detail_devtree_t::data, s_hd_t::detail, hd_detail_t::devtree, devtree_s::edid, hd_data, hd_detail_devtree, hd_id_t::id, s_hd_t::idx, s_hd_t::next, and hd_detail_t::type.

Referenced by hd_scan_monitor().

## add_monitor_res()

void add_monitor_res | ( | hd_t * | hd,
|  | unsigned | x,
|  | unsigned | y,
|  | unsigned | hz,
|  | unsigned | il )

static

References add_res_entry(), height, res_monitor_t::height, res_monitor_t::interlaced, u_hd_res_t::monitor, new_mem(), s_hd_t::res, res_monitor, res_monitor_t::type, res_monitor_t::vfreq, res_monitor_t::width, and width.

Referenced by add_edid_info(), and add_lcd_info().

## chk_edid_info()

int chk_edid_info | ( | hd_data_t * | hd_data,
|  | unsigned char * | edid )

static

References hd_data.

Referenced by add_monitor(), and hd_scan_monitor().

## fix_edid_info()

void fix_edid_info | ( | hd_data_t * | hd_data,
|  | unsigned char * | edid )

static

References hd_data.

Referenced by add_edid_info().

## hd_scan_monitor()

void hd_scan_monitor | ( | hd_data_t * | hd_data | ) |

References add_edid_info(), add_hd_entry(), add_lcd_info(), add_monitor(), s_hd_t::attached_to, s_hd_t::base_class, bc_internal, bc_monitor, hd_detail_t::bios, chk_edid_info(), hd_detail_bios_t::data, hd_detail_pci_t::data, vbe_info_t::ddc_port, vbe_info_t::ddc_ports, s_hd_t::detail, devtree_s::edid, s_pci_t::edid_data, s_pci_t::edid_len, s_hd_t::func, hd_data, hd_detail_bios, hd_detail_pci, hd_probe_feature(), hd_set_hw_class(), hw_vbe, hd_id_t::id, s_hd_t::idx, bios_info_t::lcd, mod_monitor, devtree_s::next, s_hd_t::next, vbe_info_t::ok, hd_detail_t::pci, pr_monitor, PROGRESS, remove_hd_entries(), sc_int_bios, sc_mon_lcd, s_hd_t::slot, s_hd_t::sub_class, hd_detail_t::type, bios_info_t::vbe, and bios_info_t::width.

Referenced by hd_scan_no_hal().

## mi_cmp()

int mi_cmp | ( | monitor_info_t ** | mi0,
|  | monitor_info_t ** | mi1 )

static

Referenced by add_edid_info().