Commit Graph

137 Commits

Author SHA1 Message Date
Y-T-G 20b0da57d9 misc: fix some GCC warnings 2020-01-06 08:40:46 +01:00
Francescodario Cuzzocrea e20e6a0613 Merge tag 'LA.BF.1.1.3-02310-8x26.0' into lineage-16.0 2019-08-05 11:18:51 +02:00
Francescodario Cuzzocrea 85baa390bf misc: Import SM-G900H kernel source code
* Samsung Package Version: G800HXXU1CRJ1
    * CAF Tag: LA.BF.1.1.3-00110-8x26.0
2019-08-02 15:14:10 +02:00
Divya Ponnusamy ad84ae0fcc msm: kgsl: Change %p to %pK in debug messages
The format specifier %p can leak kernel addresses
while not valuing the kptr_restrict system settings.
Use %pK instead of %p, which evaluates whether
kptr_restrict is set.

Change-Id: I0778e43e0a03852ca2944377256a7b401586a747
Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
Signed-off-by: Sudeep Yedalapure <sudeepy@codeaurora.org>
2016-10-13 16:42:59 +05:30
Sunil Khatri 61e3c7f412 msm: kgsl: Refactor the GPU event engine
The old GPU event model was pretty heavy weight. It walked a lot
of issues while holding the mutex and was generally not very
flexible or scalable.

The new design introduces event groups. Event groups have a list of
common events with a local lock.  Each context has a default event
group and the device adds a few more for global events and IOMMU events.
Each event group is processed when timestamps expire and the expired
events are scheduled on a workqueue. We never need to take the device
mutex in any of the event code and we have the flexibility to deal with
both global and per-context timestamps in a reasonably generic manner.

Speed is a premimum at every step of the process, so we use RCUs for
the global group list, a new kmem cache for the event structs and
generally go out of our way to avoid blocking in rendering threads
even a little bit.

Change-Id: Ic0dedbad02eec7c75258e6787543b79d4b8b3394
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
2015-09-08 17:02:10 +05:30
Jordan Crouse 6665b0d3c4 msm: kgsl: Cleanup the memory free list
Tighten up the memory free list code and remove the memory unused
debugfs file.  Outside of the cleanup the functional changes are
a) move the mutex to a spinlock for speed, and b) only return the
last entry in the list for given pid/gpu address combination.

Conflicts:
	drivers/gpu/msm/kgsl.c
	drivers/gpu/msm/kgsl.h
	drivers/gpu/msm/kgsl_debugfs.c

Change-Id: Ic0dedbad9595302e2b42de2807fa82c425d1717f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2014-06-06 12:13:47 +05:30
Jordan Crouse cf6be91544 msm: kgsl: Protect CP_STATE_DEBUG_INDEX
Put CP_STATE_DEBUG_INDEX and CP_STATE_DEBUG_DATA under protection
to keep it from being written from an IB1. Doing so however opens
up a subtle "feature" in the microcode: memory read opcodes turn off
protected mode in the microcode to do the read and then turns it
back on regardless of the initial state. This is a problem if the
memory read happens while protected mode is turned off and then we
try to access a protected register which then complains and goes boom.

To account for this irregularity explicitly turn back off protected
mode in all the places where we know this will be a problem.

Change-Id: Ic0dedbad1397ca9b80132241ac006560a615e042
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2014-04-22 12:13:04 -06:00
Tarun Karra 999aa65572 msm: kgsl: Flush TLB when mapping to IOMMU pagetable
Flush TLB when mapping to IOMMU pagetable, this is a requirement
for current IOMMU hardware.

Change-Id: I82e766f4869c737c1f5b73934eacaada40d46e10
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2014-04-08 16:26:33 -07:00
Tarun Karra 88d95e65e3 msm: kgsl: Add new API's to track device mutex owner
Add new API's kgsl_mutex_lock/unlock to track device mutex owner.
Mutex owner is an atomic variable and all operations set/clear on
it are also atomic to avoid any race conditions.

