drivers/gpu/drm/amd/display/dc/mmhubbub/dcn20/dcn20_mmhubbub.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/mmhubbub/dcn20/dcn20_mmhubbub.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/dc/mmhubbub/dcn20/dcn20_mmhubbub.h
Extension
.h
Size
24643 bytes
Lines
518
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

struct dcn20_mmhubbub_registers {
	MCIF_WB_REG_VARIABLE_LIST_DCN2_0;
};


struct dcn20_mmhubbub_mask {
	MCIF_WB_REG_FIELD_LIST_DCN2_0(uint32_t);
};

struct dcn20_mmhubbub_shift {
	MCIF_WB_REG_FIELD_LIST_DCN2_0(uint8_t);
};

struct dcn20_mmhubbub {
	struct mcif_wb base;
	const struct dcn20_mmhubbub_registers *mcif_wb_regs;
	const struct dcn20_mmhubbub_shift *mcif_wb_shift;
	const struct dcn20_mmhubbub_mask *mcif_wb_mask;
};

void mmhubbub2_config_mcif_irq(struct mcif_wb *mcif_wb,
	struct mcif_irq_params *params);

void mmhubbub2_enable_mcif(struct mcif_wb *mcif_wb);

void mmhubbub2_disable_mcif(struct mcif_wb *mcif_wb);

void mcifwb2_dump_frame(struct mcif_wb *mcif_wb,
	struct mcif_buf_params *mcif_params,
	enum dwb_scaler_mode out_format,
	unsigned int dest_width,
	unsigned int dest_height,
	struct mcif_wb_frame_dump_info *dump_info,
	unsigned char *luma_buffer,
	unsigned char *chroma_buffer,
	unsigned char *dest_luma_buffer,
	unsigned char *dest_chroma_buffer);

void dcn20_mmhubbub_construct(struct dcn20_mmhubbub *mcif_wb20,
	struct dc_context *ctx,
	const struct dcn20_mmhubbub_registers *mcif_wb_regs,
	const struct dcn20_mmhubbub_shift *mcif_wb_shift,
	const struct dcn20_mmhubbub_mask *mcif_wb_mask,
	int inst);

#endif

Annotation

Implementation Notes