Hi Maxime,

+static struct drm_display_mode *drm_named_mode(struct drm_device *dev,
+                                              struct drm_cmdline_mode *cmd)
+{
+       struct drm_display_mode *mode;
+       unsigned int i;
+
+       for (i = 0; i < ARRAY_SIZE(drm_named_modes); i++) {
+               const struct drm_named_mode *named_mode = &drm_named_modes[i];
+
+               if (strcmp(cmd->name, named_mode->name))
+                       continue;
+
+               if (!named_mode->tv_mode)
+                       continue;
+
+               mode = drm_analog_tv_mode(dev,
+                                         named_mode->tv_mode,
+                                         named_mode->pixel_clock_khz * 1000,
+                                         named_mode->xres,
+                                         named_mode->yres,
+                                         named_mode->flags & 
DRM_MODE_FLAG_INTERLACE);
+               if (!mode)
+                       return NULL;
+
+               return mode;
+       }
+
+       return NULL;
+}
+

You didn't add tv_mode_specified to struct drm_named_mode, and left the
if (!named_mode->tv_mode) condition here. This will break on NTSC.

Best regards,
Mateusz Kwiatkowski

Reply via email to