<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/bridge, branch v4.9.79</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.79</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.79'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-11-15T14:53:20+00:00</updated>
<entry>
<title>drm/bridge: adv7511: Re-write the i2c address before EDID probing</title>
<updated>2017-11-15T14:53:20+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2017-01-17T00:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bad4c8f1bc25970895aee312c93130cff7cdcf0f'/>
<id>urn:sha1:bad4c8f1bc25970895aee312c93130cff7cdcf0f</id>
<content type='text'>
commit 3587c856675c45809010c2cee5b21096f6e8e938 upstream.

I've found that by just turning the chip on and off via the
POWER_DOWN register, I end up getting i2c_transfer errors on
HiKey.

Investigating further, it turns out that some of the register
state in hardware is getting lost, as the device registers are
reset when the chip is powered down.

Thus this patch simply re-writes the i2c address to the
ADV7511_REG_EDID_I2C_ADDR register to ensure its properly set
before we try to read the EDID data.

Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Cc: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-7-git-send-email-john.stultz@linaro.org
Signed-off-by: Nhan Nguyen &lt;nhan.nguyen.yb@renesas.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID</title>
<updated>2017-11-15T14:53:20+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2017-01-17T00:52:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6731d54c78684e49f713d9a5dac6dee181be9c46'/>
<id>urn:sha1:6731d54c78684e49f713d9a5dac6dee181be9c46</id>
<content type='text'>
commit 4226d9b127cf4758ba0e07931b3f0d59f1b1a50c upstream.

Thus this patch changes the EDID probing logic so that we
re-use the __adv7511_power_on/off() calls instead of duplciating
logic.

This does change behavior slightly as it adds the HPD signal
pulse to the EDID probe path, but Archit has had a patch to
add HPD signal pulse to the EDID probe path before, so this
should address the cases where that helped. Another difference
is that regcache_mark_dirty() is also called in the power off
path once EDID is probed.

Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Cc: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-6-git-send-email-john.stultz@linaro.org
Signed-off-by: Nhan Nguyen &lt;nhan.nguyen.yb@renesas.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally</title>
<updated>2017-11-15T14:53:20+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2017-01-17T00:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=efc6d340e41096518f2c2dc6a45821bb484c8455'/>
<id>urn:sha1:efc6d340e41096518f2c2dc6a45821bb484c8455</id>
<content type='text'>
commit 651e4769ba2a9f20c4b8a823ae2727bf7fa9c9f0 upstream.

In chasing down issues with EDID probing, I found some
duplicated but incomplete logic used to power the chip on and
off.

This patch refactors the adv7511_power_on/off functions, so
they can be used for internal needs.

Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Cc: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-5-git-send-email-john.stultz@linaro.org
Signed-off-by: Nhan Nguyen &lt;nhan.nguyen.yb@renesas.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event()</title>
<updated>2017-09-09T15:39:42+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2017-01-17T00:52:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8bc67f67b7631122f1047cd8f3c7edbda106d48d'/>
<id>urn:sha1:8bc67f67b7631122f1047cd8f3c7edbda106d48d</id>
<content type='text'>
commit 6d5104c5a6b56385426e15047050584794bb6254 upstream.

In chasing down a previous issue with EDID probing from calling
drm_helper_hpd_irq_event() from irq context, Laurent noticed
that the DRM documentation suggests that
drm_kms_helper_hotplug_event() should be used instead.

Thus this patch replaces drm_helper_hpd_irq_event() with
drm_kms_helper_hotplug_event(), which requires we update the
connector.status entry and only call _hotplug_event() when the
status changes.

Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Cc: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-3-git-send-email-john.stultz@linaro.org
Signed-off-by: Thong Ho &lt;thong.ho.px@rvc.renesas.com&gt;
Signed-off-by: Nhan Nguyen &lt;nhan.nguyen.yb@renesas.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/bridge: adv7511: Use work_struct to defer hotplug handing to out of irq context</title>
<updated>2017-09-09T15:39:42+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2017-01-17T00:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8b5a7e4436228c98d6fc97071f3bddcd6a614915'/>
<id>urn:sha1:8b5a7e4436228c98d6fc97071f3bddcd6a614915</id>
<content type='text'>
commit 518cb7057a59b9441336d2e88a396d52b6ab0cce upstream.

