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

From: RafaÅ MiÅecki
Date: Mon Sep 20 2010 - 14:29:46 EST


2010/9/20 Andy Walls <awalls@xxxxxxxxxxxxxxxx>:
> 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Å
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/