drivers/gpu/drm/nouveau/include/nvhw/class/cl5039.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/nouveau/include/nvhw/class/cl5039.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/nouveau/include/nvhw/class/cl5039.h
Extension
.h
Size
12605 bytes
Lines
154
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 _cl_nv50_memory_to_memory_format_h_
#define _cl_nv50_memory_to_memory_format_h_

#define NV5039_SET_OBJECT                                                                                  0x0000
#define NV5039_SET_OBJECT_POINTER                                                                            15:0

#define NV5039_NO_OPERATION                                                                                0x0100
#define NV5039_NO_OPERATION_V                                                                                31:0

#define NV5039_SET_CONTEXT_DMA_NOTIFY                                                                      0x0180
#define NV5039_SET_CONTEXT_DMA_NOTIFY_HANDLE                                                                 31:0

#define NV5039_SET_CONTEXT_DMA_BUFFER_IN                                                                   0x0184
#define NV5039_SET_CONTEXT_DMA_BUFFER_IN_HANDLE                                                              31:0

#define NV5039_SET_CONTEXT_DMA_BUFFER_OUT                                                                  0x0188
#define NV5039_SET_CONTEXT_DMA_BUFFER_OUT_HANDLE                                                             31:0

#define NV5039_SET_SRC_MEMORY_LAYOUT                                                                       0x0200
#define NV5039_SET_SRC_MEMORY_LAYOUT_V                                                                        0:0
#define NV5039_SET_SRC_MEMORY_LAYOUT_V_BLOCKLINEAR                                                     0x00000000
#define NV5039_SET_SRC_MEMORY_LAYOUT_V_PITCH                                                           0x00000001

#define NV5039_SET_SRC_BLOCK_SIZE                                                                          0x0204
#define NV5039_SET_SRC_BLOCK_SIZE_WIDTH                                                                       3:0
#define NV5039_SET_SRC_BLOCK_SIZE_WIDTH_ONE_GOB                                                        0x00000000
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT                                                                      7:4
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_ONE_GOB                                                       0x00000000
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_TWO_GOBS                                                      0x00000001
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_FOUR_GOBS                                                     0x00000002
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_EIGHT_GOBS                                                    0x00000003
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS                                                  0x00000004
#define NV5039_SET_SRC_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS                                                0x00000005
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH                                                                      11:8
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_ONE_GOB                                                        0x00000000
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_TWO_GOBS                                                       0x00000001
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_FOUR_GOBS                                                      0x00000002
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_EIGHT_GOBS                                                     0x00000003
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS                                                   0x00000004
#define NV5039_SET_SRC_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS                                                 0x00000005

#define NV5039_SET_SRC_WIDTH                                                                               0x0208
#define NV5039_SET_SRC_WIDTH_V                                                                               31:0

#define NV5039_SET_SRC_HEIGHT                                                                              0x020c
#define NV5039_SET_SRC_HEIGHT_V                                                                              31:0

#define NV5039_SET_SRC_DEPTH                                                                               0x0210
#define NV5039_SET_SRC_DEPTH_V                                                                               31:0

#define NV5039_SET_SRC_LAYER                                                                               0x0214
#define NV5039_SET_SRC_LAYER_V                                                                               31:0

#define NV5039_SET_SRC_ORIGIN                                                                              0x0218
#define NV5039_SET_SRC_ORIGIN_X                                                                              15:0
#define NV5039_SET_SRC_ORIGIN_Y                                                                             31:16

#define NV5039_SET_DST_MEMORY_LAYOUT                                                                       0x021c
#define NV5039_SET_DST_MEMORY_LAYOUT_V                                                                        0:0
#define NV5039_SET_DST_MEMORY_LAYOUT_V_BLOCKLINEAR                                                     0x00000000
#define NV5039_SET_DST_MEMORY_LAYOUT_V_PITCH                                                           0x00000001

#define NV5039_SET_DST_BLOCK_SIZE                                                                          0x0220
#define NV5039_SET_DST_BLOCK_SIZE_WIDTH                                                                       3:0
#define NV5039_SET_DST_BLOCK_SIZE_WIDTH_ONE_GOB                                                        0x00000000
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT                                                                      7:4
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_ONE_GOB                                                       0x00000000
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_TWO_GOBS                                                      0x00000001
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_FOUR_GOBS                                                     0x00000002
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_EIGHT_GOBS                                                    0x00000003
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_SIXTEEN_GOBS                                                  0x00000004
#define NV5039_SET_DST_BLOCK_SIZE_HEIGHT_THIRTYTWO_GOBS                                                0x00000005
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH                                                                      11:8
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_ONE_GOB                                                        0x00000000
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_TWO_GOBS                                                       0x00000001
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_FOUR_GOBS                                                      0x00000002
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_EIGHT_GOBS                                                     0x00000003
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_SIXTEEN_GOBS                                                   0x00000004
#define NV5039_SET_DST_BLOCK_SIZE_DEPTH_THIRTYTWO_GOBS                                                 0x00000005

#define NV5039_SET_DST_WIDTH                                                                               0x0224
#define NV5039_SET_DST_WIDTH_V                                                                               31:0

#define NV5039_SET_DST_HEIGHT                                                                              0x0228
#define NV5039_SET_DST_HEIGHT_V                                                                              31:0

#define NV5039_SET_DST_DEPTH                                                                               0x022c
#define NV5039_SET_DST_DEPTH_V                                                                               31:0

#define NV5039_SET_DST_LAYER                                                                               0x0230

Annotation

Implementation Notes