[PATCH v2 4/9] drm/panthor: Implement optional reset

Marek Vasut marek.vasut at mailbox.org
Tue Sep 16 10:34:42 PDT 2025


On 9/16/25 12:06 PM, Rain Yang wrote:

Hello everyone,

> you're right.
> *0x4d810008=1, this register is a write-once register, so it was moved into SM
> since imx 6.12.3 release, and latest 6.6.52 release. some document work is still
> needed in the future.
> 
> Hi Marek,
> thanks for your effort to make the i.MX95 GPU upstreamed.
> I created one PR to support i.MX95 GPU expcept the multi power domain[1],
> but it seemed to be placed in the wrong location. No one responded to it,
> so I closed it.
> 
> for the suspend/resume issue, the panthor driver works well with 6.12.34
> patched with pm_domains operation like you did.
> run vkmark->suspend 10min in the 4th console->wakeup in the 4th console.
> 
> can you show me your SM version when uboot start,

Build 470, Commit a07928b4 Sep 03 2025 23:43:49

> and the G310 firmware version which can be found by search git_sha string.

That would be 50.2 . I now tried 53.0 and I suspect something might have 
been fixed there ?

As for the reset via block controller at 0x4d810000, without it, I get 
SError, so it seems the reset is still needed.

[    2.788317] panthor 4d900000.gpu: [drm] clock rate = 800000000
[    2.795246] panthor 4d900000.gpu: EM: created perf domain
[    2.801029] Internal error: synchronous external abort: 
0000000096000010 [#1]  SMP
[    2.808597] Modules linked in:
[    2.811658] CPU: 3 UID: 0 PID: 52 Comm: kworker/u24:1 Tainted: G   M 
               6.17.0-rc6-next-20250916-00076-ga73c9babac81-dirty #496 
PREEMPT
[    2.824939] Tainted: [M]=MACHINE_CHECK
[    2.828684] Hardware name: Board (DT)
[    2.834770] Workqueue: events_unbound deferred_probe_work_func
[    2.840601] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS 
BTYPE=--)
[    2.847545] pc : panthor_hw_init+0x18/0x620
[    2.851728] lr : panthor_device_init+0x388/0x5e0
[    2.856333] sp : ffff800082383aa0
[    2.859643] x29: ffff800082383aa0 x28: 0000000000000000 x27: 
0000000000000000
[    2.866782] x26: ffff000080034c28 x25: 0000000000000000 x24: 
0000000000000000
[    2.873909] x23: ffff00008036f010 x22: ffff000081082638 x21: 
ffff00008036f010
[    2.881033] x20: ffff000081082000 x19: ffff000081082000 x18: 
0000000000000801
[    2.888165] x17: 0000000000000000 x16: 0000000000000100 x15: 
0000000000000001
[    2.895298] x14: 0140000000000000 x13: ffff800083800000 x12: 
ffff800083c7ffff
[    2.902422] x11: 000000004dd80000 x10: 0000000040000000 x9 : 
ffff8000809696b8
[    2.909555] x8 : ffff8000823839a0 x7 : ffff000081082000 x6 : 
ffff800082383a50
[    2.916679] x5 : ffff8000823839d0 x4 : ffff800081beb4d0 x3 : 
ffff800081beb000
[    2.923803] x2 : 0000000000000000 x1 : ffff0000809a90c0 x0 : 
ffff800083800000
[    2.930934] Call trace:
[    2.933378]  panthor_hw_init+0x18/0x620 (P)
[    2.937555]  panthor_device_init+0x388/0x5e0
[    2.941812]  panthor_probe+0x40/0x68
[    2.945383]  platform_probe+0x60/0xa8
[    2.949040]  really_probe+0xc0/0x2b8
[    2.952611]  __driver_probe_device+0x7c/0x120
[    2.956962]  driver_probe_device+0x40/0x180
[    2.961130]  __device_attach_driver+0xb4/0x140
[    2.965567]  bus_for_each_drv+0x88/0xf8
[    2.969398]  __device_attach+0xa0/0x1a0
[    2.973220]  device_initial_probe+0x18/0x30
[    2.977397]  bus_probe_device+0x9c/0xa8
[    2.981228]  deferred_probe_work_func+0x88/0xc8
[    2.985743]  process_one_work+0x158/0x3a8
[    2.989754]  worker_thread+0x2d8/0x410
[    2.993498]  kthread+0x144/0x200
[    2.996722]  ret_from_fork+0x10/0x20
[    3.000296] Code: a9bb7bfd aa0003e7 910003fd f9430800 (b9400000)
[    3.006378] ---[ end trace 0000000000000000 ]---



More information about the linux-arm-kernel mailing list