Commit graph

14 commits

Author SHA1 Message Date
Sunil Khatri
a943eac9d4 msm: kgsl: Add property to determine commands timeout
Add the property to determine the current command timeout
value which is used by the clients via KGSL IOCTL.

Change-Id: Ifd6b373d211ebd78dc3a8032ede073258487d689
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
2017-10-30 02:52:21 -07:00
Hareesh Gundu
d689330ab5 msm: kgsl: Allow draw context to perform only replay on recovery
Robust context attempts to perform a rendering that takes too long
whether due to an infinite loop in a shader or even just a rendering
operation that takes too long on the given hardware. This type of
attempts can result into GPU faults. Robust context expect driver
to replay IB instead skip IB and if it fails on replay context has
to be invalidated.

KGSL_CONTEXT_INVALIDATE_ON_FAULT flag allows draw context to execute
only replay policy on GPU fault recovery instead of going to default
recovery policy. User space has to set this flag during the context
creation.

Change-Id: If42dc5afc7d5ed1226b73ae5abfa2648d7acf2c3
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-04-23 23:47:46 -07:00
Jonathan Wicks
2e560ec3d0 msm: kgsl: Map GPU QTimer through GPU IOMMU
Map the GPU QTimer area as a global into the GPU
IOMMU so that the GPU can access the QTimer.

Change-Id: If50bd36681123adde7e3a37644c41316f101154c
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
2017-02-28 11:12:33 -07:00
Tarun Karra
c71cda2d10 msm: kgsl: Add Bind objects to dispatcher draw queue
kgsl_ioctl_gpu_sparse_command() is added to for user to
specify list of binds/unbinds for a memory entry
and syncpoints they depend on. If user specifies both
create a sync object for syncpoints and bind object for
binds/unbinds and add them to dispatcher draw queue. Sync
object should be inserted before the bind object in the
draw queue. Once the bind object reaches the head of
draw queue the corresponding binds/unbinds are performed.
kgsl_ioctl_gpu_sparse_command() only accepts commands from
context created with flag KGSL_CONTEXT_SPARSE, commands
from all other context types will return an error.

Change-Id: Ib0a2361f854ae01d0d8090cdd48cfa96308daf93
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2016-12-07 10:33:16 -08:00
Carter Cooper
aa29f6267f msm: kgsl: Add sparse memory support
Add support to allocate/reserve a virtual address range without
physically backing. Add support to allocate physically backing memory
without assigning it a virtual address. Add support to unite
the two forementioned allocations together. Add support to
divorce them from one another. Add support to let their kids
do cache operations as they see fit.

Create a 'dummy' page that is used to back virtual allocations
that are not yet backed by physical memory.

CRs-Fixed: 1046456
Change-Id: Ifaa687b036eeab22ab4cf0238abdfbe7b2311ed3
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
2016-08-15 10:23:46 -06:00
Linux Build Service Account
608c991c8e Merge "msm: kgsl: Map GPU QDSS STM through GPU IOMMU" 2016-07-27 19:27:07 -07:00
Jordan Crouse
091839e4c3 msm: kgsl: Allow a draw context to skip snapshot
Some test applications intentionally generate a GPU fault for
various reasons. Because a GPU fault generates a snapshot and
snapshots are persistent until they are pulled, running the test
application may take up the snapshot slot and prevent a real fault
from being captured and debugged.

This flag allows the draw context to intentionally avoid generating
a snapshot.

CRs-Fixed: 1009190
Change-Id: Ic0dedbad8476c308a13572d999540b243d97eabc
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-07-20 15:19:33 -06:00
Jonathan Wicks
6e192957e8 msm: kgsl: Map GPU QDSS STM through GPU IOMMU
Map the GPU QDSS STM area as a global into the GPU
IOMMU so that GPU traces can be routed to QDSS.
Enable the gpuaddr and size of the area to be queried
from userspace.

CRs-Fixed: 1031648
Change-Id: I2e32522a42508a6bee088c95dc56a13935dd691c
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
2016-07-19 19:54:57 -07:00
Sunil Khatri
f667066182 msm: kgsl: Add property to determine GPU bitness
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>
2016-05-11 17:44:09 -07:00
Jonathan Wicks
bdc703239b msm: kgsl: Add documentation to the new cmdbatch profiling flag
Add documentation for KGSL_CMDBATCH_PROFILING_KTIME to make it
clear that KGSL_CMDBATCH_PROFILING must also be set.

CRs-Fixed: 977455
Change-Id: I44f9dbc006450fbe226b642ee66b8d49dd1108cc
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
2016-03-25 16:02:30 -07:00
Jordan Crouse
5c39fe697f msm: kgsl: Set the DDR high bank bit if specified in the device tree
On 5XX targets we need to program the bit of the highest DDR bank
into a number of registers, one of which is protected which would
cause problems if the user mode driver tried to write to it.

Specify the high bank bit in the device tree files, set the
problematic register in the kernel and then pass the value up to
the user mode driver as a property and let them program the
other registers.  This makes the device tree the authoratative
source of the high bit value which is exactly how it should be.

If the value isn't specified by the device tree for whatever reason
return an error for the property request - that will give the UMD
a clue that the value wasn't specified and they should just set a
default.

CRs-Fixed: 970272
Change-Id: Ic0dedbad830321329b74da7fa3e172fdaf765c4d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-03-23 21:20:35 -07:00
Jonathan Wicks
e80d2278fb msm: kgsl: Add a cmdbatch profiling flag to get time since boot
Add a new cmdbatch profiling flag that populates the seconds
and nanosecond fields of the cmdbatch structure with the time
since boot instead of the wall time.

CRs-Fixed: 968114
Change-Id: I4e752d5237a74192b3ea9cc125c11bae574c1b36
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
2016-03-23 21:19:46 -07:00
Jeremy Gebben
ea4e77c42f msm: kgsl: include header dependencies
Include the dependencies rather than relying on 'something else'
to include them.

Change-Id: I472e8f4abbc3d54904f441d42f2e7cb38bc413d0
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2016-03-23 21:12:47 -07:00
Jordan Crouse
5103db813f msm: kgsl: Add Qualcomm GPU driver
Snapshot of the Qualcom Adreno GPU driver (KGSL) as of msm-3.18 commit
commit e70ad0cd5efd ("Promotion of kernel.lnx.3.18-151201.").

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-03-22 11:15:49 -07:00