想要 1080p@30fps 的输出
mode->clock / 2 的操作, 强制pixclock 像素时钟修改为 74.25MHz,
达到 30Hz 的效果。
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
old mode 100644
new mode 100755
index 3f50b886..5be2f60
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2330,7 +2330,8 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
if (quirks & EDID_QUIRK_135_CLOCK_TOO_HIGH)
timing->pixel_clock = cpu_to_le16(1088);
- mode->clock = le16_to_cpu(timing->pixel_clock) * 10;
+ mode->clock = le16_to_cpu(timing->pixel_clock) * 10 / 2;
+ printk("mode->clock %d, is / 2, 1080p30fps for hdmi\n", mode->clock);
mode->hdisplay = hactive;
mode->hsync_start = mode->hdisplay + hsync_offset;
@@ -4911,7 +4912,7 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
if (quirks & EDID_QUIRK_FORCE_12BPC)
connector->display_info.bpc = 12;
-
+ printk("num_modes %d , edid->features 0x%x, quirks 0x%x\n", num_modes, edid->features, quirks);
return num_modes;
}
EXPORT_SYMBOL(drm_add_edid_modes);