Lines Matching refs:edid
43 "edid/800x600.bin",
44 "edid/1024x768.bin",
45 "edid/1280x1024.bin",
46 "edid/1600x1200.bin",
47 "edid/1680x1050.bin",
48 "edid/1920x1080.bin",
162 static int edid_size(const u8 *edid, int data_size)
167 return (edid[0x7e] + 1) * EDID_LENGTH;
175 u8 *edid;
211 edid = ERR_PTR(-EINVAL);
215 edid = kmemdup(fwdata, fwsize, GFP_KERNEL);
216 if (edid == NULL) {
217 edid = ERR_PTR(-ENOMEM);
221 if (!drm_edid_block_valid(edid, 0, print_bad_edid,
226 kfree(edid);
227 edid = ERR_PTR(-EINVAL);
231 for (i = 1; i <= edid[0x7e]; i++) {
233 memcpy(edid + (valid_extensions + 1) * EDID_LENGTH,
234 edid + i * EDID_LENGTH, EDID_LENGTH);
235 if (drm_edid_block_valid(edid + i * EDID_LENGTH, i,
241 if (valid_extensions != edid[0x7e]) {
244 edid[EDID_LENGTH-1] += edid[0x7e] - valid_extensions;
247 edid[0x7e], name, connector_name);
248 edid[0x7e] = valid_extensions;
250 new_edid = krealloc(edid, (valid_extensions + 1) * EDID_LENGTH,
253 edid = new_edid;
263 return edid;
266 struct edid *drm_load_edid_firmware(struct drm_connector *connector)
270 struct edid *edid;
276 * If there are multiple edid files specified and separated
313 edid = edid_load(connector, edidname, connector_name);
316 return edid;