EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
-PKG_CHECK_MODULES(DRM, libdrm_sprd, [HAVE_SPRD=yes], [HAVE_SPRD=no])
-if test "x$HAVE_SPRD" = xyes; then
- EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 libdrm_sprd xkbcommon >= 0.3.0 gbm])
-else
- EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
-fi
-
+EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
# API change from 0.7 to 0.8. So we define this to support both for now.
#include "ecore_drm_private.h"
#include <dlfcn.h>
-#ifdef ECORE_DRM_DEVICE_SUPPORT_SPRD
-#include <sprd_drmif.h>
-struct sprd_drm_device *sprd_dev = NULL;
-#endif
-
#define INSIDE(x, y, xx, yy, ww, hh) \
(((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && \
((x) >= (xx)) && ((y) >= (yy)))
free(dev);
}
-#ifdef ECORE_DRM_DEVICE_SUPPORT_SPRD
-static Eina_Bool
-_ecore_drm_device_sprd_check(int fd)
-{
- drmVersionPtr drm_info;
- int drmIRQ = 78;
- int length = 0;
-
- if (sprd_dev)
- {
- ERR("sprd_dev already exist.");
- return EINA_FALSE;
- }
-
- drm_info = drmGetVersion(fd);
- length = drm_info->name_len;
-
- if (length != 4)
- {
- drmFreeVersion(drm_info);
- return EINA_FALSE;
- }
- if (strncmp("sprd", drm_info->name, 4))
- {
- drmFreeVersion(drm_info);
- return EINA_FALSE;
- }
- drmFreeVersion(drm_info);
-
- if (drmCtlInstHandler(fd, drmIRQ))
- WRN("drmCtlInstHandler fail.");
-
- sprd_dev = sprd_device_create(fd);
- if (sprd_dev == NULL)
- {
- ERR("sprd_device_create fail.(fd:%d)", fd);
- return EINA_FALSE;
- }
-
- DBG("sprd_device_create done.(fd:%d)", fd);
- return EINA_TRUE;
-}
-#endif
-
EAPI Eina_Bool
ecore_drm_device_open(Ecore_Drm_Device *dev)
{
_ecore_drm_launcher_device_open_no_pending(dev->drm.name, O_RDWR);
if (dev->drm.fd < 0) return EINA_FALSE;
-#ifdef ECORE_DRM_DEVICE_SUPPORT_SPRD
- /* add for sprd device */
- if (_ecore_drm_device_sprd_check(dev->drm.fd) == EINA_FALSE)
- {
- _ecore_drm_launcher_device_close(dev->drm.name, dev->drm.fd);
- dev->drm.fd = -1;
- return EINA_FALSE;
- }
-#endif
-
DBG("Opened Device %s : %d", dev->drm.name, dev->drm.fd);
ver = drmGetVersion(dev->drm.fd);
EAPI Eina_Bool
ecore_drm_device_close(Ecore_Drm_Device *dev)
{
-#ifdef ECORE_DRM_DEVICE_SUPPORT_SPRD
- if (sprd_dev)
- {
- sprd_device_destroy(sprd_dev);
- sprd_dev = NULL;
- }
-#endif
-
/* check for valid device */
EINA_SAFETY_ON_NULL_RETURN_VAL(dev, EINA_FALSE);