virtgpu: define capset ids as macros

... to avoid using magic numbers.

TEST=compile
BUG=b:322199104

Change-Id: I8522596f2cb2d0e9bdc381440c7e9ad3bbaa3165
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5246254
Tested-by: Kaiyi Li <kaiyili@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Auto-Submit: Kaiyi Li <kaiyili@google.com>
This commit is contained in:
Kaiyi Li 2024-01-29 10:32:31 -08:00 committed by Chromeos LUCI
parent 56f157bb8a
commit 4baf42e47c
3 changed files with 15 additions and 9 deletions

View file

@ -23,3 +23,9 @@ enum virtgpu_param_id {
param_guest_vram,
param_max,
};
#define VIRTIO_GPU_CAPSET_VIRGL 1
#define VIRTIO_GPU_CAPSET_VIRGL2 2
#define VIRTIO_GPU_CAPSET_GFXSTREAM 3
#define VIRTIO_GPU_CAPSET_VENUS 4
#define VIRTIO_GPU_CAPSET_CROSS_DOMAIN 5

View file

@ -16,7 +16,6 @@
#include "util.h"
#include "virtgpu.h"
#define CAPSET_CROSS_DOMAIN 5
#define CAPSET_CROSS_FAKE 30
static const uint32_t scanout_render_formats[] = { DRM_FORMAT_ABGR8888, DRM_FORMAT_ARGB8888,
@ -246,7 +245,7 @@ static int cross_domain_init(struct driver *drv)
if (!params[param_context_init].value)
return -ENOTSUP;
if ((params[param_supported_capset_ids].value & (1 << CAPSET_CROSS_DOMAIN)) == 0)
if ((params[param_supported_capset_ids].value & (1 << VIRTIO_GPU_CAPSET_CROSS_DOMAIN)) == 0)
return -ENOTSUP;
if (!params[param_resource_blob].value)
@ -275,7 +274,7 @@ static int cross_domain_init(struct driver *drv)
priv->ring_addr = MAP_FAILED;
drv->priv = priv;
args.cap_set_id = CAPSET_CROSS_DOMAIN;
args.cap_set_id = VIRTIO_GPU_CAPSET_CROSS_DOMAIN;
args.size = sizeof(struct CrossDomainCapabilities);
args.addr = (unsigned long long)&cross_domain_caps;
@ -296,7 +295,7 @@ static int cross_domain_init(struct driver *drv)
// Intialize the cross domain context. Create one fence context to wait for metadata
// queries.
ctx_set_params[0].param = VIRTGPU_CONTEXT_PARAM_CAPSET_ID;
ctx_set_params[0].value = CAPSET_CROSS_DOMAIN;
ctx_set_params[0].value = VIRTIO_GPU_CAPSET_CROSS_DOMAIN;
ctx_set_params[1].param = VIRTGPU_CONTEXT_PARAM_NUM_RINGS;
ctx_set_params[1].value = 1;

View file

@ -553,9 +553,10 @@ static int virgl_get_caps(struct driver *drv, union virgl_caps *caps, int *caps_
if (params[param_supported_capset_ids].value) {
drv_logi("Supported CAPSET IDs: %u.", params[param_supported_capset_ids].value);
if (params[param_supported_capset_ids].value & (1 << 2)) {
if (params[param_supported_capset_ids].value & (1 << VIRTIO_GPU_CAPSET_VIRGL2)) {
*caps_is_v2 = 1;
} else if (params[param_supported_capset_ids].value & (1 << 1)) {
} else if (params[param_supported_capset_ids].value &
(1 << VIRTIO_GPU_CAPSET_VIRGL)) {
*caps_is_v2 = 0;
} else {
drv_logi("Unrecognized CAPSET IDs: %u. Assuming all zero caps.",
@ -568,10 +569,10 @@ static int virgl_get_caps(struct driver *drv, union virgl_caps *caps, int *caps_
cap_args.addr = (unsigned long long)caps;
if (*caps_is_v2) {
cap_args.cap_set_id = 2;
cap_args.cap_set_id = VIRTIO_GPU_CAPSET_VIRGL2;
cap_args.size = sizeof(union virgl_caps);
} else {
cap_args.cap_set_id = 1;
cap_args.cap_set_id = VIRTIO_GPU_CAPSET_VIRGL;
cap_args.size = sizeof(struct virgl_caps_v1);
}
@ -581,7 +582,7 @@ static int virgl_get_caps(struct driver *drv, union virgl_caps *caps, int *caps_
*caps_is_v2 = 0;
// Fallback to v1
cap_args.cap_set_id = 1;
cap_args.cap_set_id = VIRTIO_GPU_CAPSET_VIRGL;
cap_args.size = sizeof(struct virgl_caps_v1);
ret = drmIoctl(drv->fd, DRM_IOCTL_VIRTGPU_GET_CAPS, &cap_args);