All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Mark Yao <mark.yao@rock-chips.com>
Cc: linux-rockchip@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 4/7] drm/rockchip: vop: group vop registers
Date: Thu, 27 Jul 2017 11:51:06 +0200	[thread overview]
Message-ID: <44153824.CqyclESHdT@diego> (raw)
In-Reply-To: <1501049966-6070-1-git-send-email-mark.yao@rock-chips.com>

Hi Mark,

Am Mittwoch, 26. Juli 2017, 14:19:25 CEST schrieb Mark Yao:
> Grouping the vop registers facilitates make register
> definition clearer, and also is useful for different vop
> reuse the same group register.
> 
> Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c |  99 ++++++++++++------------
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.h |  60 ++++++++-------
>  drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 112
> +++++++++++++++------------- 3 files changed, 144 insertions(+), 127
> deletions(-)

This breaks display support on both rk3036 and rk3288 and I end up
with a null pointer dereference in

[   10.640297] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[   10.654430] pgd = c0204000
[   10.657452] [00000000] *pgd=00000000
[   10.661473] Internal error: Oops: 5 [#1] SMP ARM
[   10.666635] Modules linked in: snd_pcm media snd_timer phy_rockchip_dp snd soundcore rockchipdrm dw_hdmi analogix_dp rtc_rk808 pwm_rockchip clk_rk808 spi_rockchip
[   10.682897] CPU: 2 PID: 143 Comm: kworker/2:2 Not tainted 4.13.0-rc2-01791-g2b86603d0515 #355
[   10.692430] Hardware name: Rockchip (Device Tree)
[   10.697692] Workqueue: events deferred_probe_work_func
[   10.702152] Linux video capture interface: v2.00
[   10.708590] task: ee38c800 task.stack: ed2e6000
[   10.713656] PC is at vop_reg_set.constprop.4+0x4/0xa8 [rockchipdrm]
[   10.720668] LR is at vop_bind+0x568/0x8a0 [rockchipdrm]
[   10.726507] pc : [<bf04db28>]    lr : [<bf04e134>]    psr: 40010013
[   10.733514] sp : ed2e7d68  ip : 00000004  fp : bf054988
[   10.739350] r10: bf054988  r9 : 00000000  r8 : 00000001
[   10.745189] r7 : ed66f500  r6 : ee29da10  r5 : 00000000  r4 : ed22e010
[   10.752487] r3 : ffffffff  r2 : 00000000  r1 : 00000000  r0 : ed22e010
[   10.759785] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   10.767763] Control: 10c5387d  Table: 2d4e806a  DAC: 00000051
[   10.774188] Process kworker/2:2 (pid: 143, stack limit = 0xed2e6220)
[...]
[   11.058818] [<bf04db28>] (vop_reg_set.constprop.4 [rockchipdrm]) from [<bf04e134>] (vop_bind+0x568/0x8a0 [rockchipdrm])
[   11.058828] [<bf04e134>] (vop_bind [rockchipdrm]) from [<c0870400>] (component_bind_all+0x11c/0x23c)
[   11.058836] [<c0870400>] (component_bind_all) from [<bf04c1cc>] (rockchip_drm_bind+0x90/0x1d4 [rockchipdrm])
[   11.058843] [<bf04c1cc>] (rockchip_drm_bind [rockchipdrm]) from [<c0870854>] (try_to_bring_up_master+0x148/0x184)
[   11.058847] [<c0870854>] (try_to_bring_up_master) from [<c0870928>] (component_add+0x98/0x144)
[   11.058853] [<c0870928>] (component_add) from [<bf050d90>] (rockchip_dp_probe+0x7c/0x8c [rockchipdrm])
[   11.058860] [<bf050d90>] (rockchip_dp_probe [rockchipdrm]) from [<c0877660>] (platform_drv_probe+0x50/0xb0)
[   11.058865] [<c0877660>] (platform_drv_probe) from [<c0875b48>] (driver_probe_device+0x230/0x2e4)
[   11.058869] [<c0875b48>] (driver_probe_device) from [<c0874208>] (bus_for_each_drv+0x60/0x94)
[   11.058873] [<c0874208>] (bus_for_each_drv) from [<c0875838>] (__device_attach+0xb0/0x114)
[   11.058876] [<c0875838>] (__device_attach) from [<c0874ec8>] (bus_probe_device+0x84/0x8c)
[   11.058879] [<c0874ec8>] (bus_probe_device) from [<c087534c>] (deferred_probe_work_func+0x68/0x94)
[   11.058884] [<c087534c>] (deferred_probe_work_func) from [<c035a884>] (process_one_work+0x200/0x504)
[   11.058889] [<c035a884>] (process_one_work) from [<c035b610>] (worker_thread+0x38/0x594)
[   11.058894] [<c035b610>] (worker_thread) from [<c036045c>] (kthread+0x128/0x158)
[   11.058900] [<c036045c>] (kthread) from [<c0307d18>] (ret_from_fork+0x14/0x3c)
[   11.058904] Code: eaffffe0 e3a03004 eaffffef e92d4070 (e5914000)
[   11.058930] ---[ end trace 9caa88bbcb1af5e4 ]---

