1450N/A/*
1450N/A */
1450N/A
1450N/A/*
1450N/A * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
1450N/A */
1450N/A
1450N/A#ifndef EFB_EDID_H
1450N/A#define EFB_EDID_H
1450N/A
1450N/A#include <sys/types.h>
1450N/A
1450N/A#include "efb_i2c.h"
1450N/A
1450N/A
1450N/A/*
1450N/A * Functions used for extracting EDID information from a monitor. These
1450N/A * functions could easily be modified or made more generic.
1450N/A *
1450N/A * Caller should provide a vector of function calls which can
1450N/A * be called to perform the following low-level functions. See i2c.h
1450N/A * for details.
1450N/A *
1450N/A *
1450N/A * The function efb_read_edid() will return the edid data as retrieved from
1450N/A * the monitor. This function will return I2C_OK on success.
1450N/A *
1450N/A * Caller should use mutex locking to ensure that two threads do not
1450N/A * attempt to simultaneously access the monitor. The regular device
1450N/A * mutex should usually not be used for this purpose if avoidable, as this
1450N/A * protocol can take a considerable amount of time to execute.
1450N/A *
1450N/A * This call will fail on some monitors if sync is not active. In these
1450N/A * cases, the caller should activate sync and try again.
1450N/A *
1450N/A */
1450N/A
1450N/Aextern int efb_read_edid(efb_private_t *efb_priv, int port, uint8_t *data,
1450N/A uint_t *len);
1450N/A
1450N/A
1450N/A#endif /* EFB_EDID_H */