summaryrefslogtreecommitdiff
path: root/drivers/gpu (follow)
Commit message (Collapse)AuthorAge
...
| | * drm/amdgpu: use post-decrement in error handlingRasmus Villemoes2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 09ccbb74b6718ad4d1290de3f5669212c0ac7d4b upstream. We need to use post-decrement to get the pci_map_page undone also for i==0, and to avoid some very unpleasant behaviour if pci_map_page failed already at i==0. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: fix issue with overlapping userptrsChristian König2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit cc1de6e800c253172334f8774c419dc64401cd2e upstream. Otherwise we could try to evict overlapping userptr BOs in get_user_pages(), leading to a possible circular locking dependency. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: hold reference to fences in amdgpu_sa_bo_new (v2)Nicolai Hähnle2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit a8d81b36267366603771431747438d18f32ae2d5 upstream. An arbitrary amount of time can pass between spin_unlock and fence_wait_any_timeout, so we need to ensure that nobody frees the fences from under us. A stress test (rapidly starting and killing hundreds of glxgears instances) ran into a deadlock in fence_wait_any_timeout after about an hour, and this race condition appears to be a plausible cause. v2: agd: rebase on upstream Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: remove unnecessary forward declarationNicolai Hähnle2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit b19763d0d867eb863953500a5c87f2fd663863b8 upstream. Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: fix s4 resumeFlora Cui2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit ca19852884c8937eed89560f924f5a34cfcc22af upstream. No need to re-init asic if it's already been initialized. Skip IB tests since kernel processes are frozen in thaw. Signed-off-by: Flora Cui <Flora.Cui@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: remove exp hardware support from icelandAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit dba280b20bfd1c2bed8a07ce3f75a6da8ba7d247 upstream. It's working now. bug: https://bugs.freedesktop.org/show_bug.cgi?id=92270 Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: don't load MEC2 on topazAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 97dde76a30c2e67fa5fb9cb6a4072c0178c9df26 upstream. Not validated. Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: drop topaz support from gmc8 moduleAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 8878d8548ac7fae43cd6d82579f966eb8825e282 upstream. topaz is actually gmc7. Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: pull topaz gmc bits into gmc_v7Alex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 72b459c8f716ef03a8a0c78078547ce64d8d29a2 upstream. Add the topaz golden settings into the gmc7 module. Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: The VI specific EXE bit should only apply to GMC v8.0 aboveKen Wang2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 8f3c162961fc2d92ec73a66496aab69eb2e19c36 upstream. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Ken Wang <Qingqing.Wang@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: iceland use CI based MC IPKen Wang2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 429c45deae6e57f1bb91bfb05b671063fb0cef60 upstream. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Ken Wang <Qingqing.Wang@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: move gmc7 support out of CIK dependencyAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e42d85261680edfc350a6c2a86b7fbb44a85014b upstream. It's used by iceland which is VI. Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: no need to load MC firmware on fijiAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit ad32152eb26043d165eed9406cb9e2f7011f6b10 upstream. Vbios does this for us on asic_init. Reviewed-by: Ken Wang >Qingqing.Wang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2Christian König2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 78d0e182b6c1f5336f6e8cbb197f403276dabc7f upstream. We could pin BOs into invisible VRAM otherwise. v2: make logic more readable as suggested by Michel Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) Reviewed-by: Rex Zhu <Rex.Zhu@amd.com> (v1) Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: fix tonga smu resumeAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e160e4db833c7e8587ec3c88efaed0d84f1bcf42 upstream. Need to make sure smu buffers are pinned on resume. This matches what Fiji does. Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: fix lost sync_to if scheduler is enabled.Chunming Zhou2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 888c9e33e4c5a503285921046c621f7c73199d2f upstream. when scheduler is enabled, the semaphore isn't used at all. Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: call hpd_irq_event on resumeAlex Deucher2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 54fb2a5cd0baf8e97d743de411e2f832d1afa68d upstream. Need to call this on resume if displays changes during suspend in order to properly be notified of changes. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/amdgpu: Fix off-by-one errors in amdgpu_vm_bo_mapFelix Kuehling2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 005ae95e6ec119c64e2d16eb65a94c49e1dcf9f0 upstream. eaddr is sometimes treated as the last address inside the address range, and sometimes as the first address outside the range. This was resulting in errors when a test filled up the entire address space. Make it consistent to always be the last address within the range. Signed-off-by: Felix.Kuehling <Felix.Kuehling@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/vmwgfx: respect 'nomodeset'Rob Clark2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 96c5d076f0a5e2023ecdb44d8261f87641ee71e0 upstream. Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updatesThomas Hellstrom2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit a50e2bf5a0f674d62b69f51f6935a30e82bd015c upstream. When the framebuffer is a vmwgfx dma buffer and a proxy surface is created, the vmw_kms_update_proxy() function requires that the proxy surface width and the framebuffer pitch are compatible, otherwise display corruption occurs as seen in gnome-shell/native with software 3D. Since the framebuffer pitch is determined by user-space, allocate a proxy surface the width of which is based on the framebuffer pitch rather than on the framebuffer width. Reported-by: Raphael Hertzog <buxy@kali.org> Tested-by: Mati Aharoni <muts@kali.org> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/vmwgfx: Fix an incorrect lock checkThomas Hellstrom2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit fb89ac5102ae2875d685c847e6b5dbc141622d43 upstream. With CONFIG_SMP=n and CONFIG_DEBUG_SPINLOCK=y the vmwgfx kernel module would unconditionally throw a bug when checking for a held spinlock in the command buffer code. Fix this by using a lockdep check. Reported-and-tested-by: Tetsuo Handa <penguin-kernel@i-love-sakura.ne.jp> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Sinclair Yeh <syeh@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/i915: shut up gen8+ SDE irq dmesg noiseDaniel Vetter2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 97e5ed1111dcc5300a0f59a55248cd243937a8ab upstream. We get tons of cases where the master interrupt handler apparently set a bit, with the SDEIIR disagreeing. No idea what's going on there, but it's consistent on gen8+, no one seems to care about it and it's making CI results flaky. Shut it up. No idea what's going on here, but we've had fun with PCH interrupts before: commit 44498aea293b37af1d463acd9658cdce1ecdf427 Author: Paulo Zanoni <paulo.r.zanoni@intel.com> Date: Fri Feb 22 17:05:28 2013 -0300 drm/i915: also disable south interrupts when handling them Note that there's a regression report in Bugzilla, and other regression reports on the mailing lists keep croping up. But no ill effects have ever been reported. But for paranoia still keep the message at a debug level as a breadcrumb, just in case. This message was introduced in commit 38cc46d73ed99dd7002f1406002e52d7975d16cc Author: Oscar Mateo <oscar.mateo@intel.com> Date: Mon Jun 16 16:10:59 2014 +0100 drm/i915/bdw: Ack interrupts before handling them (GEN8) v2: Improve commit message a bit. Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1445590572-23631-2-git-send-email-daniel.vetter@ffwll.ch Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92084 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80896 Acked-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * drm/gma500: Use correct unref in the gem bo create functionDaniel Vetter2016-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit d3e376f52d095103ca51dbda4d6ff8aaf488f98f upstream. This is called without dev->struct_mutex held, we need to use the _unlocked variant. Never caught in the wild since you'd need an evil userspace which races a gem_close ioctl call with the in-progress open. Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1448271183-20523-17-git-send-email-daniel.vetter@ffwll.ch Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | Merge "msm: kgsl: Remove ISENSE control code"Linux Build Service Account2016-07-15
|\ \ \
| * | | msm: kgsl: Remove ISENSE control codeOleg Perelet2016-07-12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Remove ISENSE control code from kernel, GPMU Firmware is doing that now. Change-Id: I34471bb36248bc47b4b5c4b7f4bc54d6bab6ec28 CRs-Fixed: 973565 Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* / / msm: kgsl: Fix the access to invalid poolSunil Khatri2016-07-11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a free page is not found in a particular pool, we fall back to lower order pools. While doing so make sure we dont do that when already in zero order pool. For zero order(pool_idx = 0) pool, (pool_idx-1) value becomes -1 that is invalid and compiler throws the error that array subscript is below bounds. This problem is exposed when we enable kernel config option "CONFIG_ALLOC_BUFFERS_IN_4K_CHUNKS" which will force only zero order pool and hence the index value calculation to -1. Change-Id: I81e8a1e79cd974b7a13a9d23cb3d809464b6dcda Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | msm: kgsl: Discard negative CRC throttling cycle readingsOleg Perelet2016-06-30
| | | | | | | | | | | | | | | | Ignore negative CRC throttle cycle readings in corner cases. Change-Id: Ic237bd0558a4769dc89bfb7e70a287165f842b92 CRs-Fixed: 973565 Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* | msm: kgsl: Add gcc_gpu_iref_clk to list of GPU clocksOleg Perelet2016-06-29
| | | | | | | | | | | | | | | | GPU will vote off gcc_gpu_iref_clk when going to low power modes. CRs-Fixed: 1024948 Change-Id: I13b7a70f1fa748f2f4cdfb485dda2f7857e0b3d2 Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* | msm: kgsl: Fix calculation error for deep nap timer value.Oleg Perelet2016-06-29
| | | | | | | | | | | | | | | | Deep nap timer value was not calculated right when read from dts file. CRs-Fixed: 973565 Change-Id: I11a70c61d408921edd89b1417b209c5c5a3ddf24 Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* | msm: kgsl: Create sysfs entry to control GPU clock throttling.Oleg Perelet2016-06-27
| | | | | | | | | | | | | | | | | | | | Create sysfs entry to control GPU clock throttling. When 0 is written - all sources of clock throlling - ie LM, BCL, IDLE are disabled. CRs-Fixed: 973565 Change-Id: Iad588eb94861bd6b223715cc05354e3c39db9b24 Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* | msm: kgsl: Defer adding the mem entry to a processJordan Crouse2016-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we add the mem entry pointer in the process mem_idr too early other threads can do operations on the entry by guessing the ID or GPU address before the object gets returned by the creating operation. Allocate an ID for the object but don't assign the pointer until right before the creating function returns ensuring that another operation can't access it until it is ready. CRs-Fixed: 1002974 Change-Id: Ic0dedbadc0dd2125bd2a7bcc152972c0555e07f8 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | msm: kgsl: Avoid race condition in ioctl_syncsource_destroyDivya Ponnusamy2016-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the ioctl syncsource_destroy is accessed by parallel threads, where the spinlock is acquired by threads after getting syncsource, then the simultaneous processes try to remove the already destroyed syncsource->refcount by the first thread that acquires this spinlock. This leads to race condition while removing syncsource->idr. Avoid separate lock inside getting syncsource, instead acquire spinlock before we get the syncsource in destroy ioctl so that the threads access the spinlock and operate on syncsource without use-after-free issue. Change-Id: I6add3800c40cd09f6e6e0cf2720e69059bd83cbc Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
* | msm: kgsl: Correction of VBIF debug bus data in snapshotSunil Khatri2016-05-25
| | | | | | | | | | | | | | | | The debug bus information for VBIF block was not dumped correctly for A5XX GPU during the snapshot dump. Change-Id: I75089e210a6fc72683dcf98cdd4da9d6ab3e6fcf Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | msm: kgsl: Create sysfs entry to control GPU NAP stateOleg Perelet2016-05-24
| | | | | | | | | | | | | | | | | | Create sysfs entry to have option to disable software clockgating NAP state. CRs-Fixed: 973565 Change-Id: I2376f10161040dbf426887ce146ac597f401153f Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* | msm: kgsl: Port GPU bus dcvs to kernel 4.4Oleg Perelet2016-05-18
| | | | | | | | | | | | | | | | Port GPU dcvs from kernel 3.18 to kernel 4.4. CRs-Fixed: 1013343 Change-Id: Ide662b12aa59effa541febcd758426e72b4a1b12 Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
* | msm: kgsl: Add property to determine GPU bitnessSunil Khatri2016-05-11
| | | | | | | | | | | | | | | | | | | | | | Add the property to determine GPU bitness which is used by the clients via KGSL ioctl. Certain clients of KGSL such as Open-CL driver need to know explicitly about the GPU mode. Change-Id: I77523d7816edb9776014aaf3aa85321af0d20aaf Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | msm: kgsl: Use the crash dumper to read HLSQ/shader memory on 5XXJordan Crouse2016-05-11
| | | | | | | | | | | | | | | | | | | | The host AHB aperture for reading the HSLQ/SP/TP and shader memory blocks might be blocked on A5XX targets so use the CP crash dump utility to read them instead. Downside if the crashdumper goes boom we'll have to skip those registers in the fallback. Change-Id: Ic0dedbad3c7b485c696198bdfcb78d45e929ec22 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | msm: kgsl: Add effuses read capabilities for A505 GPUHareesh Gundu2016-05-11
| | | | | | | | | | | | | | | | | | A505 GPU is having two different frequency plans, for loading a specific frequency plan add speed bin read information capability to A505. Change-Id: I259020d7e4613d043e213ab2cb41e80ceb11f46a Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | msm: kgsl: Do not allocate memory for profiling and sync commandsSunil Khatri2016-05-11
| | | | | | | | | | | | | | | | | | | | | | | | Do not allocate memory for IB descriptors for commands of types profiling buffers, sync and markers. This fixes the memory leak due to allocation of memory for such commands and these were never freed. CRs-Fixed: 996651 Change-Id: Ib168d60ad89e0fd55cd1f10b773b7cdaa7400ace Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | msm: kgsl: Add 1M and 8K pools to the allocatorShrenuj Bansal2016-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change includes the below: - Add 1M and 8k pools and structure the allocator to use all pools from the largest page to the smallest - Reserve a set number of pages for each of these pools at init time - When allocating, use the reserved pools and then fall back to allocating from system memory using only 8k and 4k pages - Remove maximums on the pool sizes - Zero the memory when we create the pool initially and add pages back to the pool on free CRs-Fixed: 995735 Change-Id: I9440bad62d3e13b434902f167c9d23467b1c4235 Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
* | msm: kgsl: Remove harmless preemption log messageHarshdeep Dhatt2016-05-05
| | | | | | | | | | | | | | | | | | | | | | | | This message is logged when we receive a preemption interrupt after we have already detected that preemption has been finished in hardware by reading the preemption status register. This is a harmless condition so remove it. CRs-Fixed: 993480 Change-Id: I61a48353428b3faa042fbc85e259b33c7f23bdb0 Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
* | msm: kgsl: Fix overflow in sharedmem read/write functionsSunil Khatri2016-05-05
| | | | | | | | | | | | | | | | | | | | There could be possibility of integer overflow on adding sizeof(uint32_t) with uint64_t maximum offset bytes and result in a value smaller than uint64_t maximum memdesc size. CRs-Fixed: 988861 Change-Id: Ifc3ec45297c2a29ad6f7d70dd0bd59238ac8cc3d Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | msm: kgsl: Add MMU offset mapping functionsCarter Cooper2016-05-05
| | | | | | | | | | | | | | | | | | Allow MMU mappings to take offsets rather than only allowing full range mappings. CRs-Fixed: 971174 Change-Id: Iaa113c8414a2d2d8f92b3cb21eaf2e422f273454 Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
* | msm: kgsl: Dump 64KB of preemption record in snapshotHarshdeep Dhatt2016-05-05
| | | | | | | | | | | | | | | | | | | | Dumping only the ctxt_record structure in a snapshot is not enough. For a more meaningful snapshot, dump 64KB of preempt record. Also, move the code to device specific snapshot function. Change-Id: I43e08ccefbf2d3911191b2aad5168979956e1626 Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
* | msm: kgsl: Clean up adreno trace codeCarter Cooper2016-05-05
| | | | | | | | | | | | | | | | | | Give trace code for IRQs a simpler format that moves around where some logic lives. CRs-Fixed: 971172 Change-Id: If426fb7599be0a79b6f37b8008a2310b1c006e93 Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
* | msm: kgsl: Don't spam kmsg due to invalid IOCTL requestsCarter Cooper2016-05-05
| | | | | | | | | | | | | | | | | | When the IOCTL is called with invalid data, don't log to kmsg. The returned error code should be enough to tell the UMD what they did wrong. CRs-Fixed: 987074 Change-Id: Iae380e0f44dd53bee8ff4cec347a6b9a632b1f84 Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
* | msm: kgsl: Remove superfluous NULL checks when reading timestampsCarter Cooper2016-05-05
| | | | | | | | | | | | | | | | | | There is no way for the UMD to pass in NULL pointers for reading timestamps. The KGSL driver also always has valid pointers for storing the readpointer. Remove the checks that are not needed. Change-Id: Id5f244a57a2b991a10b603ef7236193d4282fd0f Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
* | msm: kgsl: Purge unused #definesCarter Cooper2016-05-05
| | | | | | | | | | | | | | | | | | Remove unused #defines, structs and members that are no longer used. CRs-Fixed: 971156 Change-Id: Ibdf6fef6f3f700f3c5315c228c0473e47fb62163 Signed-off-by: Carter Cooper <ccooper@codeaurora.org> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | msm: kgsl: Use a page pool to reduce allocation timeDeepak Kumar2016-05-05
| | | | | | | | | | | | | | | | | | | | | | Use a mempool to reduce the allocation time. When memory allocated from pages is freed, put it in a page pool. At allocation time, try to allocate from the page pool before getting pages from the system. Make sure that the pool does not grow too big by enforcing a maximum limit. Change-Id: Icac7fb4355ee1fd07e7127ea5c2721665e279272 Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | msm: kgsl: Check for failure in coresight initializationSunil Khatri2016-05-05
| | | | | | | | | | | | | | | | | | We need to check for both NULL pointer and error condition in coresight initialization and return with proper error. CR's-Fixed: 971398 Change-Id: Id1e3e0f756ac1c9a0ff4f4e6ce073e80e31473b8 Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>