<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/rockchip, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-01-22T00:45:31Z</updated>
<entry>
<title>drm/rockchip: respect CONFIG_DRM_FBDEV_EMULATION</title>
<updated>2016-01-22T00:45:31Z</updated>
<author>
<name>John Keeping</name>
<email>john@metanate.com</email>
</author>
<published>2016-01-21T18:19:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f0442df2156a2171e40f1643c60103e6333f4e7e'/>
<id>urn:sha1:f0442df2156a2171e40f1643c60103e6333f4e7e</id>
<content type='text'>
If DRM_FBDEV_EMULATION is not selected in the config then we can save a
bit of space by not including the framebuffer code.

Signed-off-by: John Keeping &lt;john@metanate.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: fix wrong pitch/size using on gem</title>
<updated>2016-01-21T01:14:05Z</updated>
<author>
<name>Mark Yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2015-09-23T04:34:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e3c4abdb3bc9b76bedd416ecc5c27633a2f8afed'/>
<id>urn:sha1:e3c4abdb3bc9b76bedd416ecc5c27633a2f8afed</id>
<content type='text'>
args-&gt;pitch and args-&gt;size may not be set by userspace, sometimes
userspace only malloc args and not memset args to zero, then
args-&gt;pitch and args-&gt;size is random, it is very danger to use
pitch/size on gem.

pitch's type is u32, and min_pitch's type is int, example,
pitch is 0xffffffff, then pitch &lt; min_pitch return true, then gem will
alloc very very big bufffer, it would eat all the memory and cause kernel
crash.

Stop using pitch/size from args, calc them from other args.

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: explain why we can't wait_for_vblanks</title>
<updated>2016-01-20T00:56:06Z</updated>
<author>
<name>John Keeping</name>
<email>john@metanate.com</email>
</author>
<published>2016-01-19T10:47:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c9ad1d9946e849ac3d8821d91e136d7fd728dec5'/>
<id>urn:sha1:c9ad1d9946e849ac3d8821d91e136d7fd728dec5</id>
<content type='text'>
Signed-off-by: John Keeping &lt;john@metanate.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: don't wait for vblank if fb hasn't changed</title>
<updated>2016-01-20T00:55:56Z</updated>
<author>
<name>John Keeping</name>
<email>john@metanate.com</email>
</author>
<published>2016-01-19T10:46:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f2227f469782e55765deacb8ebcc7ec05fe04013'/>
<id>urn:sha1:f2227f469782e55765deacb8ebcc7ec05fe04013</id>
<content type='text'>
As commented in drm_atomic_helper_wait_for_vblanks(), userspace relies
on cursor ioctls being unsynced.  Converting the rockchip driver to
atomic has significantly impacted cursor performance by making every
cursor update wait for vblank.

By skipping the vblank sync when the framebuffer has not changed (as is
done in drm_atomic_helper_wait_for_vblanks()) we can avoid this for the
common case of moving the cursor and only need to delay the cursor ioctl
when the cursor icon changes.

We cannot add the check on legacy_cursor_update since that results in
the cursor bo being unreferenced while the hardware may still be reading
it.  Fully supporting unsynced cursor updates is left for the future
when the atomic helper framework supports async updates.

Signed-off-by: John Keeping &lt;john@metanate.com&gt;
Tested-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
</content>
</entry>
<entry>
<title>drm/rockchip/dsi: fix handling mipi_dsi_pixel_format_to_bpp result</title>
<updated>2016-01-18T00:43:16Z</updated>
<author>
<name>Andrzej Hajda</name>
<email>a.hajda@samsung.com</email>
</author>
<published>2016-01-14T08:59:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=484bb6c969523aa547d854bb57104339ee4aa800'/>
<id>urn:sha1:484bb6c969523aa547d854bb57104339ee4aa800</id>
<content type='text'>
The function can return negative value so it should be assigned to signed
variable.

The problem has been detected using patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci.

Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Reviewed-by: Chris Zhong &lt;zyw@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: vop: fix mask when updating interrupts</title>
<updated>2016-01-18T00:42:09Z</updated>
<author>
<name>John Keeping</name>
<email>john@metanate.com</email>
</author>
<published>2016-01-12T18:05:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c7647f8681feeb6c0957e3cf5daed1fbf8b3a5af'/>
<id>urn:sha1:c7647f8681feeb6c0957e3cf5daed1fbf8b3a5af</id>
<content type='text'>
Commit dbb3d94 (drm/rockchip: vop: move interrupt registers into
vop_data) introduced new macros for updating the interrupt control
registers but these always use the mask from the register definition
without refining it for the particular bits that are being changed.

This means that whenever we enable/disable a particular interrupt we end
up disabling all of the others as a side effect.

Signed-off-by: John Keeping &lt;john@metanate.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: cleanup unnecessary export symbol</title>
<updated>2016-01-18T00:42:09Z</updated>
<author>
<name>Mark Yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2016-01-12T08:04:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=63087aae5a7976a4557d16873146eae03948ec74'/>
<id>urn:sha1:63087aae5a7976a4557d16873146eae03948ec74</id>
<content type='text'>
Now rockchip_drm_vop.c is build into rockchipdrm.ko, so
no need to export following symbol anymore:
    rockchip_drm_dma_attach_device
    rockchip_drm_dma_detach_device
    rockchip_drm_dma_attach_device
    rockchip_drm_dma_detach_device
    rockchip_register_crtc_funcs
    rockchip_unregister_crtc_funcs
    rockchip_fb_get_gem_obj

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: Don't build rockchip_drm_vop as modules</title>
<updated>2016-01-18T00:42:08Z</updated>
<author>
<name>Mark Yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2016-01-12T07:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ce90d092bcd96b646b370121f0f1508270627f98'/>
<id>urn:sha1:ce90d092bcd96b646b370121f0f1508270627f98</id>
<content type='text'>
rockchip_drm_vop's module init had moved to rockchip_vop_reg.c
so no need to build rockchip_drm_vop.ko

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>drm: rockchip: Support Synopsys DW MIPI DSI</title>
<updated>2016-01-06T08:16:39Z</updated>
<author>
<name>Chris Zhong</name>
<email>zyw@rock-chips.com</email>
</author>
<published>2016-01-06T08:12:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=84e05408fcfefb9b28050f701e1e94fe9f86804b'/>
<id>urn:sha1:84e05408fcfefb9b28050f701e1e94fe9f86804b</id>
<content type='text'>
Add support for Synopsys DesignWare MIPI DSI controller which is
embedded in the rk3288 SoCs.

Signed-off-by: Chris Zhong &lt;zyw@rock-chips.com&gt;
Acked-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>drm/rockchip: return a true clock rate to adjusted_mode</title>
<updated>2016-01-06T05:51:09Z</updated>
<author>
<name>Chris Zhong</name>
<email>zyw@rock-chips.com</email>
</author>
<published>2016-01-06T04:03:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b59b8de3149736e5094cb786978a1ba8d6d55b34'/>
<id>urn:sha1:b59b8de3149736e5094cb786978a1ba8d6d55b34</id>
<content type='text'>
Since the mipi dsi driver need to use the clock of vop to make the
calculation of Blanking. But sometimes the clock driver can not set a
accurate clock_rate for vop, get it by clk_round_rate before mode_set,
so we can get the true value.

Signed-off-by: Chris Zhong &lt;zyw@rock-chips.com&gt;
Acked-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
</content>
</entry>
</feed>