If a thread tries to acquire the mutex using new API, try to acquire
the mutex only if mutex owner is not same as current thread. This is
to prevent deadlocks which can happen if a thread tries to acquire
mutex with mutex held.

Change-Id: I3da4d0427ede5458f6a663043c57a4799b72d8fd
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2014-04-07 13:06:12 -07:00
Linux Build Service Account e9b97d4bf9 Merge "msm: kgsl: Treat 0x0 as valid GPU pagetable physical address" 2014-03-15 23:57:15 -07:00
Tarun Karra e5963ff103 msm: kgsl: Treat 0x0 as valid GPU pagetable physical address
Iommu driver could be allocating a valid GPU pagetable at
physical address 0x0, remove assumption from GPU kernel driver
that 0x0 is invalid pagetable address.

Change-Id: I213c0fbc1d90a13bef83c7d7589ad9e5729771fd
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2014-03-10 03:12:38 -07:00
Tarun Karra a5ee1c2fc7 msm: kgsl: Fix memleak in IOMMU clock disable
IOMMU clock disable on timestamp allocates memory and passes
the pointer to event created, this memory should be freed
when the event fires.

Change-Id: Ia714550ce8a05958fb6668293cd0400a0f69d4af
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2014-02-27 23:55:53 +05:30
Linux Build Service Account 61264234ac Merge "msm: kgsl: Refcount mmu clock calls and allow multiple disable events" 2014-02-06 22:59:33 -08:00
Shubhraprakash Das 80333bb5d2 msm: kgsl: Refcount mmu clock calls and allow multiple disable events
Allow each mmu clock enable call to enable the clock and let the
clock driver refcounting mechanism deal with switching the clock
off at the right time. This also means that each enable call should
have a disable call or a disable event registered, so allow for
multiple disable events to be registered. This simplifies the mmu
clock handling mechanism which is better for multiple ringbuffer
implementation. With multiple ringbuffers each global timestamp is
tied to a specific ringbuffer and with a single clock disable event
it is hard to figure out when the clock should be turned off.

CRs-fixed: 597193 592485
Change-Id: I924c545140bd19d95890a5fdfd0382c511abe973
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2014-02-03 17:39:20 -08:00
Shubhraprakash Das fba791e4e5 msm: kgsl: Change the pagefault policy immediately
When changing the pagefault policy the MMU setting for the pagefault
policy was not changed, add code to do that.

Conflicts:
	drivers/gpu/msm/adreno.c

Change-Id: I3b185a7f6bdda42856c777c60ae82c32b9c52eb9
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2014-01-27 12:56:44 +05:30
Shrenuj Bansal 092a35f0cc msm: kgsl: Remove cpu_is_msm8960() check
The check in the code will always evaluate to true now that we
don't support A-family and does not affect the if statement that
uses it.

Change-Id: Ifdf88cc0305eb64a6a50f72a23e69239173ee4c6
Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
2014-01-16 14:15:39 -08:00
Shrenuj Bansal 3980e7af9a msm: kgsl: when unmapping from the mmu flush the entire tlb
Flushes the entire tlb when calling mmu_unmap to make sure there
is no race condition between unmapping and freeing the pages.

Change-Id: I911f8479a3aef2006f9df40a3419284423937542
Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
2014-01-08 11:21:34 -08:00
Zhoulu Luo cb149dae39 Revert "msm: kgsl: Don't resume MMU before detaching domain"
This reverts commit fa05db9455.

Conflicts:

	drivers/gpu/msm/adreno.c

Change-Id: If223dc027fe937119f2fdfa57a7e927f49e0d1e2
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
2013-11-13 14:32:44 -08:00
Zhoulu Luo b1811a539e Merge remote-tracking branch 'remotes/quic/jb_3.2' into HEAD
Conflicts:
	drivers/gpu/msm/adreno.c

