<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/gpu/drm/bridge, branch v4.14.44</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>drm/bridge: vga-dac: Fix edid memory leak</title>
<updated>2018-05-09T07:51:54+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2018-04-20T18:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=43b3ba6ece54f555e4e5857cccd23cb60cb19b8e'/>
<id>43b3ba6ece54f555e4e5857cccd23cb60cb19b8e</id>
<content type='text'>
commit 49ceda9de2da4d1827941d06701f3017c27c1855 upstream.

edid should be freed once it's finished being used.

Fixes: 56fe8b6f4991 ("drm/bridge: Add RGB to VGA bridge support")
Cc: Rob Herring &lt;robh@kernel.org&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Laurent Pinchart &lt;Laurent.pinchart@ideasonboard.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.9+
Reviewed-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20180420190007.1572-1-seanpaul@chromium.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 49ceda9de2da4d1827941d06701f3017c27c1855 upstream.

edid should be freed once it's finished being used.

Fixes: 56fe8b6f4991 ("drm/bridge: Add RGB to VGA bridge support")
Cc: Rob Herring &lt;robh@kernel.org&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Laurent Pinchart &lt;Laurent.pinchart@ideasonboard.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.9+
Reviewed-by: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20180420190007.1572-1-seanpaul@chromium.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs</title>
<updated>2018-04-29T09:33:10+00:00</updated>
<author>
<name>Neil Armstrong</name>
<email>narmstrong@baylibre.com</email>
</author>
<published>2018-02-23T11:44:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=00c54b3544112fa2e19a6c19fb1fa9cc4802b0d4'/>
<id>00c54b3544112fa2e19a6c19fb1fa9cc4802b0d4</id>
<content type='text'>
commit 9c305eb442f3b371fc722ade827bbf673514123e upstream.

The Amlogic Meson GX SoCs, embedded the v2.01a controller, has been also
identified needing this workaround.
This patch adds the corresponding version to enable a single iteration for
this specific version.

Fixes: be41fc55f1aa ("drm: bridge: dw-hdmi: Handle overflow workaround based on device version")
Acked-by: Archit Taneja &lt;architt@codeaurora.org&gt;
[narmstrong: s/identifies/identified and rebased against Jernej's change]
Signed-off-by: Neil Armstrong &lt;narmstrong@baylibre.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1519386277-25902-1-git-send-email-narmstrong@baylibre.com
[narmstrong: v4.14 to v4.16 backport]
Cc: &lt;stable@vger.kernel.org&gt; # 4.14.x
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9c305eb442f3b371fc722ade827bbf673514123e upstream.

The Amlogic Meson GX SoCs, embedded the v2.01a controller, has been also
identified needing this workaround.
This patch adds the corresponding version to enable a single iteration for
this specific version.

Fixes: be41fc55f1aa ("drm: bridge: dw-hdmi: Handle overflow workaround based on device version")
Acked-by: Archit Taneja &lt;architt@codeaurora.org&gt;
[narmstrong: s/identifies/identified and rebased against Jernej's change]
Signed-off-by: Neil Armstrong &lt;narmstrong@baylibre.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1519386277-25902-1-git-send-email-narmstrong@baylibre.com
[narmstrong: v4.14 to v4.16 backport]
Cc: &lt;stable@vger.kernel.org&gt; # 4.14.x
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix 1-lane behavior</title>
<updated>2018-02-03T16:39:14+00:00</updated>
<author>
<name>Andrey Gusakov</name>
<email>andrey.gusakov@cogentembedded.com</email>
</author>
<published>2017-11-07T16:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=464711a74ce3238c7ca07f903bed3189efd23831'/>
<id>464711a74ce3238c7ca07f903bed3189efd23831</id>
<content type='text'>
[ Upstream commit 4dbd6c03fbf88299c573d676838896c6e06aade2 ]

Use drm_dp_channel_eq_ok helper

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-7-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 4dbd6c03fbf88299c573d676838896c6e06aade2 ]

Use drm_dp_channel_eq_ok helper

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-7-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix AUXDATAn registers access</title>
<updated>2018-02-03T16:39:13+00:00</updated>
<author>
<name>Andrey Gusakov</name>
<email>andrey.gusakov@cogentembedded.com</email>
</author>
<published>2017-11-07T16:56:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=340c9a4ba3031f87fcbfa0d89332d4a5aa468aaf'/>
<id>340c9a4ba3031f87fcbfa0d89332d4a5aa468aaf</id>
<content type='text'>
[ Upstream commit 9217c1abbc145a77d65c476cf2004a3df02104c7 ]

First four bytes should go to DP0_AUXWDATA0. Due to bug if
len &gt; 4 first four bytes was writen to DP0_AUXWDATA1 and all
data get shifted by 4 bytes. Fix it.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-6-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 9217c1abbc145a77d65c476cf2004a3df02104c7 ]

