1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */ 275445a4dSBen Skeggs #ifndef __NVIF_IF0003_H__ 375445a4dSBen Skeggs #define __NVIF_IF0003_H__ 475445a4dSBen Skeggs 575445a4dSBen Skeggs struct nvif_perfdom_v0 { 675445a4dSBen Skeggs __u8 version; 775445a4dSBen Skeggs __u8 domain; 875445a4dSBen Skeggs __u8 mode; 975445a4dSBen Skeggs __u8 pad03[1]; 1075445a4dSBen Skeggs struct { 1175445a4dSBen Skeggs __u8 signal[4]; 1275445a4dSBen Skeggs __u64 source[4][8]; 1375445a4dSBen Skeggs __u16 logic_op; 1475445a4dSBen Skeggs } ctr[4]; 1575445a4dSBen Skeggs }; 1675445a4dSBen Skeggs 1775445a4dSBen Skeggs #define NVIF_PERFDOM_V0_INIT 0x00 1875445a4dSBen Skeggs #define NVIF_PERFDOM_V0_SAMPLE 0x01 1975445a4dSBen Skeggs #define NVIF_PERFDOM_V0_READ 0x02 2075445a4dSBen Skeggs 2175445a4dSBen Skeggs struct nvif_perfdom_init { 2275445a4dSBen Skeggs }; 2375445a4dSBen Skeggs 2475445a4dSBen Skeggs struct nvif_perfdom_sample { 2575445a4dSBen Skeggs }; 2675445a4dSBen Skeggs 2775445a4dSBen Skeggs struct nvif_perfdom_read_v0 { 2875445a4dSBen Skeggs __u8 version; 2975445a4dSBen Skeggs __u8 pad01[7]; 3075445a4dSBen Skeggs __u32 ctr[4]; 3175445a4dSBen Skeggs __u32 clk; 3275445a4dSBen Skeggs __u8 pad04[4]; 3375445a4dSBen Skeggs }; 3475445a4dSBen Skeggs #endif 35