Default IPA header is added or deleted from the driver
directly and not by user space application. This change
prevents adding/deleting it from user application which
may cause inconsistencies in the driver. Also the change
fixes the header reset function to skip on the correct
default header.
Change-Id: Ic813433655411f1447db8b0c15efdf64038d8c26
CRs-fixed: 2151146
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
enter_lazy_tlb is called when a kernel thread rides on the back of
another mm, due to a context switch or an explicit call to unuse_mm
where a call to switch_mm is elided.
In these cases, it's important to keep the saved ttbr value up to date
with the active mm, otherwise we can end up with a stale value which
points to a potentially freed page table.
This patch implements enter_lazy_tlb for arm64, so that the saved ttbr0
is kept up-to-date with the active mm for kernel threads.
Change-Id: I6e5c50542ff2645c46e8801685f7a43e6773c3d2
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: <stable@vger.kernel.org>
Fixes: 39bc88e5e38e9b21 ("arm64: Disable TTBR0_EL1 during normal kernel execution")
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Reported-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Git-commit: d96cc49bff5a7735576cc6f6f111f875d101cec8
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
update_saved_ttbr0 mandates that mm->pgd is not swapper, since swapper
contains kernel mappings and should never be installed into ttbr0. However,
this means that callers must avoid passing the init_mm to update_saved_ttbr0
which in turn can cause the saved ttbr0 value to be out-of-date in the context
of the idle thread. For example, EFI runtime services may leave the saved ttbr0
pointing at the EFI page table, and kernel threads may end up with stale
references to freed page tables.
This patch changes update_saved_ttbr0 so that the init_mm points the saved
ttbr0 value to the empty zero page, which always exists and never contains
valid translations. EFI and switch can then call into update_saved_ttbr0
unconditionally.
Change-Id: I664095969fbd4d0b546f30aa4c312769e708d6de
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: <stable@vger.kernel.org>
Fixes: 39bc88e5e38e9b21 ("arm64: Disable TTBR0_EL1 during normal kernel execution")
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Reported-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Git-commit: 0adbdfde8cfc9415aeed2a4955d2d17b3bd9bf13
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
It is observed that the hard ID IRQ is enabled when the
threaded IRQ handler for the same is still running. In that
case, there are two issues. The ID LOW IRQ can come
consecutively which will increase the disable count of
vbus_irq. Then ID HIGH IRQ will not enable the vbus_irq and
peripheral mode detection will not work anymore. The second
issue is that ID HIGH IRQ is fired just before ID LOW IRQ.
This will mark usb->id_state from HIGH to LOW even while
threaded IRQ is running which will lead to host not getting
stopped and peripheral mode not working.
Fix both issues by maintaning a local copy of ID IRQ in
threaded IRQ handler and comparing it with previous ID state.
If same, then bail out.
Change-Id: If5da1f91ece9d1751d7002e64bab0e145623a92e
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add new dummy tv tuner driver and its documentation.
Update Makefile, Kconfig and add new tuner id type to msm_ba.h
Change-Id: I14f822ad9fdf85ea7509067d536c49fd24cf1609
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
Get lane count and settle count from device tree.
Add VIDIOC_G_CSI_PARAMS ioctl to pass lane count
and settle count values to userspace.
Change-Id: Ic0e0b7b402908c9970fd1771cf9bf19627f5a5d8
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
Increase the CAN controller reset time to 200ms on msm8996
CV2X boards. This is the time we expect the CAN micro-controller
will take to complete its boot up process.
Change-Id: Ib70a8ac6eb296558a42eb7d34b73a384c7b7e8c8
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
Image address and size must be aligned to 4k as the SMMU works on a
4k granularity.
Change-Id: I4780aa67f09796ec0a8dd5b62da0e9a99c50e596
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
Add common headers and functions needed to support instance ID.
CRs-Fixed: 2151551
Change-Id: I8a167be29cdb5c365ac957530789007e90a91a97
Signed-off-by: Siena Richard <sienar@codeaurora.org>
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
When the battery is in cold temperature for a certain amount of
time and device is charged with Qnovo enabled charging, ESR pulse
will fire less frequently. This along with ESR pulses not getting
qualified can cause the ESR to be less accurate. To improve ESR
accuracy, add change to apply relaxed filter coefficients once
the battery temperature starts ramping up after hitting a lower
threshold of say 6 C after charging begins.
CRs-Fixed: 2151708
Change-Id: Iff6c2ffbab1f327dfefcf1550213c37df4a8ad42
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
If modem crashed during wlan driver unloading, icnss driver
will call driver uevent callback to send FW down uevent when
it receives BEFORE_SHUTDOWN notification. If wlan driver is
de-initialized just before the callback is called, kernel will
panic as driver's context is freed. This can be avoid by not
sending uevent when wlan host driver is unloading. Instead,
icnss driver will provide an API to host driver to check if
WLAN FW is down or not.
CRs-Fixed: 2161425
Change-Id: I569fd85366522606ececeda74df85c51b9b2fc28
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Camera bridge chip is not getting detected on CDP for automotive platform.
Defined and added regulator LDO26 which needs to be turned on for the chip
to be detected.
Change-Id: I0400bf1430d588852d4143e7b28f33927614ee90
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
New Android versions are using kernel AIO functionality for adb &
MTP interfaces for better performance. Hence enable CONFIG_AIO to
support same.
Change-Id: I8bfd6c631642f60390ee656e10d666766749f7b3
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
usb_ep_alloc_request() may sleep with current flag
GFP_KERNEL, but it is in atomic context, change
flag to GFP_ATOMIC to fix this issue.
Change-Id: Ic43a25f0a504d7fed104e636a9a614a4398820ab
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
Add new IP filtering bitmaps to match TCP SYN packets.
Change-Id: I73ab2944c3d351fdb57f147d3efedd1b5829835e
Acked-by: Pooja Kumari <kumarip@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Currently IPA send common error -EFAULT to user space
in case of IOCTL fails. Change error value for set quota
based on error received from modem.
Change-Id: Ib6ba487a186245ddf752cd08de12293af1ea1bb9
Acked-by: Pooja Kumari <kumarip@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>