First four bytes should go to DP0_AUXWDATA0. Due to bug if
len &gt; 4 first four bytes was writen to DP0_AUXWDATA1 and all
data get shifted by 4 bytes. Fix it.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-6-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix timing calculations</title>
<updated>2018-02-03T16:39:13+00:00</updated>
<author>
<name>Andrey Gusakov</name>
<email>andrey.gusakov@cogentembedded.com</email>
</author>
<published>2017-11-07T16:56:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b536eb986e45e2347bd4cfaeff0b48d69fde52d1'/>
<id>b536eb986e45e2347bd4cfaeff0b48d69fde52d1</id>
<content type='text'>
[ Upstream commit 66d1c3b94d5d59e4325e61a78d520f92c043d645 ]

Fields in HTIM01 and HTIM02 regs should be even.
Recomended thresh_dly value is max_tu_symbol.
Remove set of VPCTRL0.VSDELAY as it is related to DSI input
interface. Currently driver supports only DPI.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-5-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 66d1c3b94d5d59e4325e61a78d520f92c043d645 ]

Fields in HTIM01 and HTIM02 regs should be even.
Recomended thresh_dly value is max_tu_symbol.
Remove set of VPCTRL0.VSDELAY as it is related to DSI input
interface. Currently driver supports only DPI.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-5-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix DP0_MISC register set</title>
<updated>2018-02-03T16:39:13+00:00</updated>
<author>
<name>Andrey Gusakov</name>
<email>andrey.gusakov@cogentembedded.com</email>
</author>
<published>2017-11-07T16:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0106381870a49d1ce47501410b4a7433e505aa71'/>
<id>0106381870a49d1ce47501410b4a7433e505aa71</id>
<content type='text'>
[ Upstream commit f3b8adbe1911f66fd3cab1aaa74f0f66b7ceda25 ]

Remove shift from TU_SIZE_RECOMMENDED define as it used to
calculate max_tu_symbols.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-4-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit f3b8adbe1911f66fd3cab1aaa74f0f66b7ceda25 ]

Remove shift from TU_SIZE_RECOMMENDED define as it used to
calculate max_tu_symbols.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-4-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: filter out too high modes</title>
<updated>2018-02-03T16:39:13+00:00</updated>
<author>
<name>Andrey Gusakov</name>
<email>andrey.gusakov@cogentembedded.com</email>
</author>
<published>2017-11-07T16:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=859bacc13cbb34a86f6140430f9fdb767c33d7d4'/>
<id>859bacc13cbb34a86f6140430f9fdb767c33d7d4</id>
<content type='text'>
[ Upstream commit 99fc8e963a4c0203dba26a77cf737db6081bca14 ]

Pixel clock limitation for DPI is 154 MHz. Do not accept modes
with higher pixel clock rate.

Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-3-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 99fc8e963a4c0203dba26a77cf737db6081bca14 ]

