[PATCH v11 00/24] drm/rockchip: RK356x VOP2 support
Peter Geis
pgwipeout at gmail.com
Fri May 20 04:56:24 PDT 2022
On Fri, May 20, 2022 at 6:12 AM Sascha Hauer <s.hauer at pengutronix.de> wrote:
>
> Hi Maya,
>
> On Fri, May 20, 2022 at 12:02:33PM +0200, Maya Matuszczyk wrote:
> > Hello,
> >
> > wt., 17 maj 2022 o 20:28 Heiko Stuebner <heiko at sntech.de> napisał(a):
> > >
> > > Am Freitag, 22. April 2022, 09:28:17 CEST schrieb Sascha Hauer:
> > > > It's v11 time. There's only one small change to v10. Discussion seems to
> > > > have settled now. Is there anything left that prevents the series from
> > > > being merged? I'd really like to have it in during the next merge
> > > > window.
> > > >
> > > > This series still depends on:
> > > > drm/rockchip: Refactor IOMMU initialisation (https://lists.freedesktop.org/archives/dri-devel/2022-April/349548.html)
> > > > arm64: dts: rockchip: add basic dts for the radxa rock3 model a
> > > >
> > > > Sascha
> > >
> > > I've now picked up everything except the hdmi-rate stuff in some way.
> > > The driver changes will go into 5.19 and the DT-changes into 5.20.
> > >
> > > I'll now move the series out of my focus and would expect further
> > > hdmi rate voodoo to start a new series :-) .
> > >
> > > Thanks to all involved for working on this.
> > > Heiko
> >
> > What do I need besides this patch series, mentioned before IOMMU refactor,
> > and DTS changes for MIPI-DSI support on RK356x?
> > I'm working on mainline kernel support for a a RK3566 board with
> > a DSI display.
>
> Apart from these patches you'll need updates for the DSI. I've pushed
> these once to
> https://git.pengutronix.de/cgit/sha/linux/log/?h=rockchip-vop2-mipi
> Particularly I think you need:
>
> 383ff250345f0 drm: rockchip: dw-mipi-dsi: Call host attach from probe
> e79a16ead833d dw-mipi-dsi-rockchip: increase bandwidth
> ac400bdd8d0cb drm: rockchip: dw-mipi-dsi-rockchip: Add rk3568 support
> b6b7fabbc9fe2 drm: panel-simple: Add init sequence support
> 3c13a030e92f3 arm64: dts: rockchip: rk3568-evb: Add Display support
> 3433935a31675 arm64: dts: rockchip: rk356x: Add dsi nodes
>
> I'm not sure how well these fit onto the current state. I'll likely
> update the branch when the VOP2 has hit mainline after the next merge
> window. I have no plans currently to upstream the DSI bits though.
Yeah DSI needs a bit of love with the merged version. Even updating
the series to the new version we get a null pointer exception:
[ 2.304528] Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000250
[ 2.305311] Mem abort info:
[ 2.305563] ESR = 0x96000005
[ 2.305839] EC = 0x25: DABT (current EL), IL = 32 bits
[ 2.306311] SET = 0, FnV = 0
[ 2.306586] EA = 0, S1PTW = 0
[ 2.306868] FSC = 0x05: level 1 translation fault
[ 2.307301] Data abort info:
[ 2.307559] ISV = 0, ISS = 0x00000005
[ 2.307926] CM = 0, WnR = 0
[ 2.308197] [0000000000000250] user address but active_mm is swapper
[ 2.308763] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[ 2.309260] Modules linked in:
[ 2.309541] CPU: 0 PID: 51 Comm: kworker/u8:1 Not tainted
5.18.0-rc2-00072-g4d2476a40e3e-dirty #307
[ 2.310343] Hardware name: Pine64 RK3566 Quartz64-A Board (DT)
[ 2.310862] Workqueue: events_unbound deferred_probe_work_func
[ 2.311391] pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 2.312010] pc : __drm_crtc_init_with_planes+0x44/0x2d0
[ 2.312482] lr : drm_crtc_init_with_planes+0x64/0x94
[ 2.312929] sp : ffffffc00aaa3830
[ 2.313226] x29: ffffffc00aaa3830 x28: 0000000000000001 x27: ffffffc00aaa38c0
[ 2.313866] x26: ffffffc009950fb0 x25: ffffff8100f24080 x24: ffffffc009452748
[ 2.314504] x23: ffffffc009950fb0 x22: 0000000000000000 x21: 0000000000000008
[ 2.315142] x20: ffffff8100d1e800 x19: ffffff8100f244e8 x18: 00000000fffffffd
[ 2.315781] x17: 08000000000000d1 x16: 0800000000000091 x15: 0000000000000020
[ 2.316419] x14: 0000000000000000 x13: ffffff8100f24478 x12: ffffff8100f2445d
[ 2.317057] x11: ffffffc00aaa3920 x10: ffffffc00aaa3920 x9 : ffffffc008843994
[ 2.317694] x8 : ffffffc00aaa3910 x7 : ffffffc00aaa3910 x6 : ffffffc00aaa38c0
[ 2.318333] x5 : ffffffc009950fb0 x4 : ffffffc0094522a0 x3 : 0000000000000000
[ 2.318970] x2 : 0000000000000008 x1 : ffffff8100f244e8 x0 : ffffff8100d1e800
[ 2.319609] Call trace:
[ 2.319829] __drm_crtc_init_with_planes+0x44/0x2d0
[ 2.320268] drm_crtc_init_with_planes+0x64/0x94
[ 2.320684] vop2_bind+0x61c/0x960
[ 2.320996] component_bind_all+0x10c/0x270
[ 2.321374] rockchip_drm_bind+0xc0/0x20c
[ 2.321738] try_to_bring_up_aggregate_device+0x16c/0x1e0
[ 2.322221] __component_add+0xac/0x17c
[ 2.322568] component_add+0x20/0x30
[ 2.322890] dw_mipi_dsi_rockchip_host_attach+0x60/0x11c
[ 2.323365] dw_mipi_dsi_host_attach+0x80/0xd4
[ 2.323767] mipi_dsi_attach+0x34/0x50
[ 2.324107] feiyang_dsi_probe+0x100/0x17c
[ 2.324476] mipi_dsi_drv_probe+0x2c/0x40
[ 2.324838] really_probe.part.0+0xa4/0x2a0
[ 2.325215] __driver_probe_device+0xa0/0x150
[ 2.325607] driver_probe_device+0x48/0x150
[ 2.325983] __device_attach_driver+0xc0/0x130
[ 2.326381] bus_for_each_drv+0x84/0xe0
[ 2.326729] __device_attach+0xe4/0x190
[ 2.327075] device_initial_probe+0x20/0x30
[ 2.327451] bus_probe_device+0xa4/0xb0
[ 2.327798] deferred_probe_work_func+0x94/0xcc
[ 2.328204] process_one_work+0x1dc/0x450
[ 2.328569] worker_thread+0x2d0/0x450
[ 2.328909] kthread+0x100/0x110
[ 2.329204] ret_from_fork+0x10/0x20
[ 2.329534] Code: aa0503fa f9002bfb aa0603fb b40000c2 (b9424840)
[ 2.330077] ---[ end trace 0000000000000000 ]---
Which equates to:
(gdb) l *__drm_crtc_init_with_planes+0x44
0xffffffc0088436ac is in __drm_crtc_init_with_planes
(drivers/gpu/drm/drm_crtc.c:254).
249 const char *name, va_list ap)
250 {
251 struct drm_mode_config *config = &dev->mode_config;
252 int ret;
253
254 WARN_ON(primary && primary->type != DRM_PLANE_TYPE_PRIMARY);
255 WARN_ON(cursor && cursor->type != DRM_PLANE_TYPE_CURSOR);
256
257 /* crtc index is used with 32bit bitmasks */
258 if (WARN_ON(config->num_crtc >= 32))
Of course it's entirely possible I missed something here in my port to
the latest version. But if this is configuration in the device tree it
strikes me as odd that a NPE could be triggered.
>
> Regards,
> Sascha
>
> --
> Pengutronix e.K. | |
> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the Linux-rockchip
mailing list