drivers/gpu/drm/imagination/pvr_rogue_fwif_client.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/imagination/pvr_rogue_fwif_client.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/imagination/pvr_rogue_fwif_client.h- Extension
.h- Size
- 10296 bytes
- Lines
- 374
- 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
linux/bits.hlinux/kernel.hlinux/sizes.hlinux/types.hpvr_rogue_fwif_shared.hpvr_rogue_fwif_client_check.h
Detected Declarations
struct rogue_fwif_geom_regsstruct rogue_fwif_dummy_rgnhdr_init_geom_regsstruct rogue_fwif_cmd_geomstruct rogue_fwif_frag_regsstruct rogue_fwif_cmd_fragstruct rogue_fwif_compute_regsstruct rogue_fwif_cmd_computestruct rogue_fwif_transfer_regsstruct rogue_fwif_cmd_transfer
Annotated Snippet
struct rogue_fwif_geom_regs {
u64 vdm_ctrl_stream_base;
u64 tpu_border_colour_table;
/* Only used when feature VDM_DRAWINDIRECT present. */
u64 vdm_draw_indirect0;
/* Only used when feature VDM_DRAWINDIRECT present. */
u32 vdm_draw_indirect1;
u32 ppp_ctrl;
u32 te_psg;
/* Only used when BRN 49927 present. */
u32 tpu;
u32 vdm_context_resume_task0_size;
/* Only used when feature VDM_OBJECT_LEVEL_LLS present. */
u32 vdm_context_resume_task3_size;
/* Only used when BRN 56279 or BRN 67381 present. */
u32 pds_ctrl;
u32 view_idx;
/* Only used when feature TESSELLATION present */
u32 pds_coeff_free_prog;
u32 padding;
};
/* Only used when BRN 44455 or BRN 63027 present. */
struct rogue_fwif_dummy_rgnhdr_init_geom_regs {
u64 te_psgregion_addr;
};
/*
* Represents a geometry command that can be used to tile a whole scene's objects as
* per TA behavior.
*/
struct rogue_fwif_cmd_geom {
/*
* rogue_fwif_cmd_geom_frag_shared field must always be at the beginning of the
* struct.
*
* The command struct (rogue_fwif_cmd_geom) is shared between Client and
* Firmware. Kernel is unable to perform read/write operations on the
* command struct, the SHARED region is the only exception from this rule.
* This region must be the first member so that Kernel can easily access it.
* For more info, see rogue_fwif_cmd_geom_frag_shared definition.
*/
struct rogue_fwif_cmd_geom_frag_shared cmd_shared;
struct rogue_fwif_geom_regs regs __aligned(8);
u32 flags __aligned(8);
/*
* Holds the geometry/fragment fence value to allow the fragment partial render command
* to go through.
*/
struct rogue_fwif_ufo partial_render_geom_frag_fence;
/* Only used when BRN 44455 or BRN 63027 present. */
struct rogue_fwif_dummy_rgnhdr_init_geom_regs dummy_rgnhdr_init_geom_regs __aligned(8);
/* Only used when BRN 61484 or BRN 66333 present. */
u32 brn61484_66333_live_rt;
u32 padding;
};
/*
* Configuration registers which need to be loaded by the firmware before ISP
* can be started.
*/
struct rogue_fwif_frag_regs {
u32 usc_pixel_output_ctrl;
#define ROGUE_MAXIMUM_OUTPUT_REGISTERS_PER_PIXEL 8U
u32 usc_clear_register[ROGUE_MAXIMUM_OUTPUT_REGISTERS_PER_PIXEL];
u32 isp_bgobjdepth;
u32 isp_bgobjvals;
u32 isp_aa;
/* Only used when feature S7_TOP_INFRASTRUCTURE present. */
u32 isp_xtp_pipe_enable;
u32 isp_ctl;
/* Only used when BRN 49927 present. */
u32 tpu;
Annotation
- Immediate include surface: `linux/bits.h`, `linux/kernel.h`, `linux/sizes.h`, `linux/types.h`, `pvr_rogue_fwif_shared.h`, `pvr_rogue_fwif_client_check.h`.
- Detected declarations: `struct rogue_fwif_geom_regs`, `struct rogue_fwif_dummy_rgnhdr_init_geom_regs`, `struct rogue_fwif_cmd_geom`, `struct rogue_fwif_frag_regs`, `struct rogue_fwif_cmd_frag`, `struct rogue_fwif_compute_regs`, `struct rogue_fwif_cmd_compute`, `struct rogue_fwif_transfer_regs`, `struct rogue_fwif_cmd_transfer`.
- 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.