STRUCT PVR_FW_DEFS(9)
π NAME π
Okay so <pink>struct pvr_fw_defs</pink> is the FW processor function table and static definitions β basically the main-character control panel for firmware processor stuff. This page is from the Kernel API Manual, and it's giving "here are the callbacks plus one little bool" energy. Obsessed. π«Ά
β¨ SYNOPSIS β¨
struct pvr_fw_defs {
int (*init)(struct pvr_device *pvr_dev);
void (*fini)(struct pvr_device *pvr_dev);
int (*fw_process)(struct pvr_device *pvr_dev, const u8 *fw, u8
*fw_code_ptr, u8 *fw_data_ptr, u8 *fw_core_code_ptr, u8
*fw_core_data_ptr, u32 core_code_alloc_size);
int (*vm_map)(struct pvr_device *pvr_dev, struct pvr_fw_object
*fw_obj);
void (*vm_unmap)(struct pvr_device *pvr_dev, struct pvr_fw_object
*fw_obj);
u32 (*get_fw_addr_with_offset)(struct pvr_fw_object *fw_obj, u32
offset);
int (*wrapper_init)(struct pvr_device *pvr_dev);
bool (*irq_pending)(struct pvr_device *pvr_dev);
void (*irq_clear)(struct pvr_device *pvr_dev);
bool has_fixed_data_addr;
};
π Members π
initβ FW processor specific initialisation.pvr_dev: Target PowerVR device. This function must callpvr_fw_heap_calculateto initialise the firmware heap for this FW processor. This function is mandatory. Returns:0on success, or- Any appropriate error on failure.
finiβ FW processor specific finalisation.pvr_dev: Target PowerVR device. This function is optional.fw_processβ Load and process firmware image.pvr_dev: Target PowerVR device.fw: Pointer to firmware image.fw_code_ptr: Pointer to firmware code section.fw_data_ptr: Pointer to firmware data section.fw_core_code_ptr: Pointer to firmware core code section. May beNULL.fw_core_data_ptr: Pointer to firmware core data section. May beNULL.core_code_alloc_size: Total allocation size of core code section. This function is mandatory. Returns:0on success, or- Any appropriate error on failure.
vm_mapβ Map FW object into FW processor address space.pvr_dev: Target PowerVR device.fw_obj: FW object to map. This function is mandatory. Returns:0on success, or- Any appropriate error on failure.
vm_unmapβ Unmap FW object from FW processor address space.pvr_dev: Target PowerVR device.fw_obj: FW object to map. This function is mandatory.get_fw_addr_with_offsetβ Called to get address of object in firmware address space, with offset.fw_obj: Pointer to object.offset: Desired offset from start of object. This function is mandatory. Returns:- Address in firmware address space.
wrapper_initβ Called to initialise FW wrapper.pvr_dev: Target PowerVR device. This function is mandatory. Returns:0on success.- Any appropriate error on failure.
irq_pendingβ Check interrupt status register for pending interrupts.pvr_dev: Target PowerVR device. This function is mandatory.irq_clearβ Clear pending interrupts.pvr_dev: Target PowerVR device. This function is mandatory.has_fixed_data_addrβ Specify whether the firmware fixed data must be loaded at the address given by the firmware layout table. This value is mandatory.
π SEE ALSO π
Kernel file ./drivers/gpu/drm/imagination/pvr_fw.h struct pvr_fw_object(9), struct pvr_fw_mem(9), pvr_fw_object_get_dma_addr(9).
Okay bestie, that's the whole page π
This icon's source/version is ./drivers/gpu/drm/imagination, and it's dated October 2026 for struct pvr_fw_defs(9). Mwah! π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms