/drivers/gpu/drm/ |
D | drm_edid.c | 38 #define version_greater(edid, maj, min) \ argument 39 (((edid)->version > (maj)) || \ 40 ((edid)->version == (maj) && (edid)->revision > (min))) 74 struct edid *edid; member 969 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local 1000 if (edid->version != 1) { in drm_edid_block_valid() 1001 DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid() 1005 if (edid->revision > 4) in drm_edid_block_valid() 1031 bool drm_edid_is_valid(struct edid *edid) in drm_edid_is_valid() argument 1034 u8 *raw = (u8 *)edid; in drm_edid_is_valid() [all …]
|
D | drm_edid_load.c | 141 u8 *fwdata = NULL, *edid, *new_edid; in edid_load() local 189 edid = kmalloc(fwsize, GFP_KERNEL); in edid_load() 190 if (edid == NULL) { in edid_load() 194 memcpy(edid, fwdata, fwsize); in edid_load() 196 if (!drm_edid_block_valid(edid, 0, print_bad_edid)) { in edid_load() 200 kfree(edid); in edid_load() 205 for (i = 1; i <= edid[0x7e]; i++) { in edid_load() 207 memcpy(edid + (valid_extensions + 1) * EDID_LENGTH, in edid_load() 208 edid + i * EDID_LENGTH, EDID_LENGTH); in edid_load() 209 if (drm_edid_block_valid(edid + i * EDID_LENGTH, i, print_bad_edid)) in edid_load() [all …]
|
/drivers/video/ |
D | fbmon.c | 149 static int check_edid(unsigned char *edid) in check_edid() argument 151 unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4]; in check_edid() 174 if (edid[i] != edid_v1_header[i]) { in check_edid() 181 b = edid + EDID_STRUCT_DISPLAY; in check_edid() 188 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in check_edid() 211 static void fix_edid(unsigned char *edid, int fix) in fix_edid() argument 219 memcpy(edid, edid_v1_header, 8); in fix_edid() 223 b = edid + EDID_STRUCT_DISPLAY; in fix_edid() 225 edid[127] += 0x80; in fix_edid() 229 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in fix_edid() [all …]
|
D | fb_ddc.c | 57 unsigned char *edid = NULL; in fb_ddc_read() local 86 edid = fb_do_probe_ddc_edid(adapter); in fb_ddc_read() 102 if (edid) in fb_ddc_read() 112 return edid; in fb_ddc_read()
|
D | udlfb.c | 760 static int dlfb_get_edid(struct dlfb_data *dev, char *edid, int len) in dlfb_get_edid() argument 780 edid[i] = rbuf[1]; in dlfb_get_edid() 799 void __user *edid = (void __user *)arg; in dlfb_ops_ioctl() local 800 if (copy_to_user(edid, dev->edid, dev->edid_size)) in dlfb_ops_ioctl() 928 kfree(dev->edid); in dlfb_free() 1239 char *edid; in dlfb_setup_modes() local 1245 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in dlfb_setup_modes() 1246 if (!edid) { in dlfb_setup_modes() 1261 i = dlfb_get_edid(dev, edid, EDID_LENGTH); in dlfb_setup_modes() 1264 fb_edid_to_monspecs(edid, &info->monspecs); in dlfb_setup_modes() [all …]
|
/drivers/gpu/drm/i915/ |
D | intel_modes.c | 40 struct edid *edid) in intel_connector_update_modes() argument 44 drm_mode_connector_update_edid_property(connector, edid); in intel_connector_update_modes() 45 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes() 46 drm_edid_to_eld(connector, edid); in intel_connector_update_modes() 61 struct edid *edid; in intel_ddc_get_modes() local 64 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes() 65 if (!edid) in intel_ddc_get_modes() 68 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes() 69 kfree(edid); in intel_ddc_get_modes()
|
D | intel_crt.c | 391 static struct edid *intel_crt_get_edid(struct drm_connector *connector, in intel_crt_get_edid() 394 struct edid *edid; in intel_crt_get_edid() local 396 edid = drm_get_edid(connector, i2c); in intel_crt_get_edid() 398 if (!edid && !intel_gmbus_is_forced_bit(i2c)) { in intel_crt_get_edid() 401 edid = drm_get_edid(connector, i2c); in intel_crt_get_edid() 405 return edid; in intel_crt_get_edid() 412 struct edid *edid; in intel_crt_ddc_get_modes() local 415 edid = intel_crt_get_edid(connector, adapter); in intel_crt_ddc_get_modes() 416 if (!edid) in intel_crt_ddc_get_modes() 419 ret = intel_connector_update_modes(connector, edid); in intel_crt_ddc_get_modes() [all …]
|
D | intel_sdvo.c | 1483 static struct edid * 1491 static struct edid * 1506 struct edid *edid; in intel_sdvo_tmds_sink_detect() local 1508 edid = intel_sdvo_get_edid(connector); in intel_sdvo_tmds_sink_detect() 1510 if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) { in intel_sdvo_tmds_sink_detect() 1519 edid = intel_sdvo_get_edid(connector); in intel_sdvo_tmds_sink_detect() 1520 if (edid) in intel_sdvo_tmds_sink_detect() 1527 if (edid == NULL) in intel_sdvo_tmds_sink_detect() 1535 if (edid == NULL) in intel_sdvo_tmds_sink_detect() 1536 edid = intel_sdvo_get_analog_edid(connector); in intel_sdvo_tmds_sink_detect() [all …]
|
D | intel_dp.c | 2289 static struct edid * 2295 if (intel_connector->edid) { in intel_dp_get_edid() 2296 struct edid *edid; in intel_dp_get_edid() local 2300 if (IS_ERR(intel_connector->edid)) in intel_dp_get_edid() 2303 size = (intel_connector->edid->extensions + 1) * EDID_LENGTH; in intel_dp_get_edid() 2304 edid = kmalloc(size, GFP_KERNEL); in intel_dp_get_edid() 2305 if (!edid) in intel_dp_get_edid() 2308 memcpy(edid, intel_connector->edid, size); in intel_dp_get_edid() 2309 return edid; in intel_dp_get_edid() 2321 if (intel_connector->edid) { in intel_dp_get_edid_modes() [all …]
|
D | intel_lvds.c | 531 if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) in intel_lvds_get_modes() 532 return drm_add_edid_modes(connector, lvds_connector->base.edid); in intel_lvds_get_modes() 631 if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) in intel_lvds_destroy() 632 kfree(lvds_connector->base.edid); in intel_lvds_destroy() 1070 struct edid *edid; in intel_lvds_init() local 1175 edid = drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, pin)); in intel_lvds_init() 1176 if (edid) { in intel_lvds_init() 1177 if (drm_add_edid_modes(connector, edid)) { in intel_lvds_init() 1179 edid); in intel_lvds_init() 1181 kfree(edid); in intel_lvds_init() [all …]
|
/drivers/media/i2c/ |
D | ad9389b.c | 103 struct ad9389b_state_edid edid; member 380 struct ad9389b_state_edid *edid = &state->edid; in ad9389b_log_status() local 413 edid->segments ? "found" : "no", edid->blocks); in ad9389b_log_status() 614 static int ad9389b_get_edid(struct v4l2_subdev *sd, struct v4l2_subdev_edid *edid) in ad9389b_get_edid() argument 618 if (edid->pad != 0) in ad9389b_get_edid() 620 if (edid->blocks == 0 || edid->blocks > 256) in ad9389b_get_edid() 622 if (!edid->edid) in ad9389b_get_edid() 624 if (!state->edid.segments) { in ad9389b_get_edid() 628 if (edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid() 630 if (edid->blocks + edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid() [all …]
|
D | adv7604.c | 72 u8 edid[256]; member 1586 static int adv7604_get_edid(struct v4l2_subdev *sd, struct v4l2_subdev_edid *edid) in adv7604_get_edid() argument 1590 if (edid->pad != 0) in adv7604_get_edid() 1592 if (edid->blocks == 0) in adv7604_get_edid() 1594 if (edid->start_block >= state->edid_blocks) in adv7604_get_edid() 1596 if (edid->start_block + edid->blocks > state->edid_blocks) in adv7604_get_edid() 1597 edid->blocks = state->edid_blocks - edid->start_block; in adv7604_get_edid() 1598 if (!edid->edid) in adv7604_get_edid() 1600 memcpy(edid->edid + edid->start_block * 128, in adv7604_get_edid() 1601 state->edid + edid->start_block * 128, in adv7604_get_edid() [all …]
|
/drivers/gpu/drm/udl/ |
D | udl_connector.c | 60 struct edid *edid; in udl_get_modes() local 63 edid = (struct edid *)udl_get_edid(udl); in udl_get_modes() 64 if (!edid) { in udl_get_modes() 74 edid->checksum += edid->extensions; in udl_get_modes() 75 edid->extensions = 0; in udl_get_modes() 77 drm_mode_connector_update_edid_property(connector, edid); in udl_get_modes() 78 ret = drm_add_edid_modes(connector, edid); in udl_get_modes() 79 kfree(edid); in udl_get_modes()
|
/drivers/gpu/drm/gma500/ |
D | psb_intel_modes.c | 65 struct edid *edid; in psb_intel_ddc_get_modes() local 68 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes() 69 if (edid) { in psb_intel_ddc_get_modes() 70 drm_mode_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes() 71 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes() 72 kfree(edid); in psb_intel_ddc_get_modes()
|
D | cdv_intel_hdmi.c | 143 struct edid *edid = NULL; in cdv_hdmi_detect() local 146 edid = drm_get_edid(connector, &psb_intel_encoder->i2c_bus->adapter); in cdv_hdmi_detect() 150 if (edid) { in cdv_hdmi_detect() 151 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect() 154 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect() 156 drm_detect_monitor_audio(edid); in cdv_hdmi_detect() 158 kfree(edid); in cdv_hdmi_detect() 226 struct edid *edid = NULL; in cdv_hdmi_get_modes() local 229 edid = drm_get_edid(connector, &psb_intel_encoder->i2c_bus->adapter); in cdv_hdmi_get_modes() 230 if (edid) { in cdv_hdmi_get_modes() [all …]
|
D | psb_intel_sdvo.c | 1282 static struct edid * 1290 static struct edid * 1304 struct edid *edid; in psb_intel_sdvo_hdmi_sink_detect() local 1306 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() 1308 if (edid == NULL && psb_intel_sdvo_multifunc_encoder(psb_intel_sdvo)) { in psb_intel_sdvo_hdmi_sink_detect() 1317 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() 1318 if (edid) in psb_intel_sdvo_hdmi_sink_detect() 1325 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1333 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1334 edid = psb_intel_sdvo_get_analog_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() [all …]
|
/drivers/gpu/host1x/drm/ |
D | output.c | 19 struct edid *edid = NULL; in tegra_connector_get_modes() local 22 if (output->edid) in tegra_connector_get_modes() 23 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_connector_get_modes() 25 edid = drm_get_edid(connector, output->ddc); in tegra_connector_get_modes() 27 drm_mode_connector_update_edid_property(connector, edid); in tegra_connector_get_modes() 29 if (edid) { in tegra_connector_get_modes() 30 err = drm_add_edid_modes(connector, edid); in tegra_connector_get_modes() 31 kfree(edid); in tegra_connector_get_modes() 164 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_parse_dt() 178 if (!output->edid && !output->ddc) in tegra_output_parse_dt()
|
/drivers/gpu/drm/nouveau/ |
D | nouveau_connector.c | 101 kfree(nv_connector->edid); in nouveau_connector_destroy() 178 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local 181 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect() 182 nv_connector->edid = in nouveau_connector_of_detect() 183 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect() 245 if (nv_connector->edid) { in nouveau_connector_detect() 247 kfree(nv_connector->edid); in nouveau_connector_detect() 248 nv_connector->edid = NULL; in nouveau_connector_detect() 253 nv_connector->edid = drm_get_edid(connector, &i2c->adapter); in nouveau_connector_detect() 255 nv_connector->edid); in nouveau_connector_detect() [all …]
|
/drivers/gpu/drm/exynos/ |
D | exynos_drm_vidi.c | 51 struct edid *raw_edid; 101 static struct edid *vidi_get_edid(struct device *dev, in vidi_get_edid() 105 struct edid *edid; in vidi_get_edid() local 120 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_edid() 121 if (!edid) { in vidi_get_edid() 126 return edid; in vidi_get_edid() 497 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection() 500 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection() 559 struct edid *raw_edid = (struct edid *)(uint32_t)vidi->edid; in vidi_connection_ioctl() 576 (struct edid *)fake_edid_info) { in vidi_connection_ioctl() [all …]
|
D | exynos_drm_connector.c | 98 struct edid *edid = NULL; in exynos_drm_connector_get_modes() local 118 edid = display_ops->get_edid(manager->dev, connector); in exynos_drm_connector_get_modes() 119 if (IS_ERR_OR_NULL(edid)) { in exynos_drm_connector_get_modes() 120 ret = PTR_ERR(edid); in exynos_drm_connector_get_modes() 121 edid = NULL; in exynos_drm_connector_get_modes() 126 count = drm_add_edid_modes(connector, edid); in exynos_drm_connector_get_modes() 132 drm_mode_connector_update_edid_property(connector, edid); in exynos_drm_connector_get_modes() 160 kfree(edid); in exynos_drm_connector_get_modes()
|
/drivers/video/nvidia/ |
D | nv_i2c.c | 155 u8 *edid = NULL; in nvidia_probe_i2c_connector() local 158 edid = fb_ddc_read(&par->chan[conn - 1].adapter); in nvidia_probe_i2c_connector() 160 if (!edid && conn == 1) { in nvidia_probe_i2c_connector() 165 edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); in nvidia_probe_i2c_connector() 168 *out_edid = edid; in nvidia_probe_i2c_connector() 170 return (edid) ? 0 : 1; in nvidia_probe_i2c_connector()
|
/drivers/video/savage/ |
D | savagefb-i2c.c | 221 u8 *edid; in savagefb_probe_i2c_connector() local 224 edid = fb_ddc_read(&par->chan.adapter); in savagefb_probe_i2c_connector() 226 edid = NULL; in savagefb_probe_i2c_connector() 228 if (!edid) { in savagefb_probe_i2c_connector() 233 edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); in savagefb_probe_i2c_connector() 236 *out_edid = edid; in savagefb_probe_i2c_connector() 238 return (edid) ? 0 : 1; in savagefb_probe_i2c_connector()
|
/drivers/gpu/drm/radeon/ |
D | radeon_connectors.c | 115 if (drm_detect_hdmi_monitor(radeon_connector->edid)) { in radeon_get_monitor_bpc() 123 if (drm_detect_hdmi_monitor(radeon_connector->edid)) { in radeon_get_monitor_bpc() 132 drm_detect_hdmi_monitor(radeon_connector->edid)) { in radeon_get_monitor_bpc() 626 if (radeon_connector->edid) in radeon_lvds_detect() 630 radeon_connector->edid = drm_get_edid(&radeon_connector->base, in radeon_lvds_detect() 632 if (radeon_connector->edid) in radeon_lvds_detect() 646 if (radeon_connector->edid) in radeon_connector_destroy() 647 kfree(radeon_connector->edid); in radeon_connector_destroy() 747 if (radeon_connector->edid) { in radeon_vga_detect() 748 kfree(radeon_connector->edid); in radeon_vga_detect() [all …]
|
/drivers/gpu/drm/tilcdc/ |
D | tilcdc_tfp410.c | 190 struct edid *edid; in tfp410_connector_get_modes() local 193 edid = drm_get_edid(connector, tfp410_connector->mod->i2c); in tfp410_connector_get_modes() 195 drm_mode_connector_update_edid_property(connector, edid); in tfp410_connector_get_modes() 197 if (edid) { in tfp410_connector_get_modes() 198 ret = drm_add_edid_modes(connector, edid); in tfp410_connector_get_modes() 199 kfree(edid); in tfp410_connector_get_modes()
|
/drivers/video/aty/ |
D | radeon_i2c.c | 143 u8 *edid; in radeon_probe_i2c_connector() local 145 edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter); in radeon_probe_i2c_connector() 148 *out_edid = edid; in radeon_probe_i2c_connector() 149 if (!edid) { in radeon_probe_i2c_connector() 153 if (edid[0x14] & 0x80) { in radeon_probe_i2c_connector()
|