<feed xmlns='http://www.w3.org/2005/Atom'>
<title>blackbird-op-linux/drivers/gpu/drm/msm/dsi/dsi_manager.c, branch master</title>
<subtitle>Blackbird™ Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/blackbird-op-linux/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/blackbird-op-linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/'/>
<updated>2020-01-20T04:09:43+00:00</updated>
<entry>
<title>Merge tag 'drm-msm-next-2020-01-14' of https://gitlab.freedesktop.org/drm/msm into drm-next</title>
<updated>2020-01-20T04:09:43+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2020-01-20T04:09:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=d7ca2d19c751b6715e9cb899a6b94f47b3499d02'/>
<id>urn:sha1:d7ca2d19c751b6715e9cb899a6b94f47b3499d02</id>
<content type='text'>
+ sc7180 display + DSI support
+ a618 (sc7180) support
+ more UBWC (bandwidth compression) support
+ various cleanups to handle devices that use vs don't
  use zap fw, etc
+ usual random cleanups and fixes

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
From: Rob Clark &lt;robdclark@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/ &lt;CAF6AEGvv03ifuP0tp7-dmqZtr1iS=s8Vc=az8BNGtEoSMD-dkw@mail.gmail.com
</content>
</entry>
<entry>
<title>drm/msm/dsi: Delay drm_panel_enable() until dsi_mgr_bridge_enable()</title>
<updated>2020-01-03T00:01:30+00:00</updated>
<author>
<name>Stephan Gerhold</name>
<email>stephan@gerhold.net</email>
</author>
<published>2019-11-08T21:28:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=e5400750fafdaeee136e9fc3d1dde83d9251ee63'/>
<id>urn:sha1:e5400750fafdaeee136e9fc3d1dde83d9251ee63</id>
<content type='text'>
At the moment, the MSM DSI driver calls drm_panel_enable() rather early
from the DSI bridge pre_enable() function. At this point, the encoder
(e.g. MDP5) is not enabled, so we have not started transmitting
video data.

However, the drm_panel_funcs documentation states that enable()
should be called on the panel *after* video data is being transmitted:

  The .prepare() function is typically called before the display controller
  starts to transmit video data. [...] After the display controller has
  started transmitting video data, it's safe to call the .enable() function.
  This will typically enable the backlight to make the image on screen visible.

Calling drm_panel_enable() too early causes problems for some panels:
The TFT LCD panel used in the Samsung Galaxy Tab A 9.7 (2015) (APQ8016)
uses the MIPI_DCS_SET_DISPLAY_BRIGHTNESS command to control
backlight/brightness of the screen. The enable sequence is therefore:

  drm_panel_enable()
    drm_panel_funcs.enable():
      backlight_enable()
        backlight_ops.update_status():
          mipi_dsi_dcs_set_display_brightness(dsi, bl-&gt;props.brightness);

The panel seems to silently ignore the MIPI_DCS_SET_DISPLAY_BRIGHTNESS
command if it is sent too early. This prevents setting the initial brightness,
causing the display to be enabled with minimum brightness instead.
Adding various delays in the panel initialization code does not result
in any difference.

On the other hand, moving drm_panel_enable() to dsi_mgr_bridge_enable()
fixes the problem, indicating that the panel requires the video stream
to be active before the brightness command is accepted.

Therefore: Move drm_panel_enable() to dsi_mgr_bridge_enable() to
delay calling it until video data is being transmitted.

Move drm_panel_disable() to dsi_mgr_bridge_disable() for similar reasons.
(This is not strictly required for the panel affected above...)

Tested-by: Jasper Korten &lt;jja2000@gmail.com&gt;
Signed-off-by: Stephan Gerhold &lt;stephan@gerhold.net&gt;
Tested-by: Jeffrey Hugo &lt;jeffrey.l.hugo@gmail.com&gt;
Reviewed-by: Jeffrey Hugo &lt;jeffrey.l.hugo@gmail.com&gt;
Signed-off-by: Rob Clark &lt;robdclark@chromium.org&gt;
</content>
</entry>
<entry>
<title>drm/panel: decouple connector from drm_panel</title>
<updated>2019-12-09T21:57:26+00:00</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@ravnborg.org</email>
</author>
<published>2019-12-07T14:03:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=06c4a9c2ae606a8c9fab303613234804b9c45a64'/>
<id>urn:sha1:06c4a9c2ae606a8c9fab303613234804b9c45a64</id>
<content type='text'>
To facilitate moving connector creation to display drivers,
decouple the drm_connector from drm_panel.

