• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/video/

Lines Matching defs:edid

32 #include <video/edid.h>
37 #include "edid.h"
146 static int check_edid(unsigned char *edid)
148 unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4];
171 if (edid[i] != edid_v1_header[i]) {
178 b = edid + EDID_STRUCT_DISPLAY;
185 b = edid + DETAILED_TIMING_DESCRIPTIONS_START;
208 static void fix_edid(unsigned char *edid, int fix)
216 memcpy(edid, edid_v1_header, 8);
220 b = edid + EDID_STRUCT_DISPLAY;
222 edid[127] += 0x80;
226 b = edid + DETAILED_TIMING_DESCRIPTIONS_START;
250 csum += edid[i];
252 edid[127] = 256 - csum;
257 static int edid_checksum(unsigned char *edid)
260 int err = 0, fix = check_edid(edid);
263 fix_edid(edid, fix);
266 csum += edid[i];
267 all_null |= edid[i];
278 static int edid_check_header(unsigned char *edid)
280 int i, err = 1, fix = check_edid(edid);
283 fix_edid(edid, fix);
286 if (edid[i] != edid_v1_header[i])
581 * @edid: EDID data
590 static struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize)
600 if (edid == NULL || !edid_checksum(edid) ||
601 !edid_check_header(edid)) {
609 block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
624 block = edid + ESTABLISHED_TIMING_1;
628 block = edid + STD_TIMING_DESCRIPTIONS_START;
632 block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
665 static int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs)
670 block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
694 modes = fb_create_modedb(edid, &num_modes);
746 static void get_monspecs(unsigned char *edid, struct fb_monspecs *specs)
750 block = edid + EDID_STRUCT_DISPLAY;
752 fb_get_monitor_limits(edid, specs);
864 int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
869 if (edid == NULL || var == NULL)
872 if (!(edid_checksum(edid)))
875 if (!(edid_check_header(edid)))
878 block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
907 void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
912 if (edid == NULL)
915 if (!(edid_checksum(edid)))
918 if (!(edid_check_header(edid)))
923 specs->version = edid[EDID_STRUCT_VERSION];
924 specs->revision = edid[EDID_STRUCT_REVISION];
932 parse_vendor_block(edid + ID_MANUFACTURER_NAME, specs);
934 block = edid + DETAILED_TIMING_DESCRIPTIONS_START;
949 get_monspecs(edid, specs);
951 specs->modedb = fb_create_modedb(edid, &specs->modedb_len);
1274 int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var)
1278 void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
1366 unsigned char *edid = NULL;
1375 edid = edid_info.dummy;
1377 return edid;