I was recently seeing issues with EDID probing, where
the logic to wait for the EDID read bit to be set by the
IRQ wasn't happening and the code would time out and fail.

Digging deeper, I found this was due to the fact that
IRQs were disabled as we were running in IRQ context from
the HPD signal.

Thus this patch changes the logic to handle the HPD signal
via a work_struct so we can be out of irq context.

With this patch, the EDID probing on hotplug does not time
out.

Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Archit Taneja &lt;architt@codeaurora.org&gt;
Cc: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Cc: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1484614372-15342-2-git-send-email-john.stultz@linaro.org
Signed-off-by: Thong Ho &lt;thong.ho.px@rvc.renesas.com&gt;
Signed-off-by: Nhan Nguyen &lt;nhan.nguyen.yb@renesas.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/bridge: analogix dp: Fix runtime PM state on driver bind</title>
<updated>2017-03-30T07:41:28+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2016-12-30T09:57:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7b3c8b2a2e63f2ad0a16cda77b7698004640ad1a'/>
<id>urn:sha1:7b3c8b2a2e63f2ad0a16cda77b7698004640ad1a</id>
<content type='text'>
commit f0a8b49c03d22a511a601dc54b2a3425a41e35fa upstream.

Analogix_dp_bind() can be called from component framework, which doesn't
guarantee proper runtime PM state of the device during bind operation,
so ensure that device is runtime active before doing any register access.
This ensures that the power domain, to which DP module belongs, is turned
on. While at it, also fix the unbalanced call to phy_power_on() in
analogix_dp_bind() function.

