ecore-drm2: Remove newly added atomic API functions
authorChris Michael <cp.michael@samsung.com>
Thu, 27 Apr 2017 13:09:46 +0000 (09:09 -0400)
committerDerek Foreman <derekf@osg.samsung.com>
Fri, 5 May 2017 17:53:20 +0000 (12:53 -0500)
As we need to do atomic commits on a per-output basis, these 2 newly
added API functions can go because these functions did one atomic
commit for all outputs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/lib/ecore_drm2/Ecore_Drm2.h
src/lib/ecore_drm2/ecore_drm2_device.c
src/lib/ecore_drm2/ecore_drm2_private.h

index 106c507..6f1296d 100644 (file)
@@ -370,12 +370,6 @@ EAPI Eina_Bool ecore_drm2_device_vt_set(Ecore_Drm2_Device *device, int vt);
  */
 EAPI Eina_Bool ecore_drm2_device_prefer_shadow(Ecore_Drm2_Device *device);
 
-/* TODO: doxy */
-EAPI Eina_Bool ecore_drm2_atomic_commit_test(Ecore_Drm2_Device *device);
-
-/* TODO: doxy */
-EAPI Eina_Bool ecore_drm2_atomic_commit(Ecore_Drm2_Device *device);
-
 /**
  * @defgroup Ecore_Drm2_Output_Group Drm output functions
  *
index 8f26974..5ee4903 100644 (file)
@@ -677,14 +677,6 @@ ecore_drm2_device_free(Ecore_Drm2_Device *device)
 
    _drm2_atomic_state_free(device->state);
 
-#ifdef HAVE_ATOMIC_DRM
-   if (_ecore_drm2_use_atomic)
-     {
-        if (device->atomic_req)
-          sym_drmModeAtomicFree(device->atomic_req);
-     }
-#endif
-
    ecore_event_handler_del(device->active_hdlr);
    ecore_event_handler_del(device->device_change_hdlr);
    eina_stringshare_del(device->path);
@@ -854,160 +846,3 @@ ecore_drm2_device_prefer_shadow(Ecore_Drm2_Device *device)
    else
      return EINA_FALSE;
 }
-
-EAPI Eina_Bool
-ecore_drm2_atomic_commit_test(Ecore_Drm2_Device *device)
-{
-   Eina_Bool res = EINA_FALSE;
-#ifdef HAVE_ATOMIC_DRM
-   int ret = 0;
-   Eina_List *l, *ll;
-   Ecore_Drm2_Output *output;
-   Ecore_Drm2_Plane *plane;
-   Ecore_Drm2_Plane_State *pstate;
-   Ecore_Drm2_Crtc_State *cstate;
-   drmModeAtomicReq *req = NULL;
-   uint32_t flags = DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_ATOMIC_ALLOW_MODESET |
-     DRM_MODE_ATOMIC_TEST_ONLY;
-#endif
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL((device->fd < 0), EINA_FALSE);
-
-#ifdef HAVE_ATOMIC_DRM
-   req = sym_drmModeAtomicAlloc();
-   if (!req) return EINA_FALSE;
-
-   sym_drmModeAtomicSetCursor(req, 0);
-
-   EINA_LIST_FOREACH(device->outputs, l, output)
-     {
-        cstate = output->crtc_state;
-
-        ret =
-          sym_drmModeAtomicAddProperty(req, cstate->obj_id, cstate->mode.id,
-                                       cstate->mode.value);
-        if (ret < 0) goto err;
-
-        ret =
-          sym_drmModeAtomicAddProperty(req, cstate->obj_id, cstate->active.id,
-                                       cstate->active.value);
-        if (ret < 0) goto err;
-
-        EINA_LIST_FOREACH(output->planes, ll, plane)
-          {
-             pstate = plane->state;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->cid.id, pstate->cid.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->fid.id, pstate->fid.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->sx.id, pstate->sx.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->sy.id, pstate->sy.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->sw.id, pstate->sw.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->sh.id, pstate->sh.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->cx.id, pstate->cx.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->cy.id, pstate->cy.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->cw.id, pstate->cw.value);
-             if (ret < 0) goto err;
-
-             ret =
-               sym_drmModeAtomicAddProperty(req, pstate->obj_id,
-                                            pstate->ch.id, pstate->ch.value);
-             if (ret < 0) goto err;
-          }
-     }
-
-   ret =
-     sym_drmModeAtomicCommit(device->fd, req, flags, NULL);
-   if (ret < 0) ERR("Failed Atomic Commit Test: %m");
-   else res = EINA_TRUE;
-
-   if (res)
-     {
-        if (device->atomic_req)
-          {
-             /* merge this test commit with previous */
-             ret = sym_drmModeAtomicMerge(device->atomic_req, req);
-             if (ret < 0)
-               {
-                  /* we failed to merge for some reason. */
-
-                  /* clear any previous request */
-                  sym_drmModeAtomicFree(device->atomic_req);
-
-                  /* just use the new request */
-                  device->atomic_req = req;
-               }
-          }
-        else
-          device->atomic_req = req;
-     }
-
-   return res;
-
-err:
-   sym_drmModeAtomicFree(req);
-#endif
-
-   return res;
-}
-
-EAPI Eina_Bool
-ecore_drm2_atomic_commit(Ecore_Drm2_Device *device)
-{
-#ifdef HAVE_ATOMIC_DRM
-   int res = 0;
-   uint32_t flags =
-     DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_PAGE_FLIP_EVENT |
-     DRM_MODE_ATOMIC_ALLOW_MODESET;
-#endif
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL((device->fd < 0), EINA_FALSE);
-
-#ifdef HAVE_ATOMIC_DRM
-   if (!device->atomic_req) return EINA_FALSE;
-
-   res =
-     sym_drmModeAtomicCommit(device->fd, device->atomic_req, flags, NULL);
-   if (res < 0)
-     ERR("Failed Atomic Commit Test: %m");
-   else
-     return EINA_TRUE;
-#endif
-
-   return EINA_FALSE;
-}
index ca92f3c..cdd19d5 100644 (file)
@@ -774,6 +774,10 @@ struct _Ecore_Drm2_Output
    Eina_List *plane_states;
    Eina_List *planes;
 
+# ifdef HAVE_ATOMIC_DRM
+   drmModeAtomicReq *atomic_req;
+# endif
+
    Eina_Bool connected : 1;
    Eina_Bool primary : 1;
    Eina_Bool cloned : 1;
@@ -810,9 +814,6 @@ struct _Ecore_Drm2_Device
    Ecore_Event_Handler *device_change_hdlr;
 
    Ecore_Drm2_Atomic_State *state;
-# ifdef HAVE_ATOMIC_DRM
-   drmModeAtomicReq *atomic_req;
-# endif
 
    Eina_List *outputs;
 };