– radeon_crtc->flip_queue = create_singlethread_workqueue(“radeon-crtc”);
+ radeon_crtc->flip_queue = alloc_workqueue(“radeon-crtc”, WQ_HIGHPRI, 0);
- Each hardware CRTC has a single flip work queue. When a radeon_flip_work_func item is queued, it needs to be executed ASAP because even a slight delay may cause the flip to be delayed by one refresh cycle.
- Hence, a dedicated workqueue with WQ_HIGHPRI set, has been used here since a delay can cause the outcome to miss the refresh cycle.
- Since there are only a fixed number of work items, explicit concurrency limit is unnecessary here.
Used for workqueues that queue work items that require high priority for execution..