mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
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: Zhi Wang <zhiwang@kernel.rog> Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240812142849.1588006-1-jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
22629adc01
commit
29323882aa
@ -425,6 +425,18 @@ static const struct intel_vgpu_regops intel_vgpu_regops_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,
|
||||
struct vfio_edid_region *region, char *buf,
|
||||
size_t count, u16 offset, bool is_write)
|
||||
@ -443,11 +455,7 @@ static int handle_edid_regs(struct intel_vgpu *vgpu,
|
||||
switch (offset) {
|
||||
case offsetof(struct vfio_region_gfx_edid, link_state):
|
||||
if (data == VFIO_DEVICE_GFX_LINK_STATE_UP) {
|
||||
if (!drm_edid_block_valid(
|
||||
(u8 *)region->edid_blob,
|
||||
0,
|
||||
true,
|
||||
NULL)) {
|
||||
if (!edid_valid(region->edid_blob, EDID_SIZE)) {
|
||||
gvt_vgpu_err("invalid EDID blob\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user