summaryrefslogtreecommitdiff
path: root/src/armsoc_dumb.c
AgeCommit message (Collapse)AuthorFilesLines
2014-04-07Removed 24 bit visual - we use 32 bit visuals for RGB888.Dave Barnish1-0/+6
Change-Id: Ie9464b9dd9bbe4c1f13bbb2e6a327f2424d4b937
2014-03-25Fallback to 24 bit depth if 32 bit depth is not supported.Dave Barnish1-3/+22
If the DRM does not support 32 bit depth at 32 bpp we fallback to 24 bit depth at 32 bpp. The display controller will effectively ignore the alpha channel. Change-Id: Ia142aa50a1d22f6ff3d99e3b45f87273d9f6f953
2014-01-31Fix malloc/calloc/free usageDaniel Kurtz1-1/+1
. Use calloc when allocating objects. . Use malloc when allocating a buffer that we are about to completely fill. . In both cases, NULL check the result, unless using X built-in "kill server on alloc fail" versions (e.g., xnfcalloc()) . The canonical way to call calloc is: ptr = calloc(nelem, sizeof *ptr); /* or sizeof(*ptr) */ if (ptr) { /* Handle OOM */ } . Don't NULL check before calling free(). BUG=none TEST=compiles clean; sanity check ui on device (cherry picked from commit 79795728e366a56013aa4affa2d42128441a5eb9) From: https://chromium.googlesource.com/chromiumos/third_party/xf86-video-armsoc Change-Id: I18b6a6c7c173c0120ec6da948b1e55cbe96e1e1d
2013-09-13On drmModeSetCrtc() fail, revert to last good settingsDave Barnish1-2/+3
Change-Id: I9e475efc4491c998ce95fbf74306463e3fb01349
2013-08-22Provide a new hook to allocate GEM objects in a device specific way.Javier Martin1-27/+20
DUMB_CREATE ioctl() should not be used to create buffers for rendering. Instead of that each device is responsible to provide that kind of facility in a specific way. This implements GEM object creation for both exynos and pl111. Change-Id: Idf9961e112f5f36b2fd0a66cab5d3a928fab096f
2013-07-23Fallback to blitting when out of scanout memoryRay Smith1-1/+0
If DRM can't allocate a scanout buffer for a flippable window's back buffer, we now attempt to allocate a non-scanout buffer and blit the window rather than fail the DRI2 buffer allocation completely. Note that this fallback is only suitable for back buffers - if reallocating the front buffer (on res change etc.) failed, we can't fall back to a non-scanout buffer. Change-Id: I9614dde01e80fd3dc03a37afee1a38d00dd55348
2013-07-09Cache GEM name in omap_boDavid Garbett1-9/+22
A name remains valid while a GEM object has a handle. As such we avoid the IOCTL if we already have the name for an omap_bo. This simplifies the n-buffering implementation in DRI2, as we do not also need to track the names of the additional buffers. Change-Id: Ifa204e9f72239ce2777f6b48d824a77e8879a514 Signed-off-by: David Garbett <David.Garbett@arm.com>
2013-06-11Source conforms to linux kernel coding styleDave Barnish1-64/+69
Change-Id: I8d155efa4b9e1997e07c11bd453208f79b6a7f25
2013-06-10Fixed some small defectsDave Barnish1-10/+5
Change-Id: Id9164ab16c23ae406714d0f59ef35c75606d6700
2013-05-13Reduce chance of OOM in case of resolution change.Dave Barnish1-11/+57
In case of resolution change the resize function tries to allocate a new scanout buffer and in case of failure it will fall back to try reusing the previous buffer if the buffer requested is smaller. Change-Id: Ib81f0628332a60f57fc7b75c2b0754d51c541406
2013-05-07Added asserts for non-zero refcounts in armsoc_bo operations.Dave Barnish1-2/+19
Change-Id: I78d3387dde7adc48a09785ff32a6503b708b439d
2013-04-25Improve ScreenInit & CloseScreenDave Barnish1-3/+6
In ARMSOCScreenInit and CloseScreen retain drm mastership while creating/destroying scanout buffer. Failures destroying scanout buffer produce errors instead of asserts. Clarify usage of CloseScreen & FreeScreen. Exa CloseScreen now frees exa driver pointer. Change-Id: Icbce4f311e99d0af7702310fd45a064bb5d8b320
2013-04-22Prevent flushing issues when clearing a bo if there is a cache in useDave Barnish1-0/+10
armsoc_bo_cpu_prep() and armsoc_bo_cpu_fini() are called to synchronise the cache Change-Id: I2913480279b296f2b175887d6fb1133371e989e8
2013-04-15Rename generic armsoc files from omap_ to armsoc_Paul Geary1-0/+352
None of the files that contain the filename omap_ are OMAP specific but are instead generic armsoc files. This commit renames the files to make it more clear that the armsoc is a generic ARM ddx driver. Change-Id: I600fa4b3bdebffc7e5b57f8ad535edce5f2555cf