History

drm/msm: Support multiple ringbuffers

Add the infrastructure to support the idea of multiple ringbuffers. Assign each ringbuffer an id and use that as an index for the various ring specific operations. The biggest delta is to support legacy fences. Each fence gets its own sequence number but the legacy functions expect to use a unique integer. To handle this we return a unique identifier for each submission but map it to a specific ring/sequence under the covers. Newer users use a dma_fence pointer anyway so they don't care about the actual sequence ID or ring. The actual mechanics for multiple ringbuffers are very target specific so this code just allows for the possibility but still only defines one ringbuffer for each target family.

Jordan Crouse committed 9 years ago

Commit f97deca1 parent cd414f320 files · +1251 −210Browse files

Showing the changes to include/uapi (1 of 20 files). Show all

Unified · Split

include/uapi/drm/msm_drm.h+1−0
@@ -232,6 +232,7 @@ struct drm_msm_wait_fence { · 231 unmodified lines
232232 __u32 fence; /* in */
233233 __u32 pad;
234234 struct drm_msm_timespec timeout; /* in */
235+ __u32 queueid; /* in, submitqueue id */
235236 };
236237
237238 /* madvise provides a way to tell the kernel in case a buffers contents

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t