1bf215546Sopenharmony_ci/*
2bf215546Sopenharmony_ci * Copyright 2022 Google LLC
3bf215546Sopenharmony_ci * SPDX-License-Identifier: MIT
4bf215546Sopenharmony_ci */
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ci#ifndef DRM_HW_H_
7bf215546Sopenharmony_ci#define DRM_HW_H_
8bf215546Sopenharmony_ci
9bf215546Sopenharmony_cistruct virgl_renderer_capset_drm {
10bf215546Sopenharmony_ci   uint32_t wire_format_version;
11bf215546Sopenharmony_ci   /* Underlying drm device version: */
12bf215546Sopenharmony_ci   uint32_t version_major;
13bf215546Sopenharmony_ci   uint32_t version_minor;
14bf215546Sopenharmony_ci   uint32_t version_patchlevel;
15bf215546Sopenharmony_ci#define VIRTGPU_DRM_CONTEXT_MSM   1
16bf215546Sopenharmony_ci   uint32_t context_type;
17bf215546Sopenharmony_ci   uint32_t pad;
18bf215546Sopenharmony_ci   union {
19bf215546Sopenharmony_ci      struct {
20bf215546Sopenharmony_ci         uint32_t has_cached_coherent;
21bf215546Sopenharmony_ci         uint32_t priorities;
22bf215546Sopenharmony_ci         uint64_t va_start;
23bf215546Sopenharmony_ci         uint64_t va_size;
24bf215546Sopenharmony_ci         uint32_t gpu_id;
25bf215546Sopenharmony_ci         uint32_t gmem_size;
26bf215546Sopenharmony_ci         uint64_t gmem_base;
27bf215546Sopenharmony_ci         uint64_t chip_id;
28bf215546Sopenharmony_ci         uint32_t max_freq;
29bf215546Sopenharmony_ci      } msm;  /* context_type == VIRTGPU_DRM_CONTEXT_MSM */
30bf215546Sopenharmony_ci   } u;
31bf215546Sopenharmony_ci};
32bf215546Sopenharmony_ci
33bf215546Sopenharmony_ci#endif /* DRM_HW_H_ */
34