Commit Graph

19 Commits

Author SHA1 Message Date
Wei Zou
c8c0163607 Revert "msm: kgsl: Add per context timestamp"
This reverts commit 2a811252c7.

Change-Id: Ic3018f19eb1a089ae67e0f3c253cc00e7d0285e3
Signed-off-by: Wei Zou <wzou@codeaurora.org>
2012-03-24 17:29:50 -07:00
Carter Cooper
2a811252c7 msm: kgsl: Add per context timestamp
Add new ioctls for per context timestamps.
Timestamp functions (read/write/wait) will now be context
specific rather than only using the global timestamp.
Per context timestamps is a requirement for priority
based queueing.

Change-Id: I5fdfb816480241b9552ecf90ed1bb22db3a652b5
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2012-03-23 15:44:23 -06:00
Jordan Crouse
b409257520 msm: kgsl: Remove some uneeded debug output
Remove a block of code that dumped the ringbuffer contents after they
were extracted.  The dump is no longer needed and the longer we
stick around dumping things to the console with the mutexes locked,
the better the chance that the watchdog will come bite us.

Change-Id: Ic0dedbadd22993f0f1646841f481cdc6713d38e8
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-03-19 10:41:30 -06:00
Jordan Crouse
a400d8da2d msm: kgsl: Do not BUG in GPU recovery if a valid context can't be found
Don't BUG() if we can't find a valid context to recover to; just fail and
go into a zombie state. This usually happens after a first hang goes bad
and the system keeps hanging while trying to find its way. The problem with
a BUG() in this case is that the system goes down and we can't recover the
snapshot or other debug information.

Change-Id: Ic0dedbad424067ca67799487ee7a7de48a2f42b0
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-03-19 10:41:28 -06:00
Jordan Crouse
b4d31bd8b0 msm: kgsl: Add support for the A3XX family of GPUs
Add support for the A320, the first of the new generation
of Adreno GPUs.

Change-Id: Ic0dedbadd29fbdff8733cd38824594e757eef42d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-02-04 14:54:26 -07:00
Vijay Krishnamoorthy
bef66933ee msm: kgsl: Add support for the preamble context flag
Userspace will set a flag in the context if preambles are in use. If
they are, we can safely skip save and restore commands for the
context. GMEM save/restore is still required.  To improve performance,
preamble commands are skipped when the context hasn't changed since
the last issueibcmds.

Change-Id: I21bb8996d62651122dbebcf7a79543679109e1f9
Signed-off-by: Vijay Krishnamoorthy <adivarah@codeaurora.org>
2012-02-04 14:54:26 -07:00
Jeremy Gebben
388c297b8b msm: kgsl: power state cleanup
Clean up kgsl_pwrctrl_sleep() and kgsl_pwrctrl_wake() to make
state transistions clearer.  Add kgsl_pwrctrl_request_state()
and kgsl_pwrctrl_set_state() to make it easier to debug the
state machine.

CRs-Fixed: 315833
Change-Id: I656ce8bd19feabd4186ef91dc031f8a6c6a7d09a
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2011-12-20 09:06:55 -07:00
Jeremy Gebben
ddf6b579bf msm: kgsl: handle larger instruction store for adreno225
This GPU has a larger instruction store, so more memory
needs to be reserved for saving shader state when context
switching.

The initial vertex and pixel partitioning of the
instruction store also needs to be different.

Change-Id: If60c06467dd30d5bae07302a74eaf2687900b2b8
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2011-11-04 13:25:53 -06:00
Carter Cooper
6dd94c888d msm: kgsl: Cleanup function returns
Change-Id: Ic683e34cbde40b77475bc5fe98d958f364f9ae7b
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2011-10-17 10:57:12 -06:00
Shubhraprakash Das
767fdda6e1 msm: kgsl: Introduce Iommu Code
kgsl now supports the use of 2 types of MMU. One is
the GPU's internal MMU and the other is IOMMU. Both
MMU cannot be active at the same time. The MMU type
can be selected at compile time via config option.
A boot command line parameter can be used to override
the type of MMU selected at compile time.

Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2011-10-04 17:14:34 -07:00
Lucille Sylvester
958dc94f21 msm: kgsl: Call pwrscale busy only when the GPU is definitely busy.
Original call placement could happen without actually starting
the GPU's workload.

Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
2011-10-03 16:20:12 -07:00
Jeremy Gebben
eebc461898 msm: kgsl: clean up adreno220 registers
There's not enough of these to justify a separate header.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2011-10-03 16:19:39 -07:00
Jeremy Gebben
79acee6f01 msm: kgsl: fix possible memory leak in firmware loading
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2011-10-03 16:14:14 -07:00
Jeremy Gebben
3c127f589a msm: kgsl: fix parameter checking in adreno_ringbuffer_issueibcmds
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2011-10-03 16:14:14 -07:00
Jordan Crouse
505df9cb23 msm: kgsl: Consolidate all GPU information in one spot
We are starting to accumulate a lot GPU specific information,
and it is handy to keep it all in one place where new core IDs,
firmware and device functions can be easily added.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2011-10-03 10:28:36 -07:00
Jordan Crouse
084427d2c2 msm: kgsl: Rename PM4 to CP to better align with A3XX code
The A3XX code likes to use CP_ as a prefix for ringbuffer
commands rather then the legacy PM4 prefix.  Since it is more
correct, switch the A2XX code over now to make it easier to
integrate A3XX into the mix.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2011-10-03 10:28:35 -07:00
Jordan Crouse
0e0486f251 msm: kgsl: Rearrange some drawctxt functions
Move some of the drawctxt functions that are common
to A2XX and A3XX back to the generic drawctxt code
and headers.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2011-10-03 10:28:29 -07:00
Jordan Crouse
a78c9179a1 msm: kgsl: Introduce GPU specific functions
Add the infrastructure for specific functions based
on the type of 3D GPU core attached to the system.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2011-10-03 09:59:01 -07:00
Bryan Huntsman
3f2bc4d6eb Initial Contribution
msm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142

Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
2011-10-03 09:57:10 -07:00