summaryrefslogtreecommitdiffstats
path: root/gralloc_drm_kms.c
Commit message (Collapse)AuthorAgeFilesLines
* Support multiple exteranl dispaly in mirror modeWuZhen2016-06-271-123/+106
| | | | | | and extend support beyong hdmi. Change-Id: Ib9550eac0330807ccd4c3919609cbf02ad98299d
* Maintain a list of connector outputsWuZhen2016-06-271-69/+112
| | | | | | Refactor code to support multiple mirrored outputs following code. Change-Id: I60781d707ae68db2dbd2c4c4122b9183633a74be
* Rename hdmi_output_modeWuZhen2016-06-271-4/+4
| | | | | | | Rename it to drm_output_mode and move it into gralloc_drm_output in preparation for folowing changes. Change-Id: I488f395feede9c9a20eadb9145ebf46295ba4a71
* Best fit the external displayMa Jian2016-06-271-5/+54
| | | | | | | | | | | | | | | NO_REF_TASK tested: 1) set persist.remixos.disp_best_fit to true 2) plugin the HDMI, the resolution should be the one fit the primary screen (i.e. the resolution should be larger than or equal to primery resolution, and it is the closest one) 3) set persist.remixos.disp_best_fit to false 4) plugin HDMI again, the external display will use the default resolution. Change-Id: I80b0fe6e7cc676ce1915f07f267204734bfc645f
* avoid issue with devices that don't support blit.WuZhen2016-05-121-0/+5
| | | | Change-Id: I398258147f9adcfbbcf2d92c7ba19887ea917bd0
* Revert "TEMP HACK: make non-standalone surfaceflinger work"WuZhen2016-05-121-1/+0
| | | | | | This reverts commit b19bbdbf98742f0428f6f4265b5e80d569608abd. Change-Id: I351b1c3f149924f38635058004eb91d84351646a
* support hotplug with vanilla drm ueventWuZhen2016-05-121-60/+134
| | | | Change-Id: Ifc83db7bfe6f330ca68e4454516f7a84b2433823
* support hdmi clone more for intel GEN8+ gpusWuZhen2016-05-121-2/+7
| | | | Change-Id: I4e83eb55f2813c92873b8481b8ae9328add4c4f7
* fix building issues of 64-bit targetsChih-Wei Huang2015-01-201-4/+3
| | | | | | | Just change the 'data' field of gralloc_drm_handle_t to be a pointer to struct gralloc_drm_bo_t. Fix some warnings as well.
* allow to force graphics modeSomebody2013-07-171-20/+137
| | | | | This patch adds in a system property "debug.drm.mode.force", which works *similarly* to "debug.drm.mode". XRESxYRES[@REFRESHRATE].
* TEMP HACK: make non-standalone surfaceflinger workChih-Wei Huang2013-07-171-0/+1
|
* gralloc: map HAL format RGBX_8888 to drm format XBGR8888Tapani Pälli2013-05-211-1/+2
| | | | | | | | | | currently we end up creating framebuffers with wrong format for RGBX users and set_plane with these would show wrong colors, one example is the menu screen of the glb27 application. Change-Id: Ifa051a4c5e9f39a6427ae2864ac06955cb48ad2b Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
* gralloc: provide methods for hwc to change handle of a planeTapani Pälli2013-05-131-2/+25
| | | | | | | | | | | | | Patch changes reserve_plane to get id number as additional parameter. This can be used by hwc to make changes to a particular plane. New api hwc_set_plane_handle is introduced so that hwc can change the buffer handle of a plane, this is required because after plane has been reserved for a particular ui layer, this handle can change as the layer is typically multibuffered. Change-Id: I32d711ff3565ae9e8f5b8a6691c22b03a50cefe7 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
* gralloc: check possible crtcs of plane against primary outputTapani Pälli2013-05-071-0/+29
| | | | | | | | | Current implementation supports planes only with primary output, patch adds a check to guard this. Change-Id: I537858122a4fe77a374031d11339eaaea27ad9bf Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
* gralloc: plane supportTapani Pälli2013-04-151-1/+150
| | | | | | | | | | | | patch introduces API between hwcomposer and gralloc, hwcomposer can reserve an overlay plane to be used by a particular layer in prepare hook, drmModeSetPlane for each plane gets called later when post() gets called by the eglSwapBuffers (from hwcomposer set), this can be later changed to use atomic modesetting code and drm properties to make one 'atomic flip' for graphics + planes. Change-Id: I3b7d179b285e43eb19fdc3b4c7ce093f3ba6aade Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: use proper mode for hdmi outputTapani Pälli2013-03-011-24/+68
| | | | | | | | | | | | Patch uses the best mode available on hdmi output and creates a private buffer that is used for pageflipping. Primary display content is copied to private buffer on each page flip. This patch removes current hack where same mode is assumed from hdmi output, this caused graphical artifacts with some tv's. Also some more debug output is added. Change-Id: Ic862a8374f46992f0ff92545da8a010f9684b934 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: change copy api and fix copy function for intelTapani Pälli2013-03-011-2/+8
| | | | | | | | | | | | | | | | Patch extends current copy api, renames it blit and introduces src+dst coordinates to be able to implement partial blits and blits with offsets. Implementation must take care of hw specific restrictions with blits. Patch also fixes issues with the current intel_blit function. Current implementation does not select ring buffer and ends up queuing blit commands to the render ring. Patch starts to use drm_intel_bo_mrb_exec to be able to select blit ring and fixes the checks inside copy function. Change-Id: I05905e0b9c48fc2a55230212b676bfb8813a2b55 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: set supported planes for buffers on allocationTapani Pälli2013-01-211-0/+23
| | | | | | | | | This is done so that we should not have to do it dynamically during composition. This information will be used later with hwcomposer module when using planes for composition. Change-Id: I2b6716fe9a8da81050645900c6c0955385946991 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: implement yuv offset query as hw specific functionTapani Pälli2013-01-211-34/+9
| | | | | | | | | | This patch reverts earlier cca14cfd... and introduces a new hw specific hook to query yuv components offsets which can vary between different hw, decoders, cameras etc. Change-Id: Ib60bc8ee28df7bc9425b6d7934294fe36fc55354 Depends-Change-Id: I1aa5368b21e588d5d711c1005fff2a5296e143a0 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: add NV12 format enum and fb allocation support for itTapani Pälli2012-12-141-0/+12
| | | | | Change-Id: If1c92810a17c60c29239f5384d6e971b015dd174 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: no cloned mode on platforms with hdmi as primaryTapani Pälli2012-11-071-1/+10
| | | | | | | | On some platforms we might have only HDMI connector, on those platforms do not attempt to use cloned/extended mode with HDMI. Change-Id: If0f21986030e4e97991202bd8168d7c9e25de493 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: hdmi cloned mode supportTapani Pälli2012-10-241-48/+214
| | | | | | | | | | | | | | | | | | Patch implements simple support for cloned mode hdmi by introducing primary and hdmi outputs that are updated respectively. Current implementation is rather naive and assumes hdmi can drive same mode as the local lvds. Only cloned mode is supported but can be extended later to support extended mode when hwcomposer is available for controlling this behaviour. HDMI hotplug is implemented as a separate observer thread that listens to uevents and reads hdmi connection state from there, this requires switch support from the kernel hdmi driver. Change-Id: I147273bbe4d21ab9f390f38c9a5f945530c8fd2e Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Signed-off-by: Matt Gumbel <matthew.k.gumbel@linux.intel.com>
* Revert "gralloc: hdmi cloned mode support"Daniel Leung2012-10-231-210/+48
| | | | This reverts commit 2d2758bca0f962ef21673dbe29df4c042d7f3254.
* gralloc: hdmi cloned mode supportTapani Pälli2012-10-181-48/+210
| | | | | | | | | | | | | | | | | | Patch implements simple support for cloned mode hdmi by introducing primary and hdmi outputs that are updated respectively. Current implementation is rather naive and assumes hdmi can drive same mode as the local lvds. Only cloned mode is supported but can be extended later to support extended mode when hwcomposer is available for controlling this behaviour. HDMI hotplug is implemented as a separate observer thread that listens to uevents and reads hdmi connection state from there, this requires switch support from the kernel hdmi driver. Change-Id: I1d5873214d672563789f4953a892de60539eca88 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Signed-off-by: Matt Gumbel <matthew.k.gumbel@linux.intel.com>
* gralloc: split resolve_drm_formatTapani Pälli2012-10-121-13/+22
| | | | | | | | refactored code so that drm_format_from_hal helper can be used from other parts of code. Change-Id: Ibaa3e483b2987c96d9651b2886360402e2c5642d Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: introduce planeresourcesTapani Pälli2012-10-121-0/+39
| | | | | | | | maintain planeresources and additional helper structure gralloc_drm_plane_t for planes, also prints out plane formats on startup. Change-Id: Ibc717d646acd581b8c247c22d269260e78d92fd9 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc: add refcount to gralloc_drm_bo_tTapani Pälli2012-10-121-2/+2
| | | | | | | | | | This is an basic enabler for gralloc to let buffers live while they are still in use by gralloc (for example during scanout), otherwise Android may choose to destroy them while they are still needed. This facility will get used with upcoming plane support and direct rendering support. Change-Id: I2f0bc595846a68e8d2feb5138b022d16f207e2b5 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* gralloc : use drmModeAddFB2Tapani Pälli2012-10-121-6/+59
| | | | | | | | start using drmModeAddFB2 API, this is enabler to create framebuffers with YUV pixel formats that can be shown on hardware overlay. Change-Id: I700c752ada119222573ab286a8b231092c3250c0 Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
* Change all occurances of LOGE to ALOGE, LOGW to ALOGW and LOGI to ALOGI due ↵Charles Johnson2012-07-101-14/+14
| | | | | | | | | | | | | | | | to change in Jelly Bean. Signed-off-by: Charles Johnson <charles.f.johnson@intel.com> modified: gralloc.c modified: gralloc_drm.c modified: gralloc_drm_intel.c modified: gralloc_drm_kms.c modified: gralloc_drm_nouveau.c modified: gralloc_drm_pipe.c modified: gralloc_drm_radeon.c Change-Id: Idd9e533eab366d9f9dc199d961891255a66384a2
* log connector infoChia-I Wu2011-09-081-0/+22
| | | | Log the number of modes available, what the best mode is, and etc.
* remove first drm_kms_wait_for_post callChia-I Wu2011-08-291-1/+0
| | | | It always fails without the CRTC being set.
* vmwgfx: assorted fixesChia-I Wu2011-08-241-3/+6
| | | | | | | | | | | Based on trial and error, we know - drm_kms_wait_for_post() hangs the VM - drmModeDirtyFB() should be called whenever the front buffer changes - drmModePageFlip() is not supported They might not be entirely correct, but fixing them makes drm_gralloc work.
* add more functions to gralloc_drm kms interfaceChia-I Wu2011-07-311-12/+47
| | | | Make it more complete.
* add support for debug.drm.modeChia-I Wu2011-07-301-14/+66
| | | | The mode string is "<xres>x<yres>[@<bpp>]".
* let drivers decide the fb formatChia-I Wu2011-07-111-9/+2
|
* initial commitChia-I Wu2011-06-121-0/+499