Commit Graph

53 Commits

Author SHA1 Message Date
Chris Michael 1ab4975491 ecore-drm: Add API function to return output modes
Summary: This adds a new API function to return a list of modes
supported on a given output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 14:39:46 -04:00
Chris Michael 34664306a9 ecore-drm: Add API function to return the edid of a given output
Summary: This adds a new API function to return the EDID string of a
given output.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 14:39:46 -04:00
Chris Michael 3aee7d1b6f ecore-drm: Add connector type to output structure
Summary: This adds a connector type field to the Output structure.
This will be used in the Enlightenment Drm rendering code for RandR
config

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 14:39:45 -04:00
Chris Michael c4461ac5d8 ecore-drm: Add API function to return output connected state
Summary: This adds a new API function to check if a given output is connected or not.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 14:39:45 -04:00
Mike Blumenkrantz 054fed5336 ecore-drm: fix multiclick interval time
libinput returns timestamps in milliseconds as int, not double
2015-04-24 13:40:32 -04:00
Chris Michael 613e6ad934 ecore-drm: Don't fetch output geometry on every mouse movement
Summary: This is a better way to allow mouse movement across multiple
outputs as this does not require us to fetch output geometry on Every
mouse movement (as before).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-16 12:47:29 -04:00
Chris Michael 82ff6fc512 ecore-drm: Add private structure used during pageflip calls
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael 8f661eb5d1 ecore-drm: Move drm headers to Ecore_Drm
Summary: Since we only create one drm context in the drm_device
structure now, we need the drm headers to be included in Ecore_Drm.h

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:50 +02:00
Chris Michael 2b554161fe ecore-drm: Remove per-output framebuffers
Summary: No real need for each output to have its own framebuffers as
we can just create dumb buffers in the drm device structure

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:50 +02:00
Chris Michael 8d1e57e52e ecore-drm: Delay destroy of output if there is a pending flip
Summary: If an output has a pending page flip, we cannot destroy it
until the page flip has completed. This commit adds support to delay
destroying an output until the page flip is completed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:50 +02:00
Chris Michael f3edc3b20e ecore-drm: Improve drm output creation, mode detection, and cloning support
Summary: This refactors the output creation code to support better
mode detection, cloning of hotplugged outputs, and initial support for
setting of output gamma (API to follow)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:49 +02:00
Chris Michael 3a0577bd76 ecore-drm: Add support for DPMS on an output
Summary: This commit adds support for setting DPMS level of an output.
This adds a new API function 'ecore_drm_output_dpms_set' to set the
level.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:49 +02:00
Chris Michael e5e0b0b506 ecore-drm: Fix formatting
Summary: NO functional changes, just formatting.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-09 17:41:13 +02:00
Chris Michael c7ced198e6 ecore-drm: Move Eeze Udev Watch to Drm Device
Summary: Move the Eeze udev watch to inside the ecore_drm_device. This
allows us to only create One watch to catch all output changes. No
need for more than one watch (one per output) as was done previously

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-09 17:41:03 +02:00
Chris Michael 02e7931aeb ecore-drm: Add edid structure to Ecore_Drm_Output
Summary: This adds an edid substructure to Ecore_Drm_Output so that
when we parse out EDID information, we have a place to store it

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-04 14:52:04 -05:00
Derek Foreman 95cb1938c2 Use doubles to store libinput's mouse motion
Summary:
Using can result in motion being completely discarded.  Since we
only need integer data, we also only actually forward on an event
when the mouse moves more than a full unit.

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2062
2015-02-27 10:40:38 -05:00
Derek Foreman 0d69422cca ecore-drm Add hooks for updating wl_output when outputs are hotplugged
Summary:
This provides callbacks to any bound wl_output listeners when a
display is hotplugged.

NOTE: Currently we don't receive hotplug events
ANOTHER NOTE: We don't yet handle display removal

Reviewers: devilhorns, zmike

Reviewed By: devilhorns, zmike

Subscribers: cedric

Maniphest Tasks: T2131