This patch solves the following kernel oops 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: 75 Comm: kworker/0:2 Not tainted 4.9.0 #1046
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
Workqueue: events deferred_probe_work_func
task: ee272300 task.stack: ee312000
PC is at analogix_dp_enable_sw_function+0x18/0x2c
LR is at analogix_dp_init_dp+0x2c/0x50
...
[&lt;c03fcb38&gt;] (analogix_dp_enable_sw_function) from [&lt;c03fa9c4&gt;] (analogix_dp_init_dp+0x2c/0x50)
[&lt;c03fa9c4&gt;] (analogix_dp_init_dp) from [&lt;c03fab6c&gt;] (analogix_dp_bind+0x184/0x42c)
[&lt;c03fab6c&gt;] (analogix_dp_bind) from [&lt;c03fdb84&gt;] (component_bind_all+0xf0/0x218)
[&lt;c03fdb84&gt;] (component_bind_all) from [&lt;c03ed64c&gt;] (exynos_drm_load+0x134/0x200)
[&lt;c03ed64c&gt;] (exynos_drm_load) from [&lt;c03d5058&gt;] (drm_dev_register+0xa0/0xd0)
[&lt;c03d5058&gt;] (drm_dev_register) from [&lt;c03d66b8&gt;] (drm_platform_init+0x58/0xb0)
[&lt;c03d66b8&gt;] (drm_platform_init) from [&lt;c03fe0c4&gt;] (try_to_bring_up_master+0x14c/0x188)
[&lt;c03fe0c4&gt;] (try_to_bring_up_master) from [&lt;c03fe188&gt;] (component_add+0x88/0x138)
[&lt;c03fe188&gt;] (component_add) from [&lt;c0403a38&gt;] (platform_drv_probe+0x50/0xb0)
[&lt;c0403a38&gt;] (platform_drv_probe) from [&lt;c0402470&gt;] (driver_probe_device+0x1f0/0x2a8)
[&lt;c0402470&gt;] (driver_probe_device) from [&lt;c0400a54&gt;] (bus_for_each_drv+0x44/0x8c)
[&lt;c0400a54&gt;] (bus_for_each_drv) from [&lt;c04021f8&gt;] (__device_attach+0x9c/0x100)
[&lt;c04021f8&gt;] (__device_attach) from [&lt;c04018e8&gt;] (bus_probe_device+0x84/0x8c)
[&lt;c04018e8&gt;] (bus_probe_device) from [&lt;c0401d1c&gt;] (deferred_probe_work_func+0x60/0x8c)
[&lt;c0401d1c&gt;] (deferred_probe_work_func) from [&lt;c012fc14&gt;] (process_one_work+0x120/0x318)
[&lt;c012fc14&gt;] (process_one_work) from [&lt;c012fe34&gt;] (process_scheduled_works+0x28/0x38)
[&lt;c012fe34&gt;] (process_scheduled_works) from [&lt;c0130048&gt;] (worker_thread+0x204/0x4ac)
[&lt;c0130048&gt;] (worker_thread) from [&lt;c01352c4&gt;] (kthread+0xd8/0xf4)
[&lt;c01352c4&gt;] (kthread) from [&lt;c0107978&gt;] (ret_from_fork+0x14/0x3c)
Code: e59035f0 e5935018 f57ff04f e3c55001 (f57ff04e)
---[ end trace 3d1d0d87796de344 ]---

Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1483091866-1088-1-git-send-email-m.szyprowski@samsung.com
Cc: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/bridge: Drop drm_connector_unregister and call drm_connector_cleanup directly</title>
<updated>2016-10-10T09:19:42+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2016-10-05T14:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fdd8326a016a70f0ec96f5bb3011a5183961df2e'/>
<id>urn:sha1:fdd8326a016a70f0ec96f5bb3011a5183961df2e</id>
<content type='text'>
Drop unneeded drm_connector_unregister() and remove the unnecessary
wrapper functions around drm_connector_cleanup().

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20161005143133.5549-1-marex@denx.de
</content>
</entry>
<entry>
<title>drm/bridge: Add RGB to VGA bridge support</title>
<updated>2016-10-10T05:28:44+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@free-electrons.com</email>
</author>
<published>2016-09-30T14:37:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=56fe8b6f499167e3f9e0aafc0909efe9fb673323'/>
<id>urn:sha1:56fe8b6f499167e3f9e0aafc0909efe9fb673323</id>
<content type='text'>
Some boards have an entirely passive RGB to VGA bridge, based on DACs
implemented by resistor ladders.

Those might or might not have an i2c bus routed to the VGA connector in
order to access the screen EDIDs.

Add a bridge that doesn't do anything but expose the modes available on the
screen, either based on the EDIDs if available, or based on the XGA
standards.

Acked-by: Rob Herring &lt;robh@kernel.org&gt;
Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20160930143709.1388-3-maxime.ripard@free-electrons.com
</content>
</entry>
<entry>
<title>drm/bridge: Call drm_connector_cleanup directly</title>
<updated>2016-10-05T13:20:36+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2016-10-04T22:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bf3b123e3d946dc110020814106ad84a36898d3a'/>
<id>urn:sha1:bf3b123e3d946dc110020814106ad84a36898d3a</id>
<content type='text'>
Remove the unnecessary wrapper functions around drm_connector_cleanup().

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20161004222331.7200-1-marex@denx.de
</content>
</entry>
<entry>
<title>drm/bridge: analogix_dp: Add analogix_dp_psr_supported</title>
<updated>2016-10-04T06:23:16+00:00</updated>
<author>
<name>Tomeu Vizoso</name>
<email>tomeu.vizoso@collabora.com</email>
</author>
<published>2016-09-23T14:06:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=561b069008dcf1b2909aebb7a904a32c7d802a93'/>
<id>urn:sha1:561b069008dcf1b2909aebb7a904a32c7d802a93</id>
<content type='text'>
So users know whether PSR should be enabled or not.

Cc: Yakir Yang &lt;ykk@rock-chips.com&gt;

Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1474639600-30090-1-git-send-email-tomeu.vizoso@collabora.com
</content>
</entry>
</feed>
