18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: MIT */ 28c2ecf20Sopenharmony_ci#ifndef __NVIF_CL0002_H__ 38c2ecf20Sopenharmony_ci#define __NVIF_CL0002_H__ 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_cistruct nv_dma_v0 { 68c2ecf20Sopenharmony_ci __u8 version; 78c2ecf20Sopenharmony_ci#define NV_DMA_V0_TARGET_VM 0x00 88c2ecf20Sopenharmony_ci#define NV_DMA_V0_TARGET_VRAM 0x01 98c2ecf20Sopenharmony_ci#define NV_DMA_V0_TARGET_PCI 0x02 108c2ecf20Sopenharmony_ci#define NV_DMA_V0_TARGET_PCI_US 0x03 118c2ecf20Sopenharmony_ci#define NV_DMA_V0_TARGET_AGP 0x04 128c2ecf20Sopenharmony_ci __u8 target; 138c2ecf20Sopenharmony_ci#define NV_DMA_V0_ACCESS_VM 0x00 148c2ecf20Sopenharmony_ci#define NV_DMA_V0_ACCESS_RD 0x01 158c2ecf20Sopenharmony_ci#define NV_DMA_V0_ACCESS_WR 0x02 168c2ecf20Sopenharmony_ci#define NV_DMA_V0_ACCESS_RDWR (NV_DMA_V0_ACCESS_RD | NV_DMA_V0_ACCESS_WR) 178c2ecf20Sopenharmony_ci __u8 access; 188c2ecf20Sopenharmony_ci __u8 pad03[5]; 198c2ecf20Sopenharmony_ci __u64 start; 208c2ecf20Sopenharmony_ci __u64 limit; 218c2ecf20Sopenharmony_ci /* ... chipset-specific class data */ 228c2ecf20Sopenharmony_ci}; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cistruct nv50_dma_v0 { 258c2ecf20Sopenharmony_ci __u8 version; 268c2ecf20Sopenharmony_ci#define NV50_DMA_V0_PRIV_VM 0x00 278c2ecf20Sopenharmony_ci#define NV50_DMA_V0_PRIV_US 0x01 288c2ecf20Sopenharmony_ci#define NV50_DMA_V0_PRIV__S 0x02 298c2ecf20Sopenharmony_ci __u8 priv; 308c2ecf20Sopenharmony_ci#define NV50_DMA_V0_PART_VM 0x00 318c2ecf20Sopenharmony_ci#define NV50_DMA_V0_PART_256 0x01 328c2ecf20Sopenharmony_ci#define NV50_DMA_V0_PART_1KB 0x02 338c2ecf20Sopenharmony_ci __u8 part; 348c2ecf20Sopenharmony_ci#define NV50_DMA_V0_COMP_NONE 0x00 358c2ecf20Sopenharmony_ci#define NV50_DMA_V0_COMP_1 0x01 368c2ecf20Sopenharmony_ci#define NV50_DMA_V0_COMP_2 0x02 378c2ecf20Sopenharmony_ci#define NV50_DMA_V0_COMP_VM 0x03 388c2ecf20Sopenharmony_ci __u8 comp; 398c2ecf20Sopenharmony_ci#define NV50_DMA_V0_KIND_PITCH 0x00 408c2ecf20Sopenharmony_ci#define NV50_DMA_V0_KIND_VM 0x7f 418c2ecf20Sopenharmony_ci __u8 kind; 428c2ecf20Sopenharmony_ci __u8 pad05[3]; 438c2ecf20Sopenharmony_ci}; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_cistruct gf100_dma_v0 { 468c2ecf20Sopenharmony_ci __u8 version; 478c2ecf20Sopenharmony_ci#define GF100_DMA_V0_PRIV_VM 0x00 488c2ecf20Sopenharmony_ci#define GF100_DMA_V0_PRIV_US 0x01 498c2ecf20Sopenharmony_ci#define GF100_DMA_V0_PRIV__S 0x02 508c2ecf20Sopenharmony_ci __u8 priv; 518c2ecf20Sopenharmony_ci#define GF100_DMA_V0_KIND_PITCH 0x00 528c2ecf20Sopenharmony_ci#define GF100_DMA_V0_KIND_VM 0xff 538c2ecf20Sopenharmony_ci __u8 kind; 548c2ecf20Sopenharmony_ci __u8 pad03[5]; 558c2ecf20Sopenharmony_ci}; 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_cistruct gf119_dma_v0 { 588c2ecf20Sopenharmony_ci __u8 version; 598c2ecf20Sopenharmony_ci#define GF119_DMA_V0_PAGE_LP 0x00 608c2ecf20Sopenharmony_ci#define GF119_DMA_V0_PAGE_SP 0x01 618c2ecf20Sopenharmony_ci __u8 page; 628c2ecf20Sopenharmony_ci#define GF119_DMA_V0_KIND_PITCH 0x00 638c2ecf20Sopenharmony_ci#define GF119_DMA_V0_KIND_VM 0xff 648c2ecf20Sopenharmony_ci __u8 kind; 658c2ecf20Sopenharmony_ci __u8 pad03[5]; 668c2ecf20Sopenharmony_ci}; 678c2ecf20Sopenharmony_ci#endif 68