Since the rptr is written by the GPU, there's no point
in keeping a copy in the ringbuffer struct where it will
likely be out of date. If you need to look at the ringbuffer,
read it into a local variable with adreno_get_rptr().
Change-Id: Ibf1ba0b9c71a93f65a5c85a58328b2202a27af3f
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
In kgsl_active_cnt_light() the mutex was needed just to check and
increment the active_cnt value. Move active_cnt to an atomic to
begin the task of freeing ourselves from the grip of the device
mutex if we can avoid it.
Change-Id: Ic0dedbad78e086e3aa3559fab8ecebc43539f769
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Only turn on the idle timer when the GPU expected to be quiet.
If the idle timer is enabled while the GPU is busy, there is
a chance it might unnecessarily fire during heavy GPU activity
such as a compute job.
Additionally, rather than trying to NAP directly from
kgsl_active_count_put(), just trigger the idle check work.
All of this makes the idle check happen more consistently.
Change-Id: Ic0dedbad57846f1e7bf7820ec3152cd20598b448
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
If the device is already ACTIVE do not call _wake.
Change-Id: I2ae3956eb1bbc0a8bc0f1c147547aeed601622aa
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
Enabling this option to get kernel logs earlier which is useful
to debug early bootup failures.
CRs-Fixed: 501362
Change-Id: I53f01949b3fef07a4d7969c5ccbd3b7271d15037
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Debug uart support is needed for early printk.
CRs-Fixed: 501362
Change-Id: Icd6291d4f7b64f57694ad17475fb88e84dc69bf8
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
CDP platform doesn't need bat-if support.
This addresses frequent CDP wakeup via a bat-if interrupt
when entering into sleep.
Change-Id: I9d8368ff5bba42f2217fe159bc92e0c346206104
Signed-off-by: Wu Fenglin <fenglinw@codeaurora.org>
Any modification to the FCC is reported to the userspace
so that it can take the required action.
Change-Id: I0748218540e89278bbc720ec9de6bdb949e5f162
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
The max_fcc_learning_cycles variable actually indicates
the minimum number of FCC cycles required to update a new FCC,
name it accordingly.
Change-Id: I510d3a05eed736a9ee560c936faa20ed2d3c5bd1
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Due to process variation, not all hw has the same max speed. Duplicate
each speed_bin twice to allow greater flexibility between process yield
and chip demand. The bin values are chosen so that additional fuses can be
blown once to change between bins without the use of the multipurpose
redundant fuses.
Change-Id: I2e4f8c5c4d29e0461b455a3bd46a884bb43f6c20
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Due to process variation, not all hw may run at the same maximum speed.
Read the max supported speed from efuse.
Change-Id: Ibd83593cc055479c2d5a7e68e64d6d63cdc2cc2b
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>stuff
Charging is not supported on the 8926 CDP board. Hence, disable
the battery interface peripheral.
Change-Id: I956f8d6ff1abab1ac0e17946b8a3e8faee0c6da6
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Currently contiguous memory allocation fails for CoreSight TMC
driver since attempt to allocate memory is more than what is
reserved. Introduce temporary fix by increasing the total
memory reservation request until fix for allocation without
reservation goes in.
Change-Id: I97703a4606181bbab008cca36eb84629513b9074
Signed-off-by: Aparna Das <adas@codeaurora.org>