I'll try to investigate a bit more, but maybe you'll be able to
find the issue faster than me in the meantime.


Heiko
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 4/7] drm/rockchip: vop: group vop registers
Date: Thu, 27 Jul 2017 11:51:06 +0200	[thread overview]
Message-ID: <44153824.CqyclESHdT@diego> (raw)
In-Reply-To: <1501049966-6070-1-git-send-email-mark.yao@rock-chips.com>

Hi Mark,

Am Mittwoch, 26. Juli 2017, 14:19:25 CEST schrieb Mark Yao:
> Grouping the vop registers facilitates make register
> definition clearer, and also is useful for different vop
> reuse the same group register.
> 
> Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c |  99 ++++++++++++------------
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.h |  60 ++++++++-------
>  drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 112
> +++++++++++++++------------- 3 files changed, 144 insertions(+), 127
> deletions(-)

This breaks display support on both rk3036 and rk3288 and I end up
with a null pointer dereference in

[   10.640297] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[   10.654430] pgd = c0204000
[   10.657452] [00000000] *pgd=00000000
[   10.661473] Internal error: Oops: 5 [#1] SMP ARM
[   10.666635] Modules linked in: snd_pcm media snd_timer phy_rockchip_dp snd soundcore rockchipdrm dw_hdmi analogix_dp rtc_rk808 pwm_rockchip clk_rk808 spi_rockchip
[   10.682897] CPU: 2 PID: 143 Comm: kworker/2:2 Not tainted 4.13.0-rc2-01791-g2b86603d0515 #355
[   10.692430] Hardware name: Rockchip (Device Tree)
[   10.697692] Workqueue: events deferred_probe_work_func
[   10.702152] Linux video capture interface: v2.00
[   10.708590] task: ee38c800 task.stack: ed2e6000
[   10.713656] PC is at vop_reg_set.constprop.4+0x4/0xa8 [rockchipdrm]
[   10.720668] LR is at vop_bind+0x568/0x8a0 [rockchipdrm]
[   10.726507] pc : [<bf04db28>]    lr : [<bf04e134>]    psr: 40010013
[   10.733514] sp : ed2e7d68  ip : 00000004  fp : bf054988
[   10.739350] r10: bf054988  r9 : 00000000  r8 : 00000001
[   10.745189] r7 : ed66f500  r6 : ee29da10  r5 : 00000000  r4 : ed22e010
[   10.752487] r3 : ffffffff  r2 : 00000000  r1 : 00000000  r0 : ed22e010
[   10.759785] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   10.767763] Control: 10c5387d  Table: 2d4e806a  DAC: 00000051
[   10.774188] Process kworker/2:2 (pid: 143, stack limit = 0xed2e6220)
[...]
[   11.058818] [<bf04db28>] (vop_reg_set.constprop.4 [rockchipdrm]) from [<bf04e134>] (vop_bind+0x568/0x8a0 [rockchipdrm])
[   11.058828] [<bf04e134>] (vop_bind [rockchipdrm]) from [<c0870400>] (component_bind_all+0x11c/0x23c)
[   11.058836] [<c0870400>] (component_bind_all) from [<bf04c1cc>] (rockchip_drm_bind+0x90/0x1d4 [rockchipdrm])
[   11.058843] [<bf04c1cc>] (rockchip_drm_bind [rockchipdrm]) from [<c0870854>] (try_to_bring_up_master+0x148/0x184)
[   11.058847] [<c0870854>] (try_to_bring_up_master) from [<c0870928>] (component_add+0x98/0x144)
[   11.058853] [<c0870928>] (component_add) from [<bf050d90>] (rockchip_dp_probe+0x7c/0x8c [rockchipdrm])
[   11.058860] [<bf050d90>] (rockchip_dp_probe [rockchipdrm]) from [<c0877660>] (platform_drv_probe+0x50/0xb0)
[   11.058865] [<c0877660>] (platform_drv_probe) from [<c0875b48>] (driver_probe_device+0x230/0x2e4)
[   11.058869] [<c0875b48>] (driver_probe_device) from [<c0874208>] (bus_for_each_drv+0x60/0x94)
[   11.058873] [<c0874208>] (bus_for_each_drv) from [<c0875838>] (__device_attach+0xb0/0x114)
[   11.058876] [<c0875838>] (__device_attach) from [<c0874ec8>] (bus_probe_device+0x84/0x8c)
[   11.058879] [<c0874ec8>] (bus_probe_device) from [<c087534c>] (deferred_probe_work_func+0x68/0x94)
[   11.058884] [<c087534c>] (deferred_probe_work_func) from [<c035a884>] (process_one_work+0x200/0x504)
[   11.058889] [<c035a884>] (process_one_work) from [<c035b610>] (worker_thread+0x38/0x594)
[   11.058894] [<c035b610>] (worker_thread) from [<c036045c>] (kthread+0x128/0x158)
[   11.058900] [<c036045c>] (kthread) from [<c0307d18>] (ret_from_fork+0x14/0x3c)
[   11.058904] Code: eaffffe0 e3a03004 eaffffef e92d4070 (e5914000)
[   11.058930] ---[ end trace 9caa88bbcb1af5e4 ]---

