This allows APPS USB XHCI driver to offload the USB audio
ISOC data transfer to remote processor. USB audio QMI driver
starts a QMI service to communicate with remote processor to
exchange audio stream related information.
Change-Id: If7bcd41eb5e169551f18d8ed64d38fe17fa1df91
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
The QUP core can be programmed to operate as an SPI slave. This
change modifies the existing SPI master driver and adds the slave
functionality.
Change-Id: I73189339956e0fd52449391737fb1e616a6e0bb2
Signed-off-by: Dilip Kota <dkota@codeaurora.org>
Remove 160 MHz band-width support for VN as per master sheet
CRs-Fixed: 2145374
Change-Id: Id0cda10bf3343bccda5eea08ae5369754bb40edb
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
Enable epoch2 interrupt and configure the line as asked
by input camif configuration from user library
Change-Id: Id4f623a907b385a17d63c35fc7746117b666d885
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
DFS requirement for ETSI domain (section 4.7.1.4 in
ETSI EN 301 893 V1.8.1) is the only one which explicitly
states that once DFS channel is marked as available afer
the CAC, this channel will remain in available state even
moving to a different operating channel. But the same is
not explicitly stated in FCC DFS requirement. Also, Pre-CAC
requriements are not explicitly mentioned in FCC requirement.
Current implementation in keeping DFS channel in available
state is same as described in ETSI domain.
For non-ETSI DFS domain, this patch gives a grace period of 2 seconds
since the completion of successful CAC before moving the channel's
DFS state to 'usable' from 'available' state. The same grace period
is checked against the channel's dfs_state_entered timestamp while
deciding if a DFS channel is available for operation. There is a new
radar event, NL80211_RADAR_PRE_CAC_EXPIRED, reported when DFS channel
is moved from available to usable state after the grace period. Also
make sure the DFS channel state is reset to usable once the beaconing
operation on that channel is brought down (like stop_ap, leave_ibss
and leave_mesh) in non-ETSI domain.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: b35a51c7dd25a823767969e3089542d7478777e9
[svishnoi@codeaurora.org: removed NaN interface type from switch case in net/wireless/chan.c
as NaN interface is not supported]
Change-Id: Iba19513d1e40fe5da129d6251212c33d1361fec3
Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
If ufshcd_print_fsm_state() is called during UIC
commands failure, mutex lockup issue is observed
for uic_cmd_mutex. To fix this, read TX and RX
FSM states for UFS aborts cases only, for debugging
purpose.
Change-Id: I716251ec90ef406d9cff1f8a6aa6bc2f8f46926d
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Register snoc bus layer suspend/resume PM ops and configure
the wakeup source for the device to adds support for WOWLAN
feature for the wcn3990 snoc wlan module.
CRs-Fixed: 2139961
Change-Id: Ic43414b965aee27564f8bbbe237c706f5262c2e4
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Pass wowlan configuration data as parameter in the rdev
suspend. The userspace wlan utility (iw, wpa_supplicant etc.)
configured the wow pattern and event through nl80211 cmd.
During the wlan system suspend the wlan device configured the
wakeup source and event as per the configuration data passed
by the wlan utility to wkae up the device from the sleep state
on wow pattern or event match.
CRs-Fixed: 2147919
Change-Id: Iaca21724e8dd5a9c18e104c44ee6fe73752594e6
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
During the WLAN WOWLAN mode the default listen interval needs
to be configured for each vdev to receive and process the WLAN
WOW pattern match found by the WLAN firmware.
Improper listen interval configuration for the vdev leads to WOW
pattern match missing by the WLAN module and a result WLAN module
failed to wakeup the target as per the WOW pattern configured
during WOWLAN suspend method.
CRs-Fixed: 2141933
Change-Id: I4b4e03c134ecea328bbda55748b1dd633697167a
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Section mapping is good for TLB. But sometimes, when
system is low on physically continuous memory, this can
cause memory allocation failures. Add a fallback option to
allocate vmemmap pages from discontinuous pages.
Change-Id: Ide921c36c1e8980a8af047e2c991310405804858
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Introduce a varible to save bootloader enforced memory limits and
restricts adding beyond this boundary during a memory hotplug.
Change-Id: I28c100644b7287ec4625c4c018b5fffc865e2e72
Signed-off-by: Arun KS <arunks@codeaurora.org>
If c->cdev->use_os_string flag is not set,
don't need to invoke ffs_do_os_descs() in _ffs_func_bind.
So uninitialized ext_compat_id pointer won't be accessed by
__ffs_func_bind_do_os_desc to cause kernel panic.
Change-Id: I7a08d683bb068c8015675a0676c4a092272e5e0b
Signed-off-by: Jim Lin <jilin@nvidia.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Git-commit: c6010c8b4d2c6e75853ca63c602c9af56fcbead5
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Sai Krishna Juturi <jsaikrishna@codeaurora.org>
Enable the CONFIG_ESOC_DRV for msm8996 auto to support SSR
for external MDM modems connected via PCIe.
Change-Id: I03026351ef521e7b85af2bb47f85ff91842fe405
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
Some options available for mdm9x45 esocs were missing from
the mdm9x55 setup hardware function. Add those to bring them
in sync. The way a power down is performed on mdm9x55 is also
changed to be similar to mdm9x45.
Change-Id: I14b0e77d08cb319581cfd02304eba8351c378306
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
Added code changes to fix the race condition during
proxy clock voating in IPA.
Change-Id: I1fee17836bf58d25f461643ea1e60bcd06182372
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
In IPA driver uninitialized structure causing some
garbage values result into IPA data stall.
Added code changes to reset zero uninitialized structure.
Change-Id: I3b98041f8a96ea1d571eeaa60fc84457f6309d45
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
This reverts commit de406d12ef760a7536a486e19016e8e38251f1bc.
In case of a background operations exception, there could be a deadlock:
-000|__switch_to()
-001|context_switch(inline)
-001|__schedule()
-002|schedule()
-003|schedule_timeout()
-004|do_wait_for_common(inline)
-004|__wait_for_common(inline)
-004|wait_for_common()
-005|wait_for_completion()
-006|destroy_work_on_stack(inline)
-006|flush_work()
-007|ufshcd_suspend()
-008|ufshcd_runtime_suspend()
-009|ufshcd_pltfrm_runtime_suspend()
-010|pm_generic_runtime_suspend()
-011|__rpm_callback(inline)
-011|rpm_callback()
-012|rpm_suspend()
-013|rpm_idle()
-014|__pm_runtime_idle()
-015|ufshcd_exception_event_handler()
-016|__read_once_size(inline)
-016|static_key_count(inline)
-016|static_key_false(inline)
-016|trace_workqueue_execute_end(inline)
-016|process_one_work()
-017|__read_once_size(inline)
-017|list_empty(inline)
-017|worker_thread()
-018|kthread()
-019|ret_from_fork(asm)
Exception handler tried to suspend UFS synchronously and suspend tries to
flush the currently running exception handler work which results into
deadlock. Revert this change until we find proper fix for this.
Change-Id: I2b8efdf583d08a276b987914c1037619eb8b25f7
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
HDMI continuous splash memory addrerss has been changed in bootloader.
This change updates the splash memory address to support the smooth
LK to kernel handoff.
Change-Id: If9c8f20b8215a4ea835b0e070feb2b51364772e6
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
Add arm64 to the list of architectures which supports
memory hotplug.
Change-Id: Iefeb8294bf06eaebb17a3b3aa8b33bb3b7133099
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Allows to remove sections of memory that have been previously offlined
from userspace.
This is symmetric to the "memory probe" interface, as described in
Documentation/memory-hotplug.txt. It can be used to manually notify the
OS that one memory section has been removed.
Please, remind that a memory section can only be removed after it has
been logically off-lined; trying to remove a section which has not been
previously off-lined is not supported and will have undefined (but most
likely very bad) behaviour.
To offline a section one can:
To use the remove interface to remove the section:
where 0xYYYYYY is the physical address of the memory section to remove.
Change-Id: I1ab2fafe17b2697a5c667feae25c4ac0655f394e
Signed-off-by: Andrea Reale <ar@linux.vnet.ibm.com>
Signed-off-by: Maciej Bielski <m.bielski@virtualopensystems.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:25
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
This is a second and improved version of the patch previously released
in [3].
It builds on the work by Scott Branden [2] and, henceforth,
it needs to be applied on top of Scott's patches [2].
Comments are very welcome.
Changes from the original patchset and known issues:
- Compared to Scott's original patchset, this work adds the mapping of
the new hotplugged pages into the kernel page tables. This is done by
copying the old swapper_pg_dir over a new page, adding the new mappings,
and then switching to the newly built pg_dir (see `hotplug_paging` in
arch/arm64/mmu.c). There might be better ways to to this: suggestions
are more than welcome.
- The stub function for `arch_remove_memory` has been removed for now; we
are working in parallel on memory hot remove, and we plan to contribute
it as a separate patch.
- Corresponding Kconfig flags have been added;
- Note that this patch does not work when NUMA is enabled; in fact,
the function `memory_add_physaddr_to_nid` does not have an
implementation when the NUMA flag is on: this function is supposed to
return the nid the hotplugged memory should be associated with. However
it is not really clear to us yet what the semantics of this function
in the context of a NUMA system should be. A quick and dirty fix would
be to always attach to the first available NUMA node.
- In arch/arm64/mm/init.c `arch_add_memory`, we are doing a hack with the
nomap memory block flags to satisfy preconditions and postconditions of
`__add_pages` and postconditions of `arch_add_memory`. Compared to
memory hotplug implementation for other architectures, the "issue"
seems to be in the implemenation of `pfn_valid`. Suggestions on how
to cleanly avoid this hack are welcome.
This patchset can be tested by starting the kernel with the `mem=X` flag, where
X is less than the total available physical memory and has to be multiple of
MIN_MEMORY_BLOCK_SIZE. We also tested it on a customised version of QEMU
capable to emulate physical hotplug on arm64 platform.
To enable the feature the CONFIG_MEMORY_HOTPLUG compilation flag
needs to be set to true. Then, after memory is physically hotplugged,
the standard two steps to make it available (as also documented in
Documentation/memory-hotplug.txt) are:
(1) Notify memory hot-add
echo '0xYY000000' > /sys/devices/system/memory/probe
where 0xYY000000 is the first physical address of the new memory section.
(2) Online new memory block(s)
echo online > /sys/devices/system/memory/memoryXXX/state
-- or --
echo online_movable > /sys/devices/system/memory/memoryXXX/state
where XXX corresponds to the ids of newly added blocks.
Onlining can optionally be automatic at hot-add notification by enabling
the global flag:
echo online > /sys/devices/system/memory/auto_online_blocks
or by setting the corresponding config flag in the kernel build.
Again, any comment is highly appreciated.
[1] https://lkml.org/lkml/2016/11/17/49
[2] https://lkml.org/lkml/2016/12/1/811
[3] https://lkml.org/lkml/2016/12/14/188
Change-Id: I545807e3121c159aaa2f917ea914ee98f38fb296
Signed-off-by: Maciej Bielski <m.bielski@virtualopensystems.com>
Signed-off-by: Andrea Reale <ar@linux.vnet.ibm.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:25
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
[arunks@codeaurora.org: fix to pass checker test]
Signed-off-by: Arun KS <arunks@codeaurora.org>
sequence for both rddm and fw download are initialized to be 0.
They are incremented by 1 in bhi_probe() and upon real transfer
takes place.
Issue is in SSR case, sequence is incrementing in a way like 1,
3, 5 and etc as observed. The increment in bhi_probe() seems
unnecessay as there's no real transfer.
Fix is to initialize sequence to 1 and increment by 1 when real
transfer takes place in bhi_bhie_transfer().
Change-Id: I210840cd1f7fecc300ecb69da8a50fbb1d200562
Signed-off-by: Jia Ding <jiad@codeaurora.org>
CRs-Fixed: 2147433
Add a mutex to serialize sde debug register dumps for
back-to-back dumps, as well as any debugfs access.
Change-Id: I7f6186575df021ce48e18ea980f9c2108b756283
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Add some properties to better support esoc on msm8996 CV2X
boards. These properties correct some definition of the MDM
esoc connection on the board and support scenarios of external
SoC crashes and graceful reboot.
Change-Id: I994a2b0a3d3320b2a31fa0fc238a182497659f67
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
V4l2 event subscription is not used by rotator, and
default implementation on 4.9 is causing failure during
file release. Disable v4l2 event subscription for rotator
to avoid invalid file release.
Change-Id: I486f2eba7112852a1c818efeeb86033f17139b33
Signed-off-by: Alan Kwong <akwong@codeaurora.org>