Pixel clock limitation for DPI is 154 MHz. Do not accept modes
with higher pixel clock rate.

Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-3-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: do no fail on hi-res displays</title>
<updated>2018-02-03T16:39:12+00:00</updated>
<author>
<name>Andrey Gusakov</name>
<email>andrey.gusakov@cogentembedded.com</email>
</author>
<published>2017-11-07T16:56:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6d734363f2c5e782384765c5a96caa4473645b8d'/>
<id>6d734363f2c5e782384765c5a96caa4473645b8d</id>
<content type='text'>
[ Upstream commit cffd2b16c01c3431a7a7dd62e722af33490fc436 ]

Do not fail data rates higher than 2.7 and more than 2 lanes.
Try to fall back to 2.7Gbps and 2 lanes.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-2-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit cffd2b16c01c3431a7a7dd62e722af33490fc436 ]

Do not fail data rates higher than 2.7 and more than 2 lanes.
Try to fall back to 2.7Gbps and 2 lanes.

Acked-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Andrey Gusakov &lt;andrey.gusakov@cogentembedded.com&gt;
Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1510073785-16108-2-git-send-email-andrey.gusakov@cogentembedded.com
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: Fix lvds-encoder since the panel_bridge rework.</title>
<updated>2018-02-03T16:39:12+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-11-14T19:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=345f165a31b8a287b15e91e5aad03d588f1bd141'/>
<id>345f165a31b8a287b15e91e5aad03d588f1bd141</id>
<content type='text'>
[ Upstream commit dbb58bfd9ae6c885b2ca001a9a5ab8b881fb4ba9 ]

The panel_bridge bridge attaches to the panel's OF node, not the
lvds-encoder's node.  Put in a little no-op bridge of our own so that
our consumers can still find a bridge where they expect.

This also fixes an unintended unregistration and leak of the
panel-bridge on module remove.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: 13dfc0540a57 ("drm/bridge: Refactor out the panel wrapper from the lvds-encoder bri
dge.")
Tested-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171114191647.22207-1-eric@anholt.net

Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit dbb58bfd9ae6c885b2ca001a9a5ab8b881fb4ba9 ]

The panel_bridge bridge attaches to the panel's OF node, not the
lvds-encoder's node.  Put in a little no-op bridge of our own so that
our consumers can still find a bridge where they expect.