This patch adds a connector argument to drm_panel_get_modes().

All users of drm_panel_get_modes() already had the connector
available, so updating users was trivial.

With this patch drm_panel no longer keeps a reference to the drm_connector.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Jeffrey Hugo &lt;jeffrey.l.hugo@gmail.com&gt;
Cc: Thierry Reding &lt;thierry.reding@gmail.com&gt;
Cc: Laurent Pinchart &lt;Laurent.pinchart@ideasonboard.com&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Neil Armstrong &lt;narmstrong@baylibre.com&gt;
Cc: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Cc: Jernej Skrabec &lt;jernej.skrabec@siol.net&gt;
Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Maxime Ripard &lt;mripard@kernel.org&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Inki Dae &lt;inki.dae@samsung.com&gt;
Cc: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
Cc: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: Kukjin Kim &lt;kgene@kernel.org&gt;
Cc: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Cc: Stefan Agner &lt;stefan@agner.ch&gt;
Cc: Alison Wang &lt;alison.wang@nxp.com&gt;
Cc: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Cc: Shawn Guo &lt;shawnguo@kernel.org&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Pengutronix Kernel Team &lt;kernel@pengutronix.de&gt;
Cc: Fabio Estevam &lt;festevam@gmail.com&gt;
Cc: NXP Linux Team &lt;linux-imx@nxp.com&gt;
Cc: CK Hu &lt;ck.hu@mediatek.com&gt;
Cc: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
Cc: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Cc: Kieran Bingham &lt;kieran.bingham+renesas@ideasonboard.com&gt;
Cc: Sandy Huang &lt;hjc@rock-chips.com&gt;
Cc: "Heiko Stübner" &lt;heiko@sntech.de&gt;
Cc: Benjamin Gaignard &lt;benjamin.gaignard@linaro.org&gt;
Cc: Vincent Abriou &lt;vincent.abriou@st.com&gt;
Cc: Chen-Yu Tsai &lt;wens@csie.org&gt;
Cc: Jonathan Hunter &lt;jonathanh@nvidia.com&gt;
Cc: Torsten Duwe &lt;duwe@lst.de&gt;
Cc: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Cc: Icenowy Zheng &lt;icenowy@aosc.io&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Cc: Hariprasad Kelam &lt;hariprasad.kelam@gmail.com&gt;
Cc: Alexios Zavras &lt;alexios.zavras@intel.com&gt;
Cc: Brian Masney &lt;masneyb@onstation.org&gt;
Cc: Rob Clark &lt;robdclark@chromium.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Allison Randal &lt;allison@lohutok.net&gt;
Cc: Shayenne Moura &lt;shayenneluzmoura@gmail.com&gt;
Cc: Abhinav Kumar &lt;abhinavk@codeaurora.org&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Cc: linux-tegra@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-7-sam@ravnborg.org
</content>
</entry>
<entry>
<title>Merge tag 'drm-msm-next-2019-06-25' of https://gitlab.freedesktop.org/drm/msm into drm-next</title>
<updated>2019-06-28T00:16:40+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2019-06-27T23:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=53e155f2bbd42df7e8bea87be78f0d60fe9fa122'/>
<id>urn:sha1:53e155f2bbd42df7e8bea87be78f0d60fe9fa122</id>
<content type='text'>
+ usual progress on cleanups
+ dsi vs EPROBE_DEFER fixes
+ msm8998 (snapdragon 835 support)
  + a540 gpu support (mesa support already landed)
  + dsi, dsi-phy support