I'll try to investigate a bit more, but maybe you'll be able to
find the issue faster than me in the meantime.


Heiko

WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: Mark Yao <mark.yao@rock-chips.com>
Cc: David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 4/7] drm/rockchip: vop: group vop registers
Date: Thu, 27 Jul 2017 11:51:06 +0200	[thread overview]
Message-ID: <44153824.CqyclESHdT@diego> (raw)
In-Reply-To: <1501049966-6070-1-git-send-email-mark.yao@rock-chips.com>

Hi Mark,

Am Mittwoch, 26. Juli 2017, 14:19:25 CEST schrieb Mark Yao:
> Grouping the vop registers facilitates make register
> definition clearer, and also is useful for different vop
> reuse the same group register.
> 
> Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c |  99 ++++++++++++------------
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.h |  60 ++++++++-------
>  drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 112
> +++++++++++++++------------- 3 files changed, 144 insertions(+), 127
> deletions(-)

This breaks display support on both rk3036 and rk3288 and I end up
with a null pointer dereference in

[   10.640297] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[   10.654430] pgd = c0204000
[   10.657452] [00000000] *pgd=00000000
[   10.661473] Internal error: Oops: 5 [#1] SMP ARM
[   10.666635] Modules linked in: snd_pcm media snd_timer phy_rockchip_dp snd soundcore rockchipdrm dw_hdmi analogix_dp rtc_rk808 pwm_rockchip clk_rk808 spi_rockchip
[   10.682897] CPU: 2 PID: 143 Comm: kworker/2:2 Not tainted 4.13.0-rc2-01791-g2b86603d0515 #355
[   10.692430] Hardware name: Rockchip (Device Tree)
[   10.697692] Workqueue: events deferred_probe_work_func
[   10.702152] Linux video capture interface: v2.00
[   10.708590] task: ee38c800 task.stack: ed2e6000
[   10.713656] PC is at vop_reg_set.constprop.4+0x4/0xa8 [rockchipdrm]
[   10.720668] LR is at vop_bind+0x568/0x8a0 [rockchipdrm]
[   10.726507] pc : [<bf04db28>]    lr : [<bf04e134>]    psr: 40010013
[   10.733514] sp : ed2e7d68  ip : 00000004  fp : bf054988
[   10.739350] r10: bf054988  r9 : 00000000  r8 : 00000001
[   10.745189] r7 : ed66f500  r6 : ee29da10  r5 : 00000000  r4 : ed22e010
[   10.752487] r3 : ffffffff  r2 : 00000000  r1 : 00000000  r0 : ed22e010
[   10.759785] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   10.767763] Control: 10c5387d  Table: 2d4e806a  DAC: 00000051
[   10.774188] Process kworker/2:2 (pid: 143, stack limit = 0xed2e6220)
[...]
[   11.058818] [<bf04db28>] (vop_reg_set.constprop.4 [rockchipdrm]) from [<bf04e134>] (vop_bind+0x568/0x8a0 [rockchipdrm])
[   11.058828] [<bf04e134>] (vop_bind [rockchipdrm]) from [<c0870400>] (component_bind_all+0x11c/0x23c)
[   11.058836] [<c0870400>] (component_bind_all) from [<bf04c1cc>] (rockchip_drm_bind+0x90/0x1d4 [rockchipdrm])
[   11.058843] [<bf04c1cc>] (rockchip_drm_bind [rockchipdrm]) from [<c0870854>] (try_to_bring_up_master+0x148/0x184)
[   11.058847] [<c0870854>] (try_to_bring_up_master) from [<c0870928>] (component_add+0x98/0x144)
[   11.058853] [<c0870928>] (component_add) from [<bf050d90>] (rockchip_dp_probe+0x7c/0x8c [rockchipdrm])
[   11.058860] [<bf050d90>] (rockchip_dp_probe [rockchipdrm]) from [<c0877660>] (platform_drv_probe+0x50/0xb0)
[   11.058865] [<c0877660>] (platform_drv_probe) from [<c0875b48>] (driver_probe_device+0x230/0x2e4)
[   11.058869] [<c0875b48>] (driver_probe_device) from [<c0874208>] (bus_for_each_drv+0x60/0x94)
[   11.058873] [<c0874208>] (bus_for_each_drv) from [<c0875838>] (__device_attach+0xb0/0x114)
[   11.058876] [<c0875838>] (__device_attach) from [<c0874ec8>] (bus_probe_device+0x84/0x8c)
[   11.058879] [<c0874ec8>] (bus_probe_device) from [<c087534c>] (deferred_probe_work_func+0x68/0x94)
[   11.058884] [<c087534c>] (deferred_probe_work_func) from [<c035a884>] (process_one_work+0x200/0x504)
[   11.058889] [<c035a884>] (process_one_work) from [<c035b610>] (worker_thread+0x38/0x594)
[   11.058894] [<c035b610>] (worker_thread) from [<c036045c>] (kthread+0x128/0x158)
[   11.058900] [<c036045c>] (kthread) from [<c0307d18>] (ret_from_fork+0x14/0x3c)
[   11.058904] Code: eaffffe0 e3a03004 eaffffef e92d4070 (e5914000)
[   11.058930] ---[ end trace 9caa88bbcb1af5e4 ]---

