<div dir="ltr"><div class="gmail_extra">On Wed, Apr 30, 2014 at 8:25 PM, AJAY KUMAR RAMAKRISHNA SHYMALAMMA <span dir="ltr"><<a href="mailto:ajaykumar.rs@samsung.com" target="_blank">ajaykumar.rs@samsung.com</a>></span> wrote:<br>
</div><div class="gmail_extra"><div class="gmail_quote"><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">




<div>
<p> </p>
<p> </p>
<p>------- <b>Original Message</b> -------</p>
<p><b>Sender</b> : Sean Paul<<a href="mailto:seanpaul@chromium.org" target="_blank">seanpaul@chromium.org</a>></p>
<p><b>Date</b> : Apr 30, 2014 02:34 (GMT+05:30)</p>
<p><b>Title</b> : Re: [RFC 0/2] drm/bridge: panel and chaining</p>
<p> </p>On Tue, Apr 29, 2014 at 3:57 PM, Rob Clark <u></u>wrote:<br>> So I thought it would be easier to explain what I had in mind regarding<br>> Ajay's patchset (to add panel support) in patch form.  Originally Thierry<br>
> had some concerns with adding panel support in bridges ad-hoc.  So this<br>> idea adds the support of chaining multiple bridges, one of which may be<br>> a panal adapter (maybe I should have called it drm_panel_adapter_bridge).<br>
> There are a few rough edges and TODOs, it isn't trying to be complete<br>> yet.<br>><br>> So the one question is about that hunk I had to move in ptn3460 from<br>> pre_enable() to enable().  If that really needs to come before the<br>
> encoder and after the panel, then we should go for a slightly different<br>> approach instead: add a 'struct drm_bridge *next' ptr in 'struct<br>> drm_bridge'.  Then each bridge implementation is responsible to call<br>
> the next in the chain (if not null) at the appropriate points.  That<br>> gives a bit more flexibility to bridges to have something both pre and<br>> post the downstream bridge/panel in each of the pre/enable/disable/post<br>
> steps.<br><br>Arbitrarily chaining bridges seems like a more robust solution to me<br>than the composite bridge.<br><br>For the panel case, I wonder if we could change drm_bridge_init to<br>accept a panel, then we could just chain the panel calls off the<br>
various places the bridge hooks are invoked in the drm layer.<br></div></blockquote><div> </div><div>This idea originated from Rob itself. He wanted to move out drm_panel calls</div><div>from both ptn3460 and ps8622 drivers and he wanted them at a common place.</div>
<div>But Daniel suggested that having a chain of bridges is good. That is how</div><div>composite_bridge was formed.</div><div><br></div><div>I still think we are addressing a very simple problem in a complex manner.</div>
<div>I tried testing this patchset on my board, with some tweaks(explained in PATCH 2/2]),</div><div>and I could get it working. This code basically adds 3 bridge structures to handle the calls,</div><div>but in actual hardware you can map them to only one bridge device.</div>
<div>I am still not sure what's the problem in just having the panel calls around</div><div>the bridge calls in drm core?</div><div><br></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">
<div><br>Feel free to ignore if this has already been explored on the other<br>thread (which I haven't been following).<br><br>Sean<br><br><br><br>><br>><br>> Rob Clark (2):<br>>   drm/bridge: add composite and panel bridges<br>
>   drm/bridge/ptn3460: add panel support<br>><br>>  drivers/gpu/drm/bridge/Makefile          |   2 +<br>>  drivers/gpu/drm/bridge/drm_bridge_util.c | 251 +++++++++++++++++++++++++++++++<br>>  drivers/gpu/drm/bridge/drm_bridge_util.h |  29 ++++<br>
>  drivers/gpu/drm/bridge/ptn3460.c         |  39 ++++-<br>>  include/drm/bridge/ptn3460.h             |   6 +-<br>>  5 files changed, 319 insertions(+), 8 deletions(-)<br>>  create mode 100644 drivers/gpu/drm/bridge/drm_bridge_util.c<br>
>  create mode 100644 drivers/gpu/drm/bridge/drm_bridge_util.h<br>><br>> --<br>> 1.9.0<br>><br>> _______________________________________________<br>> dri-devel mailing list<br>> <a href="mailto:dri-devel@lists.freedesktop.org" target="_blank">dri-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dri-devel</a><br>
<p> </p>
<p> </p>
<p> </p>
<table>
<tbody>
<tr>
<td>
<p><img border="0" src="cid:BEI0XT4NZ5JE@namo.co.kr" width="520"></p></td></tr></tbody></table></div><img src="http://ext.samsung.net/mailcheck/SeenTimeChecker?do=f724009dff7ecde1d2fb06c4049d146643322d83fb2f28313e3e210b43b297f9a63cc3a1558d5f1d7f413fc9b0c595d553cb8b1934afabac2f6aaf3d92ded142cf878f9a26ce15a0" border="0" width="0" height="0"></blockquote>
</div><br></div></div>