<div dir="ltr"><br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Regards,<div>vinay simha</div></div></div></div>
<br><div class="gmail_quote">On Tue, Apr 14, 2015 at 6:45 PM, Rob Clark <span dir="ltr"><<a href="mailto:robdclark@gmail.com" target="_blank">robdclark@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On Mon, Apr 13, 2015 at 5:26 AM, vinay simha<br>
<<a href="mailto:vinaysimha@inforcecomputing.com">vinaysimha@inforcecomputing.com</a>> wrote:<br>
> Hi,<br>
><br>
> i had backported msm-next dsi branch to 3.10.40 kernel<br>
> <a href="https://github.com/vinaysimha/kernel-msm-ifc6410/tree/ifc6540-drm-4.4.4-dsi" target="_blank">https://github.com/vinaysimha/kernel-msm-ifc6410/tree/ifc6540-drm-4.4.4-dsi</a><br>
><br>
> created the panel-truly in drivers/gpu/drm/panel/panel-truly.c- having some<br>
> issue regarding probing this driver even though i added the panel<br>
> description in apq8084-mdss.dtsi.<br>
><br>
> -------------------------------------------------------------<br>
> mdss_dsi0: qcom,mdss_dsi@fd922800 {<br>
><br>
>              panel = <&panel_truly>;<br>
> }<br>
><br>
> panel_truly : panel {<br>
>                   compatible = "truly,otm8018b";<br>
> };<br>
> -------------------------------------------------------------<br>
><br>
> But panel-truly is not getting probed. So created a panel_simple_create, but<br>
> mipi_dsi_device instance is not able to access so i cannot set dsi->lanes,<br>
> dsi->format so the mipi_dsi_generic_write is failing.<br>
<br>
</span>hmm, I think calling panel_simple_create() is not the right way..<br>
<br>
when you of_drm_find_panel(), what happens?  Is it returning -EPROBE_DEFER?<br></blockquote><div> </div><div>yes, because no panel driver is called  since no probe is done for the new panel added in dts. </div><div>dsi_host.c ------node = of_get_child_by_name(msm_host->pdev->dev.of_node,"panel");<br></div><div>expects a node. (eventhough panel node is present it fails)</div><div><br></div><div>i will try the <span style="color:rgb(0,134,179);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.7999992370605px;white-space:pre">of_platform_populate </span>, but not exactly sure it need to be added in mdss_dsi0 tree or mdss_mdp tree.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
hacking around the normal way to get the panel from DT is probably<br>
going to result in the panel not knowing what it's resources are, so<br>
you should probably focus on why it is not working with<br>
of_drm_find_panel().<br>
<br>
Hai Li might have some suggestions.. I've asked them to add some DT<br>
bindings docs for the msm parts of it.  From that snippet above, I<br>
guess you may also need:<br>
<br>
  qcom,mdss_mdp@fd900000 {<br>
     ...<br>
     connectors = <&mdss_hdmi_tx, &mdss_dsi0>;<br>
  }<br>
<br>
or something roughly like that.  Looks like the dsi node would also<br>
require "qcom,dsi-host-index".. and:<br>
<br>
                interrupt-parent = <&mdss_mdp>;<br>
                interrupts = <4 0>;   /* MDP5_HW_INTR_STATUS.INTR_DSI0 */<br>
<br></blockquote><div>i have taken care of this in the dts.</div><div><a href="https://github.com/vinaysimha/kernel-msm-ifc6410/blob/ifc6540-drm-4.4.4-dsi/arch/arm/boot/dts/qcom/apq8084-mdss.dtsi">https://github.com/vinaysimha/kernel-msm-ifc6410/blob/ifc6540-drm-4.4.4-dsi/arch/arm/boot/dts/qcom/apq8084-mdss.dtsi</a> <br></div><div><br></div><div><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.7999992370605px;white-space:pre">mdss_mdp: qcom,mdss_mdp@fd900000 {</span><br></div><div><span style="color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.7999992370605px;white-space:pre">             connectors = <&mdss_hdmi_tx>,<&mdss_dsi0>;</span><br></div><div>}</div><div><font color="#333333" face="Consolas, Liberation Mono, Menlo, Courier, monospace"><span style="font-size:12px;line-height:16.7999992370605px;white-space:pre">mdss_dsi0: qcom,mdss_dsi@fd922800 {
        cell-index = <0>;
        qcom,dsi-host-index = <0>;
        interrupt-parent = <&mdss_mdp>;
        interrupts = <4 0>;   /* MDP5_HW_INTR_STATUS.INTR_DSI */</span></font><br></div><div><span style="font-size:12px;line-height:16.7999992370605px;white-space:pre;color:rgb(51,51,51);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace">        reg-names = "dsi_ctrl", "dsi_phy", "dsi_phy_regulator";</span><br></div><div><font color="#333333" face="Consolas, Liberation Mono, Menlo, Courier, monospace"><span style="font-size:12px;line-height:16.7999992370605px;white-space:pre"><div style>        /*reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";*/</div><div style><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;line-height:normal;white-space:normal">              panel = <&panel_truly>;</span><br></div><div style>}</div><div style><br></div><div style><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;line-height:normal;white-space:normal">panel_truly : panel {</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;line-height:normal;white-space:normal"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;line-height:normal;white-space:normal">                  compatible = "truly,otm8018b";</span></div><div style><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;line-height:normal;white-space:normal">};</span><br></div></span></font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
BR,<br>
-R<br>
<span class=""><br>
> But if i hardcode dsi->lanes in<br>
> msm_dsi_host_power_on of drivers/gpu/drm/msm/dsi/dsi_host.c it will work but<br>
> still i cannot use the<br>
> mipi_dsi_generic_write for panel settings.<br>
><br>
> Any suggestions?<br>
> Is there any reference panel driver and .dts files to enable the dsi on<br>
> 8084?<br>
><br>
> Regards,<br>
> vinay simha<br>
><br>
</span>> _______________________________________________<br>
> Freedreno mailing list<br>
> <a href="mailto:Freedreno@lists.freedesktop.org">Freedreno@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/freedreno" target="_blank">http://lists.freedesktop.org/mailman/listinfo/freedreno</a><br>
><br>
</blockquote></div><br></div></div>