From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: virtio-dev@lists.oasis-open.org
Subject: Re: [virtio-dev] [PATCH v2] Add VIRTIO_GPU_F_EDID to virtio-gpu.
Date: Tue, 23 Oct 2018 12:05:29 -0400 [thread overview]
Message-ID: <20181023120322-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20181023130624.10593-1-kraxel@redhat.com>
On Tue, Oct 23, 2018 at 03:06:24PM +0200, Gerd Hoffmann wrote:
> The feature allows the guest request an EDID blob (describing monitor
> capabilities) for a given scanout (aka virtual monitor connector).
>
> It brings a new command message, which has just a scanout field (beside
> the standard virtio-gpu header) and a response message which carries the
> EDID data.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> virtio-gpu.tex | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/virtio-gpu.tex b/virtio-gpu.tex
> index 5d4709a..fbb7936 100644
> --- a/virtio-gpu.tex
> +++ b/virtio-gpu.tex
> @@ -34,6 +34,7 @@ control queue.
>
> \begin{description}
> \item[VIRTIO_GPU_F_VIRGL (0)] virgl 3D mode is supported.
> +\item[VIRTIO_GPU_F_EDID (1)] EDID is supported.
> \end{description}
>
> \subsection{Device configuration layout}\label{sec:Device Types / GPU Device / Device configuration layout}
> @@ -171,6 +172,9 @@ enum virtio_gpu_ctrl_type {
> VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D,
> VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING,
> VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING,
> + VIRTIO_GPU_CMD_GET_CAPSET_INFO,
> + VIRTIO_GPU_CMD_GET_CAPSET,
> + VIRTIO_GPU_CMD_GET_EDID,
>
> /* cursor commands */
> VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
> @@ -179,6 +183,9 @@ enum virtio_gpu_ctrl_type {
> /* success responses */
> VIRTIO_GPU_RESP_OK_NODATA = 0x1100,
> VIRTIO_GPU_RESP_OK_DISPLAY_INFO,
> + VIRTIO_GPU_RESP_OK_CAPSET_INFO,
> + VIRTIO_GPU_RESP_OK_CAPSET,
> + VIRTIO_GPU_RESP_OK_EDID,
>
> /* error responses */
> VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
> @@ -275,6 +282,28 @@ The \field{enabled} field is set when the user enabled the display.
> It is roughly the same as the connected state of a phyiscal display
> connector.
>
> +\item[VIRTIO_GPU_CMD_GET_EDID] Retrieve the EDID data for a given
> + scanout. Request data is \field{struct virtio_gpu_get_edid}).
> + Response type is VIRTIO_GPU_RESP_OK_EDID, response data is
> + \field{struct virtio_gpu_resp_edid}. Support is optional and
> + negotiated using the VIRTIO_GPU_F_EDID feature flag.
> +
> +\begin{lstlisting}
> +struct virtio_gpu_get_edid {
> + struct virtio_gpu_ctrl_hdr hdr;
> + le32 scanout;
> +};
virtio_gpu_ctrl_hdr has a 64 bit field in it.
So this structure will need to have padding or be packed on 64 bit systems.
Adding padding explicitly is probably a good idea.
> +
> +struct virtio_gpu_resp_edid {
> + struct virtio_gpu_ctrl_hdr hdr;
> + le32 size;
> + u8 edid[1024];
> +};
Here too.
> +\end{lstlisting}
> +
> +The response contains the EDID display data blob (as specified by
> +VESA) for the scanout.
> +
> \item[VIRTIO_GPU_CMD_RESOURCE_CREATE_2D] Create a 2D resource on the
> host. Request data is \field{struct virtio_gpu_resource_create_2d}.
> Response type is VIRTIO_GPU_RESP_OK_NODATA.
> --
> 2.9.3
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
prev parent reply other threads:[~2018-10-23 16:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-23 13:06 [virtio-dev] [PATCH v2] Add VIRTIO_GPU_F_EDID to virtio-gpu Gerd Hoffmann
2018-10-23 13:19 ` [virtio-dev] " Michael S. Tsirkin
2018-10-23 15:53 ` Gerd Hoffmann
2018-10-23 16:05 ` Michael S. Tsirkin [this message]
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=20181023120322-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=kraxel@redhat.com \
--cc=virtio-dev@lists.oasis-open.org \
/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.