<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/rockchip, branch linux-4.13.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-08-09T17:59:25+00:00</updated>
<entry>
<title>drm/rockchip: Fix suspend crash when drm is not bound</title>
<updated>2017-08-09T17:59:25+00:00</updated>
<author>
<name>Jeffy Chen</name>
<email>jeffy.chen@rock-chips.com</email>
</author>
<published>2017-08-09T10:41:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0fa375e6bc9023211eead30a6a79963c45a563da'/>
<id>urn:sha1:0fa375e6bc9023211eead30a6a79963c45a563da</id>
<content type='text'>
Currently we are allocating drm_device in rockchip_drm_bind, so if the
suspend/resume code access it when drm is not bound, we would hit this
crash:

[  253.402836] Unable to handle kernel NULL pointer dereference at virtual address 00000028
[  253.402837] pgd = ffffffc06c9b0000
[  253.402841] [00000028] *pgd=0000000000000000, *pud=0000000000000000
[  253.402844] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[  253.402859] Modules linked in: btusb btrtl btbcm btintel bluetooth ath10k_pci ath10k_core ar10k_ath ar10k_mac80211 cfg80211 ip6table_filter asix usbnet mii
[  253.402864] CPU: 4 PID: 1331 Comm: cat Not tainted 4.4.70 #15
[  253.402865] Hardware name: Google Scarlet (DT)
[  253.402867] task: ffffffc076c0ce00 ti: ffffffc06c2c8000 task.ti: ffffffc06c2c8000
[  253.402871] PC is at rockchip_drm_sys_suspend+0x20/0x5c

Add sanity checks to prevent that.

Reported-by: Brian Norris &lt;briannorris@chromium.com&gt;
Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.kernel.org/patch/9890297/
</content>
</entry>
<entry>
<title>drm/rockchip: vop: report error when check resource error</title>
<updated>2017-08-04T07:39:32+00:00</updated>
<author>
<name>Mark yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2017-07-31T09:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=80c471ea040ad9006ebff6d64221a04e8fa1b7f6'/>
<id>urn:sha1:80c471ea040ad9006ebff6d64221a04e8fa1b7f6</id>
<content type='text'>
The user would be confused while facing a error commit without
any error report.

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
Reviewed-by: Sandy huang &lt;sandy.huang@rock-chips.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1501494596-7090-1-git-send-email-mark.yao@rock-chips.com
</content>
</entry>
<entry>
<title>drm/rockchip: vop: round_up pitches to word align</title>
<updated>2017-08-04T07:39:20+00:00</updated>
<author>
<name>Mark yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2017-07-31T09:49:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=79a0b149d4e3d45fc46673f4b29a157776c174e2'/>
<id>urn:sha1:79a0b149d4e3d45fc46673f4b29a157776c174e2</id>
<content type='text'>
VOP pitch register is word align, need align to word.

VOP_WIN0_VIR:
  bit[31:16] win0_vir_stride_uv
    Number of words of Win0 uv Virtual width
  bit[15:0] win0_vir_width
    Number of words of Win0 yrgb Virtual width
    ARGB888 : win0_vir_width
    RGB888 : (win0_vir_width*3/4) + (win0_vir_width%3)
    RGB565 : ceil(win0_vir_width/2)
    YUV : ceil(win0_vir_width/4)

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
Reviewed-by: Sandy huang &lt;sandy.huang@rock-chips.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1501494591-7034-1-git-send-email-mark.yao@rock-chips.com
</content>
</entry>
<entry>
<title>drm/rockchip: vop: fix NV12 video display error</title>
<updated>2017-08-04T07:39:10+00:00</updated>
<author>
<name>Mark yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2017-07-31T09:49:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6f04f5925ce763e07cb405d1fbe97a53b6c026a3'/>
<id>urn:sha1:6f04f5925ce763e07cb405d1fbe97a53b6c026a3</id>
<content type='text'>
fixup the scale calculation formula on the case
src_height == (dst_height/2).

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
Reviewed-by: Sandy huang &lt;sandy.huang@rock-chips.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1501494586-6984-1-git-send-email-mark.yao@rock-chips.com
</content>
</entry>
<entry>
<title>drm/rockchip: vop: fix iommu page fault when resume</title>
<updated>2017-08-04T07:38:46+00:00</updated>
<author>
<name>Mark yao</name>
<email>mark.yao@rock-chips.com</email>
</author>
<published>2017-07-31T09:49:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=da6c9bbf418dcb0f8be261f4353400fa959b1e92'/>
<id>urn:sha1:da6c9bbf418dcb0f8be261f4353400fa959b1e92</id>
<content type='text'>
Iommu would get page fault with following path:
   vop_disable:
      1, disable all windows and set vop config done
      2, vop enter to standy, all windows not works, but their registers
         are not clean, when you read window's enable bit, may found the
         window is enable.

   vop_enable:
      1, memcpy(vop-&gt;regsbak, vop-&gt;regs, len)
         save current vop registers to vop-&gt;regsbak, then you can found
         window is enable on regsbak.
      2, VOP_WIN_SET(vop, win, gate, 1);
         force enable window gate, but gate and enable are on same
         hardware register, then window enable bit rewrite to vop hardware.
      3, vop power on, and vop might try to scan destroyed buffer,
         then iommu get page fault.

