162306a36Sopenharmony_ci/* SPDX-License-Identifier: MIT */ 262306a36Sopenharmony_ci#ifndef __NVIF_CL0002_H__ 362306a36Sopenharmony_ci#define __NVIF_CL0002_H__ 462306a36Sopenharmony_ci 562306a36Sopenharmony_cistruct nv_dma_v0 { 662306a36Sopenharmony_ci __u8 version; 762306a36Sopenharmony_ci#define NV_DMA_V0_TARGET_VM 0x00 862306a36Sopenharmony_ci#define NV_DMA_V0_TARGET_VRAM 0x01 962306a36Sopenharmony_ci#define NV_DMA_V0_TARGET_PCI 0x02 1062306a36Sopenharmony_ci#define NV_DMA_V0_TARGET_PCI_US 0x03 1162306a36Sopenharmony_ci#define NV_DMA_V0_TARGET_AGP 0x04 1262306a36Sopenharmony_ci __u8 target; 1362306a36Sopenharmony_ci#define NV_DMA_V0_ACCESS_VM 0x00 1462306a36Sopenharmony_ci#define NV_DMA_V0_ACCESS_RD 0x01 1562306a36Sopenharmony_ci#define NV_DMA_V0_ACCESS_WR 0x02 1662306a36Sopenharmony_ci#define NV_DMA_V0_ACCESS_RDWR (NV_DMA_V0_ACCESS_RD | NV_DMA_V0_ACCESS_WR) 1762306a36Sopenharmony_ci __u8 access; 1862306a36Sopenharmony_ci __u8 pad03[5]; 1962306a36Sopenharmony_ci __u64 start; 2062306a36Sopenharmony_ci __u64 limit; 2162306a36Sopenharmony_ci /* ... chipset-specific class data */ 2262306a36Sopenharmony_ci}; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_cistruct nv50_dma_v0 { 2562306a36Sopenharmony_ci __u8 version; 2662306a36Sopenharmony_ci#define NV50_DMA_V0_PRIV_VM 0x00 2762306a36Sopenharmony_ci#define NV50_DMA_V0_PRIV_US 0x01 2862306a36Sopenharmony_ci#define NV50_DMA_V0_PRIV__S 0x02 2962306a36Sopenharmony_ci __u8 priv; 3062306a36Sopenharmony_ci#define NV50_DMA_V0_PART_VM 0x00 3162306a36Sopenharmony_ci#define NV50_DMA_V0_PART_256 0x01 3262306a36Sopenharmony_ci#define NV50_DMA_V0_PART_1KB 0x02 3362306a36Sopenharmony_ci __u8 part; 3462306a36Sopenharmony_ci#define NV50_DMA_V0_COMP_NONE 0x00 3562306a36Sopenharmony_ci#define NV50_DMA_V0_COMP_1 0x01 3662306a36Sopenharmony_ci#define NV50_DMA_V0_COMP_2 0x02 3762306a36Sopenharmony_ci#define NV50_DMA_V0_COMP_VM 0x03 3862306a36Sopenharmony_ci __u8 comp; 3962306a36Sopenharmony_ci#define NV50_DMA_V0_KIND_PITCH 0x00 4062306a36Sopenharmony_ci#define NV50_DMA_V0_KIND_VM 0x7f 4162306a36Sopenharmony_ci __u8 kind; 4262306a36Sopenharmony_ci __u8 pad05[3]; 4362306a36Sopenharmony_ci}; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cistruct gf100_dma_v0 { 4662306a36Sopenharmony_ci __u8 version; 4762306a36Sopenharmony_ci#define GF100_DMA_V0_PRIV_VM 0x00 4862306a36Sopenharmony_ci#define GF100_DMA_V0_PRIV_US 0x01 4962306a36Sopenharmony_ci#define GF100_DMA_V0_PRIV__S 0x02 5062306a36Sopenharmony_ci __u8 priv; 5162306a36Sopenharmony_ci#define GF100_DMA_V0_KIND_PITCH 0x00 5262306a36Sopenharmony_ci#define GF100_DMA_V0_KIND_VM 0xff 5362306a36Sopenharmony_ci __u8 kind; 5462306a36Sopenharmony_ci __u8 pad03[5]; 5562306a36Sopenharmony_ci}; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_cistruct gf119_dma_v0 { 5862306a36Sopenharmony_ci __u8 version; 5962306a36Sopenharmony_ci#define GF119_DMA_V0_PAGE_LP 0x00 6062306a36Sopenharmony_ci#define GF119_DMA_V0_PAGE_SP 0x01 6162306a36Sopenharmony_ci __u8 page; 6262306a36Sopenharmony_ci#define GF119_DMA_V0_KIND_PITCH 0x00 6362306a36Sopenharmony_ci#define GF119_DMA_V0_KIND_VM 0xff 6462306a36Sopenharmony_ci __u8 kind; 6562306a36Sopenharmony_ci __u8 pad03[5]; 6662306a36Sopenharmony_ci}; 6762306a36Sopenharmony_ci#endif 68