1d722e3fbSopenharmony_ci#ifndef __NVIF_CLASS_H__ 2d722e3fbSopenharmony_ci#define __NVIF_CLASS_H__ 3d722e3fbSopenharmony_ci 4d722e3fbSopenharmony_ci/* these class numbers are made up by us, and not nvidia-assigned */ 5d722e3fbSopenharmony_ci#define NVIF_CLASS_CONTROL /* if0001.h */ -1 6d722e3fbSopenharmony_ci#define NVIF_CLASS_PERFMON /* if0002.h */ -2 7d722e3fbSopenharmony_ci#define NVIF_CLASS_PERFDOM /* if0003.h */ -3 8d722e3fbSopenharmony_ci#define NVIF_CLASS_SW_NV04 /* if0004.h */ -4 9d722e3fbSopenharmony_ci#define NVIF_CLASS_SW_NV10 /* if0005.h */ -5 10d722e3fbSopenharmony_ci#define NVIF_CLASS_SW_NV50 /* if0005.h */ -6 11d722e3fbSopenharmony_ci#define NVIF_CLASS_SW_GF100 /* if0005.h */ -7 12d722e3fbSopenharmony_ci 13d722e3fbSopenharmony_ci/* the below match nvidia-assigned (either in hw, or sw) class numbers */ 14d722e3fbSopenharmony_ci#define NV_DEVICE /* cl0080.h */ 0x00000080 15d722e3fbSopenharmony_ci 16d722e3fbSopenharmony_ci#define NV_DMA_FROM_MEMORY /* cl0002.h */ 0x00000002 17d722e3fbSopenharmony_ci#define NV_DMA_TO_MEMORY /* cl0002.h */ 0x00000003 18d722e3fbSopenharmony_ci#define NV_DMA_IN_MEMORY /* cl0002.h */ 0x0000003d 19d722e3fbSopenharmony_ci 20d722e3fbSopenharmony_ci#define FERMI_TWOD_A 0x0000902d 21d722e3fbSopenharmony_ci 22d722e3fbSopenharmony_ci#define FERMI_MEMORY_TO_MEMORY_FORMAT_A 0x00009039 23d722e3fbSopenharmony_ci 24d722e3fbSopenharmony_ci#define KEPLER_INLINE_TO_MEMORY_A 0x0000a040 25d722e3fbSopenharmony_ci#define KEPLER_INLINE_TO_MEMORY_B 0x0000a140 26d722e3fbSopenharmony_ci 27d722e3fbSopenharmony_ci#define NV04_DISP /* cl0046.h */ 0x00000046 28d722e3fbSopenharmony_ci 29d722e3fbSopenharmony_ci#define NV03_CHANNEL_DMA /* cl506b.h */ 0x0000006b 30d722e3fbSopenharmony_ci#define NV10_CHANNEL_DMA /* cl506b.h */ 0x0000006e 31d722e3fbSopenharmony_ci#define NV17_CHANNEL_DMA /* cl506b.h */ 0x0000176e 32d722e3fbSopenharmony_ci#define NV40_CHANNEL_DMA /* cl506b.h */ 0x0000406e 33d722e3fbSopenharmony_ci#define NV50_CHANNEL_DMA /* cl506e.h */ 0x0000506e 34d722e3fbSopenharmony_ci#define G82_CHANNEL_DMA /* cl826e.h */ 0x0000826e 35d722e3fbSopenharmony_ci 36d722e3fbSopenharmony_ci#define NV50_CHANNEL_GPFIFO /* cl506f.h */ 0x0000506f 37d722e3fbSopenharmony_ci#define G82_CHANNEL_GPFIFO /* cl826f.h */ 0x0000826f 38d722e3fbSopenharmony_ci#define FERMI_CHANNEL_GPFIFO /* cl906f.h */ 0x0000906f 39d722e3fbSopenharmony_ci#define KEPLER_CHANNEL_GPFIFO_A /* cla06f.h */ 0x0000a06f 40d722e3fbSopenharmony_ci#define MAXWELL_CHANNEL_GPFIFO_A /* cla06f.h */ 0x0000b06f 41d722e3fbSopenharmony_ci 42d722e3fbSopenharmony_ci#define NV50_DISP /* cl5070.h */ 0x00005070 43d722e3fbSopenharmony_ci#define G82_DISP /* cl5070.h */ 0x00008270 44d722e3fbSopenharmony_ci#define GT200_DISP /* cl5070.h */ 0x00008370 45d722e3fbSopenharmony_ci#define GT214_DISP /* cl5070.h */ 0x00008570 46d722e3fbSopenharmony_ci#define GT206_DISP /* cl5070.h */ 0x00008870 47d722e3fbSopenharmony_ci#define GF110_DISP /* cl5070.h */ 0x00009070 48d722e3fbSopenharmony_ci#define GK104_DISP /* cl5070.h */ 0x00009170 49d722e3fbSopenharmony_ci#define GK110_DISP /* cl5070.h */ 0x00009270 50d722e3fbSopenharmony_ci#define GM107_DISP /* cl5070.h */ 0x00009470 51d722e3fbSopenharmony_ci#define GM204_DISP /* cl5070.h */ 0x00009570 52d722e3fbSopenharmony_ci 53d722e3fbSopenharmony_ci#define NV31_MPEG 0x00003174 54d722e3fbSopenharmony_ci#define G82_MPEG 0x00008274 55d722e3fbSopenharmony_ci 56d722e3fbSopenharmony_ci#define NV74_VP2 0x00007476 57d722e3fbSopenharmony_ci 58d722e3fbSopenharmony_ci#define NV50_DISP_CURSOR /* cl507a.h */ 0x0000507a 59d722e3fbSopenharmony_ci#define G82_DISP_CURSOR /* cl507a.h */ 0x0000827a 60d722e3fbSopenharmony_ci#define GT214_DISP_CURSOR /* cl507a.h */ 0x0000857a 61d722e3fbSopenharmony_ci#define GF110_DISP_CURSOR /* cl507a.h */ 0x0000907a 62d722e3fbSopenharmony_ci#define GK104_DISP_CURSOR /* cl507a.h */ 0x0000917a 63d722e3fbSopenharmony_ci 64d722e3fbSopenharmony_ci#define NV50_DISP_OVERLAY /* cl507b.h */ 0x0000507b 65d722e3fbSopenharmony_ci#define G82_DISP_OVERLAY /* cl507b.h */ 0x0000827b 66d722e3fbSopenharmony_ci#define GT214_DISP_OVERLAY /* cl507b.h */ 0x0000857b 67d722e3fbSopenharmony_ci#define GF110_DISP_OVERLAY /* cl507b.h */ 0x0000907b 68d722e3fbSopenharmony_ci#define GK104_DISP_OVERLAY /* cl507b.h */ 0x0000917b 69d722e3fbSopenharmony_ci 70d722e3fbSopenharmony_ci#define NV50_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000507c 71d722e3fbSopenharmony_ci#define G82_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000827c 72d722e3fbSopenharmony_ci#define GT200_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000837c 73d722e3fbSopenharmony_ci#define GT214_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000857c 74d722e3fbSopenharmony_ci#define GF110_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000907c 75d722e3fbSopenharmony_ci#define GK104_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000917c 76d722e3fbSopenharmony_ci#define GK110_DISP_BASE_CHANNEL_DMA /* cl507c.h */ 0x0000927c 77d722e3fbSopenharmony_ci 78d722e3fbSopenharmony_ci#define NV50_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000507d 79d722e3fbSopenharmony_ci#define G82_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000827d 80d722e3fbSopenharmony_ci#define GT200_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000837d 81d722e3fbSopenharmony_ci#define GT214_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000857d 82d722e3fbSopenharmony_ci#define GT206_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000887d 83d722e3fbSopenharmony_ci#define GF110_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000907d 84d722e3fbSopenharmony_ci#define GK104_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000917d 85d722e3fbSopenharmony_ci#define GK110_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000927d 86d722e3fbSopenharmony_ci#define GM107_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000947d 87d722e3fbSopenharmony_ci#define GM204_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000957d 88d722e3fbSopenharmony_ci 89d722e3fbSopenharmony_ci#define NV50_DISP_OVERLAY_CHANNEL_DMA /* cl507e.h */ 0x0000507e 90d722e3fbSopenharmony_ci#define G82_DISP_OVERLAY_CHANNEL_DMA /* cl507e.h */ 0x0000827e 91d722e3fbSopenharmony_ci#define GT200_DISP_OVERLAY_CHANNEL_DMA /* cl507e.h */ 0x0000837e 92d722e3fbSopenharmony_ci#define GT214_DISP_OVERLAY_CHANNEL_DMA /* cl507e.h */ 0x0000857e 93d722e3fbSopenharmony_ci#define GF110_DISP_OVERLAY_CONTROL_DMA /* cl507e.h */ 0x0000907e 94d722e3fbSopenharmony_ci#define GK104_DISP_OVERLAY_CONTROL_DMA /* cl507e.h */ 0x0000917e 95d722e3fbSopenharmony_ci 96d722e3fbSopenharmony_ci#define FERMI_A /* cl9097.h */ 0x00009097 97d722e3fbSopenharmony_ci#define FERMI_B /* cl9097.h */ 0x00009197 98d722e3fbSopenharmony_ci#define FERMI_C /* cl9097.h */ 0x00009297 99d722e3fbSopenharmony_ci 100d722e3fbSopenharmony_ci#define KEPLER_A /* cl9097.h */ 0x0000a097 101d722e3fbSopenharmony_ci#define KEPLER_B /* cl9097.h */ 0x0000a197 102d722e3fbSopenharmony_ci#define KEPLER_C /* cl9097.h */ 0x0000a297 103d722e3fbSopenharmony_ci 104d722e3fbSopenharmony_ci#define MAXWELL_A /* cl9097.h */ 0x0000b097 105d722e3fbSopenharmony_ci#define MAXWELL_B /* cl9097.h */ 0x0000b197 106d722e3fbSopenharmony_ci 107d722e3fbSopenharmony_ci#define NV74_BSP 0x000074b0 108d722e3fbSopenharmony_ci 109d722e3fbSopenharmony_ci#define GT212_MSVLD 0x000085b1 110d722e3fbSopenharmony_ci#define IGT21A_MSVLD 0x000086b1 111d722e3fbSopenharmony_ci#define G98_MSVLD 0x000088b1 112d722e3fbSopenharmony_ci#define GF100_MSVLD 0x000090b1 113d722e3fbSopenharmony_ci#define GK104_MSVLD 0x000095b1 114d722e3fbSopenharmony_ci 115d722e3fbSopenharmony_ci#define GT212_MSPDEC 0x000085b2 116d722e3fbSopenharmony_ci#define G98_MSPDEC 0x000088b2 117d722e3fbSopenharmony_ci#define GF100_MSPDEC 0x000090b2 118d722e3fbSopenharmony_ci#define GK104_MSPDEC 0x000095b2 119d722e3fbSopenharmony_ci 120d722e3fbSopenharmony_ci#define GT212_MSPPP 0x000085b3 121d722e3fbSopenharmony_ci#define G98_MSPPP 0x000088b3 122d722e3fbSopenharmony_ci#define GF100_MSPPP 0x000090b3 123d722e3fbSopenharmony_ci 124d722e3fbSopenharmony_ci#define G98_SEC 0x000088b4 125d722e3fbSopenharmony_ci 126d722e3fbSopenharmony_ci#define GT212_DMA 0x000085b5 127d722e3fbSopenharmony_ci#define FERMI_DMA 0x000090b5 128d722e3fbSopenharmony_ci#define KEPLER_DMA_COPY_A 0x0000a0b5 129d722e3fbSopenharmony_ci#define MAXWELL_DMA_COPY_A 0x0000b0b5 130d722e3fbSopenharmony_ci 131d722e3fbSopenharmony_ci#define FERMI_DECOMPRESS 0x000090b8 132d722e3fbSopenharmony_ci 133d722e3fbSopenharmony_ci#define FERMI_COMPUTE_A 0x000090c0 134d722e3fbSopenharmony_ci#define FERMI_COMPUTE_B 0x000091c0 135d722e3fbSopenharmony_ci#define KEPLER_COMPUTE_A 0x0000a0c0 136d722e3fbSopenharmony_ci#define KEPLER_COMPUTE_B 0x0000a1c0 137d722e3fbSopenharmony_ci#define MAXWELL_COMPUTE_A 0x0000b0c0 138d722e3fbSopenharmony_ci#define MAXWELL_COMPUTE_B 0x0000b1c0 139d722e3fbSopenharmony_ci 140d722e3fbSopenharmony_ci#define NV74_CIPHER 0x000074c1 141d722e3fbSopenharmony_ci#endif 142