From: Zhi Wang <zhiwang@kernel.org>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org,
Zhenyu Wang <zhenyuw@linux.intel.com>,
Zhi Wang <zhi.wang.linux@gmail.com>,
intel-gvt-dev@lists.freedesktop.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 1/2] drm/i915/gvt: stop using drm_edid_block_valid()
Date: Thu, 30 May 2024 20:14:26 +0300 [thread overview]
Message-ID: <20240530201426.00006d57.zhiwang@kernel.org> (raw)
In-Reply-To: <20240530124352.362736-1-jani.nikula@intel.com>
On Thu, 30 May 2024 15:43:51 +0300
Jani Nikula <jani.nikula@intel.com> wrote:
> 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.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> ---
>
> Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
> Cc: Zhi Wang <zhi.wang.linux@gmail.com>
> Cc: intel-gvt-dev@lists.freedesktop.org
> Cc: intel-gfx@lists.freedesktop.org
> Cc: dri-devel@lists.freedesktop.org
> ---
> drivers/gpu/drm/i915/gvt/kvmgt.c | 18 +++++++++++++-----
> 1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c
> b/drivers/gpu/drm/i915/gvt/kvmgt.c index 4f74d867fe1a..7e3e5382c0c0
> 100644 --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> @@ -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;
> }
Acked-by: Zhi Wang <zhiwang@kernel.org>
next prev parent reply other threads:[~2024-05-30 17:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-30 12:43 [PATCH 1/2] drm/i915/gvt: stop using drm_edid_block_valid() Jani Nikula
2024-05-30 12:43 ` [PATCH 2/2] drm/edid: make drm_edid_block_valid() static Jani Nikula
2024-05-30 17:17 ` Zhi Wang
2024-05-30 13:28 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gvt: stop using drm_edid_block_valid() Patchwork
2024-05-30 17:14 ` Zhi Wang [this message]
2024-05-31 7:36 ` ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240530201426.00006d57.zhiwang@kernel.org \
--to=zhiwang@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=zhenyuw@linux.intel.com \
--cc=zhi.wang.linux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.