<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/vc4/vc4_dsi.c, branch linux-4.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-10-19T20:20:09Z</updated>
<entry>
<title>drm/vc4: Fix sleeps during the IRQ handler for DSI transactions.</title>
<updated>2017-10-19T20:20:09Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-10-14T00:12:55Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=af0c8c10564aac5b6d67308129ec09c4ad5db476'/>
<id>urn:sha1:af0c8c10564aac5b6d67308129ec09c4ad5db476</id>
<content type='text'>
VC4's DSI1 has a bug where the AXI connection is broken for 32-bit
writes from the CPU, so we use the DMA engine to DMA 32-bit values
into registers instead.  That sleeps, so we can't do it from the top
half.

As a solution, use an interrupt thread so that all our writes happen
when sleeping is is allowed.

v2: Use IRQF_ONESHOT (suggested by Boris)
v3: Style nitpicks.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171014001255.32005-1-eric@anholt.net
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt; (v2)
</content>
</entry>
<entry>
<title>drm/vc4: Move the DSI clock divider workaround closer to the clock call.</title>
<updated>2017-10-13T23:37:09Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-08-15T23:47:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d409eeafa9ba1c0f2eb75a2619fc787808a545e4'/>
<id>urn:sha1:d409eeafa9ba1c0f2eb75a2619fc787808a545e4</id>
<content type='text'>
We want the adjusted_mode-&gt;clock to be the actual clock we're
expecting to program, so that consumers see the right values for clock
and vrefresh.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170815234722.20700-1-eric@anholt.net
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Set up the DSI host at pdev probe time, not component bind.</title>
<updated>2017-09-27T18:54:56Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-08-15T23:47:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=32ad958d85b92ee7068aa1de5917777be080cc3c'/>
<id>urn:sha1:32ad958d85b92ee7068aa1de5917777be080cc3c</id>
<content type='text'>
We need the following things to happen in sequence:

DSI host creation
DSI device creation in the panel driver (needs DSI host)
DSI device attach from panel to host.
DSI drm_panel_add()
DSI encoder creation
DSI encoder's DRM panel/bridge attach

Unless we allow device creation while the host isn't up yet, we need
to break the -EPROBE_DEFER deadlock between the panel driver looking
up the host and the host driver looking up the panel.  We can do so by
moving the DSI host creation outside of the component bind loop, and
the panel/bridge lookup/attach into the component bind process.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170815234722.20700-3-eric@anholt.net
Reviewed-by: Archit Taneja &lt;architt@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Avoid using vrefresh==0 mode in DSI htotal math.</title>
<updated>2017-09-27T18:54:35Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-08-15T23:47:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=af2eca53206c59ce9308a4f5f46c4a104a179b6b'/>
<id>urn:sha1:af2eca53206c59ce9308a4f5f46c4a104a179b6b</id>
<content type='text'>
The incoming mode might have a missing vrefresh field if it came from
drmModeSetCrtc(), which the kernel is supposed to calculate using
drm_mode_vrefresh().  We could either use that or the adjusted_mode's
original vrefresh value.

However, we can maintain a more exact vrefresh value (not just the
integer approximation), by scaling by the ratio of our clocks.

v2: Use math suggested by Andrzej Hajda instead.
v3: Simplify math now that adjusted_mode-&gt;clock isn't padded.
v4: Drop some parens.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170815234722.20700-2-eric@anholt.net
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Fix errant drm_bridge_remove() in DSI.</title>
<updated>2017-08-08T20:20:11Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-08-02T20:32:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=97ee731da8dc83e98db06848c6f27188613356ce'/>
<id>urn:sha1:97ee731da8dc83e98db06848c6f27188613356ce</id>
<content type='text'>
drm_bridge_remove() is for unregistering a bridge driver, not for
detaching a bridge from its consumer.

Fixes: 656fa22f9cea ("drm/vc4: Switch DSI to the panel-bridge layer, and support bridges.")
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170802203242.12815-3-eric@anholt.net
Acked-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Don't disable DSI clocks on component unload.</title>
<updated>2017-08-08T20:20:10Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-08-02T20:32:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2cbf59fd9026ac82b1c7429bb0de930a42d82063'/>
<id>urn:sha1:2cbf59fd9026ac82b1c7429bb0de930a42d82063</id>
<content type='text'>
The clocks are enabled/disabled at encoder enable/disable time, not at
component load.  Fixes a WARN_ON at boot if V3D fails to probe.

Fixes: 4078f5757144 ("drm/vc4: Add DSI driver")
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170802203242.12815-2-eric@anholt.net
Acked-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Fix misleading name of the continuous flag.</title>
<updated>2017-07-14T21:09:55Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-06-27T19:58:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ec878c0756a0c202e86256dca1de307ab1189ab8'/>
<id>urn:sha1:ec878c0756a0c202e86256dca1de307ab1189ab8</id>
<content type='text'>
The logic was all right in the end, the name was just backwards.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170627195839.3338-3-eric@anholt.net
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Fix DSI T_INIT timing.</title>
<updated>2017-07-14T21:09:43Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-06-27T19:58:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e65d51126f89a0d67ee6c5df58363730b1410ab5'/>
<id>urn:sha1:e65d51126f89a0d67ee6c5df58363730b1410ab5</id>
<content type='text'>
The DPHY spec requires a much larger T_INIT than I was specifying
before.  In the absence of clear specs from the slave of what their
timing is, just use the value that the firmware was using.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170627195839.3338-2-eric@anholt.net
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Switch DSI to the panel-bridge layer, and support bridges.</title>
<updated>2017-06-05T09:37:37Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-05-11T18:31:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=656fa22f9ceabbae74ea4628dd02d297aa07104b'/>
<id>urn:sha1:656fa22f9ceabbae74ea4628dd02d297aa07104b</id>
<content type='text'>
The newer version of the RPi panel driver is going to be a combination
of a bridge and a panel, but we should also support panels without a
bridge, so the panel-bridge layer lets us do that cleanly.

v2: Drop "dev" argument.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Acked-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170511183128.25085-2-eric@anholt.net
</content>
</entry>
<entry>
<title>drm/vc4: fix include notation and remove -Iinclude/drm flag</title>
<updated>2017-05-22T07:36:01Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2017-05-18T04:29:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b7e8e25b37618070c444083bfb1aedf3317b2a96'/>
<id>urn:sha1:b7e8e25b37618070c444083bfb1aedf3317b2a96</id>
<content type='text'>
Include &lt;drm/*.h&gt; instead of relative path from include/drm, then
remove the -Iinclude/drm compiler flag.

While we are here, use &lt;...&gt; instead of "..." for include/linux/*.h
and include/sound/*.h headers too.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1495081793-9707-2-git-send-email-yamada.masahiro@socionext.com
</content>
</entry>
</feed>
