[PATCH] drm/sysfs: Provide per connector control of DRM KMS polling

Rafał Miłecki zajec5 at gmail.com
Mon Sep 20 11:29:40 PDT 2010


2010/9/20 Andy Walls <awalls at md.metrocast.net>:
> DRM KMS polling of connections providing errant EDID responses, or
> polling of "connectors" that have chips responding on DDC I2C bus
> address 0xA0/0xA1 with no actual physical connector nor EDID EEPROM,
> will create perpetual noise in dmesg and the system log every 10
> seconds.  Currently the user has apparently little recourse to silence
> these messages aside from replacing the offending cable, monitor, or
> graphics adapter.  That recourse is impossible for an unused DVI-D
> "connector" of an internal graphics processor on a motherboard that
> provides no physical DVI-D connector.
>
> This change allows the root user to disable (and re-enable) DRM KMS
> connector polling on a per connector basis via sysfs, like so:

Huh, I didn't imagine solution of this issue that way. AFAIR previous
thread, something else was suggested, it was about storing the fact
that user already received warning/info about error.

Why I don't really like proposed solution?
1) You need to be root
2) Need to know and play with some "magic" sysfs file.

I thing it would be much better and user-friendly to display such an
error just once per display. How this could be implemented?

1) Add field like "warned" to connector struct, default to 0
2) if (warning_to_be_printed && !connector->warned) { printk();
connector->warned = 1
3) if (connector_disconnected) { connector->warned = 0; }

This was you will get just one warning per connected display. Of
course after disconnecting it we have to clear "warned", as user may
connect another "broken" display, then we should print warning again.

What do think about this solution?

-- 
Rafał


More information about the dri-devel mailing list