Differential Revision: https://phab.enlightenment.org/D2006
2015-02-19 14:48:25 -05:00
Chris Michael c853181533 ecore-drm: Remove session parameter for internal function
The session take/release functions no longer require the name of the
session, so remove the function parameter

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:09 -05:00
Chris Michael feff00178e ecore-drm: Cleanup private header file
Summary: This moves the logind function prototypes to the private
header and thus removes the need for a separate logind header file.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael 2eb0be048b ecore-drm: Add actual Outut to the Input device structure
Summary: This adds an actual Ecore_Drm_Output pointer to the
Ecore_Drm_Evdev structure so we can check the output size to limit
mouse corrdinates.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 10:35:52 -05:00
Seunghun Lee 2db6ed0945 ecore-drm: remove duplicated code from logind and tty.
Summary: integrates the code used in common.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1796
2015-01-05 09:08:27 -05:00
Seunghun Lee 5720a350f9 ecore-drm: Add event to notify session activation state.
Summary:
this event is to notify session activation state to compositor.
thus compositor can change composite state by this event.

Reviewers: devilhorns

Subscribers: torori, cedric

Differential Revision: https://phab.enlightenment.org/D1767
2014-12-10 12:12:21 -05:00
Chris Michael ff13e2d88d ecore-drm: Add output size to device structure and add internal
function for setting size

Summary: This is needed so that events for mouse, touch, etc can get
transformed into output coordinates

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-10 12:01:58 -05:00
Chris Michael 7da19b4c21 ecore-drm: Cleanup structures in private header
Summary: With the port to libinput, some fields in the input & evdev
structures are not needed anymore, so this commit cleans those up.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-09 15:11:46 -05:00
Chris Michael 6eb10cd701 ecore-drm: Include libinput header in drm private header
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-09 10:00:29 -05:00
Seunghun Lee b10ab1a86f ecore-drm: added drm launcher that is allow to determine whether to launch with logind or root privilege.
Summary:
- allow to launch drm backend without systemd-logind with root privilege.
- allow to open drm device node via logind, not directly open it, in case exist systemd-logind.
- fixes issue that couldn't switch session, because ecore-drm couldn't drop master to drm device with no permission. (allow to switch session appropriate.)

Reviewers: gwanglim, devilhorns

Subscribers: torori, cedric

Differential Revision: https://phab.enlightenment.org/D1704
2014-12-09 09:36:42 -05:00
Srivardhan Hebbar 399c571ab6 ecoreidrm: Cleaned up unwanted code.
Summary: Cleaned up all unwanted code's in ecore_drm. This just
removes a bunch of already commented out code.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1615
2014-10-30 09:36:21 -04:00
vivek 0fb11c15a1 ecore-drm: Added initial support to check if drm device is hotplug and update outputs
Summary:
Added watch to check if drm output device is hotplug and update the
outputs accordingly.

NB: This is only partially complete. The actual update of outputs
still needs to be implemented.

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1552
2014-10-20 10:16:32 -04:00
Srivardhan Hebbar dee101b08f ecore_drm: Removed unwanted FIXME line.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1520
2014-10-06 08:41:38 -04:00
vivek af6cb4e84a ecore-drm: Added private functions to get brightness levels in backlight
Summary:
 Added private internal functions to get various brightness levels
   1) Added _ecore_drm_actual_brightness_get to get Actual brightness
   2) Added _ecore_drm_max_brightness_get to get Max brightness
   3) Added _ecore_drm_brightness_get to get Brightness
 These functions will eventually be exposed with an API for ecore-drm
to get/set the backlight level for an output.

@feature

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1482
2014-09-24 10:02:37 -04:00
Chris Michael 777e64fea5 ecore-drm: Remove udev from private header and add an Eeze_Udev_Watch
for Ecore_Drm_Input

Summary: This commit removes all references to 'udev' in the private
header, and replaces udev_monitor (in Ecore_Drm_Input structure) with
an Eeze_Udev_Watch.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-23 15:31:12 -04:00
Chris Michael e35f3414d1 ecore-drm: Add Eeze as an internal dependency for ecore-drm
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-23 15:31:12 -04:00
Chris Michael 368e9de044 ecore-drm: Remove internal dependency on libudev
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-23 15:31:12 -04:00
vivek 05ea3edda5 Ecore_drm: Added initial support for backlight in ecore_drm module
Summary:
Added initial support for backlight in drm by adding various structures
and provided api for initializing the backlight struct.

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns, stefan_schmidt

Subscribers: stefan_schmidt, cedric

Differential Revision: https://phab.enlightenment.org/D1448
2014-09-23 08:41:43 -04:00
Chris Michael c60b348803 ecore-drm: Fix private function prototypes for new dbus functions
Summary: In porting Ecore_Drm to use Eldbus, I had to change some
internal functions to work with the async nature of Eldbus. As a
result, I had to modify some private local functions.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-22 15:43:37 -04:00
Chris Michael 6e384f2a87 ecore-drm: Include config.h in private header
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-22 14:18:53 -04:00
Chris Michael 29a3482704 ecore-drm: Add Eldbus header to private header file
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-22 14:18:53 -04:00
MinJeong Kim 0e4fd1b4d1 ecore-drm: implement function to disable ecore drm inputs on vt
switching

Summary:
When vt is released by SIGUSR1, drm_inputs have to be disabled.
For that this revision includes,
    1. Unrefer udev monitor
    2. Remove fd handler for udev monitor
    3. Release dbus device

Reviewers: stefan_schmidt, devilhorns, gwanglim

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1268
2014-08-04 08:50:40 -04:00
Chris Michael e711a294b2 ecore-drm: Remove eldbus header and add dbus header
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-15 09:44:14 -04:00
Chris Michael 121be16f3a ecore-drm: Cleanup ecore_drm private header
Remove support for logging to a file.
Fix ecore_drm_dbus function prototypes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-15 09:44:14 -04:00
Chris Michael 6935c4febd ecore-drm: Add necessary headers for dbus and systemd-login
This feature allows us to open input devices and receive events from
them as a normal user without the need for special input device
permissions, or the need for a slave suid binary.

NB: This will only wor with dbus & systemd support

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-15 09:43:12 -04:00
Stefan Schmidt 5a9e47d0fd ecore_drm: Make struct Ecore_Drm_Device available
Allow the struct to be used by other parts and not only ecore_drm.
This is needed to use ecore_drm in the evas drm engine.
2014-06-30 10:13:43 +02:00
Moritz Bitsch 78737a9696 ecore-drm: implement multitouch support
Summary: Support for type B touch devices, tested with egalax_ts compatible touchscreen.

Reviewers: devilhorns

Reviewed By: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D933
2014-06-06 11:40:33 -04:00
zmike beff8db14e ecore drm now semi-supports absolute motion (touchpads!)
this is a little bit sensitive. you have been warned
2014-03-18 17:53:32 -04:00
Chris Michael 0368c4e194 ecore-drm: Fix ecore_drm_device_window_set to use an unsigned int
@fix: The majority of ecore_evas code expects that the 'window' returned
from ecore_evas_window_get be an Ecore_Window. Previously, this was
not possible as this function was using a void pointer. This change
fixes that issue.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 09:12:57 +00:00
Chris Michael 8fe9adead1 ecore-drm: Add private structure to store mouse information in evdev
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-11 08:44:46 +00:00
Chris Michael 71e3e63dfd ecore-drm: Add private xkb fields for depressed, latched, locked, and
group

This adds fields to the xkb structure for storing when modifiers are
pressed, released, etc so we can handle those in key events.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 13:33:22 +00:00
Chris Michael 5ffa7cd23f ecore-drm: Add private window field to drm device structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael 0b1cc3a17c ecore-drm: Add xkb fields to Evdev structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:31 +00:00
Chris Michael 2aa64616cb ecore-drm: Add xkbcontext to device structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-10 12:40:30 +00:00