Disabling polling in drm_helper
Mike Verstegen
mikev at athletesperformance.com
Mon Apr 22 18:16:16 PDT 2013
I'm troubleshooting an interesting problem where the i915_hotplug_work_func is eating up a lot of time in a couple of kworker threads. The interesting part of the problem is that this only happens with one particular model of monitor which I haven't gotten to the bottom of yet. But that's not the problem I'm trying to resolve.
One band-aid for this trouble is to disable the polling in the irq_event
# echo "N" > /sys/module/drm_kms_helper/parameters/poll
That quiets down the kworker threads. Good
To make this survive across boots, I added the following to /etc/modprobe/local.conf
options drm_kms_helper poll=N
On reboot, the poll is still enabled
[root at localhost ~]# cat /sys/module/drm_kms_helper/parameters/poll
Y
Looking at the drm_crtc_helper.c I see
void drm_kms_helper_poll_init(struct drm_device *dev)
{
INIT_DELAYED_WORK(&dev->mode_config.output_poll_work, output_poll_execute);
dev->mode_config.poll_enabled = true;
drm_kms_helper_poll_enable(dev);
}
If I'm reading that correctly, poll_enable is set to true on initialization unconditionally.
Questions:
- Am I using "options drm_kms_helper poll=N" correctly
- Is there a better way to have this option set to false on initialization?
Thanks
Mike
More information about the dri-devel
mailing list