drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/nvrm/rpcfn.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/nvrm/rpcfn.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/nvrm/rpcfn.h
Extension
.h
Size
11259 bytes
Lines
226
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __NVRM_RPCFN_H__
#define __NVRM_RPCFN_H__
#include <nvrm/nvtypes.h>

/* Excerpt of RM headers from https://github.com/NVIDIA/open-gpu-kernel-modules/tree/535.113.01 */

#ifndef X
#    define X(UNIT, RPC) NV_VGPU_MSG_FUNCTION_##RPC,
#    define DEFINING_X_IN_RPC_GLOBAL_ENUMS_H
enum {
#endif
    X(RM, NOP)                             // 0
    X(RM, SET_GUEST_SYSTEM_INFO)           // 1
    X(RM, ALLOC_ROOT)                      // 2
    X(RM, ALLOC_DEVICE)                    // 3 deprecated
    X(RM, ALLOC_MEMORY)                    // 4
    X(RM, ALLOC_CTX_DMA)                   // 5
    X(RM, ALLOC_CHANNEL_DMA)               // 6
    X(RM, MAP_MEMORY)                      // 7
    X(RM, BIND_CTX_DMA)                    // 8 deprecated
    X(RM, ALLOC_OBJECT)                    // 9
    X(RM, FREE)                            //10
    X(RM, LOG)                             //11
    X(RM, ALLOC_VIDMEM)                    //12
    X(RM, UNMAP_MEMORY)                    //13
    X(RM, MAP_MEMORY_DMA)                  //14
    X(RM, UNMAP_MEMORY_DMA)                //15
    X(RM, GET_EDID)                        //16
    X(RM, ALLOC_DISP_CHANNEL)              //17
    X(RM, ALLOC_DISP_OBJECT)               //18
    X(RM, ALLOC_SUBDEVICE)                 //19
    X(RM, ALLOC_DYNAMIC_MEMORY)            //20
    X(RM, DUP_OBJECT)                      //21
    X(RM, IDLE_CHANNELS)                   //22
    X(RM, ALLOC_EVENT)                     //23
    X(RM, SEND_EVENT)                      //24
    X(RM, REMAPPER_CONTROL)                //25 deprecated
    X(RM, DMA_CONTROL)                     //26
    X(RM, DMA_FILL_PTE_MEM)                //27
    X(RM, MANAGE_HW_RESOURCE)              //28
    X(RM, BIND_ARBITRARY_CTX_DMA)          //29 deprecated
    X(RM, CREATE_FB_SEGMENT)               //30
    X(RM, DESTROY_FB_SEGMENT)              //31
    X(RM, ALLOC_SHARE_DEVICE)              //32
    X(RM, DEFERRED_API_CONTROL)            //33
    X(RM, REMOVE_DEFERRED_API)             //34
    X(RM, SIM_ESCAPE_READ)                 //35
    X(RM, SIM_ESCAPE_WRITE)                //36
    X(RM, SIM_MANAGE_DISPLAY_CONTEXT_DMA)  //37
    X(RM, FREE_VIDMEM_VIRT)                //38
    X(RM, PERF_GET_PSTATE_INFO)            //39  deprecated for vGPU, used by GSP
    X(RM, PERF_GET_PERFMON_SAMPLE)         //40
    X(RM, PERF_GET_VIRTUAL_PSTATE_INFO)    //41  deprecated
    X(RM, PERF_GET_LEVEL_INFO)             //42
    X(RM, MAP_SEMA_MEMORY)                 //43
    X(RM, UNMAP_SEMA_MEMORY)               //44
    X(RM, SET_SURFACE_PROPERTIES)          //45
    X(RM, CLEANUP_SURFACE)                 //46
    X(RM, UNLOADING_GUEST_DRIVER)          //47
    X(RM, TDR_SET_TIMEOUT_STATE)           //48
    X(RM, SWITCH_TO_VGA)                   //49
    X(RM, GPU_EXEC_REG_OPS)                //50
    X(RM, GET_STATIC_INFO)                 //51
    X(RM, ALLOC_VIRTMEM)                   //52
    X(RM, UPDATE_PDE_2)                    //53
    X(RM, SET_PAGE_DIRECTORY)              //54
    X(RM, GET_STATIC_PSTATE_INFO)          //55
    X(RM, TRANSLATE_GUEST_GPU_PTES)        //56
    X(RM, RESERVED_57)                     //57
    X(RM, RESET_CURRENT_GR_CONTEXT)        //58
    X(RM, SET_SEMA_MEM_VALIDATION_STATE)   //59
    X(RM, GET_ENGINE_UTILIZATION)          //60
    X(RM, UPDATE_GPU_PDES)                 //61
    X(RM, GET_ENCODER_CAPACITY)            //62
    X(RM, VGPU_PF_REG_READ32)              //63
    X(RM, SET_GUEST_SYSTEM_INFO_EXT)       //64
    X(GSP, GET_GSP_STATIC_INFO)            //65
    X(RM, RMFS_INIT)                       //66
    X(RM, RMFS_CLOSE_QUEUE)                //67
    X(RM, RMFS_CLEANUP)                    //68
    X(RM, RMFS_TEST)                       //69
    X(RM, UPDATE_BAR_PDE)                  //70
    X(RM, CONTINUATION_RECORD)             //71
    X(RM, GSP_SET_SYSTEM_INFO)             //72
    X(RM, SET_REGISTRY)                    //73
    X(GSP, GSP_INIT_POST_OBJGPU)           //74 deprecated
    X(RM, SUBDEV_EVENT_SET_NOTIFICATION)   //75 deprecated
    X(GSP, GSP_RM_CONTROL)                 //76
    X(RM, GET_STATIC_INFO2)                //77
    X(RM, DUMP_PROTOBUF_COMPONENT)         //78

Annotation

Implementation Notes