Now that all the perfcounter code is safely target specific finish up the
transition. First move the perfcounter definition from the gpudev to the
adreno_gpu_core so that we can specify the list per target which gives us
more control than modifying the gpudev at runtime or creating multiple
gpudev structs just for the perfcounter deltas.
Further drive home the point by marking the perfcounter and groups
as const. The perfcounter migration has now completed. You don't have
to go home, but you can't stay here.
Change-Id: Ic0dedbad4b4dbb8e9e49ed94dc23b97fc578324b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
NATTYPE entry timeout will not be updated when packets
start flowing through IPA and eventually can timeout.
Make changes to refresh the NATTYPE entry timeout from
the connection tracking netlink module which is used by
IPANAT to update conntrack timeout. Also make the timeout
dynamic by taking the expiry timeout value from connection
tracking entry. Otherwise NATTYPE entry will not timeout
even when all the corresponding conntrack entries expire.
Also, This change takes care of porting of below changes
1) commit <083e4be118eff7f86b7021ec393d34a6028689e7>
("<netfilter: Add of NATTYPE COOKIE Check>")
2) commit <5daaf005c32bbc8ce17e01054b21c0b292bcd20f>
("<ipt_NATTYPE: Fix for changes in
c7232c9979>")
3) commit <fbdd4c2032b3019ab71d3ed8fbcecb7b090215c6>
("<netfilter: Move NATTYPE forward mode to POSTROUTING chain>").
CRs-FIXED: 490813
Change-Id: Ibb225d7b91070ca9948c7a11f0b5925a8435915c
Signed-off-by: Paras Singh Jain <parassin@codeaurora.org>
When IPA is present, all the data packets go through IPA
and as a result NATTYPE entry timeout will not be refreshed
and eventually it times out. IPA periodically refreshes
the connection tracking entry timeout. So making changes to refresh
the NATTYPE entry timeout from the connection tracking module.
Change-Id: I5861427990af4bfd6046d21809a778409d0d8d5f
Signed-off-by: Paras Singh Jain <parassin@codeaurora.org>
Adding support for Full cone NAT and Address Restricted Cone
NAT by using the NATTYPE module.
Change-Id: Ib17f87757b86fdb88bbe25bab7d7193b0530f812
Git-commit: 4d71eea17c1eb4362f9d1ae13fce53815b6c9574
Git-repo: source.codeaurora.org/quic/le/kernel/msm/commit/?h=msm-3.4
Signed-off-by: Paras Singh Jain <parassin@codeaurora.org>
Enable self recovery only when the host driver detects link down.
Change-Id: I415dd838ef9288922ceeb0ab46b7b6ea95d00ebb
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
Use flag to inidcate the allocation of memory to the
buffer and move sleepable operation: kzalloc outside
spin_lock.
Change-Id: Ic5983be3d65a41dfa389f817db8d44a55e068771
Signed-off-by: Jeya R <jeyr@codeaurora.org>
The usb_assign_descriptors copies the descriptors depending
on the maximum speed supported by the gadget.
If the function drivers unconditionally assign the
descriptors and the speed is limited to full, the switching
to the same function would lead to a use after free.
Fix this by removing unconditional assigning of descriptors
in the function drivers.
Change-Id: Id283c87d6f3ccf708507afb66a3b93121022e990
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
If TSENS controller reset pin is held asserted for long duration
and the same time if TSENS software detects TSENS reset and tries
to re-initialize TSENS controller, TSENS initialization may not
reflect in TSENS register due to reset pin is held asserted.
Invoke TSENS re-init routine only if software is able to write
TSENS register successfully. It makes sure that TSENS re-init
routine is able to re-initialize TSENS controller.
Add a check whether TSENS is re-enabled or not on post TSENS re-init.
If it is not re-enabled, re-try TSENS re-init routine.
Change-Id: I1b0500b4d08b28c200d6b818d91650e272be709d
Signed-off-by: Gopala Krishna Nuthaki <gnuthaki@codeaurora.org>
The charger driver on certain platform depends on the
USB to differentiate between a Standard Downstream Port
and a Float charger, so that the case of slow insertion
is taken care of. The USB driver has to set the current
to -ETIMEDOUT for float and a valid value (100mA, 500mA, 900mA)
for SDP so that the charger can differentiate between the two.
Add the support for the same by checking the linkstate
in a second in the case the charger detected is Float
to differentiate between Standard Downstream Port
and a Float charger.
Change-Id: Ibfbf1225543a8d3c097dae8772b0ce5f1bce0205
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
And replace many references of ${ROOT_DIR}/common with
${ROOT_DIR}/${KERNEL_DIR}, which makes it a lot easier
to branch off of ACK and update the KERNEL_DIR.
The variable of KERNEL_DIR will be set in build/_setup_env.sh
to the directory of the build config file by default if it's
not set explicitly in the build config file or in environment.
Test: build test with following configs
common/build.config.gki.aarch64
common/build.config.db845c
common/build.config.hikey960
common-modules/virtual-device/build.config.cuttlefish.aarch64
common-modules/virtual-device/build.config.goldfish.aarch64
Bug: 162785964
Change-Id: I790ac0ded10bd790484f14c6f93d53e06c38b830
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
(cherry picked from commit 931718fa65fe5e34d143250c048f591a7d74e5f8)
When no touch panel, return proper value to exit driver probe.
Change-Id: I422f14ba6c942252346c46df5ccbc2f1f8be7731
Signed-off-by: Huadong Gao <huadgao@codeaurora.org>
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Add callback function from drm panel, so touch driver can be
notified when panel is on or off.
Change-Id: Icd80ef60db3574b3eed3f9d2b8430923580baf69
Signed-off-by: Fei Mao <feim1@codeaurora.org>
This reverts commit 9fed4d8bdd.
Revert the description for synaptics_dsx to avoid unnecessary
documentation.
Change-Id: Ied0263529bca79c083a3e2e67e3559f5a32087d1
Signed-off-by: Ravikanth Tuniki <rtunik@codeaurora.org>
Revert submission 1437052
Reason for revert: ABI is changed. While is is correct, we will hold off doing this for another week.
Reverted Changes:
Iae19ae10f:UPSTREAM: ehci-hcd: Move include to keep CRC stabl...
I85a933434:ANDROID: Update android/abi_gki_aarch64.xml
Change-Id: I2859f7b3ffa293371f842c01ecf433a84d5e1179
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Revert submission 1437052
Reason for revert: ABI is changed. While is is correct, we will hold off doing this for another week.
Reverted Changes:
Iae19ae10f:UPSTREAM: ehci-hcd: Move include to keep CRC stabl...
I85a933434:ANDROID: Update android/abi_gki_aarch64.xml
Change-Id: If22472924ae1a42956123806eeb4fed750db5204
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Leaf changes summary: 5 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 5 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
5 functions with some sub-type change:
[C] 'function int ehci_handshake(ehci_hcd*, void*, u32, u32, int)' at ehci-hcd.c:148:1 has some sub-type changes:
CRC value (modversions) changed from 0xab5f23a3 to 0xe32dc66c
[C] 'function void ehci_init_driver(hc_driver*, const ehci_driver_overrides*)' at ehci.h:879:1 has some sub-type changes:
CRC value (modversions) changed from 0x70c01a65 to 0x5bd6ac93
[C] 'function int ehci_resume(usb_hcd*, bool)' at ehci.h:887:1 has some sub-type changes:
CRC value (modversions) changed from 0x51dbddda to 0xa250ac83
[C] 'function int ehci_setup(usb_hcd*)' at ehci.h:881:1 has some sub-type changes:
CRC value (modversions) changed from 0x175f644c to 0xda517721
[C] 'function int ehci_suspend(usb_hcd*, bool)' at ehci-hcd.c:1085:1 has some sub-type changes:
CRC value (modversions) changed from 0x3afe7f3 to 0x5a7df441
Bug: 167230325
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: I85a93343482eacce6e989f545dcd89432ad70c85
The CRC calculation done by genksyms is triggered when the parser hits
EXPORT_SYMBOL*() macros. At this point, genksyms recursively expands the
types of the function parameters, and uses that as the input for the CRC
calculation. In the case of forward-declared structs, the type expands
to 'UNKNOWN'. Following this, it appears that the result of the
expansion of each type is cached somewhere, and seems to be re-used
when/if the same type is seen again for another exported symbol in the
same C file.
Unfortunately, this can cause CRC 'stability' issues when a struct
definition becomes visible in the middle of a C file. For example, let's
assume code with the following pattern:
struct foo;
int bar(struct foo *arg)
{
/* Do work ... */
}
EXPORT_SYMBOL_GPL(bar);
/* This contains struct foo's definition */
#include "foo.h"
int baz(struct foo *arg)
{
/* Do more work ... */
}
EXPORT_SYMBOL_GPL(baz);
Here, baz's CRC will be computed using the expansion of struct foo that
was cached after bar's CRC calculation ('UNKOWN' here). But if
EXPORT_SYMBOL_GPL(bar) is removed from the file (because of e.g. symbol
trimming using CONFIG_TRIM_UNUSED_KSYMS), struct foo will be expanded
late, during baz's CRC calculation, which now has visibility over the
full struct definition, hence resulting in a different CRC for baz.
The proper fix for this certainly is in genksyms, but that will take me
some time to get right. In the meantime, we have seen one occurrence of
this in the ehci-hcd code which hits this problem because of the way it
includes C files halfway through the code together with an unlucky mix
of symbol trimming.
In order to workaround this, move the include done in ehci-hub.c early
in ehci-hcd.c, hence making sure the struct definitions are visible to
the entire file. This improves CRC stability of the ehci-hcd exports
even when symbol trimming is enabled.
Bug: 167230325
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Quentin Perret <qperret@google.com>
Link: https://lore.kernel.org/r/20200916171825.3228122-1-qperret@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 29231826f3bd65500118c473fccf31c0cf14dbc0)
Change-Id: Iae19ae10feb15fd775076acdd2e0b29d7ccb6b20
This change adds a snapshot of I2C MSM V2 driver
from the 4.19 branch.
This is snapshot of the I2C MSM V2 driver as of
msm-4.19 'commit dc71920da99e ("Merge "i2c-msm-v2:
Add snapshot of I2C MSM V2 driver"")'.
Change-Id: I25ca3134fe80e5fdefcbfdb568f22692955e863a
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>
This irq is only for touchscreen, not shared with others.
When meets errors, just ignore it, and don't throw again.
Change-Id: I926f645bd1e763792386aa74cedcf649d88b18a9
Signed-off-by: Fei Mao <feim1@codeaurora.org>
scripts/mkcompile_h runs $(CC) just for getting the version string.
Reuse CONFIG_CC_VERSION_TEXT for optimization.
For GCC, this slightly changes the version string. I do not think it
is a big deal as we do not have the defined format for LINUX_COMPILER.
In fact, the recent commit 4831f7ad6c ("kbuild: mkcompile_h:
Include $LD version in /proc/version") added the linker version.
Bug: 168274246
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
(cherry picked from commit 9a950154668729a472d17b8e307d92e7c60f45f7)
Signed-off-by: Mars Lin <marslin@google.com>
Change-Id: I66bac5b44bf764e7c0e432ae17bcdf06d79c96d0
scripts/mkcompile_h uses $(CC) only for getting the version string.
I suspected there was a specific reason why the additional flags were
needed, and dug the commit history. This code dates back to at least
2002 [1], but I could not get any more clue.
Just get rid of it.
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/?id=29f3df7eba8ddf91a55183f9967f76fbcc3ab742
Bug: 168274246
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
(cherry picked from commit 01a6126b5f7efdf75480a2b970377f5724cb885a)
Signed-off-by: Mars Lin <marslin@google.com>
Change-Id: If887ea1e9e43b9ce83bf8fe9cc0db809818c3bb8
Commit 21c54b7747 ("kconfig: show compiler version text in the top
comment") added the environment variable, CC_VERSION_TEXT in the comment
of the top Kconfig file. It can detect the compiler update, and invoke
the syncconfig because all environment variables referenced in Kconfig
files are recorded in include/config/auto.conf.cmd
This commit makes it a CONFIG option in order to ensure the full rebuild
when the compiler is updated.
This works like follows:
include/config/kconfig.h contains "CONFIG_CC_VERSION_TEXT" in the comment
block.
The top Makefile specifies "-include $(srctree)/include/linux/kconfig.h"
to guarantee it is included from all kernel source files.
fixdep parses every source file and all headers included from it,
searching for words prefixed with "CONFIG_". Then, fixdep finds
CONFIG_CC_VERSION_TEXT in include/config/kconfig.h and adds
include/config/cc/version/text.h into every .*.cmd file.
When the compiler is updated, syncconfig is invoked because init/Kconfig
contains the reference to the environment variable CC_VERTION_TEXT.
CONFIG_CC_VERSION_TEXT is updated to the new version string, and
include/config/cc/version/text.h is touched.
In the next rebuild, Make will rebuild every files since the timestamp
of include/config/cc/version/text.h is newer than that of target.
Bug: 168274246
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
(cherry picked from commit 8b59cd81dc5e724eaea283fa6006985891c7bff4)
Signed-off-by: Mars Lin <marslin@google.com>
Change-Id: Ie52bb8e33b95d0e97998024d28c0d8d7caf8aa59
Initialize a local variable before referening it.
Change-Id: I469eb892b418fb1906ebf4c093ac28d249412cdd
Signed-off-by: George Shen <sqiao@codeaurora.org>
Force a wakeup when queueing packets to a socket. This is needed to
give userspace clients a chance to run if the device is going into
system suspend. The wakeup event should force the device to abort
suspend.
The only node that should not behave this way is the SLPI node because
sensor stream race conditions cause suspend issues and power drain
issues.
Change-Id: I4375e36261dd18da7bae5a5a4f3f708ed00ed62f
Signed-off-by: Chris Lew <clew@codeaurora.org>
Add support for per-group enable and read functions and move all of the
3xx perfcounters to target specific code with specialized functions.
The a3xx functions are the most "non-standard" of the bunch because of
the freeze/unfreeze wrappers we need for most registers.
Change-Id: Ic0dedbad110eeaf667f6f44d809d4cd90942451a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Continuing to migrate the perfcounters by moving the a5xx counters
to the target specific side.
Change-Id: Ic0dedbad0ff3876e291a9daedb2349daf1e1916c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Disable the retain on PC for Audio's slice-id.
Change-Id: Ia75a692da2455e3d6afcaeccc6f045683e2ca7ee
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
In order to catch the issue immediately, assert when power on retry
for PCIe resume reaches maximum.
Change-Id: Ie370e031e68721b531aae909f56bc45b9d9b59d8
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Print after successfully assert/de-assert WLAN_EN GPIO for
debug purpose.
Change-Id: I3094252cf2f14d7a5e438ea8a8983b9b30fc75ed
Signed-off-by: Yue Ma <yuem@codeaurora.org>
PCIe internal AUX clock frequency used to be either 1MHz or
19.2MHz. The devicetree entry was a boolean type to determine
which frequency to program in PCIe controller. Newer chipsets
may support other frequencies such as 16.6MHz. Update the
devicetree entry so that it accepts a decimal value for the
desired frequency to be programmed in PCIe controller.
Change-Id: Idd672bfb2908a15b9ee3e72654eb4d40a6d9b624
Signed-off-by: Tony Truong <truong@codeaurora.org>
Add WAIT_FOR_IDLE and WAIT_FOR_ME/WAIT_FOR_CP_FLUSH commands before
adding commands to change the CPAPRIV bit. In absence of these
synchronizing commands write permission faults to pagetable_desc
are observed.
Change-Id: I1d47fd050a9d9f97858ee24b22a2a3cf99cc5e69
Signed-off-by: Puranam V G Tejaswi <pvgtejas@codeaurora.org>
The regulator_is_enabled() API doesn't guarantee that CX gdsc has
collapsed at hardware. There could be a vote on the GDSC from another
subsystem like TZ. So poll the CX GDSCR register to ensure that CX has
indeed collapsed.
Change-Id: Id98c5318d5358b16f4277cb5d96027add63ad801
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
Signed-off-by: Indira Biruduraju <ibirudur@codeaurora.org>
This config enable the support for scsi generic driver.
Change-Id: Ib895134d3bd1635f612b9254900162160fbd67ea
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Add master and slave ID constants for all Qualcomm Technologies, Inc.
Yupik interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
Change-Id: I0098d170786dacc3869485b86917b1a0a7491bfc
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Change to add prints on link down callback.
Change-Id: I7cfe38fa2185f97b4c0c2b784c143cd1acc4cca5
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
Change to enable self recovery if the param
cnss-enable-self-recovery is present in the
dt node.
Change-Id: I4c88153a161054162e99182a0ea89041d8960b3b
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
Add CONFIG_KPROBES_DEBUG which exports the required function
and structures used by the kprobe module to search for a
synthetic event and aid in debugging.
Change-Id: Iea395b012d3ad8b40ace1f6e19dc9bf74c5fb5c8
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
The adv7533 node had a duplicate entry in the hi3660.dtsi
which is misplaced as that hardware is board specific and
not soc specific.
A recent changes upstream were backported to -stable which
recently broke the driver from loading properly, so this
patch moves the details from the incorrect node into its
proper place, resolving the issue.
Fixes: 274f4e9c57 ("arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding")
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Iffe78badb08a1a49ed99fb8ab2257cb95e368f3f
(cherry picked from commit 623715b470c6c51e54344a274ca90df19556b56a)
Add check for "qcom,disable-panic-on-ce" property
to override the kconfig settings and disable panic
for correctable errors.
Change-Id: I34a562df23cb8e91c8bafb1f7b6e5aa09362603d
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>