/* BEGIN CSTYLED */
/*
*/
/*
* Copyright (c) 2007-2008, 2013, Intel Corporation
* Jesse Barnes <jesse.barnes@intel.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __DRM_EDID_H__
#define __DRM_EDID_H__
#include "drm.h"
#include "drmP.h"
#pragma pack(1)
struct est_timings {
} __attribute__((packed));
#pragma pack()
/* 00=16:10, 01=4:3, 10=5:4, 11=16:9 */
/* need to add 60 */
#define EDID_TIMING_VFREQ_SHIFT 0
#pragma pack(1)
struct std_timing {
} __attribute__((packed));
#pragma pack()
/* If detailed data is pixel timing */
#pragma pack(1)
struct detailed_pixel_timing {
} __attribute__((packed));
#pragma pack()
/* If it's not pixel timing, it'll be one of the below */
#pragma pack(1)
struct detailed_data_string {
} __attribute__((packed));
#pragma pack()
#pragma pack(1)
struct detailed_data_monitor_range {
union {
struct {
u8 c; /* need to divide by 2 */
__u16 m;
u8 k;
u8 j; /* need to divide by 2 */
struct {
} formula;
} __attribute__((packed));
#pragma pack()
#pragma pack(1)
struct detailed_data_wpindex {
} __attribute__((packed));
#pragma pack()
#pragma pack(1)
struct detailed_data_color_point {
} __attribute__((packed));
#pragma pack()
#pragma pack(1)
struct cvt_timing {
} __attribute__((packed));
#pragma pack()
#pragma pack(1)
struct detailed_non_pixel {
fb=color point data, fa=standard timing data,
f9=undefined, f8=mfg. reserved */
union {
} data;
} __attribute__((packed));
#pragma pack()
#pragma pack(1)
struct detailed_timing {
union {
} data;
} __attribute__((packed));
#pragma pack()
#define DRM_EDID_DIGITAL_TYPE_UNDEF (0)
/* If digital */
#pragma pack(1)
struct edid {
/* Vendor & product info */
/* EDID version */
/* Display info: */
/* Color characteristics */
/* Est. timings and mfg rsvd timings*/
/* Standard timings 1-8*/
/* Detailing timings 1-4 */
/* Number of 128 byte ext. blocks */
/* Checksum */
} __attribute__((packed));
#pragma pack()
/* define the number of Extension EDID block */
/* Short Audio Descriptor */
struct cea_sad {
};
struct drm_encoder;
struct drm_connector;
struct drm_display_mode;
struct drm_display_mode *mode);
struct drm_display_mode *mode);
#endif /* __DRM_EDID_H__ */