Change-Id: I0ed991177948d813af471f471f77c48d24fdaea8
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
2013-11-13 14:01:19 -08:00
Shubhraprakash Das 2658dd1334 msm: kgsl: Enable the iommu halt feature for certain IOMMU versions
Enable the IOMMU halt feature for non v0 IOMMU versions instead of
depending on the feature being enabled in the IOMMU device tree.
This is because on certain chipsets this feature is not set in
the device tree even if the IOMMU h/w supports it.

Change-Id: I39236b5f7a7dc1d0d739bbb39bfc7fda4931da56
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-11-05 11:37:16 -07:00
Jordan Crouse 2371c9bae6 msm: kgsl: Add dispatcher and server-side-sync support
Add dispatcher and server-side-sync support from the msm-3.10 branch
featuring these commits:

	msm: kgsl: Add a command dispatcher to manage the ringbuffer
	msm: kgsl: Implement KGSL fault tolerance policy in the dispatcher
	msm: kgsl: Don't process events if the timestamp hasn't changed
	msm: kgsl: Add a new command submission API
	msm: kgsl: add kgsl_sync_fence_waiter for server side sync
	msm: kgsl: Add support for KGSL_CMD_SYNCPOINT_TYPE_FENCE
	msm: kgsl: Add the event callback symbol to GPU event tracepoints
	msm: kgsl: Add a ftrace event for adreno context switches
	msm: kgsl: Try to run soft reset on all targets that support it
	msm: kgsl: Check for idle in the fault detection timer
	msm: kgsl: Improve the dispatcher issuecmds loop
	kref: Implement kref_get_unless_zero v3
	msm: kgsl: fix a race condition when calling kref_put
	msm: kgsl: Check the return value of _kgsl_context_get()
	msm: kgsl: Hold the plist spinlock to protect nodes
	msm: kgsl: Hold a reference to process private when creating context
	msm: kgsl: Do not delete command batch unless it's retired
	msm: kgsl: Check whether context is detached before updating timestamp
	msm: kgsl: Free the cmdbatch when it fails to be requeued
	msm: kgsl: Clear dispatcher fault bit if inflight commands are 0
	msm: kgsl: Do not register additional IOMMU faults
	msm: kgsl: Do not overwrite dispatcher fault
	msm: kgsl: Define new fault type for IOMMU fault
	msm: kgsl: On IOMMU fault force a hard reset
	msm: kgsl: Max the expired timestamp of invalidated context
	msm: kgsl: Do not allow events with bogus timestamp
	msm: kgsl: Immediately set the fault bit on a pagefault
	msm: kgsl: Set FSR to 0 on IOMMU pagefault
	msm: kgsl: Do not call dispatcher fault handler if already called
	msm: kgsl: Only skip IB for faulting context
	msm: kgsl: Retry hard reset more than once on failure
	msm: kgsl: Wake up threads after context detach
	msm: kgsl: Don't pause the dispatcher in adreno_dispatcher_stop
	msm: kgsl: Fix draw context fair scheduling in the dispatcher
	msm: kgsl: Return -EPROTO in certain functions if the GPU has faulted
	msm: kgsl: GPU pagefault policy change to not stall on pagefault
	msm: kgsl: A few quick cleanups to improve stability
	msm: kgsl: Return -ENOTTY for legacy waittimestamp calls
	msm: kgsl Check NULL return from kgsl_get_device_from_dev
	msm: kgsl: use kgsl_context_detached() in adreno_dispatcher_queue_cmd()
	msm: kgsl: remove KGSL_STATE_DUMP_AND_FT
	msm: kgsl: Re-add the irq_last functionality
	msm: kgsl: Allow sync points to be created on the submitter's context
	msm: kgsl: Don't repeatedly call adreno_stop during reset
	msm: kgsl:  Add an helper function to clear the GPU fault after reset