+ mdp5 and dpu interconnect (bus/memory scaling) support
+ initial prep work for per-context pagetables (at least the parts that
  don't have external dependencies like iommu/arm-smmu)

There is one more patch for fixing DSI cmd mode panels (part of a set of
patches to get things working on nexus5), but it would be conflicty with
1cff7440a86e04a613665803b42034 in drm-next without rebasing or back-merge,
and since it doesn't conflict with anything in msm-next, I think it best
if Sean merges that through drm-mix-fixes instead.

(In other news, I've been making some progress w/ getting efifb working
properly on sdm850 laptop without horrible hacks, and drm/msm + clk stuff
not totally falling over when bootloader enables display and things are
already running when driver probes.. but not quite ready yet, hopefully
we can post some of that for 5.4.. should help for both the sdm835 and
sdm850 laptops.)

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
From: Rob Clark &lt;robdclark@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGsj3N4XzDLSDoa+4RHZ9wXObYmhcep0M3LjnRg48BeLvg@mail.gmail.com
</content>
</entry>
<entry>
<title>drm/msm/dsi: Move setup_encoder to modeset_init</title>
<updated>2019-06-20T18:42:19+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2019-06-17T20:12:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=03436e3ec69c8e026224a5f172e5d0431f722305'/>
<id>urn:sha1:03436e3ec69c8e026224a5f172e5d0431f722305</id>
<content type='text'>
Now that the panel probe/setup is in the modeset path, we can call
dsi_manager_setup_encoder() in a common place for both internal and
external bridge setups.

Reviewed-by: Rob Clark &lt;robdclark@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-10-sean@poorly.run
</content>
</entry>
<entry>
<title>drm/msm/dsi: Move dsi panel init into modeset init path</title>
<updated>2019-06-20T18:42:17+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2019-06-17T20:12:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=6d5e78406991a144b7c44cd57b21e290fdb1d227'/>
<id>urn:sha1:6d5e78406991a144b7c44cd57b21e290fdb1d227</id>
<content type='text'>
Since deferred probe from the modeset init path now works, we can move
the panel initialization from detect() into connector init. This
avoids doing work in detect() and hopefully will result in a more
deterministic boot sequence between devices with a dsi panel, and those
with an external bridge.

Reviewed-by: Rob Clark &lt;robdclark@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-9-sean@poorly.run
</content>
</entry>
<entry>
<title>drm/msm/dsi: Use the new setup_encoder function in attach_dsi_device</title>
<updated>2019-06-20T18:42:15+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2019-06-17T20:12:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=970524b07a9c1d0434266a0f32825631bc206848'/>
<id>urn:sha1:970524b07a9c1d0434266a0f32825631bc206848</id>
<content type='text'>
Now that we have a function to call set_encoder_mode() for us, use it.

Reviewed-by: Rob Clark &lt;robdclark@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-8-sean@poorly.run
</content>
</entry>
<entry>
<title>drm/msm/dsi: Simplify the logic in msm_dsi_manager_panel_init()</title>
<updated>2019-06-20T18:42:13+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2019-06-17T20:12:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=faccd71cec5516b1f79e8b40757563617c886171'/>
<id>urn:sha1:faccd71cec5516b1f79e8b40757563617c886171</id>
<content type='text'>
This patch moves things around a bit to be a little more readable and
pulls out the set_encoder_mode() call into its own function for later
use.

Reviewed-by: Rob Clark &lt;robdclark@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-7-sean@poorly.run
</content>
</entry>
<entry>
<title>drm/msm/dsi: Pull out panel init code into function</title>
<updated>2019-06-20T18:42:11+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2019-06-17T20:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=4f229b41386fbf290505411964c8ed25f48e1656'/>
<id>urn:sha1:4f229b41386fbf290505411964c8ed25f48e1656</id>
<content type='text'>
Pull all of the panel init code out of detect() and put it in its own
function. This will be useful in future patches where it's moved from
detect().

Reviewed-by: Rob Clark &lt;robdclark@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-6-sean@poorly.run
</content>
</entry>
<entry>
<title>drm/msm/dsi: Don't store dsi host mode_flags in msm_dsi</title>
<updated>2019-06-20T18:42:09+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2019-06-17T20:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=09951aaa7229b253b0e00979d6c6d17b20e16fe4'/>
<id>urn:sha1:09951aaa7229b253b0e00979d6c6d17b20e16fe4</id>
<content type='text'>
It's a bit dangerous to store the flags in msm_dsi since there's no way to
tell when they're populated. Fortunately the only place that uses them
is the same place that fills them. So just use a local variable and
delete the struct member.

Reviewed-by: Rob Clark &lt;robdclark@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-5-sean@poorly.run
</content>
</entry>
</feed>
