[Intel-gfx] [RFC v2 4/4] drm/i915: Enable DSI panel enable/disable based on PMIC

Daniel Vetter daniel at ffwll.ch
Mon Jan 12 15:11:08 PST 2015


On Mon, Jan 12, 2015 at 01:53:08PM +0530, Kumar, Shobhit wrote:
> >
> >>
> >>  static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
> >>@@ -896,6 +901,17 @@ void intel_dsi_init(struct drm_device *dev)
> >>   fixed_mode->type |= DRM_MODE_TYPE_PREFERRED;
> >>   intel_panel_init(&intel_connector->panel, fixed_mode, NULL);
> >>
> >>+ /* Initialize the PMIC based drm_panel if available on the platform */
> >>+ if (intel_dsi->pps_blc == PPS_BLC_PMIC) {
> >>+ intel_dsi->panel = name_drm_find_panel("crystal_cove_panel");
> >>+ if (!intel_dsi->panel) {
> >>+ DRM_ERROR("PMIC Panel control will not work !!\n");
> >>+ return;
> >>+ }
> >>+
> >>+ drm_panel_attach(intel_dsi->panel, connector);
> >>+ }
> >>+
> >
> >I think there's an init order problem here. If the panel driver hasn't
> >been registered yet this will fail. I don't know what the answer to that
> >should be.
>
> Agree and for my testing I made both PMIC and This panel driver as in-built
> and i915 as module. I was hoping for some answer !!

The answer is to use the component framework and delayed probing. Afaik
there's unfortunately not yet any ready-made integration with drm
panel/bridge yet since this is all very much in flux.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the Intel-gfx mailing list