Change-Id: Ic0dedbad5ae48dddad1e5f76875b0a8604017cc3
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2013-11-05 11:37:11 -07:00
Zhoulu Luo 19e33aa26f Revert "msm: kgsl: Enable GPU hang interrupt"
This reverts commit 5f3ed73b0b.

Change-Id: I0964f93c38b8944938487bb56193387f3ea4e092
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
2013-11-04 17:10:05 -08:00
Zhoulu Luo 03d9178243 Revert "msm: kgsl: Set FSR to 0 on IOMMU pagefault"
This reverts commit f64b0eccf0.

Change-Id: I5feee2159de3df2d328d33546864b73bc057acad
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
2013-11-04 17:09:59 -08:00
Harsh Vardhan Dwivedi fa05db9455 msm: kgsl: Don't resume MMU before detaching domain
In cases of page fault, resuming the MMU before detaching
the domain locks up the MMU and causes erroneous behavior.
To avoid this, only resume the MMU after detaching the domain.
Additionally, do not attempt soft reset in cases of page faults.

CRs-fixed: 550840
Change-Id: I0c8ea79d802d8b8d29e03af6f3153ee6c3401400
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-10-30 13:18:00 -07:00
Shubhraprakash Das f64b0eccf0 msm: kgsl: Set FSR to 0 on IOMMU pagefault
On IOMMU pagefault the FSR is not cleared until the IOMMU
is reset and re-attached to the GPU device. Until FSR clears
the system will keep generating fault interrupts. Clear the
FSR when iommu is stopped in kgsl driver to prevent system
from generating additional fault interrupts for the same
fault until the IOMMU is re-attached

Change-Id: Ia56bbd1245a84a001ec8464f73cfedf2a2d312c2
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-10-18 12:02:04 -07:00
Tarun Karra 5f3ed73b0b msm: kgsl: Enable GPU hang interrupt
Enable and use GPU hang interrupt to detect GPU hangs.
If the GPU hang is not detected using the interrupt we
still have the hang timer to detect GPU hangs. When
hang is detected using GPU hang interrupt fault tolerance
is triggered. Fault tolerance time is less than 50ms with
GPU hang interrupt.

Conflicts:

	drivers/gpu/msm/adreno.h
	drivers/gpu/msm/adreno_a2xx.c
	drivers/gpu/msm/adreno_a3xx.c
	drivers/gpu/msm/adreno_ringbuffer.c

CRs-Fixed: 512795
Change-Id: I9327803f178ae1b5e8248fe3450499b7bba2a68d
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-10-18 11:25:34 -07:00
Olav Haugan f75b52e83d iommu: msm: Refactor use of remote spinlock
The remote spinlock was originally meant to synchronize access between
GPU and CPU accessing SMMU. However, there are more use cases that
this remote spinlock serves. This change decouples the spinlock from
GPU and adds support for taking the spinlock only for SMMUs that are
specified in the device tree.

CRs-fixed: 517873
Change-Id: Ic50992d0d1a102fbd05855e09e254e627f99ec33
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2013-10-15 19:19:42 -07:00
Tarun Karra aaf3155671 Revert "msm: kgsl: Add a command dispatcher to manage the ringbuffer"
This reverts commit a2e8ddc223.

Change-Id: I28f4be2d28528efa9d007abc5a36be1e92e2bad4
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-08-16 14:01:35 -07:00
Tarun Karra d0679d56c8 Revert "msm: kgsl: Implement KGSL fault tolerance policy in the dispatcher"
This reverts commit 246e37be56.

Change-Id: Ife8ac91e76165a55bc7e0296e33573133a2fe1d5
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-08-16 14:00:52 -07:00
Jordan Crouse 246e37be56 msm: kgsl: Implement KGSL fault tolerance policy in the dispatcher
Implement the KGSL fault tolerance policy for faults in the dispatcher.
Replay (or skip) the inflight command batches as dictated by the policy,
iterating progressively through the various behaviors.

