evas/drm: Remove rest of the tty handling which is now unused

With the move to ecore_drm for tty handling these all became unused.
Ecore_drm already takes care of setting up the SIGUSR1/2 handler and
the rest of the tty setup.

Now that this is gone evas_drm_init/shutdown have no functionality
anymore either.
This commit is contained in:
Stefan Schmidt 2014-08-14 16:40:32 +02:00
parent 9df3bb10bb
commit 5551567847
3 changed files with 0 additions and 150 deletions

View File

@ -3,10 +3,6 @@
#include <linux/kd.h>
#include <sys/mman.h>
/* NB: REALLY hate to store this here, but sigaction signal handlers cannot
* pass any 'user data' to the signal handlers :( */
static Evas_Engine_Info_Drm *siginfo;
static int
_evas_drm_crtc_find(int fd, drmModeRes *res, drmModeConnector *conn)
{
@ -66,112 +62,6 @@ _evas_drm_crtc_buffer_get(int fd, int crtc_id)
return id;
}
static void
_evas_drm_tty_sigusr1(int x EINA_UNUSED, siginfo_t *info EINA_UNUSED, void *data EINA_UNUSED)
{
Evas_Engine_Info_Drm *einfo;
DBG("Caught SIGUSR1");
if (!(einfo = siginfo)) return;
/* TODO: set canvas to not render */
DBG("\tDrop Master & Release VT");
/* drop drm master */
if (einfo->info.own_fd)
{
if (drmDropMaster(einfo->info.fd) != 0)
WRN("Could not drop drm master: %m");
}
/* release vt */
if (einfo->info.own_tty)
{
if (ioctl(einfo->info.tty, VT_RELDISP, 1) < 0)
WRN("Could not release vt: %m");
}
}
static void
_evas_drm_tty_sigusr2(int x EINA_UNUSED, siginfo_t *info EINA_UNUSED, void *data EINA_UNUSED)
{
Evas_Engine_Info_Drm *einfo;
DBG("Caught SIGUSR2");
if (!(einfo = siginfo)) return;
/* TODO: set canvas to render again */
DBG("\tAcquire VT & Set Master");
/* acquire vt */
if (einfo->info.own_tty)
{
if (ioctl(einfo->info.tty, VT_RELDISP, VT_ACKACQ) < 0)
WRN("Could not acquire vt: %m");
}
/* set master */
if (einfo->info.own_fd)
{
if (drmSetMaster(einfo->info.fd) != 0)
WRN("Could not set drm master: %m");
}
}
static Eina_Bool
_evas_drm_tty_setup(Evas_Engine_Info_Drm *info)
{
struct vt_mode vtmode = { 0 };
struct sigaction sig;
/* check for valid tty */
if (info->info.tty < 0) return EINA_FALSE;
#if 0
/* set vt to graphics mode */
if (ioctl(info->info.tty, KDSETMODE, KD_GRAPHICS) < 0)
{
CRI("Could not set tty to graphics mode: %m");
return EINA_FALSE;
}
#endif
/* setup tty rel/acq signals */
vtmode.mode = VT_PROCESS;
vtmode.waitv = 0;
vtmode.relsig = SIGUSR1;
vtmode.acqsig = SIGUSR2;
if (ioctl(info->info.tty, VT_SETMODE, &vtmode) < 0)
{
CRI("Could not set tty mode: %m");
return EINA_FALSE;
}
/* store info struct
*
* NB: REALLY hate to store this here, but sigaction signal handlers cannot
* pass any 'user data' to the signal handlers :(
*/
siginfo = info;
/* setup signal handlers for above signals */
sig.sa_sigaction = _evas_drm_tty_sigusr1;
sig.sa_flags = (SA_NODEFER | SA_SIGINFO | SA_RESTART);
sigemptyset(&sig.sa_mask);
sigaction(SIGUSR1, &sig, NULL);
sig.sa_sigaction = _evas_drm_tty_sigusr2;
sig.sa_flags = (SA_NODEFER | SA_SIGINFO | SA_RESTART);
sigemptyset(&sig.sa_mask);
sigaction(SIGUSR2, &sig, NULL);
return EINA_TRUE;
}
static void
_evas_drm_outbuf_page_flip(int fd EINA_UNUSED, unsigned int seq EINA_UNUSED, unsigned int tv_sec EINA_UNUSED, unsigned int tv_usec EINA_UNUSED, void *data)
{
@ -251,32 +141,6 @@ _evas_drm_outbuf_planes_setup(Outbuf *ob, drmModePlaneResPtr pres)
return EINA_TRUE;
}
Eina_Bool
evas_drm_init(Evas_Engine_Info_Drm *info)
{
/* check for valid engine info */
if (!info) return EINA_FALSE;
setvbuf(stdout, NULL, _IONBF, 0);
/* with the tty opened, we need to set it up */
if (!_evas_drm_tty_setup(info))
{
return EINA_FALSE;
}
return EINA_TRUE;
}
Eina_Bool
evas_drm_shutdown(Evas_Engine_Info_Drm *info)
{
/* check for valid engine info */
if (!info) return EINA_TRUE;
return EINA_TRUE;
}
Eina_Bool
evas_drm_outbuf_setup(Outbuf *ob)
{

View File

@ -51,11 +51,6 @@ _output_setup(Evas_Engine_Info_Drm *info, int w, int h)
info->info.own_tty = EINA_TRUE;
info->info.tty = ecore_drm_tty_get(drm_dev);
}
/* try to init drm (this includes openening tty) */
/* FIXME replace with ecore_drm_tty */
if (!evas_drm_init(info))
goto on_error;
}
/* try to allocate space for our render engine structure */
@ -92,10 +87,6 @@ _output_setup(Evas_Engine_Info_Drm *info, int w, int h)
ecore_drm_device_free(drm_dev);
}
/* shutdown tty */
/* FIXME use ecore_drm_tty */
evas_drm_shutdown(info);
free(re);
return NULL;
}
@ -211,8 +202,6 @@ eng_output_free(void *data)
ecore_drm_device_free(drm_dev);
}
/* FIXME use ecore_drm_tty */
evas_drm_shutdown(re->info);
evas_render_engine_software_generic_clean(&re->generic);
free(re);

View File

@ -128,9 +128,6 @@ void evas_outbuf_update_region_push(Outbuf *ob, RGBA_Image *update, int x, int y
void evas_outbuf_update_region_free(Outbuf *ob, RGBA_Image *update);
void evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode);
Eina_Bool evas_drm_init(Evas_Engine_Info_Drm *info);
Eina_Bool evas_drm_shutdown(Evas_Engine_Info_Drm *info);
Eina_Bool evas_drm_outbuf_setup(Outbuf *ob);
void evas_drm_outbuf_framebuffer_set(Outbuf *ob, Buffer *buffer);
Eina_Bool evas_drm_framebuffer_create(int fd, Buffer *buffer, int depth);