Move windows disable after vop regsbak restore, then vop regsbak mechanism
would keep tracing the modify, everything would be safe.

Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
Reviewed-by: Sandy huang &lt;sandy.huang@rock-chips.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1501494582-6934-1-git-send-email-mark.yao@rock-chips.com
</content>
</entry>
<entry>
<title>drm/rockchip: fix Kconfig dependencies</title>
<updated>2017-07-24T01:53:09+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2017-07-21T21:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b9670ca20abcdd1587c15f8cf2d39edce5d2f37d'/>
<id>urn:sha1:b9670ca20abcdd1587c15f8cf2d39edce5d2f37d</id>
<content type='text'>
A bug that I had fixed earlier just came back, with CONFIG_EXTCON=m,
the rockchip drm driver will fail to link:

drivers/gpu/drm/rockchip/cdn-dp-core.o: In function `cdn_dp_get_port_lanes':
cdn-dp-core.c:(.text.cdn_dp_get_port_lanes+0x30): undefined reference to `extcon_get_state'
cdn-dp-core.c:(.text.cdn_dp_get_port_lanes+0x6c): undefined reference to `extcon_get_property'
drivers/gpu/drm/rockchip/cdn-dp-core.o: In function `cdn_dp_check_sink_connection':
cdn-dp-core.c:(.text.cdn_dp_check_sink_connection+0x80): undefined reference to `extcon_get_state'
drivers/gpu/drm/rockchip/cdn-dp-core.o: In function `cdn_dp_enable':
cdn-dp-core.c:(.text.cdn_dp_enable+0x748): undefined reference to `extcon_get_property'

The problem is that that the sub-drivers are now all linked into the
main rockchip drm module, which breaks all the Kconfig dependencies
that are specified in the options for those sub-drivers.

This clarifies the dependency to ensure that we can only turn on the DP
driver when EXTCON is reachable. As the 'select' statements can now
cause additional options to become built-in when they should be
loadable modules, I'm moving those into the main driver config option.
The dependency on DRM_ROCKCHIP can be reduced into a single 'if'
statement here for brevity, but this has no functional effect.

Fixes: b6705157b2db ("drm/rockchip: add extcon dependency for DP")
Fixes: 8820b68bd378 ("drm/rockchip: Refactor the component match logic.")
Link: https://patchwork.kernel.org/patch/9648761/
Acked-by: Guenter Roeck &lt;groeck@chromium.org&gt;
Tested-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170721211214.3386387-1-arnd@arndb.de
</content>
</entry>
<entry>
<title>drm/rockchip: fix NULL check on devm_kzalloc() return value</title>
<updated>2017-07-10T18:13:00+00:00</updated>
<author>
<name>Gustavo A. R. Silva</name>
<email>garsilva@embeddedor.com</email>
</author>
<published>2017-07-06T21:58:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6f6e0b217a93011f8e11b9a2d5521a08fcf36990'/>
<id>urn:sha1:6f6e0b217a93011f8e11b9a2d5521a08fcf36990</id>
<content type='text'>
The right variable to check here is port, not dp.

This issue was detected using Coccinelle and the following semantic patch:

@@
expression x;
identifier fld;
@@

* x = devm_kzalloc(...);
  ... when != x == NULL
  x-&gt;fld

Signed-off-by: Gustavo A. R. Silva &lt;garsilva@embeddedor.com&gt;
Acked-by: Mark Yao &lt;mark.yao@rock-chips.com&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170706215833.GA25411@embeddedgus
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next-fixes</title>
<updated>2017-06-20T15:50:41+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2017-06-20T15:50:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b15cdca5b5de52dc2262c41917e8727b96b30fb0'/>
<id>urn:sha1:b15cdca5b5de52dc2262c41917e8727b96b30fb0</id>
<content type='text'>
Backmerging airlied/drm-next
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/master' into drm-misc-next-fixes</title>
<updated>2017-06-19T17:39:28+00:00</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2017-06-19T17:39:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d4e0045c4ed300781d2d4cbab57d05ed5e665a37'/>
<id>urn:sha1:d4e0045c4ed300781d2d4cbab57d05ed5e665a37</id>
<content type='text'>
Backmerge 4.12-rc6 into -next-fixes. -next-fixes will contain find patches
for 4.13 merge window
</content>
</entry>
<entry>
<title>BackMerge tag 'v4.12-rc5' into drm-next</title>
<updated>2017-06-16T03:58:27+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2017-06-16T03:58:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=925344ccc91d7a7fd84cab2dece1c34bbd86fd8c'/>
<id>urn:sha1:925344ccc91d7a7fd84cab2dece1c34bbd86fd8c</id>
<content type='text'>
Linux 4.12-rc5 for nouveau fixes
</content>
</entry>
</feed>