Change-Id: Ic0dedbade98cc3aa35b26813caf4265c74ccab56
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2013-07-23 17:54:37 -06:00
Jordan Crouse a2e8ddc223 msm: kgsl: Add a command dispatcher to manage the ringbuffer
Implements a centralized dispatcher for sending user commands
to the ringbuffer. Incoming commands are queued by context and
sent to the hardware on a round robin basis ensuring each context
a small burst of commands at a time.  Each command is tracked
throughout the pipeline giving the dispatcher better knowledge
of how the hardware is being used.  This will be the basis for
future per-context and cross context enhancements as priority
queuing and server-side syncronization.

Change-Id: Ic0dedbad49a43e8e6096d1362829c800266c2de3
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2013-07-23 08:43:18 -06:00
Linux Build Service Account c952975e96 Merge "msm: kgsl: Allow tasks to signal pending events" 2013-07-15 17:33:10 -07:00
Linux Build Service Account 3ba40345c9 Merge "msm: kgsl: Fix checking of returned error" 2013-07-13 19:28:46 -07:00
Linux Build Service Account ea7cb5b325 Merge "msm: kgsl: Fix addressing of FSYNR0 and FSYNR1 registers" 2013-07-13 19:28:45 -07:00
Jordan Crouse 3aec610d27 msm: kgsl: Allow tasks to signal pending events
Add a type parameter to event callbacks to give tasks a way to
communicate error conditions to the callback. Current type values
are KGSL_EVENT_TIMESTAMP_RETIRED for normal timestamp expiry and
KGSL_EVENT_CANCELLED if the event is cancelled prematurely.

Change-Id: Ic0dedbad9907cd50642a604a3af562e01a4b4a3b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2013-07-11 14:53:51 -06:00
Shubhraprakash Das 414d7b3975 msm: kgsl: Fix checking of returned error
IOMMU get context functions return error as a pointer so just
checking for NULL is not correct. Use the right macro to check
if error is returned and only force initialization of one context
for IOMMU-v1 since other contexts are not used.

Change-Id: I5123363567649568127e24738f19ea30f98a6cec
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-07-11 13:15:01 -07:00
Shubhraprakash Das 65ac15fbc1 msm: kgsl: Fix addressing of FSYNR0 and FSYNR1 registers
Fix the addressing of FSYNR0 and FSYNR1 IOMMU-v1 registers. These
are context registers and were being addressed as global registers.

Change-Id: I2f6c4798a3c82bb4857a334beb99994ac9f4a1e8
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-07-11 13:15:00 -07:00
Jeremy Gebben 0ca32f2a38 msm: kgsl: embed kgsl_context struct in adreno_context struct
Having a separate allocated struct for the device specific context
makes ownership unclear, which could lead to reference counting
problems or invalid pointers. Also, duplicate members were
starting to appear in adreno_context because there wasn't a safe
way to reach the kgsl_context from some parts of the adreno code.
This can now be done via container_of().

This change alters the lifecycle of the context->id, which is
now freed when the context reference count hits zero rather
than in kgsl_context_detach().

It also changes the context creation and destruction sequence.
The device specific code must allocate a structure containing
a struct kgsl_context and passes a pointer it to kgsl_init_context()
before doing any device specific initialization. There is also a
separate drawctxt_detach() callback for doing device specific
cleanup. This is separate from freeing memory, which is done
by the drawctxt_destroy() callback.

Change-Id: I7d238476a3bfec98fd8dbc28971cf3187a81dac2
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2013-07-10 07:14:27 -07:00
Tarun Karra 2cd87a95a8 msm: kgsl: Option to not stall IOMMU V1 on pagefault based on FT policy
There are cases where GPU has a pagefault and executes
fine after pagefault without GPU stall. init.qcom.graphics.sh
script can be used to change FT pagefault policy
to not stall IOMMU V1 on pagefault and check if pagefault is harmless.

