* vblank/irq handling. KMS drivers must ensure that vblanks are all
         * disabled when uninstalling the irq handler.
         */
-       if (dev->num_crtcs) {
+       if (drm_dev_has_vblank(dev)) {
                spin_lock_irqsave(&dev->vbl_lock, irqflags);
                for (i = 0; i < dev->num_crtcs; i++) {
                        struct drm_vblank_crtc *vblank = &dev->vblank[i];
 
        int linedur_ns = 0, framedur_ns = 0;
        int dotclock = mode->crtc_clock;
 
-       if (!dev->num_crtcs)
+       if (!drm_dev_has_vblank(dev))
                return;
 
        if (WARN_ON(pipe >= dev->num_crtcs))
        unsigned int pipe = drm_crtc_index(crtc);
        ktime_t now;
 
-       if (dev->num_crtcs > 0) {
+       if (drm_dev_has_vblank(dev)) {
                seq = drm_vblank_count_and_time(dev, pipe, &now);
        } else {
                seq = 0;
        unsigned long irqflags;
        int ret = 0;
 
-       if (!dev->num_crtcs)
+       if (!drm_dev_has_vblank(dev))
                return -EINVAL;
 
        if (WARN_ON(pipe >= dev->num_crtcs))
        struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
 
        /* vblank is not initialized (IRQ not installed ?), or has been freed */
-       if (!dev->num_crtcs)
+       if (!drm_dev_has_vblank(dev))
                return;
 
        if (WARN_ON(pipe >= dev->num_crtcs))
        unsigned long irqflags;
 
        /* vblank is not initialized (IRQ not installed ?), or has been freed */
-       if (!dev->num_crtcs)
+       if (!drm_dev_has_vblank(dev))
                return;
 
        if (WARN_ON(pipe >= dev->num_crtcs))
        unsigned int pipe;
 
        /* If drm_vblank_init() hasn't been called yet, just no-op */
-       if (!dev->num_crtcs)
+       if (!drm_dev_has_vblank(dev))
                return 0;
 
        /* KMS drivers handle this internally */
        unsigned long irqflags;
        bool disable_irq;
 
-       if (WARN_ON_ONCE(!dev->num_crtcs))
+       if (WARN_ON_ONCE(!drm_dev_has_vblank(dev)))
                return false;
 
        if (WARN_ON(pipe >= dev->num_crtcs))