/drivers/gpu/drm/ |
D | drm_edid_load.c | 155 static int edid_size(const u8 *edid, int data_size) in edid_size() argument 160 return (edid[0x7e] + 1) * EDID_LENGTH; in edid_size() 168 u8 *edid; in edid_load() local 209 edid = ERR_PTR(-EINVAL); in edid_load() 213 edid = kmemdup(fwdata, fwsize, GFP_KERNEL); in edid_load() 214 if (edid == NULL) { in edid_load() 215 edid = ERR_PTR(-ENOMEM); in edid_load() 219 if (!drm_edid_block_valid(edid, 0, print_bad_edid, in edid_load() 224 kfree(edid); in edid_load() 225 edid = ERR_PTR(-EINVAL); in edid_load() [all …]
|
D | drm_edid.c | 39 #define version_greater(edid, maj, min) \ argument 40 (((edid)->version > (maj)) || \ 41 ((edid)->version == (maj) && (edid)->revision > (min))) 83 struct edid *edid; member 1070 struct edid *edid); 1106 struct edid *edid = (struct edid *)raw_edid; in drm_edid_block_valid() local 1153 if (edid->version != 1) { in drm_edid_block_valid() 1154 DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); in drm_edid_block_valid() 1158 if (edid->revision > 4) in drm_edid_block_valid() 1190 bool drm_edid_is_valid(struct edid *edid) in drm_edid_is_valid() argument [all …]
|
D | drm_debugfs.c | 310 struct drm_property_blob *edid = connector->edid_blob_ptr; in edid_show() local 312 if (connector->override_edid && edid) in edid_show() 313 seq_write(m, edid->data, edid->length); in edid_show() 331 struct edid *edid; in edid_write() local 338 edid = (struct edid *) buf; in edid_write() 344 EDID_LENGTH * (1 + edid->extensions) > len) in edid_write() 348 ret = drm_mode_connector_update_edid_property(connector, edid); in edid_write()
|
/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 | 408 static struct edid *intel_crt_get_edid(struct drm_connector *connector, in intel_crt_get_edid() 411 struct edid *edid; in intel_crt_get_edid() local 413 edid = drm_get_edid(connector, i2c); in intel_crt_get_edid() 415 if (!edid && !intel_gmbus_is_forced_bit(i2c)) { in intel_crt_get_edid() 418 edid = drm_get_edid(connector, i2c); in intel_crt_get_edid() 422 return edid; in intel_crt_get_edid() 429 struct edid *edid; in intel_crt_ddc_get_modes() local 432 edid = intel_crt_get_edid(connector, adapter); in intel_crt_ddc_get_modes() 433 if (!edid) in intel_crt_ddc_get_modes() 436 ret = intel_connector_update_modes(connector, edid); in intel_crt_ddc_get_modes() [all …]
|
D | intel_sdvo.c | 1617 static struct edid * 1625 static struct edid * 1640 struct edid *edid; in intel_sdvo_tmds_sink_detect() local 1642 edid = intel_sdvo_get_edid(connector); in intel_sdvo_tmds_sink_detect() 1644 if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) { in intel_sdvo_tmds_sink_detect() 1653 edid = intel_sdvo_get_edid(connector); in intel_sdvo_tmds_sink_detect() 1654 if (edid) in intel_sdvo_tmds_sink_detect() 1661 if (edid == NULL) in intel_sdvo_tmds_sink_detect() 1669 if (edid == NULL) in intel_sdvo_tmds_sink_detect() 1670 edid = intel_sdvo_get_analog_edid(connector); in intel_sdvo_tmds_sink_detect() [all …]
|
D | intel_lvds.c | 390 if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) in intel_lvds_get_modes() 391 return drm_add_edid_modes(connector, lvds_connector->base.edid); in intel_lvds_get_modes() 500 if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) in intel_lvds_destroy() 501 kfree(lvds_connector->base.edid); in intel_lvds_destroy() 948 struct edid *edid; in intel_lvds_init() local 1091 edid = drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, pin)); in intel_lvds_init() 1092 if (edid) { in intel_lvds_init() 1093 if (drm_add_edid_modes(connector, edid)) { in intel_lvds_init() 1095 edid); in intel_lvds_init() 1097 kfree(edid); in intel_lvds_init() [all …]
|
/drivers/video/fbdev/core/ |
D | fbmon.c | 145 static int check_edid(unsigned char *edid) in check_edid() argument 147 unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4]; in check_edid() 170 if (edid[i] != edid_v1_header[i]) { in check_edid() 177 b = edid + EDID_STRUCT_DISPLAY; in check_edid() 184 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in check_edid() 207 static void fix_edid(unsigned char *edid, int fix) in fix_edid() argument 215 memcpy(edid, edid_v1_header, 8); in fix_edid() 219 b = edid + EDID_STRUCT_DISPLAY; in fix_edid() 221 edid[127] += 0x80; in fix_edid() 225 b = edid + DETAILED_TIMING_DESCRIPTIONS_START; in fix_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/media/i2c/ |
D | ad9389b.c | 98 struct ad9389b_state_edid edid; member 356 struct ad9389b_state_edid *edid = &state->edid; in ad9389b_log_status() local 389 edid->segments ? "found" : "no", edid->blocks); in ad9389b_log_status() 677 static int ad9389b_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in ad9389b_get_edid() argument 681 if (edid->pad != 0) in ad9389b_get_edid() 683 if (edid->blocks == 0 || edid->blocks > 256) in ad9389b_get_edid() 685 if (!state->edid.segments) { in ad9389b_get_edid() 689 if (edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid() 691 if (edid->blocks + edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid() 692 edid->blocks = state->edid.segments * 2 - edid->start_block; in ad9389b_get_edid() [all …]
|
D | adv7511-v4l2.c | 119 struct adv7511_state_edid edid; member 531 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local 559 edid->segments ? "found" : "no", in adv7511_log_status() 560 edid->blocks); in adv7511_log_status() 897 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument 901 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid() 903 if (edid->pad != 0) in adv7511_get_edid() 906 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid() 907 edid->blocks = state->edid.segments * 2; in adv7511_get_edid() 911 if (state->edid.segments == 0) in adv7511_get_edid() [all …]
|
D | adv7604.c | 180 u8 edid[256]; member 183 } edid; member 570 adv76xx_set_hpd(state, state->edid.present); in adv76xx_delayed_work_enable_hotplug() 1973 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument 1978 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid() 1980 switch (edid->pad) { in adv76xx_get_edid() 1985 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid() 1986 data = state->edid.edid; in adv76xx_get_edid() 1992 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid() 1993 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid() [all …]
|
/drivers/gpu/drm/tegra/ |
D | output.c | 17 struct edid *edid = NULL; in tegra_output_connector_get_modes() local 30 if (output->edid) in tegra_output_connector_get_modes() 31 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes() 33 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes() 35 drm_mode_connector_update_edid_property(connector, edid); in tegra_output_connector_get_modes() 37 if (edid) { in tegra_output_connector_get_modes() 38 err = drm_add_edid_modes(connector, edid); in tegra_output_connector_get_modes() 39 kfree(edid); in tegra_output_connector_get_modes() 119 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_probe()
|
/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 | 132 struct edid *edid = NULL; in cdv_hdmi_detect() local 135 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_detect() 139 if (edid) { in cdv_hdmi_detect() 140 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect() 143 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect() 145 drm_detect_monitor_audio(edid); in cdv_hdmi_detect() 147 kfree(edid); in cdv_hdmi_detect() 214 struct edid *edid = NULL; in cdv_hdmi_get_modes() local 217 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); in cdv_hdmi_get_modes() 218 if (edid) { in cdv_hdmi_get_modes() [all …]
|
D | oaktrail_lvds.c | 306 struct edid *edid; in oaktrail_lvds_init() local 362 edid = NULL; in oaktrail_lvds_init() 366 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 367 if (edid == NULL && dev_priv->lpc_gpio_base) { in oaktrail_lvds_init() 371 edid = drm_get_edid(connector, i2c_adap); in oaktrail_lvds_init() 378 if (edid) { in oaktrail_lvds_init() 379 drm_mode_connector_update_edid_property(connector, edid); in oaktrail_lvds_init() 380 drm_add_edid_modes(connector, edid); in oaktrail_lvds_init() 381 kfree(edid); in oaktrail_lvds_init()
|
D | psb_intel_sdvo.c | 1300 static struct edid * 1308 static struct edid * 1322 struct edid *edid; in psb_intel_sdvo_hdmi_sink_detect() local 1324 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() 1326 if (edid == NULL && psb_intel_sdvo_multifunc_encoder(psb_intel_sdvo)) { in psb_intel_sdvo_hdmi_sink_detect() 1335 edid = psb_intel_sdvo_get_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() 1336 if (edid) in psb_intel_sdvo_hdmi_sink_detect() 1343 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1351 if (edid == NULL) in psb_intel_sdvo_hdmi_sink_detect() 1352 edid = psb_intel_sdvo_get_analog_edid(connector); in psb_intel_sdvo_hdmi_sink_detect() [all …]
|
/drivers/gpu/drm/bridge/ |
D | nxp-ptn3460.c | 43 struct edid *edid; member 201 u8 *edid; in ptn3460_get_modes() local 207 if (ptn_bridge->edid) in ptn3460_get_modes() 208 return drm_add_edid_modes(connector, ptn_bridge->edid); in ptn3460_get_modes() 213 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ptn3460_get_modes() 214 if (!edid) { in ptn3460_get_modes() 219 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid, in ptn3460_get_modes() 222 kfree(edid); in ptn3460_get_modes() 226 ptn_bridge->edid = (struct edid *)edid; in ptn3460_get_modes() 227 drm_mode_connector_update_edid_property(connector, ptn_bridge->edid); in ptn3460_get_modes() [all …]
|
/drivers/gpu/drm/exynos/ |
D | exynos_drm_vidi.c | 44 struct edid *raw_edid; 248 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection() 251 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection() 288 struct edid *raw_edid = (struct edid *)(uint32_t)vidi->edid; in vidi_connection_ioctl() 304 (struct edid *)fake_edid_info) { in vidi_connection_ioctl() 346 struct edid *edid; in vidi_get_modes() local 359 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes() 360 if (!edid) { in vidi_get_modes() 365 drm_mode_connector_update_edid_property(connector, edid); in vidi_get_modes() 367 return drm_add_edid_modes(connector, edid); in vidi_get_modes() [all …]
|
/drivers/gpu/drm/nouveau/ |
D | nouveau_connector.c | 104 kfree(nv_connector->edid); in nouveau_connector_destroy() 181 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local 184 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect() 185 nv_connector->edid = in nouveau_connector_of_detect() 186 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect() 250 if (nv_connector->edid) { in nouveau_connector_detect() 252 kfree(nv_connector->edid); in nouveau_connector_detect() 253 nv_connector->edid = NULL; in nouveau_connector_detect() 274 nv_connector->edid = drm_get_edid(connector, i2c); in nouveau_connector_detect() 276 nv_connector->edid); in nouveau_connector_detect() [all …]
|
/drivers/media/platform/vivid/ |
D | vivid-vid-common.c | 872 struct v4l2_edid *edid) in vidioc_g_edid() argument 877 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid() 879 if (edid->pad >= dev->num_inputs) in vidioc_g_edid() 881 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid() 884 if (edid->pad >= dev->num_outputs) in vidioc_g_edid() 886 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid() 889 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid() 890 edid->blocks = dev->edid_blocks; in vidioc_g_edid() 895 if (edid->start_block >= dev->edid_blocks) in vidioc_g_edid() 897 if (edid->start_block + edid->blocks > dev->edid_blocks) in vidioc_g_edid() [all …]
|
/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_connectors.c | 263 struct edid *amdgpu_connector_edid(struct drm_connector *connector) in amdgpu_connector_edid() 268 if (amdgpu_connector->edid) { in amdgpu_connector_edid() 269 return amdgpu_connector->edid; in amdgpu_connector_edid() 271 struct edid *edid = kmemdup(edid_blob->data, edid_blob->length, GFP_KERNEL); in amdgpu_connector_edid() local 272 if (edid) in amdgpu_connector_edid() 273 amdgpu_connector->edid = edid; in amdgpu_connector_edid() 275 return amdgpu_connector->edid; in amdgpu_connector_edid() 278 static struct edid * 281 struct edid *edid; in amdgpu_connector_get_hardcoded_edid() local 284 edid = kmalloc(adev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL); in amdgpu_connector_get_hardcoded_edid() [all …]
|
/drivers/video/fbdev/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/fbdev/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/media/v4l2-core/ |
D | v4l2-subdev.c | 167 static int check_edid(struct v4l2_subdev *sd, struct v4l2_subdev_edid *edid) in check_edid() argument 169 if (edid->pad >= sd->entity.num_pads) in check_edid() 172 if (edid->blocks && edid->edid == NULL) in check_edid() 403 struct v4l2_subdev_edid *edid = arg; in subdev_do_ioctl() local 405 rval = check_edid(sd, edid); in subdev_do_ioctl() 409 return v4l2_subdev_call(sd, pad, get_edid, edid); in subdev_do_ioctl() 413 struct v4l2_subdev_edid *edid = arg; in subdev_do_ioctl() local 415 rval = check_edid(sd, edid); in subdev_do_ioctl() 419 return v4l2_subdev_call(sd, pad, set_edid, edid); in subdev_do_ioctl()
|