Change-Id: If061230b66181bfd94c697ea106e7bf4de352e91
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-07-08 10:57:55 -07:00
Linux Build Service Account 782d648b7a Merge "msm: kgsl: Use a read/lock for the context idr" 2013-07-03 08:20:19 -07:00
Linux Build Service Account bab5c13065 Merge "msm: kgsl: Add a barrier after writing to V2PUR register" 2013-07-03 02:41:29 -07:00
Jordan Crouse a598d53601 msm: kgsl: Use a read/lock for the context idr
Everybody loves a rcu but in this case we are dangerously mixing rcus and
atomic operations.  Add a read/write lock to explicitly protect the idr.
Also fix a few spots where the idr was used without protection.

Change-Id: Ic0dedbad517a9f89134cbcf7af29c8bf0f034708
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2013-07-01 17:34:23 -06:00
Shubhraprakash Das d4e1cd10ab msm: kgsl: Add a barrier after writing to V2PUR register
Add a memory barrier after writing to V2PUR register of IOMMU. Without
this barrier the CPU core can stall because of multiple outstanding IOMMU
register transactions happening in parallel. This barrier synchronizes
the multiple IOMMU register transactions and prevents the CPU from
stalling.

Change-Id: I1d715e9fb8287b1f0b009b39b11b5469ab8861c8
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-06-20 11:17:25 -07:00
Jordan Crouse 6029a99b9e msm: kgsl: Fix a missing semicolon in the KGSL IOMMU handler
in check_if_freed() a call to kgsl_get_memory_usage() was terminated with
a comma instead of a semicolon.  Through a quirk in a macro this somehow
managed to compile and function properly but that doesn't make it okay.

CRs-fixed: 497280
Change-Id: Ic0dedbadfdf901bbc68b7f8cefb231d08dd01a95
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2013-06-17 08:52:39 -06:00
Linux Build Service Account 8218d8856c Merge "msm: kgsl: GPU soft reset" 2013-06-10 14:35:54 -07:00
Tarun Karra 18e099aa5f msm: kgsl: GPU soft reset
Soft reset GPU when GPU power rail is not turned off.
In hard reset we reload full microcode but in soft reset
since the memory powerrail is not turned off we only
load jump tables part of microcode, this reduces GPU
reset time from 10ms to 200us.

Change-Id: Ibbc36e97cc95425e13856fd5d847eed742743723
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2013-06-05 15:21:29 -07:00
Olav Haugan 0858ae0f4c iommu: msm: Refactor code to separate compilation
Modify the code and update makefile and defconfig to allow us to
only compile one of the two IOMMU drivers that we have. Only one of
the drivers are needed at the same time. This will ensure we are not
compiling and linking code that is not needed.

Change-Id: I7db69f873245e57bddab6625e0b04e2ed48f44b6
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2013-06-05 14:45:07 -07:00
Shubhraprakash Das 2e9bd9aa58 msm: kgsl: Convert all physical address to type phys_addr_t
Future chipsets may not define phys_addr_t to 32 bits hence convert
all physical address variables to this type.

Change-Id: I4ac5bd1aabda455456ff867c973a264f68992404
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-05-31 12:16:57 -07:00
Shubhraprakash Das d8962346ab msm: kgsl: Make cff capture a device specific property
Make CFF capture a device specific property. This allows the control
of CFF for a particular device without CFF interferance from another
device. This will be useful when we have a virtual device and need to
only capture CFF for the virtual device. CFF capture can only be
turned on for one device at a time.

Change-Id: I14c5a4442ad05327de1413d98bf795dbd196119d
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-05-31 12:16:55 -07:00
Shubhraprakash Das 2dbffc8c2c msm: kgsl: Fix checking of remote iommu spin lock initialization
If remote spin lock is not configured to be used then the
initialization function will return a NULL value. Check this
value before using it.

Change-Id: Iacb4b7914a93e7aefcd20341ecedbaa466c98acb
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-05-28 17:57:13 -07:00