<div dir="ltr">Hai,<div><br></div><div>added the panel in dts, now the new panel-truly is getting probed. updated my branch</div><div><a href="https://github.com/vinaysimha/kernel-msm-ifc6410/commits/ifc6540-drm-4.4.4-dsi">https://github.com/vinaysimha/kernel-msm-ifc6410/commits/ifc6540-drm-4.4.4-dsi</a><br></div><div><br></div><div>panel backlight is up, hdmi display is coming. No data in the dsi.</div><div>i had not used this function <span style="font-size:12.8000001907349px">dsi_host_init_panel_gpios, since gpiolib.c is different from 4.x kernel to 3.10.40 kernel. i handled the gpios in panel-truly.c</span></div><div><br></div><div>Does these reg address are correct ?</div><div><br></div><div>mdss_dsi0: qcom,mdss_dsi@fd922800<br></div><div><div>              reg = <span class="" style="white-space:pre">        </span><0xfd922800 0x200>,</div><div><span class="" style="white-space:pre">                  </span><0xfd922b00 0x20c>,</div><div><span class="" style="white-space:pre">                  </span><0xfd922d80 0x20>,</div><div><span class="" style="white-space:pre">                   </span><0xfd828000 0x108>;</div><div><span class="" style="white-space:pre">          </span>reg-names = "dsi_ctrl", "dsi_phy", "dsi_phy_regulator", "mmss_misc_phys";</div><div><br></div><div>}</div><div class="gmail_extra"><br></div><div class="gmail_extra">When i tried the modetest, </div><div class="gmail_extra">hdmi encoders is set properly to 32 , crtc 20</div><div class="gmail_extra">But for the dsi encoder set to 1 is not correct i guess. It should be 29.</div><div class="gmail_extra">Any suggestions?</div><div class="gmail_extra"><br></div><div class="gmail_extra">-----------------------------------</div><div class="gmail_extra"><div class="gmail_extra">Encoders:</div><div class="gmail_extra">id<span class="" style="white-space:pre">      </span>crtc<span class="" style="white-space:pre">      </span>type<span class="" style="white-space:pre">      </span>possible crtcs<span class="" style="white-space:pre">    </span>possible clones<span class="" style="white-space:pre">   </span></div><div class="gmail_extra">29<span class="" style="white-space:pre">   </span>18<span class="" style="white-space:pre">        </span>(invalid)<span class="" style="white-space:pre"> </span>0x0000000f<span class="" style="white-space:pre">        </span>0x00000000</div><div class="gmail_extra">30<span class="" style="white-space:pre"> </span>0<span class="" style="white-space:pre"> </span>(invalid)<span class="" style="white-space:pre"> </span>0x0000000f<span class="" style="white-space:pre">        </span>0x00000000</div><div class="gmail_extra">32<span class="" style="white-space:pre"> </span>20<span class="" style="white-space:pre">        </span>TMDS<span class="" style="white-space:pre">      </span>0x0000000f<span class="" style="white-space:pre">        </span>0x00000000</div><div class="gmail_extra"><br></div><div class="gmail_extra">************************************************</div><div class="gmail_extra">Connectors:</div><div class="gmail_extra">id<span class="" style="white-space:pre">     </span>encoder<span class="" style="white-space:pre">   </span>status<span class="" style="white-space:pre">            </span>type<span class="" style="white-space:pre">      </span>size (mm)<span class="" style="white-space:pre"> </span>modes<span class="" style="white-space:pre">     </span>encoders</div><div class="gmail_extra">31<span class="" style="white-space:pre">   </span>29<span class="" style="white-space:pre">        </span>connected<span class="" style="white-space:pre">     </span>(invalid)<span class="" style="white-space:pre">     </span>0x0<span class="" style="white-space:pre">                            </span>1<span class="" style="white-space:pre">    </span></div><div class="gmail_extra"><span class="" style="white-space:pre"><span style="white-space:normal">************************************************</span><br></span></div><div class="gmail_extra">  modes:</div><div class="gmail_extra"><span class="" style="white-space:pre">    </span>name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)</div><div class="gmail_extra">  480x864 60 480 526 530 574 864 879 880 896 flags: ; type: </div><div class="gmail_extra">  props:</div><div class="gmail_extra"><span class="" style="white-space:pre">    </span>1 EDID:</div><div class="gmail_extra"><span class="" style="white-space:pre">              </span>flags: immutable blob</div><div class="gmail_extra"><span class="" style="white-space:pre">                </span>blobs:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><span class="" style="white-space:pre">                </span>value:</div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>2 DPMS:</div><div class="gmail_extra"><span class="" style="white-space:pre">              </span>flags: enum</div><div class="gmail_extra"><span class="" style="white-space:pre">          </span>enums: On=0 Standby=1 Suspend=2 Off=3</div><div class="gmail_extra"><span class="" style="white-space:pre">                </span>value: 0</div><div class="gmail_extra">***********************************************<br></div><div class="gmail_extra">33<span class="" style="white-space:pre">     </span>32<span class="" style="white-space:pre">        </span>connected<span class="" style="white-space:pre"> </span>HDMI-A<span class="" style="white-space:pre">    </span>480x270<span class="" style="white-space:pre">           </span>28<span class="" style="white-space:pre">        </span>32</div><div class="gmail_extra">***********************************************<br></div><div class="gmail_extra">  modes:</div><div class="gmail_extra"><span class="" style="white-space:pre">       </span>name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)</div><div class="gmail_extra">  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: preferred, driver</div><div class="gmail_extra">  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: driver</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">CRTCs:</div><div class="gmail_extra">id<span class="" style="white-space:pre">     </span>fb<span class="" style="white-space:pre">        </span>pos<span class="" style="white-space:pre">       </span>size</div><div class="gmail_extra">18<span class="" style="white-space:pre">       </span>60<span class="" style="white-space:pre">        </span>(0,0)<span class="" style="white-space:pre">     </span>(480x864)</div><div class="gmail_extra">  480x864 60 480 526 530 574 864 879 880 896 flags: ; type: </div><div class="gmail_extra">  props:</div><div class="gmail_extra">20<span class="" style="white-space:pre"> </span>60<span class="" style="white-space:pre">        </span>(0,0)<span class="" style="white-space:pre">     </span>(1920x1080)</div><div class="gmail_extra">  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 flags: phsync, pvsync; type: preferred, driver</div><div class="gmail_extra">  props:</div></div><div class="gmail_extra">-----------------------------------------------------</div><div class="gmail_extra"><br></div><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 8:15 PM,  <span dir="ltr"><<a href="mailto:hali@codeaurora.org" target="_blank">hali@codeaurora.org</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">Hi Vinay,<br>
<div><div class="h5"><br>
> 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<br>
>> 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,<br>
>> but<br>
>> mipi_dsi_device instance is not able to access so i cannot set<br>
>> dsi->lanes,<br>
>> dsi->format so the mipi_dsi_generic_write is failing.<br>
><br>
> 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<br>
> -EPROBE_DEFER?<br>
><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>
><br>
> BR,<br>
> -R<br>
><br>
<br>
</div></div>The panel node needs to be a child node of the DSI host node and have a<br>
*reg* entry to specify its virtual channel number, which will let<br>
mipi_dsi_host_register() find the panel and attach it to the host.<br>
<br>
Also, panel node should include some gpios if they are on your board,<br>
please see dsi_host_init_panel_gpios().<br>
<br>
So the host node in DT board file should be looks like this:<br>
&mdss_dsi0 {<br>
        panel@0 {<br>
                reg = <0>;<br>
                compatible = "...";<br>
                disp-enable-gpios = <...>;<br>
                disp-te-gpios = <...>;<br>
<br>
                ...<br>
                (other entries needed by panel driver)<br>
        };<br>
};<br>
<br>
The binding file change is under internal legal and tech review. I will<br>
push it once it is ready.<br>
<br>
Thanks,<br>
Hai<br>
<div class=""><div class="h5">>> 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<br>
>> 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>
>> _______________________________________________<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>
><br>
<br>
<br>
</div></div></blockquote></div><br></div></div></div>