Commit 29323882 authored by Jani Nikula's avatar Jani Nikula

drm/i915/gvt: stop using drm_edid_block_valid()

We'll want to stop drm_edid_block_valid() usage. KVMGT is the last
user. Replace with drm_edid_valid(), which unfortunately requires an
allocated drm_edid. However, on the plus side, this would be required to
handle the TODO comment about EDID extension block support.
Acked-by: default avatarZhi Wang <zhiwang@kernel.rog>
Reviewed-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240812142849.1588006-1-jani.nikula@intel.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 22629adc
...@@ -425,6 +425,18 @@ static const struct intel_vgpu_regops intel_vgpu_regops_opregion = { ...@@ -425,6 +425,18 @@ static const struct intel_vgpu_regops intel_vgpu_regops_opregion = {
.release = intel_vgpu_reg_release_opregion, .release = intel_vgpu_reg_release_opregion,
}; };
static bool edid_valid(const void *edid, size_t size)
{
const struct drm_edid *drm_edid;
bool is_valid;
drm_edid = drm_edid_alloc(edid, size);
is_valid = drm_edid_valid(drm_edid);
drm_edid_free(drm_edid);
return is_valid;
}
static int handle_edid_regs(struct intel_vgpu *vgpu, static int handle_edid_regs(struct intel_vgpu *vgpu,
struct vfio_edid_region *region, char *buf, struct vfio_edid_region *region, char *buf,
size_t count, u16 offset, bool is_write) size_t count, u16 offset, bool is_write)
...@@ -443,11 +455,7 @@ static int handle_edid_regs(struct intel_vgpu *vgpu, ...@@ -443,11 +455,7 @@ static int handle_edid_regs(struct intel_vgpu *vgpu,
switch (offset) { switch (offset) {
case offsetof(struct vfio_region_gfx_edid, link_state): case offsetof(struct vfio_region_gfx_edid, link_state):
if (data == VFIO_DEVICE_GFX_LINK_STATE_UP) { if (data == VFIO_DEVICE_GFX_LINK_STATE_UP) {
if (!drm_edid_block_valid( if (!edid_valid(region->edid_blob, EDID_SIZE)) {
(u8 *)region->edid_blob,
0,
true,
NULL)) {
gvt_vgpu_err("invalid EDID blob\n"); gvt_vgpu_err("invalid EDID blob\n");
return -EINVAL; return -EINVAL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment