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