This also fixes an unintended unregistration and leak of the
panel-bridge on module remove.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: 13dfc0540a57 ("drm/bridge: Refactor out the panel wrapper from the lvds-encoder bri
dge.")
Tested-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171114191647.22207-1-eric@anholt.net

Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback</title>
<updated>2017-12-14T08:52:59+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2017-11-21T07:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=25df8b009734b241ce581ac7505efc587cf0402e'/>
<id>25df8b009734b241ce581ac7505efc587cf0402e</id>
<content type='text'>
commit 510353a63796d467b41237ab4f136136f68c297d upstream.

get_modes() callback might be called asynchronously from the DRM core and
it is not synchronized with bridge_enable(), which sets proper runtime PM
state of the main DP device. Fix this by calling pm_runtime_get_sync()
before calling drm_get_edid(), which in turn calls drm_dp_i2c_xfer() and
analogix_dp_transfer() to ensure that main DP device is runtime active
when doing any access to its registers.

This fixes the following kernel issue on Samsung Exynos5250 Snow board:
Unhandled fault: imprecise external abort (0x406) at 0x00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: : 406 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 62 Comm: kworker/0:2 Not tainted 4.13.0-rc2-00364-g4a97a3da420b #3357
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
Workqueue: events output_poll_execute
task: edc14800 task.stack: edcb2000
PC is at analogix_dp_transfer+0x15c/0x2fc
LR is at analogix_dp_transfer+0x134/0x2fc
pc : [&lt;c0468538&gt;]    lr : [&lt;c0468510&gt;]    psr: 60000013
sp : edcb3be8  ip : 0000002a  fp : 00000001
r10: 00000000  r9 : edcb3cd8  r8 : edcb3c40
r7 : 00000000  r6 : edd3b380  r5 : edd3b010  r4 : 00000064
r3 : 00000000  r2 : f0ad3000  r1 : edcb3c40  r0 : edd3b010
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 10c5387d  Table: 4000406a  DAC: 00000051
Process kworker/0:2 (pid: 62, stack limit = 0xedcb2210)
Stack: (0xedcb3be8 to 0xedcb4000)
[&lt;c0468538&gt;] (analogix_dp_transfer) from [&lt;c0424ba4&gt;] (drm_dp_i2c_do_msg+0x8c/0x2b4)
[&lt;c0424ba4&gt;] (drm_dp_i2c_do_msg) from [&lt;c0424e64&gt;] (drm_dp_i2c_xfer+0x98/0x214)
[&lt;c0424e64&gt;] (drm_dp_i2c_xfer) from [&lt;c057b2d8&gt;] (__i2c_transfer+0x140/0x29c)
[&lt;c057b2d8&gt;] (__i2c_transfer) from [&lt;c057b4a4&gt;] (i2c_transfer+0x70/0xe4)
[&lt;c057b4a4&gt;] (i2c_transfer) from [&lt;c0441de4&gt;] (drm_do_probe_ddc_edid+0xb4/0x114)
[&lt;c0441de4&gt;] (drm_do_probe_ddc_edid) from [&lt;c0441e5c&gt;] (drm_probe_ddc+0x18/0x28)
[&lt;c0441e5c&gt;] (drm_probe_ddc) from [&lt;c0445728&gt;] (drm_get_edid+0x124/0x2d4)
[&lt;c0445728&gt;] (drm_get_edid) from [&lt;c0465ea0&gt;] (analogix_dp_get_modes+0x90/0x114)
[&lt;c0465ea0&gt;] (analogix_dp_get_modes) from [&lt;c0425e8c&gt;] (drm_helper_probe_single_connector_modes+0x198/0x68c)
[&lt;c0425e8c&gt;] (drm_helper_probe_single_connector_modes) from [&lt;c04325d4&gt;] (drm_setup_crtcs+0x1b4/0xd18)
[&lt;c04325d4&gt;] (drm_setup_crtcs) from [&lt;c04344a8&gt;] (drm_fb_helper_hotplug_event+0x94/0xd0)
[&lt;c04344a8&gt;] (drm_fb_helper_hotplug_event) from [&lt;c0425a50&gt;] (drm_kms_helper_hotplug_event+0x24/0x28)
[&lt;c0425a50&gt;] (drm_kms_helper_hotplug_event) from [&lt;c04263ec&gt;] (output_poll_execute+0x6c/0x174)
[&lt;c04263ec&gt;] (output_poll_execute) from [&lt;c0136f18&gt;] (process_one_work+0x188/0x3fc)
[&lt;c0136f18&gt;] (process_one_work) from [&lt;c01371f4&gt;] (worker_thread+0x30/0x4b8)
[&lt;c01371f4&gt;] (worker_thread) from [&lt;c013daf8&gt;] (kthread+0x128/0x164)
[&lt;c013daf8&gt;] (kthread) from [&lt;c0108510&gt;] (ret_from_fork+0x14/0x24)
Code: 0a000002 ea000009 e2544001 0a00004a (e59537c8)
---[ end trace cddc7919c79f7878 ]---

Reported-by: Misha Komarovskiy &lt;zombah@gmail.com&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171121074936.22520-1-m.szyprowski@samsung.com

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 510353a63796d467b41237ab4f136136f68c297d upstream.

get_modes() callback might be called asynchronously from the DRM core and
it is not synchronized with bridge_enable(), which sets proper runtime PM
state of the main DP device. Fix this by calling pm_runtime_get_sync()
before calling drm_get_edid(), which in turn calls drm_dp_i2c_xfer() and
analogix_dp_transfer() to ensure that main DP device is runtime active
when doing any access to its registers.

This fixes the following kernel issue on Samsung Exynos5250 Snow board:
Unhandled fault: imprecise external abort (0x406) at 0x00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: : 406 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 62 Comm: kworker/0:2 Not tainted 4.13.0-rc2-00364-g4a97a3da420b #3357
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
Workqueue: events output_poll_execute
task: edc14800 task.stack: edcb2000
PC is at analogix_dp_transfer+0x15c/0x2fc
LR is at analogix_dp_transfer+0x134/0x2fc
pc : [&lt;c0468538&gt;]    lr : [&lt;c0468510&gt;]    psr: 60000013
sp : edcb3be8  ip : 0000002a  fp : 00000001
r10: 00000000  r9 : edcb3cd8  r8 : edcb3c40
r7 : 00000000  r6 : edd3b380  r5 : edd3b010  r4 : 00000064
r3 : 00000000  r2 : f0ad3000  r1 : edcb3c40  r0 : edd3b010
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 10c5387d  Table: 4000406a  DAC: 00000051
Process kworker/0:2 (pid: 62, stack limit = 0xedcb2210)
Stack: (0xedcb3be8 to 0xedcb4000)
[&lt;c0468538&gt;] (analogix_dp_transfer) from [&lt;c0424ba4&gt;] (drm_dp_i2c_do_msg+0x8c/0x2b4)
[&lt;c0424ba4&gt;] (drm_dp_i2c_do_msg) from [&lt;c0424e64&gt;] (drm_dp_i2c_xfer+0x98/0x214)
[&lt;c0424e64&gt;] (drm_dp_i2c_xfer) from [&lt;c057b2d8&gt;] (__i2c_transfer+0x140/0x29c)
[&lt;c057b2d8&gt;] (__i2c_transfer) from [&lt;c057b4a4&gt;] (i2c_transfer+0x70/0xe4)
[&lt;c057b4a4&gt;] (i2c_transfer) from [&lt;c0441de4&gt;] (drm_do_probe_ddc_edid+0xb4/0x114)
[&lt;c0441de4&gt;] (drm_do_probe_ddc_edid) from [&lt;c0441e5c&gt;] (drm_probe_ddc+0x18/0x28)
[&lt;c0441e5c&gt;] (drm_probe_ddc) from [&lt;c0445728&gt;] (drm_get_edid+0x124/0x2d4)
[&lt;c0445728&gt;] (drm_get_edid) from [&lt;c0465ea0&gt;] (analogix_dp_get_modes+0x90/0x114)
[&lt;c0465ea0&gt;] (analogix_dp_get_modes) from [&lt;c0425e8c&gt;] (drm_helper_probe_single_connector_modes+0x198/0x68c)
[&lt;c0425e8c&gt;] (drm_helper_probe_single_connector_modes) from [&lt;c04325d4&gt;] (drm_setup_crtcs+0x1b4/0xd18)
[&lt;c04325d4&gt;] (drm_setup_crtcs) from [&lt;c04344a8&gt;] (drm_fb_helper_hotplug_event+0x94/0xd0)
[&lt;c04344a8&gt;] (drm_fb_helper_hotplug_event) from [&lt;c0425a50&gt;] (drm_kms_helper_hotplug_event+0x24/0x28)
[&lt;c0425a50&gt;] (drm_kms_helper_hotplug_event) from [&lt;c04263ec&gt;] (output_poll_execute+0x6c/0x174)
[&lt;c04263ec&gt;] (output_poll_execute) from [&lt;c0136f18&gt;] (process_one_work+0x188/0x3fc)
[&lt;c0136f18&gt;] (process_one_work) from [&lt;c01371f4&gt;] (worker_thread+0x30/0x4b8)
[&lt;c01371f4&gt;] (worker_thread) from [&lt;c013daf8&gt;] (kthread+0x128/0x164)
[&lt;c013daf8&gt;] (kthread) from [&lt;c0108510&gt;] (ret_from_fork+0x14/0x24)
Code: 0a000002 ea000009 e2544001 0a00004a (e59537c8)
---[ end trace cddc7919c79f7878 ]---

Reported-by: Misha Komarovskiy &lt;zombah@gmail.com&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171121074936.22520-1-m.szyprowski@samsung.com

</pre>
</div>
</content>
</entry>
</feed>
