On Wed, Feb 23, 2011 at 4:53 PM, Andy Walls <awalls@xxxxxxxxxxxxxxxx> wrote: > "When the standard set is ambiguous drivers may return EINVAL or choose > any of the requested standards." Returning -EINVAL is really not desired behavior. > If you don't have standard autodetection before the DIF, your > safest bet is to have the driver return EINVAL, if you have flags > that don't all fall into one of the compound statements in the if() > statement. This can be a bit tricky since setting the standard typically comes before the tuning request. Think of initial startup: the device isn't tuned at all. You get the S_STD call, but you can't do autodetect because you're not tuned to the target frequency yet. I suppose you could reconfigure the DIF after the S_FREQ call, but then you will probably have to make the driver wait long enough to get a tuning lock (or have some sort of deferred handler code which polls for the tuning lock and configured the DIF after the lock is achieved). Admittedly I haven't yet dug into how other drivers do this, so I figured I would ask around first. Also, I'm not really sure what sort of standard autodetection capabilities there are in the Polaris (I should probably talk to the guy who did the DIF work on the cx23885). Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html