mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 20:01:55 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: drm: fix fallouts from slow-work -> wq conversion workqueue: workqueue_cpu_callback() should be cpu_notifier instead of hotcpu_notifier workqueue: add missing __percpu markup in kernel/workqueue.c
This commit is contained in:
commit
e5149cc44c
@ -839,7 +839,6 @@ static void output_poll_execute(struct work_struct *work)
|
||||
struct drm_connector *connector;
|
||||
enum drm_connector_status old_status, status;
|
||||
bool repoll = false, changed = false;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&dev->mode_config.mutex);
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
||||
@ -874,11 +873,8 @@ static void output_poll_execute(struct work_struct *work)
|
||||
dev->mode_config.funcs->output_poll_changed(dev);
|
||||
}
|
||||
|
||||
if (repoll) {
|
||||
ret = queue_delayed_work(system_nrt_wq, delayed_work, DRM_OUTPUT_POLL_PERIOD);
|
||||
if (ret)
|
||||
DRM_ERROR("delayed enqueue failed %d\n", ret);
|
||||
}
|
||||
if (repoll)
|
||||
queue_delayed_work(system_nrt_wq, delayed_work, DRM_OUTPUT_POLL_PERIOD);
|
||||
}
|
||||
|
||||
void drm_kms_helper_poll_disable(struct drm_device *dev)
|
||||
@ -893,18 +889,14 @@ void drm_kms_helper_poll_enable(struct drm_device *dev)
|
||||
{
|
||||
bool poll = false;
|
||||
struct drm_connector *connector;
|
||||
int ret;
|
||||
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
||||
if (connector->polled)
|
||||
poll = true;
|
||||
}
|
||||
|
||||
if (poll) {
|
||||
ret = queue_delayed_work(system_nrt_wq, &dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD);
|
||||
if (ret)
|
||||
DRM_ERROR("delayed enqueue failed %d\n", ret);
|
||||
}
|
||||
if (poll)
|
||||
queue_delayed_work(system_nrt_wq, &dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_kms_helper_poll_enable);
|
||||
|
||||
|
@ -2568,7 +2568,7 @@ EXPORT_SYMBOL(schedule_delayed_work_on);
|
||||
int schedule_on_each_cpu(work_func_t func)
|
||||
{
|
||||
int cpu;
|
||||
struct work_struct *works;
|
||||
struct work_struct __percpu *works;
|
||||
|
||||
works = alloc_percpu(struct work_struct);
|
||||
if (!works)
|
||||
@ -3527,7 +3527,7 @@ static int __init init_workqueues(void)
|
||||
unsigned int cpu;
|
||||
int i;
|
||||
|
||||
hotcpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE);
|
||||
cpu_notifier(workqueue_cpu_callback, CPU_PRI_WORKQUEUE);
|
||||
|
||||
/* initialize gcwqs */
|
||||
for_each_gcwq_cpu(cpu) {
|
||||
|
Loading…
Reference in New Issue
Block a user