static int rotator_ippdrv_start(struct device *dev, enum drm_exynos_ipp_cmd cmd) { struct rot_context *rot = dev_get_drvdata(dev); u32 val; if (rot->suspended) { DRM_ERROR("suspended state\n"); return -EPERM; } if (cmd != IPP_CMD_M2M) { DRM_ERROR("not support cmd: %d\n", cmd); return -EINVAL; } /* Set interrupt enable */ rotator_reg_set_irq(rot, true); val = rot_read(ROT_CONTROL); val |= ROT_CONTROL_START; rot_write(val, ROT_CONTROL); return 0; }
static int rotator_ippdrv_start(struct device *dev, enum drm_exynos_ipp_cmd cmd) { struct rot_context *rot = dev_get_drvdata(dev); if (rot->suspended) { DRM_ERROR("suspended state\n"); return -EPERM; } /* Set interrupt enable */ rotator_reg_set_irq(rot, true); /* start rotator operation */ rotator_reg_set_start(rot); return 0; }