Skip to content

Commit 6ab61ad

Browse files
committed
drm/i915: add gem/gt TODO
We've discussed a bit how to get the gem/gt team better integrated and collaborate more with the wider community and agreed to the following: - all gem/gt patches are reviewed on dri-devel for now. That's overkill, but in the past there was definitely too little of that. - i915-gem folks are encouraged to cross review core patches from other teams - big features (especially uapi changes) need to be discussed in an rfc patch that documents the interface and big picture design, before we get lost in the details of the code - Also a rough TODO (can be refined as we go ofc) to get gem/gt back on track, like we've e.g. done with DAL/DC to get that in shape. v2: - add dma_fence annotations (Dave) - tasklet helpers (Jani on irc) There was also a discussion about moving these into gitlab issues, or gitlab issues as additional discussion place at least. For now it's just the TODO file Cc: Jani Nikula <[email protected]> Cc: Joonas Lahtinen <[email protected]> Cc: Rodrigo Vivi <[email protected]> Cc: Jason Ekstrand <[email protected]> Cc: Dave Airlie <[email protected]> Acked-by: Dave Airlie <[email protected]> Acked-by: Rodrigo Vivi <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 54d4e9f commit 6ab61ad

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

drivers/gpu/drm/i915/TODO.txt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
gem/gt TODO items
2+
-----------------
3+
4+
- For discrete memory manager, merge enough dg1 to be able to refactor it to
5+
TTM. Then land pci ids (just in case that turns up an uapi problem). TTM has
6+
improved a lot the past 2 years, there's no reason anymore not to use it.
7+
8+
- Come up with a plan what to do with drm/scheduler and how to get there.
9+
10+
- Roll out dma_fence critical section annotations.
11+
12+
- There's a lot of complexity added past few years to make relocations faster.
13+
That doesn't make sense given hw and gpu apis moved away from this model years
14+
ago:
15+
1. Land a modern pre-bound uapi like VM_BIND
16+
2. Any complexity added in this area past few years which can't be justified
17+
with VM_BIND using userspace should be removed. Looking at amdgpu dma_resv on
18+
the bo and vm, plus some lru locks is all that needed. No complex rcu,
19+
refcounts, caching, ... on everything.
20+
This is the matching task on the vm side compared to ttm/dma_resv on the
21+
backing storage side.
22+
23+
- i915_sw_fence seems to be the main structure for the i915-gem dma_fence model.
24+
How-to-dma_fence is core and drivers really shouldn't build their own world
25+
here, treating everything else as a fixed platform. i915_sw_fence concepts
26+
should be moved to dma_fence, drm/scheduler or atomic commit helpers. Or
27+
removed if dri-devel consensus is that it's not a good idea. Once that's done
28+
maybe even remove it if there's nothing left.
29+
30+
Smaller things:
31+
- i915_utils.h needs to be moved to the right places.
32+
33+
- dma_fence_work should be in drivers/dma-buf
34+
35+
- i915_mm.c should be moved to the right places. Some of the helpers also look a
36+
bit fishy:
37+
38+
https://lore.kernel.org/linux-mm/[email protected]/
39+
40+
- tasklet helpers in i915_gem.h also look a bit misplaced and should
41+
probably be moved to tasklet headers.

0 commit comments

Comments
 (0)