unsigned int en_bit;
 
        if (priv->soc_info->has_osd) {
-               if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+               if (plane != &priv->f0)
                        en_bit = JZ_LCD_OSDC_F1EN;
                else
                        en_bit = JZ_LCD_OSDC_F0EN;
        unsigned int en_bit;
 
        if (priv->soc_info->has_osd) {
-               if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+               if (plane != &priv->f0)
                        en_bit = JZ_LCD_OSDC_F1EN;
                else
                        en_bit = JZ_LCD_OSDC_F0EN;
 
        ingenic_drm_plane_enable(priv, plane);
 
-       if (priv->soc_info->has_osd &&
-           plane->type == DRM_PLANE_TYPE_PRIMARY) {
+       if (priv->soc_info->has_osd && plane != &priv->f0) {
                switch (fourcc) {
                case DRM_FORMAT_XRGB1555:
                        ctrl |= JZ_LCD_OSDCTRL_RGB555;
        }
 
        if (priv->soc_info->has_osd) {
-               if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
+               if (plane != &priv->f0) {
                        xy_reg = JZ_REG_LCD_XYP1;
                        size_reg = JZ_REG_LCD_SIZE1;
                } else {
                height = newstate->src_h >> 16;
                cpp = newstate->fb->format->cpp[0];
 
-               if (!priv->soc_info->has_osd || plane->type == DRM_PLANE_TYPE_OVERLAY)
+               if (!priv->soc_info->has_osd || plane == &priv->f0)
                        hwdesc = &priv->dma_hwdescs->hwdesc_f0;
                else
                        hwdesc = &priv->dma_hwdescs->hwdesc_f1;
 
 
        err = drm_universal_plane_init(drm, plane, 1, &ingenic_ipu_plane_funcs,
                                       soc_info->formats, soc_info->num_formats,
-                                      NULL, DRM_PLANE_TYPE_PRIMARY, NULL);
+                                      NULL, DRM_PLANE_TYPE_OVERLAY, NULL);
        if (err) {
                dev_err(dev, "Failed to init plane: %i\n", err);
                return err;