drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h- Extension
.h- Size
- 16307 bytes
- Lines
- 449
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
priv.hcore/gpuobj.hsubdev/ltc.hsubdev/mmu.hengine/falcon.hcore/object.h
Detected Declarations
struct nvkm_acr_lsfwstruct gf100_gr_zbc_colorstruct gf100_gr_zbc_depthstruct gf100_gr_zbc_stencilstruct gf100_grstruct gf100_gr_func_zbcstruct gf100_gr_funcstruct gf100_gr_chanstruct gf100_gr_initstruct gf100_gr_packstruct gf100_gr_ucodestruct gf100_gr_fwif
Annotated Snippet
struct gf100_gr_zbc_color {
u32 format;
u32 ds[4];
u32 l2[4];
};
struct gf100_gr_zbc_depth {
u32 format;
u32 ds;
u32 l2;
};
struct gf100_gr_zbc_stencil {
u32 format;
u32 ds;
u32 l2;
};
struct gf100_gr {
const struct gf100_gr_func *func;
struct nvkm_gr base;
struct {
struct nvkm_falcon falcon;
struct nvkm_blob inst;
struct nvkm_blob data;
struct mutex mutex;
u32 disable;
} fecs;
struct {
struct nvkm_falcon falcon;
struct nvkm_blob inst;
struct nvkm_blob data;
} gpccs;
bool firmware;
/*
* Used if the register packs are loaded from NVIDIA fw instead of
* using hardcoded arrays. To be allocated with vzalloc().
*/
struct gf100_gr_pack *sw_nonctx;
struct gf100_gr_pack *sw_nonctx1;
struct gf100_gr_pack *sw_nonctx2;
struct gf100_gr_pack *sw_nonctx3;
struct gf100_gr_pack *sw_nonctx4;
struct gf100_gr_pack *sw_ctx;
struct gf100_gr_pack *bundle;
struct gf100_gr_pack *bundle_veid;
struct gf100_gr_pack *bundle64;
struct gf100_gr_pack *method;
struct gf100_gr_zbc_color zbc_color[NVKM_LTC_MAX_ZBC_COLOR_CNT];
struct gf100_gr_zbc_depth zbc_depth[NVKM_LTC_MAX_ZBC_DEPTH_CNT];
struct gf100_gr_zbc_stencil zbc_stencil[NVKM_LTC_MAX_ZBC_DEPTH_CNT];
u8 rop_nr;
u8 gpc_nr;
u8 tpc_nr[GPC_MAX];
u8 tpc_max;
u8 tpc_total;
u8 ppc_nr[GPC_MAX];
u8 ppc_mask[GPC_MAX];
u8 ppc_tpc_mask[GPC_MAX][4];
u8 ppc_tpc_nr[GPC_MAX][4];
u8 ppc_tpc_min;
u8 ppc_tpc_max;
u8 ppc_total;
struct nvkm_memory *pagepool;
struct nvkm_memory *bundle_cb;
struct nvkm_memory *attrib_cb;
struct nvkm_memory *unknown;
u8 screen_tile_row_offset;
u8 tile[TPC_MAX];
struct {
u8 gpc;
u8 tpc;
} sm[TPC_MAX];
u8 sm_nr;
u32 size;
u32 *data;
u32 size_zcull;
u32 size_pm;
};
Annotation
- Immediate include surface: `priv.h`, `core/gpuobj.h`, `subdev/ltc.h`, `subdev/mmu.h`, `engine/falcon.h`, `core/object.h`.
- Detected declarations: `struct nvkm_acr_lsfw`, `struct gf100_gr_zbc_color`, `struct gf100_gr_zbc_depth`, `struct gf100_gr_zbc_stencil`, `struct gf100_gr`, `struct gf100_gr_func_zbc`, `struct gf100_gr_func`, `struct gf100_gr_chan`, `struct gf100_gr_init`, `struct gf100_gr_pack`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.