I'll try to investigate a bit more, but maybe you'll be able to
find the issue faster than me in the meantime.


Heiko

  parent reply	other threads:[~2017-07-27  9:51 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-26  6:18 [PATCH v6 0/7] drm/rockchip: add all full framework vop support Mark Yao
2017-07-26  6:18 ` Mark Yao
2017-07-26  6:18 ` Mark Yao
2017-07-26  6:19 ` [PATCH v6 1/7] drm/rockchip: vop: initialize registers directly Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26 22:44   ` Heiko Stuebner
2017-07-26 22:44     ` Heiko Stuebner
2017-07-26 22:44     ` Heiko Stuebner
2017-07-27  8:31   ` [v6,1/7] " jeffy
2017-07-27  8:31     ` jeffy
2017-07-27  8:31     ` jeffy
2017-07-26  6:19 ` [PATCH v6 2/7] drm/rockchip: vop: move write_relaxed flags to vop register Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26 22:46   ` Heiko Stuebner
2017-07-26 22:46     ` Heiko Stuebner
2017-07-26 22:46     ` Heiko Stuebner
2017-07-27  8:43   ` [v6, " jeffy
2017-07-27  8:43     ` [v6,2/7] " jeffy
2017-07-27  8:43     ` [v6, 2/7] " jeffy
2017-07-26  6:19 ` [PATCH v6 3/7] drm/rockchip: vop: move line_flag_num to interrupt registers Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26 22:50   ` Heiko Stuebner
2017-07-26 22:50     ` Heiko Stuebner
2017-07-26 22:50     ` Heiko Stuebner
2017-07-26  6:19 ` [PATCH v6 4/7] drm/rockchip: vop: group vop registers Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-27  8:49   ` [v6,4/7] " jeffy
2017-07-27  8:49     ` jeffy
2017-07-27  8:49     ` jeffy
2017-07-27  9:51   ` Heiko Stübner [this message]
2017-07-27  9:51     ` [PATCH v6 4/7] " Heiko Stübner
2017-07-27  9:51     ` Heiko Stübner
2017-07-27 10:10     ` Heiko Stübner
2017-07-27 10:10       ` Heiko Stübner
2017-07-27 10:10       ` Heiko Stübner
2017-07-28  1:02       ` Mark yao
2017-07-28  1:02         ` Mark yao
2017-07-28  1:02         ` Mark yao
2017-07-28  2:45         ` Mark yao
2017-07-28  2:45           ` Mark yao
2017-07-28  6:06   ` [PATCH v6.1 " Mark Yao
2017-07-28  6:06     ` Mark Yao
2017-07-28  6:06     ` Mark Yao
2017-07-28  9:21     ` Heiko Stuebner
2017-07-28  9:21       ` Heiko Stuebner
2017-07-28  9:21       ` Heiko Stuebner
2017-07-26  6:19 ` [PATCH v6 5/7] drm/rockchip: vop: add a series of vop support Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-27  8:59   ` [v6,5/7] " jeffy
2017-07-27  8:59     ` jeffy
2017-07-27  8:59     ` jeffy
2017-07-28 12:48   ` [PATCH v6 5/7] " Heiko Stuebner
2017-07-28 12:48     ` Heiko Stuebner
2017-07-28 12:48     ` Heiko Stuebner
2017-07-26  6:19 ` [PATCH v6 6/7] dt-bindings: display: rockchip: fill Documents for vop series Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-28  9:25   ` Heiko Stuebner
2017-07-28  9:25     ` Heiko Stuebner
2017-07-28  9:25     ` Heiko Stuebner
2017-07-26  6:19 ` [PATCH v6 7/7] drm/rockchip: vop: rk3328: fix overlay abnormal Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-26  6:19   ` Mark Yao
2017-07-27  8:42   ` [v6,7/7] " jeffy
2017-07-27  8:42     ` jeffy
2017-07-27  8:42     ` jeffy
2017-07-28 13:06   ` [PATCH v6 7/7] " Heiko Stuebner
2017-07-28 13:06     ` Heiko Stuebner
2017-07-28 13:06     ` Heiko Stuebner
2017-07-31  1:02 ` [PATCH v6 0/7] drm/rockchip: add all full framework vop support Mark yao
2017-07-31  1:02   ` Mark yao
2017-07-31  1:02   ` Mark yao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44153824.CqyclESHdT@diego \
    --to=heiko@sntech.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mark.yao@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.