summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorLyude Paul <lyude@redhat.com>2019-08-07 19:47:06 -0400
committerBen Skeggs <bskeggs@redhat.com>2019-08-23 12:55:34 +1000
commited22eb56f2bf2908fef7a108809ffa208ff62c0c (patch)
tree2e72e1eec2391c3f8f853944c368686d3de403e3 /tools/perf/scripts/python
parent2b7e7bb16812cd3a8f85f1d8e2752ab66130a0fe (diff)
downloadkernel-ed22eb56f2bf2908fef7a108809ffa208ff62c0c.tar.gz
drm/nouveau/dispnv50: Fix runtime PM ref tracking for non-blocking modesets
This is something that got noticed a while ago back when I was fixing a large number of runtime PM related issues in nouveau, but never got fixed: https://patchwork.freedesktop.org/series/46815/#rev7 It's not safe to iterate the entire list of CRTCs in nv50_disp_atomic_commit(), as we could be doing a non-blocking modeset on one CRTC in parallel with one or more other CRTCs. Likewise, this means it's also not safe to do so in order to track runtime PM state. While this code is certainly wrong, so far the only issues I've seen this cause in the wild is the occasional PM ref unbalance after an atomic check failure + module reloading (since the PCI device will outlive nouveau in such scenarios). So, do this far more elegantly: grab a runtime PM ref across the modeset and commit tail, then grab/put references for each CRTC enable/disable. This also ends up being much simpler then the previous broken solution we had. Finally, since we've removed all it's users: get rid of nouveau_drm->have_disp_power_ref. Signed-off-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
2ab8c55c85'>UBIFS: rename dbg_check_dir_size functionArtem Bityutskiy 2011-07-04UBIFS: improve inode dumping functionArtem Bityutskiy 2011-07-04UBIFS: lessen the size of debugging info data structureArtem Bityutskiy 2011-05-23UBIFS: switch to dynamic printksArtem Bityutskiy 2011-05-20UBIFS: fix kernel-doc commentsArtem Bityutskiy 2011-05-13UBIFS: dump the stack on errors in failure mode tooArtem Bityutskiy 2011-05-13UBIFS: make force in-the-gaps to be a general self-checkArtem Bityutskiy 2011-05-13UBIFS: improve space checking debugging featureArtem Bityutskiy 2011-04-13UBIFS: fix compilation warnings when compiling with gcc 4.5Maksim Rayskiy 2011-03-16UBIFS: clean-up commentariesArtem Bityutskiy 2011-03-16UBIFS: save 128KiB or more RAMArtem Bityutskiy 2011-03-11UBIFS: simplify UBIFS Kconfig menuArtem Bityutskiy 2010-08-30UBIFS: introduce list sorting debugging checksArtem Bityutskiy