deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* xf86DDC.h
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * This file contains all information to interpret a standard EDIC block
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * transmitted by a display device via DDC (Display Data Channel). So far
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * there is no information to deal with optional EDID blocks.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * DDC is a Trademark of VESA (Video Electronics Standard Association).
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Copyright 1998 by Egbert Eich <Egbert.Eich@Physik.TU-Darmstadt.DE>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#ifndef XF86_DDC_H
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync# define XF86_DDC_H
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "edid.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "xf86i2c.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "xf86str.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* speed up / slow down */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef enum {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DDC_SLOW,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DDC_FAST
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} xf86ddcSpeed;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (* DDC1SetSpeedProc)(ScrnInfoPtr, xf86ddcSpeed);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern xf86MonPtr xf86DoEDID_DDC1(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int scrnIndex,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DDC1SetSpeedProc DDC1SetSpeed,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int (*DDC1Read)(ScrnInfoPtr)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern xf86MonPtr xf86DoEDID_DDC2(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int scrnIndex,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync I2CBusPtr pBus
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern xf86MonPtr xf86PrintEDID(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xf86MonPtr monPtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern xf86MonPtr xf86InterpretEDID(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int screenIndex, Uchar *block
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern xf86vdifPtr xf86InterpretVdif(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD8 *c
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern void
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncxf86DDCMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern Bool xf86SetDDCproperties(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ScrnInfoPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xf86MonPtr DDC
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern void xf86print_vdif(
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xf86vdifPtr v
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync