drivers/gpu/drm/meson/meson_vclk.c

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/meson/meson_vclk.c

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/meson/meson_vclk.c
Extension
.c
Size
32955 bytes
Lines
1132
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: exported/initcall integration point
Status
integration 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 meson_vclk_params {
	unsigned long long pll_freq;
	unsigned long long phy_freq;
	unsigned long long vclk_freq;
	unsigned long long venc_freq;
	unsigned long long pixel_freq;
	unsigned int pll_od1;
	unsigned int pll_od2;
	unsigned int pll_od3;
	unsigned int vid_pll_div;
	unsigned int vclk_div;
} params[] = {
	[MESON_VCLK_HDMI_ENCI_54000] = {
		.pll_freq = 4320000000,
		.phy_freq = 270000000,
		.vclk_freq = 54000000,
		.venc_freq = 54000000,
		.pixel_freq = 54000000,
		.pll_od1 = 4,
		.pll_od2 = 4,
		.pll_od3 = 1,
		.vid_pll_div = VID_PLL_DIV_5,
		.vclk_div = 1,
	},
	[MESON_VCLK_HDMI_DDR_54000] = {
		.pll_freq = 4320000000,
		.phy_freq = 270000000,
		.vclk_freq = 54000000,
		.venc_freq = 54000000,
		.pixel_freq = 27000000,
		.pll_od1 = 4,
		.pll_od2 = 4,
		.pll_od3 = 1,
		.vid_pll_div = VID_PLL_DIV_5,
		.vclk_div = 1,
	},
	[MESON_VCLK_HDMI_DDR_148500] = {
		.pll_freq = 2970000000,
		.phy_freq = 742500000,
		.vclk_freq = 148500000,
		.venc_freq = 148500000,
		.pixel_freq = 74250000,
		.pll_od1 = 4,
		.pll_od2 = 1,
		.pll_od3 = 1,
		.vid_pll_div = VID_PLL_DIV_5,
		.vclk_div = 1,
	},
	[MESON_VCLK_HDMI_74250] = {
		.pll_freq = 2970000000,
		.phy_freq = 742500000,
		.vclk_freq = 74250000,
		.venc_freq = 74250000,
		.pixel_freq = 74250000,
		.pll_od1 = 2,
		.pll_od2 = 2,
		.pll_od3 = 2,
		.vid_pll_div = VID_PLL_DIV_5,
		.vclk_div = 1,
	},
	[MESON_VCLK_HDMI_148500] = {
		.pll_freq = 2970000000,
		.phy_freq = 1485000000,
		.vclk_freq = 148500000,
		.venc_freq = 148500000,
		.pixel_freq = 148500000,
		.pll_od1 = 1,
		.pll_od2 = 2,
		.pll_od3 = 2,
		.vid_pll_div = VID_PLL_DIV_5,
		.vclk_div = 1,
	},
	[MESON_VCLK_HDMI_297000] = {
		.pll_freq = 5940000000,
		.phy_freq = 2970000000,
		.venc_freq = 297000000,
		.vclk_freq = 297000000,
		.pixel_freq = 297000000,
		.pll_od1 = 2,
		.pll_od2 = 1,
		.pll_od3 = 1,
		.vid_pll_div = VID_PLL_DIV_5,
		.vclk_div = 2,
	},
	[MESON_VCLK_HDMI_594000] = {
		.pll_freq = 5940000000,
		.phy_freq = 5940000000,
		.venc_freq = 594000000,
		.vclk_freq = 594000000,
		.pixel_freq = 594000000,

Annotation

Implementation Notes