Over the years we have really abused inline functions in the driver code.
Remove a chunk of the "functions" that are single use or otherwise
just not worth it.
As a bonus, moving the functions around exposed a single use of some
adreno_reg registers in a3xx that we could get rid of that while we
are mucking about.
Change-Id: Ic0dedbad85df436cbd7e5746964200ee9f87e1a4
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Remove some unneeded device tree properties. qcom,id is not
used anywhere (and is always zero). The label name is
redundant since the platform device already has a name.
The idle-timeout is 80 ms on all targets and the snapshot
size and high bank bit are GPU target specific and can be
moved to the GPU list instead.
Change-Id: Ic0dedbadb3848b844f4742c7417cfdf9bb4ca575
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Make 'globals' a device level debugfs file so it can have access to the
device node. The downside is that we need to move it one directory lower
to fit with the other device nodes but debugfs isn't ABI so that should be
a reasonable price to pay.
Change-Id: Ic0dedbada8c8920e6e9b3915529404040aafa38b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Instead of using adreno_readreg and a bunch of if statemnts, move the
always on timer functionality to the target specific code where it
belongs. This lets us do local variations without a bunch of hacks.
Change-Id: Ic0dedbad91b6a46f55c813f83360cb205bf5e357
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
We only ever have at most two regulators, and sometimes only one.
We don't need a complex set of lists and loops when only two pointers
will do. Furthermore, explicitly forcing the regulators into the pwrctrl
struct helps ensure that they get enabled and disabled in the correct
order.
To assist, we add a new helper function called kgsl_regulator_disable_wait
that consolidates code in the driver used to wait for regulators to finish
disabling.
Change-Id: Ic0dedbad3aaa9c5d2f75dd33ee4e368eceb91d34
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Make coresight support conditional on a new Kconfig option. Support this
by moving the code around a bit and out of the generic headers to make
possible to omit the coresight code when the support isn't available.
This allows us to omit coresight when CONFIG_CORESIGHT isn't enabled
and optionally to remove it at the KGSL level too.
Change-Id: Ic0dedbad2a55df4acf1b8c6e15e5b1b39f08a832
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
First take a snapshot of the Adreno GPU (KGSL) driver from msm-4.19
commit 963db0f98552 ("msm: ipa4: add generic header processing context").
Then copy the msm_adreno_devfreq.h header from its previous location in
include/linux and the user API header from include/uapi/linux into the
driver directory. Both these files no longer need to be in the "generic"
headers.
Next do cleanups, lots of cleanups. Remove a bunch of extra features that
are from long departed targets or that have otherwise been replaced and
improved.
And finally cleanup kernel APIs that are no longer used, remove the
exported symbols from the GPU driver since nobody depends on us and do a
few other minor bits to put us on a track to being friendly with a modern
kernel.
Change-Id: Ic0dedbad5200dd9359a7b2fc06de415d755934e9
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
additional check to make sure there is no buffer overread.
Change-Id: I9bf66522f6a3da7c7185f387567d6773ae402b76
Acked-by: Suhas Mallesh <smallesh@qti.qualcomm.com>
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
This patch enables UART clock to run at half the rate and make
sure write to register gets executed with read back of the same
regiter.
Change-Id: Ic4087f6e246b112769335e883a35d8eb00412907
Signed-off-by: Prudhvi Yarlagadda <pyarlaga@codeaurora.org>
This change adds all missing changes on previous snapshot of
the base kernel 4.19.
Change-Id: Iaa5f338b97eb4a6194125a34119f4a089d92baa9
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Enable the needed IPA modules for compilation.
Drivers will be modules on GKI config and static
on QGKI and debug configs..
Change-Id: Ibe44dc65f0f6751a2af1a4bcc1503d570d949f1b
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
This is a snapshot of driver support for FSA4480 I2C device as of
msm-4.19 commit '6037f6c5818ad4cab978a90ba45bd51aa73da497'(Add
driver for FSA4480 I2C device).
Change-Id: Iac392c82a72fe5de469fda094059ef7691772ca8
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Signed-off-by: Meng Wang <mengw@codeaurora.org>
This is a snapshot of I3C GENI driver and associated files as of msm-4.19
'commit a61c76b51988 ("i3c: i3c-master-qcom-geni: Support for IBI wakeup
from system suspend")'.
Change-Id: I7f09cafbfc76dfe2c8d24d91b9ee2a5854ccc5ec
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Adding traces to find the arguments passed to secure world
and the values returned.
Change-Id: I6a90f968a05873f0ecbd4a0cc8c85d704e1d64cf
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Remove downstream scm driver as it has been deprecated in favor of
firmware/qcom_scm.c.
Change-Id: Ie056baeca1e5e305c7c77b3cec086292e4bf3caf
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
CVP firmware has not been released to Lahaina. Loading CVP
firmware caused stability problem during kernel boot. Disable
CVP firmware loading till it's ready.
Change-Id: Iefef7a42c2a8f2cc1c20a259491b0d96248f1aa1
Signed-off-by: George Shen <sqiao@codeaurora.org>
In case of iova_alloc bitmap search wrap, we erroneously update the
previous_next_start as 0, this causes stale tlb logic not detect wrap and
stale TLB entry issues. Fix the same.
Change-Id: Ic8c96e98abc91520f222a7dbe5024814dabd5042
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Use a spinlock to protect runtime resource in substream
against race conditions which may lead to use-after-free.
CRs-fixed: 2112713
Change-Id: I37dee68cad5eae05b21cfade3dabc0c2b79be6b8
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Signed-off-by: Meng Wang <mengw@codeaurora.org>