<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/bridge, branch v4.15.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.15.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.15.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-12-07T14:42:39+00:00</updated>
<entry>
<title>drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback</title>
<updated>2017-12-07T14:42:39+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.radix-linux.su/kernel/linux.git/commit/?id=510353a63796d467b41237ab4f136136f68c297d'/>
<id>urn:sha1:510353a63796d467b41237ab4f136136f68c297d</id>
<content type='text'>
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;
CC: stable@vger.kernel.org # v4.10+
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&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>
</entry>
<entry>
<title>drm/bridge: tc358767: fix 1-lane behavior</title>
<updated>2017-11-30T06:56:18+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.radix-linux.su/kernel/linux.git/commit/?id=4dbd6c03fbf88299c573d676838896c6e06aade2'/>
<id>urn:sha1:4dbd6c03fbf88299c573d676838896c6e06aade2</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix AUXDATAn registers access</title>
<updated>2017-11-30T06:56:12+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.radix-linux.su/kernel/linux.git/commit/?id=9217c1abbc145a77d65c476cf2004a3df02104c7'/>
<id>urn:sha1:9217c1abbc145a77d65c476cf2004a3df02104c7</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix timing calculations</title>
<updated>2017-11-30T06:56:08+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.radix-linux.su/kernel/linux.git/commit/?id=66d1c3b94d5d59e4325e61a78d520f92c043d645'/>
<id>urn:sha1:66d1c3b94d5d59e4325e61a78d520f92c043d645</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: fix DP0_MISC register set</title>
<updated>2017-11-30T06:56:01+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.radix-linux.su/kernel/linux.git/commit/?id=f3b8adbe1911f66fd3cab1aaa74f0f66b7ceda25'/>
<id>urn:sha1:f3b8adbe1911f66fd3cab1aaa74f0f66b7ceda25</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: filter out too high modes</title>
<updated>2017-11-30T06:55:53+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.radix-linux.su/kernel/linux.git/commit/?id=99fc8e963a4c0203dba26a77cf737db6081bca14'/>
<id>urn:sha1:99fc8e963a4c0203dba26a77cf737db6081bca14</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: tc358767: do no fail on hi-res displays</title>
<updated>2017-11-30T06:55:17+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.radix-linux.su/kernel/linux.git/commit/?id=cffd2b16c01c3431a7a7dd62e722af33490fc436'/>
<id>urn:sha1:cffd2b16c01c3431a7a7dd62e722af33490fc436</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: Fix lvds-encoder since the panel_bridge rework.</title>
<updated>2017-11-30T05:33:45+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.radix-linux.su/kernel/linux.git/commit/?id=dbb58bfd9ae6c885b2ca001a9a5ab8b881fb4ba9'/>
<id>urn:sha1:dbb58bfd9ae6c885b2ca001a9a5ab8b881fb4ba9</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>drm/bridge: synopsys/dw-hdmi: Enable cec clock</title>
<updated>2017-11-30T05:25:49+00:00</updated>
<author>
<name>Pierre-Hugues Husson</name>
<email>phh@phh.me</email>
</author>
<published>2017-11-25T20:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ebe32c3e282a62974b190b9d514864fc0d56716e'/>
<id>urn:sha1:ebe32c3e282a62974b190b9d514864fc0d56716e</id>
<content type='text'>
Support the "cec" optional clock. The documentation already mentions "cec"
optional clock and it is used by several boards, but currently the driver
doesn't enable it, thus preventing cec from working on those boards.

And even worse: a /dev/cecX device will appear for those boards, but it
won't be functioning without configuring this clock.

Changes:
v4:
- Change commit message to stress the importance of this patch

v3:
- Drop useless braces

v2:
- Separate ENOENT errors from others
- Propagate other errors (especially -EPROBE_DEFER)

Signed-off-by: Pierre-Hugues Husson &lt;phh@phh.me&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171125201844.11353-1-phh@phh.me
</content>
</entry>
<entry>
<title>drm/bridge: adv7511/33: Fix adv7511_cec_init() failure handling</title>
<updated>2017-11-30T05:07:11+00:00</updated>
<author>
<name>Hans Verkuil</name>
<email>hverkuil@xs4all.nl</email>
</author>
<published>2017-11-21T08:17:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1b6fba458c0a2e8513071330972c4c587b7d28cc'/>
<id>urn:sha1:1b6fba458c0a2e8513071330972c4c587b7d28cc</id>
<content type='text'>
If the device tree for a board did not specify a cec clock, then
adv7511_cec_init would return an error, which would cause adv7511_probe()
to fail and thus there is no HDMI output.

There is no need to have adv7511_probe() fail if the CEC initialization
fails, so just change adv7511_cec_init() to a void function. In addition,
adv7511_cec_init() should just return silently if the cec clock isn't
found and show a message for any other errors.

An otherwise correct cleanup patch from Dan Carpenter turned this broken
failure handling into a kernel Oops, so bisection points to commit
7af35b0addbc ("drm/kirin: Checking for IS_ERR() instead of NULL") rather
than 3b1b975003e4 ("drm: adv7511/33: add HDMI CEC support").

Based on earlier patches from Arnd and John.

Reported-by: Naresh Kamboju &lt;naresh.kamboju@linaro.org&gt;
Cc: Xinliang Liu &lt;xinliang.liu@linaro.org&gt;
Cc: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Link: https://bugs.linaro.org/show_bug.cgi?id=3345
Link: https://lkft.validation.linaro.org/scheduler/job/48017#L3551
Fixes: 7af35b0addbc ("drm/kirin: Checking for IS_ERR() instead of NULL")
Fixes: 3b1b975003e4 ("drm: adv7511/33: add HDMI CEC support")
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Tested-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/9097b2a4-b6b9-5fca-e039-0a17694b1143@xs4all.nl
</content>
</entry>
</feed>
