<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/bridge, branch v4.9.57</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.57</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.57'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-09-09T15:39:42+00:00</updated>
<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>
<entry>
<title>Merge tag 'topic/drm-misc-2016-09-25' of git://anongit.freedesktop.org/drm-intel into drm-next</title>
<updated>2016-09-28T00:28:23+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2016-09-28T00:28:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3f346d5dcb591c2a5a26653d093af710cf2e5a31'/>
<id>urn:sha1:3f346d5dcb591c2a5a26653d093af710cf2e5a31</id>
<content type='text'>
- more core cleanup patches to prep drm_file to be used for
  kernel-internal contexts (David Herrmann)
- more split-up+docs for drm_crtc.c
- lots of small fixes and polish all over

* tag 'topic/drm-misc-2016-09-25' of git://anongit.freedesktop.org/drm-intel: (37 commits)
  drm: bridge: analogix/dp: mark symbols static where possible
  drm/bochs: mark bochs_connector_get_modes() static
  drm/bridge: analogix_dp: Improve panel on time
  drm/bridge: analogix_dp: Don't read EDID if panel present
  drm/bridge: analogix_dp: Remove duplicated code
  Revert "drm/i2c: tda998x: don't register the connector"
  drm: Fix plane type uabi breakage
  dma-buf/sync_file: free fences array in num_fences is 1
  drm/i2c: tda998x: don't register the connector
  drm: Don't swallow error codes in drm_dev_alloc()
  drm: Distinguish no name from ENOMEM in set_unique()
  drm: Remove dirty property from docs
  drm/doc: Document color space handling
  drm: Extract drm_color_mgmt.[hc]
  drm/doc: Polish plane composition property docs
  drm: Conslidate blending properties in drm_blend.[hc]
  drm/doc: Polish for drm_plane.[hc]
  drm: Extract drm_plane.[hc]
  drm/tilcdc: Add atomic and crtc headers to crtc.c
  drm: Fix typo in encoder docs
  ...
</content>
</entry>
<entry>
<title>drm: bridge: analogix/dp: mark symbols static where possible</title>
<updated>2016-09-25T20:59:02+00:00</updated>
<author>
<name>Baoyou Xie</name>
<email>baoyou.xie@linaro.org</email>
</author>
<published>2016-09-25T07:32:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=089cfdd9b0ec1b21d3356d2e057f69b89d46ae66'/>
<id>urn:sha1:089cfdd9b0ec1b21d3356d2e057f69b89d46ae66</id>
<content type='text'>
We get 2 warnings when building kernel with W=1:
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c:1053:5: warning: no previous prototype for 'analogix_dp_get_modes' [-Wmissing-prototypes]
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c:1097:1: warning: no previous prototype for 'analogix_dp_detect' [-Wmissing-prototypes]

In fact, both functions are only used in the file in which they are
declared and don't need a declaration, but can be made static.
So this patch marks both functions with 'static'.

Signed-off-by: Baoyou Xie &lt;baoyou.xie@linaro.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1474788764-6069-1-git-send-email-baoyou.xie@linaro.org
</content>
</entry>
<entry>
<title>drm/bridge: analogix_dp: Improve panel on time</title>
<updated>2016-09-24T06:26:35+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2016-09-07T11:23:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f2600d08d4e8d211262b143e71d3a08f320e1e17'/>
<id>urn:sha1:f2600d08d4e8d211262b143e71d3a08f320e1e17</id>
<content type='text'>
In order to reduce the time required to turn on the panel, this patch
makes 2 assumptions:
1- In detect(): if there's a panel, we're connected.
2- In get_modes(): if there's a panel, let the panel driver decide if
   it should prepare/unprepare in order to get the modes.

The first is straightforward, and shouldn't need further explanation. The
second should eliminate the prepare/unprepare delays from get_modes() in
most cases, since panels generally hardcode their modes in the driver as
opposed to reading EDID. If a panel does need to read EDID, it should be
responsible for ensuring it's in a state in which it can.

Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
</content>
</entry>
</feed>
