Lines Matching full:edid
28 #include "edid.h"
785 static int dlfb_get_edid(struct dlfb_data *dlfb, char *edid, int len) in dlfb_get_edid() argument
801 "Read EDID byte %d failed: %d\n", i, ret); in dlfb_get_edid()
805 edid[i] = rbuf[1]; in dlfb_get_edid()
824 void __user *edid = (void __user *)arg; in dlfb_ops_ioctl() local
825 if (copy_to_user(edid, dlfb->edid, dlfb->edid_size)) in dlfb_ops_ioctl()
962 kfree(dlfb->edid); in dlfb_ops_destroy()
1228 * 1) Get EDID from hw, or use sw default
1232 * Parses EDID into three places used by various parts of fbdev:
1234 * fb_info.monspecs is full parsed EDID info, including monspecs.modedb
1237 * If EDID is not readable/valid, then modelist is all VESA modes,
1245 char *edid; in dlfb_setup_modes() local
1258 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in dlfb_setup_modes()
1259 if (!edid) { in dlfb_setup_modes()
1268 * Try to (re)read EDID from hardware first in dlfb_setup_modes()
1269 * EDID data may return, but not parse as valid in dlfb_setup_modes()
1274 i = dlfb_get_edid(dlfb, edid, EDID_LENGTH); in dlfb_setup_modes()
1277 fb_edid_to_monspecs(edid, &info->monspecs); in dlfb_setup_modes()
1280 dlfb->edid = edid; in dlfb_setup_modes()
1286 /* If that fails, use a previously returned EDID if available */ in dlfb_setup_modes()
1288 dev_err(dev, "Unable to get valid EDID from device/display\n"); in dlfb_setup_modes()
1290 if (dlfb->edid) { in dlfb_setup_modes()
1291 fb_edid_to_monspecs(dlfb->edid, &info->monspecs); in dlfb_setup_modes()
1293 dev_err(dev, "Using previously queried EDID\n"); in dlfb_setup_modes()
1297 /* If that fails, use the default EDID we were handed */ in dlfb_setup_modes()
1302 memcpy(edid, default_edid, default_edid_size); in dlfb_setup_modes()
1303 dlfb->edid = edid; in dlfb_setup_modes()
1305 dev_err(dev, "Using default/backup EDID\n"); in dlfb_setup_modes()
1338 * Since we don't have EDID, there may be modes that in dlfb_setup_modes()
1353 * (since they are most common case without EDID) in dlfb_setup_modes()
1376 if (edid && (dlfb->edid != edid)) in dlfb_setup_modes()
1377 kfree(edid); in dlfb_setup_modes()
1425 if (dlfb->edid == NULL) in edid_show()
1434 memcpy(buf, dlfb->edid, count); in edid_show()
1448 /* We only support write of entire EDID at once, no offset*/ in edid_store()
1456 if (!dlfb->edid || memcmp(src, dlfb->edid, src_size)) in edid_store()
1482 .attr.name = "edid",