pe = devm_kzalloc(dev, sizeof(*pe), GFP_KERNEL); if (!pe) return -ENOMEM;
pe->clk_axi = devm_clk_get(dev, NULL); if (IS_ERR(pe->clk_axi)) return dev_err_probe(dev, PTR_ERR(pe->clk_axi), "failed to get AXI clock\n");
pe->dev = dev;
dev_set_drvdata(dev, pe);
ret = devm_pm_runtime_enable(dev); if (ret) return ret;
dc_drm->pe = pe;
return 0;
}
/* * It's possible to get the child device pointers from the child component * bind callbacks, but it depends on the component helper behavior to bind * the pixel engine component first. To avoid the dependency, post bind to * get the pointers from dc_drm in a safe manner.
*/ void dc_pe_post_bind(struct dc_drm_device *dc_drm)
{ struct dc_pe *pe = dc_drm->pe; int i;
for (i = 0; i < DC_DISPLAYS; i++) {
pe->cf_safe[i] = dc_drm->cf_safe[i];
pe->cf_cont[i] = dc_drm->cf_cont[i];
pe->ed_safe[i] = dc_drm->ed_safe[i];
pe->ed_cont[i] = dc_drm->ed_cont[i];
}
for (i = 0; i < DC_DISP_FU_CNT; i++)
pe->fu_disp[i] = dc_drm->fu_disp[i];
for (i = 0; i < DC_LB_CNT; i++)
pe->lb[i] = dc_drm->lb[i];
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.