[Nouveau] TDMS bandwidth limits
ef at math.uni-bonn.de
Thu Feb 3 10:59:43 PST 2011
I'm curious what the TDMS bandwidth limit values in get_tmds_link_bandwidth() are based on.
We're using chipset == 44 cards that happily run 1600x1200 at 60 using the propriety driver and which also used to work with nouveau up to Linux 220.127.116.11. Since 2.6.37, nouveau refuses to use that mode because the required 163M pixel clock exceeds the computed TDMS bandwidth of 155M (earlier versions allowed for 165M regardless of chipset value).
Although I cannot tell for sure which timing the closed-source driver runs 1600x1200 at 60 with on these monitors, I find it unlikely that it uses some built-in, non-EDID timing requiring a lower pixel clock. I also don't suspect NVidia running their own chips above specs.
So either NVidia doesn't disclose the specs even to their own programmers, the values in get_tmds_link_bandwidth() are wrong, or, more likely, I'm missing something.
Patching get_tmds_link_bandwidth() to allow for 165M already for chipset >= 0x44 appears to work. However, I don't feel comfortable with stretching rates above spec.
More information about the Nouveau