• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef NV_DEVINFO_H
2 #define NV_DEVINFO_H
3 
4 #include "util/macros.h"
5 
6 #define NVIDIA_VENDOR_ID 0x10de
7 
8 enum ENUM_PACKED nv_device_type {
9    NV_DEVICE_TYPE_IGP,
10    NV_DEVICE_TYPE_DIS,
11    NV_DEVICE_TYPE_SOC,
12 };
13 
14 struct nv_device_info {
15    enum nv_device_type type;
16 
17    uint16_t device_id;
18    uint16_t chipset;
19 
20    char device_name[64];
21    char chipset_name[16];
22 
23    /* Populated if type == NV_DEVICE_TYPE_DIS */
24    struct {
25       uint16_t domain;
26       uint8_t bus;
27       uint8_t dev;
28       uint8_t func;
29       uint8_t revision_id;
30    } pci;
31 
32    uint8_t sm; /**< Shader model */
33 
34    uint8_t gpc_count;
35    uint16_t tpc_count;
36    uint8_t mp_per_tpc;
37    uint8_t max_warps_per_mp;
38 
39    uint16_t cls_copy;
40    uint16_t cls_eng2d;
41    uint16_t cls_eng3d;
42    uint16_t cls_m2mf;
43    uint16_t cls_compute;
44 
45    uint64_t vram_size_B;
46    uint64_t bar_size_B;
47 };
48 
49 #endif /* NV_DEVINFO_H */
50