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:
parent
56f157bb8a
commit
4baf42e47c
3 changed files with 15 additions and 9 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue