summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm2/ecore_drm2_outputs.c (follow)
AgeCommit message (Collapse)Author
2017-05-19ecore-drm2: Cleanup output_enabled_set function codeChris Michael
If we are using atomic, we don't need to set the crtc active values here as they will be set in output_dpms_set function anyway. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-19ecore-drm2: Fix atomic dpms setting (round 2)Chris Michael
As it turns out, we still need to enable/disable the output crtc when we enable/disable dpms in order for the screen itself to turn off, so this patch "should" finally fix atomic dpms setting. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-18ecore-drm2: Update connector state dpms value if setting worksChris Michael
If we successfully set dpms via atomic state, we should also update the connector state dpms value @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-18ecore-drm2: Fix setting dpms level using atomic stateChris Michael
The property we need to change during an atomic dpms change is actually from the output connector state (not crtc state). This fix should make dpms work when using atomic @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05ecore_drm2: Replace output fbs with state structsDerek Foreman
next, pending, and current are going to have to deal with atomic state instead of just fbs soon
2017-05-05ecore_drm2: Move atomic state into an output state structDerek Foreman
This should make it easier to share code paths between atomic and non atomic operations.
2017-05-05ecore-drm2: Free output atomic request on destructionChris Michael
When we free an output, make sure we cleanup any existing atomic commit requests Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05ecore-drm2: Fill output states regardless if atomicChris Michael
This commit fills in various output 'state' structures during creation so that those state structures can be reused for pageflip handling even if Atomic support is not enabled. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-05-05ecore-drm2: Minor formatting fixChris Michael
NB: No functional changes Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-21ecore_drm2: Fix ticking when atomic mode set is enabledDerek Foreman
Putting the PAGE_FLIP_EVENT flag on the set rotation request resulted in an extra event on the drm device fd that screwed up page flipping badly from that point on. @fix
2017-04-18ecore-drm2: Cleanup list of output planes on output_destroyChris Michael
Small patch to make sure we free memory previously allocated for hardware planes when we destroy an output Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18ecore-drm2: Support multiple planes on a given outputChris Michael
Various hardware can support multiple planes on a given output. As such, we need to be able to store multiple plane states per-output. This small patch adds support for that. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-18ecore-drm2: Add API function to set output rotationChris Michael
This patch adds a new API function that can be called from Enlightenment wl_drm module to enable output rotation. NB: Only works if Atomic support is enabled as it rotates the hardware plane directly...and we don't support planes without Atomic enabled. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-18ecore-drm2: Add API function to return supported rotations of an outputChris Michael
Small patch to add an API function which can be used to return the supported rotations of a given output. This is used inside the Enlightenment wl_drm module to determine if rotations is supported on an output. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-29ecore-drm2: Add API function to allow setting gamma of a given outputChris Michael
Small patch to add an API function which will allow setting the gamma level of a given output. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-28ecore-drm2: Add API function to return screen dpiChris Michael
This patch adds a new API function which will be called from Ecore_Evas to return the screen dpi @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-16ecore_drm2: Make sure something's on screen after dpms wakeDerek Foreman
Flip to the previous buffer on dpms wake to make sure we show something
2016-11-15ecore-drm2: Make calls to symlink'd libdrm functionsChris Michael
Instead of linking to libdrm and calling drmMode functions, we will instead symlink the functions we need during runtime and call those symlinks. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-11ecore-drm2: Free Output modes on destroyChris Michael
When we destroy outputs, we should be freeing the Output's Modes also as that was previously allocated memory. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-11ecore-drm2: Use Atomic Modesetting for resolution changesChris Michael
Since we have atomic properties now, we can use those to set given Output modes (resolutions). Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-23ecore-drm2: Use Atomic State to enable/disable an outputChris Michael
If Atomic Modesetting is supported, we can use that to enable/disable a given output. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22ecore-drm2: Add code to support setting DPMS levels via AtomicChris Michael
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22ecore-drm2: Add code to use Atomic for Edid if availableChris Michael
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22ecore-drm2: Add code to setup Plane Atomic state for OutputsChris Michael
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22ecore-drm2: Add code to setup Connector Atomic state for OutputsChris Michael
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22ecore-drm2: Add code to setup Crtc Atomic state for OutputsChris Michael
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-09ecore-drm2: Add missing EINA_SAFETY checks for public facing APIChris Michael
functions Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-09ecore_drm2: Add release handlers for buffersDerek Foreman
Allow the engine to register a callback for buffer release. This lets us do appropriate buffer bookkeeping (for example, gbm locking) in the engine.
2016-09-08ecore_drm2: Remove get/set for next fbDerek Foreman
We no longer needs these at all.
2016-09-08ecore_drm2: simplify API to get latest FBDerek Foreman
What we've always wanted when getting the "current" FB is to get the most recently submit one - this may be current, next, or pending. Replace ecore_drm2_output_current_fb_get() with a function that gets the most recent one - ecore_drm2_output_latest_fb_get(). Now callers don't have to check the next buffer themselves first, and we don't have to add an API for pending.
2016-09-08ecore_drm2: Add a function to set the pageflip callback data onceDerek Foreman
Instead of passing the user data for the page flip callback every time, set it just once. This will make it easier to push tick logic into ecore_evas_drm, as there will be a transitional period where page flips are driven in two places that don't have access to the same pointers.
2016-08-02ecore_drm2: Fix a condition where no outputs are enabledDerek Foreman
If the first output we test is disconnected but has the crtc of the primary display assigned then we'll fail to assign the crtc to the connector it's really connected to later. This is a quick hack as trying to sort this out properly may be too invasive for the upcoming 1.18 and isn't really important until 1.19 supports multihead anyway.
2016-07-27ecore-drm2: Silence compiler warningDerek Foreman
We probably can't actually use this variable uninitialized, but let's init it anyway to keep gcc happy.
2016-07-27ecore-drm2: Fix issue of VT-Switching going blank on returnsChris Michael
As it turns out, when we vt-switch Back to a running Enlightenment, it ends up processing all outputs and causes Evas to create a giant canvas to cover all outputs. This new canvas causes a blank screen as the pageflipping fails (due to fb being too large). As we do not yet support output on more an one screen anyway, temporarily disable any output which is not marked as primary. Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-15ecore_drm2: Allow enabling outputs in drm eventsDerek Foreman
Previously a drm event could create a new output or disconnect an output, but could not re-enable an existing output. This results in failure to properly wake from screen blanker.
2016-06-30ecore-drm2: Don't leak return from _output_name_get functionChris Michael
Coverity reports that we end up leaking the return from _output_name_get as the storage is never freed. Fixes Coverity CID1357161 @fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-06-21ecore-drm2: Fix redrawing screen when we vt-switch back to a sessionChris Michael
When we vt-switch away from a running session, we need to disable rendering to an output and re-enable when we switch back. This patch set essentially makes vt-switching work again in Enlightenment Wayland. Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Fix potential invalid access to output current_modeChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to get screen size rangeChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to get possible crtc of a given outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API to return current fb used on a given outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API to return current resolution of a given outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to return connector type of an outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to get cloned & connected properties of an outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API functions to get name & model of an outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to set the mode of an outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to return information about a given output modeChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to return list of output modes for a given outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API function to return physical size of a given outputChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27ecore-drm2: Add API functions to get/set if an output is enabledChris Michael
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>