{
        unsigned int i;
 
-       if (layer->disp->dpsub->dma_enabled) {
+       if (layer->mode == ZYNQMP_DPSUB_LAYER_NONLIVE) {
                for (i = 0; i < layer->drm_fmt->num_planes; i++)
                        dmaengine_terminate_sync(layer->dmas[i].chan);
        }
 
        zynqmp_disp_avbuf_set_format(layer->disp, layer, layer->disp_fmt);
 
-       if (!layer->disp->dpsub->dma_enabled)
+       if (layer->mode == ZYNQMP_DPSUB_LAYER_LIVE)
                return;
 
        /*
        const struct drm_format_info *info = layer->drm_fmt;
        unsigned int i;
 
-       if (!layer->disp->dpsub->dma_enabled)
+       if (layer->mode == ZYNQMP_DPSUB_LAYER_LIVE)
                return 0;
 
        for (i = 0; i < info->num_planes; i++) {
 {
        unsigned int i;
 
-       if (!layer->info || !disp->dpsub->dma_enabled)
-               return;
-
        for (i = 0; i < layer->info->num_channels; i++) {
                struct zynqmp_disp_layer_dma *dma = &layer->dmas[i];
 
        unsigned int i;
        int ret;
 
-       if (!disp->dpsub->dma_enabled)
-               return 0;
-
        for (i = 0; i < layer->info->num_channels; i++) {
                struct zynqmp_disp_layer_dma *dma = &layer->dmas[i];
                char dma_channel_name[16];