[early pull] drm/msm: drm-msm-next-2021-07-28 for v5.15
Caleb Connolly
caleb.connolly at linaro.org
Thu Jul 29 02:18:08 UTC 2021
On 29/07/2021 02:02, Rob Clark wrote:
> Jordan, any idea if more frequent frequency changes would for some
> reason make a630 grumpy? I was expecting it should be somewhat
> similar to a618 (same GMU fw, etc). The main result of that patch
> should be clamping to min freq when gpu goes idle, and the toggling
> back to devfreq provided freq on idle->active transition. So there
> might be more frequent freq transitions.
>
> Caleb, I don't suppose you could somehow delay starting UI and get
> some traces? Something along the lines of:
>
> localhost ~ # cd /sys/kernel/debug/tracing/
> localhost /sys/kernel/debug/tracing # echo 1 > events/drm_msm_gpu/enable
> localhost /sys/kernel/debug/tracing # echo 1 > tracing_on
> localhost /sys/kernel/debug/tracing # cat trace_pipe
Sure, here's the last ~1k lines of the trace logs:
https://paste.ubuntu.com/p/XMKjKDWxYg/
And what I managed to get from dmesg before the crash (mostly the same
as before): https://paste.ubuntu.com/p/kGVtRHDWKH/
>
> Does adding an 'if (1) return' at the top of msm_devfreq_idle() help?
> That should bypass the clamping to min freq when the GPU isn't doing
> anything and reduce the # of freq transitions. I suppose we could
> opt-in to this behavior on a per-gpu basis..
Yeah, that seems to resolve the issue, although I got the following
probably unrelated (?) error on rebooting the device:
[ 134.994449] [drm:dpu_encoder_vsync_event_handler:1749] [dpu
error]invalid parameters
I wonder if the PocoPhone F1 has the same problem...
>
> BR,
> -R
>
> On Wed, Jul 28, 2021 at 5:35 PM Caleb Connolly
> <caleb.connolly at linaro.org> wrote:
>>
>> Hi Rob,
>>
>> This series causes a fatal crash on my Oneplus 6, the device goes to
>> Qualcomm crashdump mode shortly after reaching UI with the following errors:
>>
>> https://paste.ubuntu.com/p/HvjmzZYtgw/
>>
>> I did a git bisect and the patch ("drm/msm: Devfreq tuning") seems to be
>> the cause of the crash, reverting it resolves the issue.
>>
>>
>> On 28/07/2021 21:52, Rob Clark wrote:
>>> Hi Dave & Daniel,
>>>
>>> An early pull for v5.15 (there'll be more coming in a week or two),
>>> consisting of the drm/scheduler conversion and a couple other small
>>> series that one was based one. Mostly sending this now because IIUC
>>> danvet wanted it in drm-next so he could rebase on it. (Daniel, if
>>> you disagree then speak up, and I'll instead include this in the main
>>> pull request once that is ready.)
>>>
>>> This also has a core patch to drop drm_gem_object_put_locked() now
>>> that the last use of it is removed.
>>>
>>> The following changes since commit ff1176468d368232b684f75e82563369208bc371:
>>>
>>> Linux 5.14-rc3 (2021-07-25 15:35:14 -0700)
>>>
>>> are available in the Git repository at:
>>>
>>> https://gitlab.freedesktop.org/drm/msm.git drm-msm-next-2021-07-28
>>>
>>> for you to fetch changes up to 4541e4f2225c30b0e9442be9eb2fb8b7086cdd1f:
>>>
>>> drm/msm/gem: Mark active before pinning (2021-07-28 09:19:00 -0700)
>>>
>>> ----------------------------------------------------------------
>>> Rob Clark (18):
>>> drm/msm: Let fences read directly from memptrs
>>> drm/msm: Signal fences sooner
>>> drm/msm: Split out devfreq handling
>>> drm/msm: Split out get_freq() helper
>>> drm/msm: Devfreq tuning
>>> drm/msm: Docs and misc cleanup
>>> drm/msm: Small submitqueue creation cleanup
>>> drm/msm: drop drm_gem_object_put_locked()
>>> drm: Drop drm_gem_object_put_locked()
>>> drm/msm/submit: Simplify out-fence-fd handling
>>> drm/msm: Consolidate submit bo state
>>> drm/msm: Track "seqno" fences by idr
>>> drm/msm: Return ERR_PTR() from submit_create()
>>> drm/msm: Conversion to drm scheduler
>>> drm/msm: Drop submit bo_list
>>> drm/msm: Drop struct_mutex in submit path
>>> drm/msm: Utilize gpu scheduler priorities
>>> drm/msm/gem: Mark active before pinning
>>>
>>> drivers/gpu/drm/drm_gem.c | 22 --
>>> drivers/gpu/drm/msm/Kconfig | 1 +
>>> drivers/gpu/drm/msm/Makefile | 1 +
>>> drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +-
>>> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +-
>>> drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +-
>>> drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +-
>>> drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +-
>>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 6 +-
>>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +-
>>> drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +-
>>> drivers/gpu/drm/msm/msm_drv.c | 30 ++-
>>> drivers/gpu/drm/msm/msm_fence.c | 53 +----
>>> drivers/gpu/drm/msm/msm_fence.h | 44 +++-
>>> drivers/gpu/drm/msm/msm_gem.c | 94 +-------
>>> drivers/gpu/drm/msm/msm_gem.h | 47 ++--
>>> drivers/gpu/drm/msm/msm_gem_submit.c | 344 +++++++++++++++++-----------
>>> drivers/gpu/drm/msm/msm_gpu.c | 220 ++++--------------
>>> drivers/gpu/drm/msm/msm_gpu.h | 139 ++++++++++-
>>> drivers/gpu/drm/msm/msm_gpu_devfreq.c | 203 ++++++++++++++++
>>> drivers/gpu/drm/msm/msm_rd.c | 6 +-
>>> drivers/gpu/drm/msm/msm_ringbuffer.c | 69 +++++-
>>> drivers/gpu/drm/msm/msm_ringbuffer.h | 12 +
>>> drivers/gpu/drm/msm/msm_submitqueue.c | 53 +++--
>>> include/drm/drm_gem.h | 2 -
>>> include/uapi/drm/msm_drm.h | 14 +-
>>> 26 files changed, 865 insertions(+), 536 deletions(-)
>>> create mode 100644 drivers/gpu/drm/msm/msm_gpu_devfreq.c
>>>
>>
>> --
>> Kind Regards,
>> Caleb (they/them)
--
Kind Regards,
Caleb (they/them)
More information about the dri-devel
mailing list