/Linux-v6.1/drivers/gpu/drm/ |
D | drm_edid_load.c | 162 static int edid_size(const u8 *edid, int data_size) in edid_size() argument 167 return (edid[0x7e] + 1) * EDID_LENGTH; in edid_size() 175 u8 *edid; in edid_load() local 211 edid = ERR_PTR(-EINVAL); in edid_load() 215 edid = kmemdup(fwdata, fwsize, GFP_KERNEL); in edid_load() 216 if (edid == NULL) { in edid_load() 217 edid = ERR_PTR(-ENOMEM); in edid_load() 221 if (!drm_edid_block_valid(edid, 0, print_bad_edid, in edid_load() 226 kfree(edid); in edid_load() 227 edid = ERR_PTR(-EINVAL); in edid_load() [all …]
|
D | drm_edid.c | 1572 const struct edid *edid; member 1578 const struct edid *edid = drm_edid->edid; in version_greater() local 1580 return edid->version > version || in version_greater() 1581 (edid->version == version && edid->revision > revision); in version_greater() 1584 static int edid_hfeeodb_extension_block_count(const struct edid *edid); 1586 static int edid_hfeeodb_block_count(const struct edid *edid) in edid_hfeeodb_block_count() argument 1588 int eeodb = edid_hfeeodb_extension_block_count(edid); in edid_hfeeodb_block_count() 1593 static int edid_extension_block_count(const struct edid *edid) in edid_extension_block_count() argument 1595 return edid->extensions; in edid_extension_block_count() 1598 static int edid_block_count(const struct edid *edid) in edid_block_count() argument [all …]
|
D | drm_bridge_connector.c | 251 struct edid *edid; in drm_bridge_connector_get_modes_edid() local 258 edid = bridge->funcs->get_edid(bridge, connector); in drm_bridge_connector_get_modes_edid() 259 if (!drm_edid_is_valid(edid)) { in drm_bridge_connector_get_modes_edid() 260 kfree(edid); in drm_bridge_connector_get_modes_edid() 264 drm_connector_update_edid_property(connector, edid); in drm_bridge_connector_get_modes_edid() 265 n = drm_add_edid_modes(connector, edid); in drm_bridge_connector_get_modes_edid() 267 kfree(edid); in drm_bridge_connector_get_modes_edid()
|
/Linux-v6.1/drivers/media/i2c/adv748x/ |
D | adv748x-hdmi.c | 463 static int adv748x_hdmi_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv748x_hdmi_get_edid() argument 467 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv748x_hdmi_get_edid() 469 if (!hdmi->edid.present) in adv748x_hdmi_get_edid() 472 if (edid->start_block == 0 && edid->blocks == 0) { in adv748x_hdmi_get_edid() 473 edid->blocks = hdmi->edid.blocks; in adv748x_hdmi_get_edid() 477 if (edid->start_block >= hdmi->edid.blocks) in adv748x_hdmi_get_edid() 480 if (edid->start_block + edid->blocks > hdmi->edid.blocks) in adv748x_hdmi_get_edid() 481 edid->blocks = hdmi->edid.blocks - edid->start_block; in adv748x_hdmi_get_edid() 483 memcpy(edid->edid, hdmi->edid.edid + edid->start_block * 128, in adv748x_hdmi_get_edid() 484 edid->blocks * 128); in adv748x_hdmi_get_edid() [all …]
|
/Linux-v6.1/include/drm/ |
D | drm_edid.h | 326 struct edid { struct 381 int drm_edid_to_sad(const struct edid *edid, struct cea_sad **sads); argument 382 int drm_edid_to_speaker_allocation(const struct edid *edid, u8 **sadb); 387 struct edid *drm_load_edid_firmware(struct drm_connector *connector); 391 static inline struct edid * 398 bool drm_edid_are_equal(const struct edid *edid1, const struct edid *edid2); 565 struct edid *drm_do_get_edid(struct drm_connector *connector, 569 struct edid *drm_get_edid(struct drm_connector *connector, 572 struct edid *drm_get_edid_switcheroo(struct drm_connector *connector, 574 struct edid *drm_edid_duplicate(const struct edid *edid); [all …]
|
/Linux-v6.1/drivers/gpu/drm/gma500/ |
D | psb_intel_modes.c | 55 struct edid *edid; in psb_intel_ddc_get_modes() local 58 edid = drm_get_edid(connector, adapter); in psb_intel_ddc_get_modes() 59 if (edid) { in psb_intel_ddc_get_modes() 60 drm_connector_update_edid_property(connector, edid); in psb_intel_ddc_get_modes() 61 ret = drm_add_edid_modes(connector, edid); in psb_intel_ddc_get_modes() 62 kfree(edid); in psb_intel_ddc_get_modes()
|
D | cdv_intel_hdmi.c | 129 struct edid *edid = NULL; in cdv_hdmi_detect() local 132 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_detect() 136 if (edid) { in cdv_hdmi_detect() 137 if (edid->input & DRM_EDID_INPUT_DIGITAL) { in cdv_hdmi_detect() 140 drm_detect_hdmi_monitor(edid); in cdv_hdmi_detect() 142 drm_detect_monitor_audio(edid); in cdv_hdmi_detect() 144 kfree(edid); in cdv_hdmi_detect() 210 struct edid *edid = NULL; in cdv_hdmi_get_modes() local 213 edid = drm_get_edid(connector, connector->ddc); in cdv_hdmi_get_modes() 214 if (edid) { in cdv_hdmi_get_modes() [all …]
|
/Linux-v6.1/drivers/media/i2c/ |
D | ad9389b.c | 86 struct ad9389b_state_edid edid; member 343 struct ad9389b_state_edid *edid = &state->edid; in ad9389b_log_status() local 376 edid->segments ? "found" : "no", edid->blocks); in ad9389b_log_status() 664 static int ad9389b_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in ad9389b_get_edid() argument 668 if (edid->pad != 0) in ad9389b_get_edid() 670 if (edid->blocks == 0 || edid->blocks > 256) in ad9389b_get_edid() 672 if (!state->edid.segments) { in ad9389b_get_edid() 676 if (edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid() 678 if (edid->blocks + edid->start_block >= state->edid.segments * 2) in ad9389b_get_edid() 679 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 548 struct adv7511_state_edid *edid = &state->edid; in adv7511_log_status() local 577 edid->segments ? "found" : "no", in adv7511_log_status() 578 edid->blocks); in adv7511_log_status() 1166 static int adv7511_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv7511_get_edid() argument 1170 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv7511_get_edid() 1172 if (edid->pad != 0) in adv7511_get_edid() 1175 if (edid->start_block == 0 && edid->blocks == 0) { in adv7511_get_edid() 1176 edid->blocks = state->edid.blocks; in adv7511_get_edid() 1180 if (state->edid.blocks == 0) in adv7511_get_edid() [all …]
|
D | adv7604.c | 186 u8 edid[ADV76XX_MAX_EDID_BLOCKS * 128]; member 189 } edid; member 546 adv76xx_set_hpd(state, state->edid.present); in adv76xx_delayed_work_enable_hotplug() 2272 static int adv76xx_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid) in adv76xx_get_edid() argument 2277 memset(edid->reserved, 0, sizeof(edid->reserved)); in adv76xx_get_edid() 2279 switch (edid->pad) { in adv76xx_get_edid() 2284 if (state->edid.present & (1 << edid->pad)) in adv76xx_get_edid() 2285 data = state->edid.edid; in adv76xx_get_edid() 2291 if (edid->start_block == 0 && edid->blocks == 0) { in adv76xx_get_edid() 2292 edid->blocks = data ? state->edid.blocks : 0; in adv76xx_get_edid() [all …]
|
/Linux-v6.1/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 …]
|
/Linux-v6.1/include/media/ |
D | cec.h | 308 struct edid; 323 const struct edid *edid); 407 u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, 435 const struct edid *edid) in cec_s_phys_addr_from_edid() argument 439 static inline u16 cec_get_edid_phys_addr(const u8 *edid, unsigned int size, in cec_get_edid_phys_addr() argument 490 static inline unsigned int cec_get_edid_spa_location(const u8 *edid, in cec_get_edid_spa_location() argument 508 if (edid[0x7e] + 1 < blocks) in cec_get_edid_spa_location() 509 blocks = edid[0x7e] + 1; in cec_get_edid_spa_location() 515 if (edid[offset] != 0x02 || edid[offset + 1] != 0x03) in cec_get_edid_spa_location() 519 d = edid[offset + 2] & 0x7f; in cec_get_edid_spa_location() [all …]
|
D | cec-notifier.h | 16 struct edid; 97 const struct edid *edid); 142 const struct edid *edid) in cec_notifier_set_phys_addr_from_edid() argument
|
/Linux-v6.1/drivers/gpu/drm/i915/display/ |
D | intel_connector.c | 102 if (!IS_ERR_OR_NULL(intel_connector->edid)) in intel_connector_destroy() 103 kfree(intel_connector->edid); in intel_connector_destroy() 185 struct edid *edid) in intel_connector_update_modes() argument 189 drm_connector_update_edid_property(connector, edid); in intel_connector_update_modes() 190 ret = drm_add_edid_modes(connector, edid); in intel_connector_update_modes() 205 struct edid *edid; in intel_ddc_get_modes() local 208 edid = drm_get_edid(connector, adapter); in intel_ddc_get_modes() 209 if (!edid) in intel_ddc_get_modes() 212 ret = intel_connector_update_modes(connector, edid); in intel_ddc_get_modes() 213 kfree(edid); in intel_ddc_get_modes()
|
/Linux-v6.1/drivers/gpu/drm/tegra/ |
D | output.c | 20 struct edid *edid = NULL; in tegra_output_connector_get_modes() local 33 if (output->edid) in tegra_output_connector_get_modes() 34 edid = kmemdup(output->edid, sizeof(*edid), GFP_KERNEL); in tegra_output_connector_get_modes() 36 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes() 38 cec_notifier_set_phys_addr_from_edid(output->cec, edid); in tegra_output_connector_get_modes() 39 drm_connector_update_edid_property(connector, edid); in tegra_output_connector_get_modes() 41 if (edid) { in tegra_output_connector_get_modes() 42 err = drm_add_edid_modes(connector, edid); in tegra_output_connector_get_modes() 43 kfree(edid); in tegra_output_connector_get_modes() 123 output->edid = of_get_property(output->of_node, "nvidia,edid", &size); in tegra_output_probe()
|
/Linux-v6.1/drivers/gpu/drm/bridge/ |
D | nxp-ptn3460.c | 157 static struct edid *ptn3460_get_edid(struct drm_bridge *bridge, in ptn3460_get_edid() 162 u8 *edid; in ptn3460_get_edid() local 168 edid = kmalloc(EDID_LENGTH, GFP_KERNEL); in ptn3460_get_edid() 169 if (!edid) { in ptn3460_get_edid() 174 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid, in ptn3460_get_edid() 177 kfree(edid); in ptn3460_get_edid() 178 edid = NULL; in ptn3460_get_edid() 186 return (struct edid *)edid; in ptn3460_get_edid() 192 struct edid *edid; in ptn3460_connector_get_modes() local 195 edid = ptn3460_get_edid(&ptn_bridge->bridge, connector); in ptn3460_connector_get_modes() [all …]
|
D | simple-bridge.c | 53 struct edid *edid; in simple_bridge_get_modes() local 57 edid = drm_bridge_get_edid(sbridge->next_bridge, connector); in simple_bridge_get_modes() 58 if (!edid) in simple_bridge_get_modes() 61 edid = NULL; in simple_bridge_get_modes() 64 if (!edid) { in simple_bridge_get_modes() 75 drm_connector_update_edid_property(connector, edid); in simple_bridge_get_modes() 76 ret = drm_add_edid_modes(connector, edid); in simple_bridge_get_modes() 77 kfree(edid); in simple_bridge_get_modes()
|
/Linux-v6.1/drivers/gpu/drm/udl/ |
D | udl_connector.c | 54 drm_connector_update_edid_property(connector, udl_connector->edid); in udl_get_modes() 55 if (udl_connector->edid) in udl_get_modes() 56 return drm_add_edid_modes(connector, udl_connector->edid); in udl_get_modes() 83 if (udl_connector->edid != NULL) { in udl_detect() 84 kfree(udl_connector->edid); in udl_detect() 85 udl_connector->edid = NULL; in udl_detect() 88 udl_connector->edid = drm_do_get_edid(connector, udl_get_edid_block, udl); in udl_detect() 89 if (!udl_connector->edid) in udl_detect() 103 kfree(udl_connector->edid); in udl_connector_destroy()
|
/Linux-v6.1/drivers/gpu/drm/msm/dp/ |
D | dp_panel.c | 135 struct edid *edid) in dp_panel_update_modes() argument 139 if (edid) { in dp_panel_update_modes() 140 rc = drm_connector_update_edid_property(connector, edid); in dp_panel_update_modes() 145 rc = drm_add_edid_modes(connector, edid); in dp_panel_update_modes() 199 kfree(dp_panel->edid); in dp_panel_read_sink_caps() 200 dp_panel->edid = NULL; in dp_panel_read_sink_caps() 202 dp_panel->edid = drm_get_edid(connector, in dp_panel_read_sink_caps() 204 if (!dp_panel->edid) { in dp_panel_read_sink_caps() 261 if (dp_panel->edid) in dp_panel_get_modes() 262 return dp_panel_update_modes(connector, dp_panel->edid); in dp_panel_get_modes() [all …]
|
/Linux-v6.1/drivers/gpu/drm/i915/gvt/ |
D | edid.c | 53 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in edid_get_byte() local 56 if (edid->state == I2C_NOT_SPECIFIED || !edid->slave_selected) { in edid_get_byte() 60 if (edid->current_edid_read >= EDID_SIZE) { in edid_get_byte() 65 if (!edid->edid_available) { in edid_get_byte() 70 if (intel_vgpu_has_monitor_on_port(vgpu, edid->port)) { in edid_get_byte() 72 intel_vgpu_port(vgpu, edid->port)->edid; in edid_get_byte() 74 chr = edid_data->edid_block[edid->current_edid_read]; in edid_get_byte() 75 edid->current_edid_read++; in edid_get_byte() 572 struct intel_vgpu_i2c_edid *edid = &vgpu->display.i2c_edid; in intel_vgpu_init_i2c_edid() local 574 edid->state = I2C_NOT_SPECIFIED; in intel_vgpu_init_i2c_edid() [all …]
|
/Linux-v6.1/drivers/gpu/drm/exynos/ |
D | exynos_drm_vidi.c | 44 struct edid *raw_edid; 200 ctx->raw_edid = (struct edid *)fake_edid_info; in vidi_store_connection() 203 if (ctx->raw_edid != (struct edid *)fake_edid_info) { in vidi_store_connection() 249 struct edid *raw_edid; in vidi_connection_ioctl() 251 raw_edid = (struct edid *)(unsigned long)vidi->edid; in vidi_connection_ioctl() 269 (struct edid *)fake_edid_info) { in vidi_connection_ioctl() 310 struct edid *edid; in vidi_get_modes() local 323 edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL); in vidi_get_modes() 324 if (!edid) { in vidi_get_modes() 329 drm_connector_update_edid_property(connector, edid); in vidi_get_modes() [all …]
|
/Linux-v6.1/drivers/gpu/drm/hisilicon/hibmc/ |
D | hibmc_drm_vdac.c | 25 void *edid; in hibmc_connector_get_modes() local 28 edid = drm_get_edid(connector, &hibmc_connector->adapter); in hibmc_connector_get_modes() 29 if (edid) { in hibmc_connector_get_modes() 30 drm_connector_update_edid_property(connector, edid); in hibmc_connector_get_modes() 31 count = drm_add_edid_modes(connector, edid); in hibmc_connector_get_modes() 42 kfree(edid); in hibmc_connector_get_modes()
|
/Linux-v6.1/drivers/media/test-drivers/vivid/ |
D | vivid-vid-common.c | 1036 struct v4l2_edid *edid) in vidioc_g_edid() argument 1042 memset(edid->reserved, 0, sizeof(edid->reserved)); in vidioc_g_edid() 1044 if (edid->pad >= dev->num_inputs) in vidioc_g_edid() 1046 if (dev->input_type[edid->pad] != HDMI) in vidioc_g_edid() 1052 if (edid->pad >= dev->num_outputs) in vidioc_g_edid() 1054 if (dev->output_type[edid->pad] != HDMI) in vidioc_g_edid() 1056 if (!dev->display_present[edid->pad]) in vidioc_g_edid() 1058 bus_idx = dev->cec_output2bus_map[edid->pad]; in vidioc_g_edid() 1061 if (edid->start_block == 0 && edid->blocks == 0) { in vidioc_g_edid() 1062 edid->blocks = dev->edid_blocks; in vidioc_g_edid() [all …]
|
/Linux-v6.1/drivers/gpu/drm/nouveau/ |
D | nouveau_connector.c | 400 kfree(nv_connector->edid); in nouveau_connector_destroy() 475 const void *edid = of_get_property(cn, "EDID", NULL); in nouveau_connector_of_detect() local 478 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect() 479 nv_connector->edid = in nouveau_connector_of_detect() 480 kmemdup(edid, EDID_LENGTH, GFP_KERNEL); in nouveau_connector_of_detect() 538 struct edid *edid) in nouveau_connector_set_edid() argument 540 if (nv_connector->edid != edid) { in nouveau_connector_set_edid() 541 struct edid *old_edid = nv_connector->edid; in nouveau_connector_set_edid() 543 drm_connector_update_edid_property(&nv_connector->base, edid); in nouveau_connector_set_edid() 545 nv_connector->edid = edid; in nouveau_connector_set_edid() [all …]
|
/Linux-v6.1/include/drm/display/ |
D | drm_dp_helper.h | 263 struct edid; 498 const struct edid *edid); 503 const struct edid *edid); 506 const struct edid *edid); 509 const struct edid *edid); 521 const struct edid *edid, 690 void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid); 708 const struct edid *edid) in drm_dp_cec_set_edid() argument
|