As per the CEA spec, only the modes coming from the CEA SVD are capable
of the dual frame rate (that is 60 Hz also supporting 59.94, etc). This
uses the previous change to look at modes that are marked as CEA and
creates a 1000/1001 mode only for those.
bug
1689283
Change-Id: Iba55d8f7ca9b06af7baa3f9e12822130f0f3337c
Signed-off-by: Aly Hirani <ahirani@nvidia.com>
(cherry picked from commit
427bd89b96c96ca3450693f69f71500acaa22d95)
Reviewed-on: http://git-master/r/836961
(cherry picked from commit
08a35d81dc3ba7492ff78c14026278d9c4d549d8)
Reviewed-on: http://git-master/r/836696
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
if (frac_modes) {
for (j = 0; j < specs->modedb_len; ++j) {
int rate = tegra_dc_calc_fb_refresh(&specs->modedb[j]);
- if ((rate == 24000 ||
+ /* 1000/1001 modes are only supported on CEA SVDs. */
+ bool svd = (specs->modedb[j].vmode & FB_VMODE_IS_CEA) &&
+ !(specs->modedb[j].vmode & FB_VMODE_IS_DETAILED);
+ if (svd && (rate == 24000 ||
rate == 30000 ||
(rate > (60000 - 20) && rate < (60000 + 20))) &&
frac_n < max_modes) {