From: "Michael S. Tsirkin" <mst@redhat.com>
To: Sergio Lopez <slp@redhat.com>
Cc: virtio-comment@lists.linux.dev, gurchetansingh@chromium.org,
dmitry.osipenko@collabora.com, parav@nvidia.com
Subject: Re: [PATCH v2] virtio-gpu: support blob alignment information
Date: Thu, 10 Apr 2025 09:38:32 -0400 [thread overview]
Message-ID: <20250410093545-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20250409212324.18134-1-slp@redhat.com>
On Wed, Apr 09, 2025 at 05:23:24PM -0400, Sergio Lopez wrote:
> Allow the device to require certain alignment constrains for blob
> resources by extending the device configuration with the field
> "blob_alignment" and introducing the VIRTIO_GPU_F_BLOB_ALIGNMENT
> feature.
could you add a bit more info about the use-case here?
> v2:
> - Clarify blob_alignment valid values (thanks Michael).
> - Rephrase feature negotiation (thanks Michael).
versioning after --- please.
>
> Signed-off-by: Sergio Lopez <slp@redhat.com>
> ---
> device-types/gpu/description.tex | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/device-types/gpu/description.tex b/device-types/gpu/description.tex
> index 4435248..b3e75d3 100644
> --- a/device-types/gpu/description.tex
> +++ b/device-types/gpu/description.tex
> @@ -37,6 +37,8 @@ \subsection{Feature bits}\label{sec:Device Types / GPU Device / Feature bits}
> resources is supported.
> \item[VIRTIO_GPU_F_CONTEXT_INIT (4)] multiple context types and
> synchronization timelines supported. Requires VIRTIO_GPU_F_VIRGL.
> +\item[VIRTIO_GPU_F_BLOB_ALIGNMENT (5)] configuration field
> + \field{blob_alignment} is valid. Requires VIRTIO_GPU_F_RESOURCE_BLOB.
> \end{description}
>
> \subsection{Device configuration layout}\label{sec:Device Types / GPU Device / Device configuration layout}
> @@ -52,6 +54,7 @@ \subsection{Device configuration layout}\label{sec:Device Types / GPU Device / D
> le32 events_clear;
> le32 num_scanouts;
> le32 num_capsets;
> + le32 blob_alignment;
> };
> \end{lstlisting}
>
> @@ -67,6 +70,9 @@ \subsubsection{Device configuration fields}
> supported by the device. Minimum value is 1, maximum value is 16.
> \item[\field{num_capsets}] specifies the maximum number of capability
> sets supported by the device. The minimum value is zero.
> +\item[\field{blob_alignment}] specifies the minimal alignment, in bytes,
> + required by the device for resource blobs. The value must a power of
is a power
> + two. Minimum value is 1, maximum value is 4294967296.
> \end{description}
>
> \subsubsection{Events}
> @@ -672,6 +678,9 @@ \subsubsection{Device Operation: controlq}\label{sec:Device Types / GPU Device /
> resource. There is no restriction on the image/buffer view the driver
> has on the blob resource.
>
> +If VIRTIO_GPU_F_BLOB_ALIGNMENT has been negotiated, \field{size} must be
> +aligned to \field{blob_alignment} as defined in the device configuration.
is aligned here. And add a cnformance statement using MUST.
> +
> \item[VIRTIO_GPU_CMD_SET_SCANOUT_BLOB] sets scanout parameters for a
> blob resource. Request data is
> \field{struct virtio_gpu_set_scanout_blob}. Response type is
> @@ -776,6 +785,10 @@ \subsubsection{Device Operation: controlq (3d)}\label{sec:Device Types / GPU Dev
> };
> \end{lstlisting}
>
> +If VIRTIO_GPU_F_BLOB_ALIGNMENT has been negotiated, \field{padding} and
> +\field{offset} must be aligned to \field{blob_alignment} as defined in the
> +device configuration.
same. here just a statement "are aligned". and add a conformance
statement.
> +
> \item[VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB] unmaps a
> host-only blob resource from the host visible memory region. Request data
> is \field{struct virtio_gpu_resource_unmap_blob}. Response type is
> --
> 2.49.0
next prev parent reply other threads:[~2025-04-10 13:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 21:23 [PATCH v2] virtio-gpu: support blob alignment information Sergio Lopez
2025-04-10 13:38 ` Michael S. Tsirkin [this message]
2025-04-10 17:12 ` Daniel Verkamp
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=20250410093545-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=dmitry.osipenko@collabora.com \
--cc=gurchetansingh@chromium.org \
--cc=parav@nvidia.com \
--cc=slp@redhat.com \
--cc=virtio-comment@lists.linux.dev \
/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.