summaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAge
...
* | | | net: msm_rmnet.h: Fix IOCTL numbering for newly introduced IOCTLsHarout Hedeshian2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix IOCTLs with invalid numbers. Addresses limitation in network IOCTL code which prevents more than 16 user defined IOCTLs. All new IOCTLs have been multiplexed into a single user defined ioctl. Required to support RmNet Data features. CRs-Fixed: 554883 Change-Id: Ic33bdf068f7e4014272d3b47ed7b07f5d4a6be2c Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
* | | | net: rmnet_data: In-band flow controlHarout Hedeshian2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement MAP based in-band flow control. Added 2 new configuration messages to allow adding and deleting flow handles. Added handlers in VND for flow control events. Added flow control command handler in rmnet_map_commands. CRs-fixed: 568534 Change-Id: Ica52e4ad89430c9fa5e2b38e389ee6bc91de2e9b Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
* | | | net: rmnet_data: Add support for user defined device name prefixHarout Hedeshian2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run-time user space components can now specify virtual network device name prefix at device creation. This will be used to support legacy data services. CRs-Fixed: 555507 Change-Id: Id34c2761f2060e66b05c521304d5151620ba5665 Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
* | | | RmNet Data: Initial releaseHarout Hedeshian2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RmNet Data driver provides a transport agnostic MAP (multiplexing and aggregation protocol) support in embedded and bridge modes. Module provides virtual network devices which can be attached to any IP-mode physical device. This will be used to provide all MAP functionality on future hardware in a single consistent location. CRs-Fixed: 525675 Change-Id: I739947c9c3de008974dd485a74e9953ba2cbb75e Signed-off-by: Harout Hedeshian <harouth@codeaurora.org> [subashab@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
* | | | ion: Export ion headers to userspaceLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ion headers need to go to userspace. Export them via the staging tree Change-Id: I9b622efaae3d0ed764ce064da228112c363c066d Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | uapi: export android staging headersJeremy Gebben2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several uapi headers required for android that are in drivers/staging/android/uapi. Create symlinks for these files in include/uapi/linux so that we can export them without messing up Kbuild. Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* | | | msm: Add secure vmid for msaNeeti Desai2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For sharing the memory between hlos and modem, a new secure vmid is needed to be used in the assign api. Define that. Change-Id: Ibcddbafeb1fc430aae3fcda7c609bca4d81e57a9 Signed-off-by: Neeti Desai <neetid@codeaurora.org>
* | | | msm: secure_buffer: Add helper function to convert VMIDs into stringsMitchel Humpherys2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be useful to convert secure VMID values into strings. Provide a helper function to do so. Change-Id: If907a0bac92c5d164154c0e5dfe67933115163c8 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | | | msm: secure_buffer: Update the hyp_assign_phys() apiNeeti Desai2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hyp_assign_phys() api can be called by different usecases where it is not guaranteed that the source vm is always VMID_HLOS. Pass the responsibility of setting the source_vm to caller of the function. Change-Id: I3851a6681f49d4bb6fa5b7a889a16a158497e9e6 Signed-off-by: Neeti Desai <neetid@codeaurora.org>
* | | | mm: highmem: Add definitions for kmap_atomic_flush_unusedLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kmap_flush_unused does not flush kmap_atomic mappings which are handled separately. Architectures may have use cases to require these to be flushed. Add an option to let architectures define kmap_atomic flushing to get rid of extra mappings. Change-Id: I5a338ed9e215f0f0ad3ab58a3066d2f4c8ce3ba7 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | msm: kgsl: Add EXEC permission to the unassign callShrenuj Bansal2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling hyp_assign to free a secure buffer we need to pass in RWX permissions so that when the Hypervisor unmaps the buffer and maps it back to HLOS, the HLOS is able to use the same memory for data and instructions. Change-Id: I71e06a81df85891fecb11c5f197acd54979d2887 Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
* | | | msm: ion: Add secure cma heapNeeti Desai2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the infrastructure to support a secure cma heap needed for secure usecases. The new heap uses the existing cma heap infrastructure, along with adding the assign call to assign the correct VM to the buffers during allocation and free. Change-Id: I0c959f46ffa6eb67128b6794e9e60c470a3d292e Signed-off-by: Neeti Desai <neetid@codeaurora.org>
* | | | iommu: Add support for delayed unmapping of ion/dma_buf bufferOlav Haugan2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new APIs to allow clients to map and unmap dma_buffers created by ION. The call to the unmap API will not actually do the unmapping from the IOMMU. The unmapping will occur when the ION/dma_buf buffer is actually freed. This behavior can be disabled with DMA_ATTR_NO_DELAYED_UNMAP Change-Id: Ic4dbd3b582eb0388020c650cab5fbb1dad67ae81 Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
* | | | msm: Update the assign api to secure buffersNeeti Desai2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assign call apis have been updated by TZ to include more usecases. Update the secure_buffer api files with the same. The system secure heap needs to be updated to reflect the change in the api calls. Change-Id: Idc784ddac222e6ad9f5defafc422e6e3fb88aa0c Signed-off-by: Neeti Desai <neetid@codeaurora.org>
* | | | msm: move types and declarations to header fileNeeti Desai2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move all function declarations and types to the header file to make the macros and definitions available even when the CONFIG_MSM_SECURE_BUFFER is not enabled. Rename rid of the msm_ion_secure_table and msm_ion_unsecure_table to something more generic. Change-Id: Ia5ca0c52f971a67c7936c64b42cd2522aa1773fa Signed-off-by: Neeti Desai <neetid@codeaurora.org>
* | | | arm64: Add dma mapping APIs for other memory typesLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users of dma on arm may call dma_*_writecombine and dma_*_nonconsistent. Add these functions for arm64 as well. Change-Id: I213f8314022969bcefbfcd8581725762c385fb18 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | ion: add snapshot of ion support for MSMKumar Gala2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a snapshot of the ION support as of msm-3.10 commit acdce027751d5a7488b283f0ce3111f873a5816d (Merge "defconfig: arm64: Enable ONESHOT_SYNC for msm8994") In addition, comment out the shrinker code and skip-zeroing bits as they aren't yet in the tree. Change-Id: Id9e1e7fa4c35ce5a9f9348837f05f002258865cf Signed-off-by: Kumar Gala <galak@codeaurora.org> [mitchelh: dropped MSM changes to ion_chunk_heap, dropped MSM changes to ion_carveout_heap] Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | | | arm: Add option to skip buffer zeroingLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DMA framework currently zeros all buffers because it (righfully so) assumes that drivers will soon need to pass the memory to a device. Some devices/use case may not require zeroed memory and there can be an increase in performance if we skip the zeroing. Add a DMA_ATTR to allow skipping of DMA zeroing. Change-Id: Id9ccab355554b3163d8e7eae1caa82460e171e34 Signed-off-by: Laura Abbott <lauraa@codeaurora.org> [mitchelh: dropped changes to arm32] Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | | | mm: Update is_vmalloc_addr to account for vmalloc savingsSusheel Khiani2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is_vmalloc_addr currently assumes that all vmalloc addresses exist between VMALLOC_START and VMALLOC_END. This may not be the case when interleaving vmalloc and lowmem. Update the is_vmalloc_addr to properly check for this. Correspondingly we need to ensure that VMALLOC_TOTAL accounts for all the vmalloc regions when CONFIG_ENABLE_VMALLOC_SAVING is enabled. Change-Id: I5def3d6ae1a4de59ea36f095b8c73649a37b1f36 Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
* | | | msm: Allow lowmem to be non contiguous and mixedSusheel Khiani2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently on 32 bit systems, virtual space above PAGE_OFFSET is reserved for direct mapped lowmem and part of virtual address space is reserved for vmalloc. We want to optimize such as to have as much direct mapped memory as possible since there is penalty for mapping/unmapping highmem. Now, we may have an image that is expected to have a lifetime of the entire system and is reserved in physical region that would be part of direct mapped lowmem. The physical memory which is thus reserved is never used by Linux. This means that even though the system is not actually accessing the virtual memory corresponding to the reserved physical memory, we are still losing that portion of direct mapped lowmem space. So by allowing lowmem to be non contiguous we can give this unused virtual address space of reserved region back for use in vmalloc. Change-Id: I980b3dfafac71884dcdcb8cd2e4a6363cde5746a Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
* | | | mm: page-writeback: fix page state calculation in throttle_vm_writeoutVinayak Menon2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was found that a number of tasks were blocked in the reclaim path (throttle_vm_writeout) for seconds, because of vmstat_diff not being synced in time. Fix that by adding a new function global_page_state_snapshot. Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org> Change-Id: Iec167635ad724a55c27bdbd49eb8686e7857216c
* | | | mm: swap: don't delay swap free for fast swap devicesVinayak Menon2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are couple of issues with swapcache usage when ZRAM is used as swap device. 1) Kernel does a swap readahead which can be around 6 to 8 pages depending on total ram, which is not required for zram since accesses are fast. 2) Kernel delays the freeing up of swapcache expecting a later hit, which again is useless in the case of zram. 3) This is not related to swapcache, but zram usage itself. As mentioned in (2) kernel delays freeing of swapcache, but along with that it delays zram compressed page free also. i.e. there can be 2 copies, though one is compressed. This patch addresses these issues using two new flags QUEUE_FLAG_FAST and SWP_FAST, to indicate that accesses to the device will be fast and cheap, and instructs the swap layer to free up swap space agressively, and not to do read ahead. Change-Id: I5d2d5176a5f9420300bb2f843f6ecbdb25ea80e4 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* | | | mm: vmpressure: scale pressure based on reclaim contextVinayak Menon2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing calculation of vmpressure takes into account only the ratio of reclaimed to scanned pages, but not the time spent or the difficulty in reclaiming those pages. For e.g. when there are quite a number of file pages in the system, an allocation request can be satisfied by reclaiming the file pages alone. If such a reclaim is successful, the vmpressure value will remain low irrespective of the time spent by the reclaim code to free up the file pages. With a feature like lowmemorykiller, killing a task can be faster than reclaiming the file pages alone. So if the vmpressure values reflect the reclaim difficulty level, clients can make a decision based on that, for e.g. to kill a task early. This patch monitors the number of pages scanned in the direct reclaim path and scales the vmpressure level according to that. Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org> Change-Id: I6e643d29a9a1aa0814309253a8b690ad86ec0b13
* | | | mm: vmpressure: allow in-kernel clients to subscribe for eventsVinayak Menon2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, vmpressure is tied to memcg and its events are available only to userspace clients. This patch removes the dependency on CONFIG_MEMCG and adds a mechanism for in-kernel clients to subscribe for vmpressure events (in fact raw vmpressure values are delivered instead of vmpressure levels, to provide clients more flexibility to take actions on custom pressure levels which are not currently defined by vmpressure module). Change-Id: I38010f166546e8d7f12f5f355b5dbfd6ba04d587 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* | | | drivers: dma-removed: introduce no-map-fixupShiraz Hashim2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some use cases, it is not known beforehand, how much removed (carve-out) region size must be reserved. Hence the reserved region size might need to be adjusted to support varying use cases. In such cases maintaining different device tree configurations to support varying carve-out region size is difficult. Introduce an optional device tree property, to reserved-memory, "no-map-fixup" which works in tandem with "removed-dma-pool" compatibility that tries to shrink and adjust the removed area on very first successful allocation. At end of which it returns the additional (unused) pages from the region back to the system. Point to note is this that this adjustment is done on very first allocation and thereafter the region size is big enough only to support maximum of first allocation request size. This fixup is attempted only once upon first allocation and never after that. Clients can allocate and free from this region as any other dma region. As the description suggests this type of region is specific to certain special needs and is not to be used for common use cases. Change-Id: I31f49d6bd957814bc2ef3a94910425b820ccc739 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* | | | drivers: Add dma removed opsLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current DMA coherent pool assumes that there is a kernel mapping at all times for hte entire pool. This may not be what we want for the entire times. Add the dma_removed ops to support this use case. Change-Id: Ie4f1e9bdf57b79699fa8fa7e7a6087e6d88ebbfa Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | mm: Add is_cma_pageblock definitionLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring back the is_cma_pageblock definition for determining if a page is CMA or not. Change-Id: I39fd546e22e240b752244832c79514f109c8e84b Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | mm, oom: make dump_tasks publicLiam Mark2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow other functions to dump the list of tasks. Useful for when debugging memory leaks. Change-Id: I76c33a118a9765b4c2276e8c76de36399c78dbf6 Signed-off-by: Liam Mark <lmark@codeaurora.org>
* | | | common: DMA-mapping: Add strongly ordered memory attributeLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Strongly ordered memory is occasionally needed for some DMA allocations for specialized use cases. Add the corresponding DMA attribute. Change-Id: Idd9e756c242ef57d6fa6700e51cc38d0863b760d Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | dma-mapping: Add dma_remap functionsLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After getting an allocation from dma_alloc_coherent, there may be cases where it is neccessary to remap the handle into the CPU's address space (e.g. no CPU side mapping was requested at allocation time but now one is needed). Add APIs to bring a handle into the CPU address space again. Signed-off-by: Laura Abbott <lauraa@codeaurora.org> [imaund@codeaurora.org: resolved context conflicts and added support for remap 'no_warn' argument] Signed-off-by: Ian Maund <imaund@codeaurora.org>
* | | | mm: Add notifier framework for showing memoryLaura Abbott2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are many drivers in the kernel which can hold on to lots of memory. It can be useful to dump out all those drivers at key points in the kernel. Introduct a notifier framework for dumping this information. When the notifiers are called, drivers can dump out the state of any memory they may be using. Change-Id: Ifb2946964bf5d072552dd56d8d6dfdd794af6d84 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | | | memblock: Add memblock_overlaps_memory()Stephen Boyd2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new function, memblock_overlaps_memory(), to check if a region overlaps with a memory bank. This will be used by peripheral loader code to detect when kernel memory would be overwritten. Change-Id: I851f8f416a0f36e85c0e19536b5209f7d4bd431c Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> (cherry picked from commit cc2753448d9f2adf48295f935a7eee36023ba8d3) Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
* | | | usb: gadget: f_gsi: Add support for configFSHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds APIs to allocate and instanciate multi instance gsi function driver using configFS. Add an entry in kconfig to select diag driver for configFS. This change fixes all compilation errors caused by moving gsi driver from android.c to compile independently. Change-Id: I0ddb2ca155fd29c6d58fb561cc197f8efee3495a Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | usb: gadget: Support endpoint allocation by ep nameDevdutt Patnaik2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for allocating an EP based on name. This allows a function driver to request an EP using an ep name string. This is useful to request GSI specific EPs. CRs-Fixed: 946385 Change-Id: Id38e6e1e3c2d82f440c0507d24f18f808dc3e4dc Signed-off-by: Devdutt Patnaik <dpatnaik@codeaurora.org>
* | | | usb: gadget: f_gsi: Add support for super speed function suspendHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Register gsi function suspend callback with composite device to handle super speed function suspend and resume. Also, move function suspend option masks to composite device layer. Change-Id: Ie316973d855612ddc5440934344d18b04d49c567 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | usb: dwc3: Add support for GSI operations to gadget frameworkHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Targets supporting h/w accelerated path over GSI require GSI specific configuration of USB controller. Add support to enable h/w accelerated path to IPA. Include operations to configure USB endpoints as GSI capable, allocate TRBs that are associated with GSI capable endpoints, perform operations on these endpoints, and enable the GSI wrapper in DWC3 controller. This allows a function driver to use GSI based h/w accelerated data path. Change-Id: I62688c70a04b1fdab3e522e0af759ebab69d92d7 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | usb: gadget: f_diag: Add support for configFSHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds APIs to allocate and instanciate multi instance diag function driver using configFS. Add an entry in kconfig to select diag driver for configFS. Change-Id: I428631dc63643eddb075a09d0e46e1a6b1117f0e Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | usb: gadget: Move diag dload handling to f_diag driverJack Pham2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upon Diag function bind, the DLOAD memory region should be updated with the USB PID and serial number in order to support a persistent connection with the PC if the device reboots into download mode. This functionality need not be handled in the android.c driver. The only reason it is there is to be able to locate the IO address which is specified in device tree. Since this can be done from the Diag function driver directly, move the handling there. The address itself can be specified under the "qcom,msm-imem" parent with its own "qcom,msm-imem-diag-dload" compatible string. For now, allow falling back to retrieving the address from the "android_usb" for backwards compatibility until the device tree files are updated. Change-Id: I0d6d1dac0f12b7890220d857227ae45c9258c1f2 Signed-off-by: Jack Pham <jackp@codeaurora.org>
* | | | usb: gadget: Add snapshot of DIAG function driverHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add function driver to support Qualcomm diagnostics port over USB. This snapshot is taken as of msm-3.18 commit: commit e70ad0cd5e (Promotion of kernel.lnx.3.18-151201) Change-Id: I51aaa8f6a2e05fc252ea810244ddfc99ca2741cc Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | Revert "kref: Remove kref_put_spinlock_irqsave()"Hemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3a66d7dca186ebdef9b0bf55e216778fa598062c. Diag function driver calls kref_put_spinlock_irqsave in diag_write_complete API. Hence revert the change.
* | | | usb: gadget: Add remote_wakeup to struct usb_gadgetJack Pham2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This variable keeps track of when remote_wakeup feature has been enabled by the host. It is needed for certain function drivers to perform alternate methods during suspend/resume. Signed-off-by: Jack Pham <jackp@codeaurora.org>
* | | | usb: gadget: Add link power management supportShimrit Malichi2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Link Power Management (a.k.a. L1) is similar to the existing usb bus suspend/resume/remote-wakeup, but has transitional latencies of tens of microseconds between power states (instead of three to greater than 20 millisecond latencies of the USB 2.0 suspend/resume). Change-Id: I8ae493534702e658c24f384a6b705b08e9ea9d05 Signed-off-by: Shimrit Malichi <smalichi@codeaurora.org> Signed-off-by: Tarun Gupta <tarung@codeaurora.org>
* | | | usb: gadget: f_mbim: Queue notification request upon function resumeHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In super speed mode if userspace issues a write after usb bus suspend usb_func_ep_queue() schedules wakeup to resume the function. After that it queues the request which fails with -ENOTSUPP. As a result no notification request queued to hw and write request gets delayed to be sent until another write request comes and queues notification request after function resume. This causes mismatch to the mbim request response. Fix this by queuing the notification request upon function resume if notify count is greater than zero. Also, drop control packet after bus suspend if remote wakeup is not supported or if ep enqueue returns error other than -EAGAIN. CRs-Fixed: 789467 Change-Id: I446de1eb169b4ccb8f4db5f003b622d7b9c0b22b Signed-off-by: Hemant Kumar <hemantk@codeaurora.org> Signed-off-by: Azhar Shaikh <azhars@codeaurora.org>
* | | | usb: gadget: Fix Missing Function Wakeup notification sending on BAM wakeupDanny Segal2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Super-Speed mode, when the USB core wishes to issue remote wakeup due to new data arriving on the BAM to BAM path, it needs to send Function Wakeup notification to the USB host after the USB bus is resumed. However, the sending of this notification fails when the USB core needs to wake up from low-power mode, because the low-power mode exit is done asynchronously and the sending of the Function Wakeup notification can not be done until the USB bus is resumed. This patch fixes this issue by checking whether the USB bus is suspended, and if so, the sending Function Wakeup notification is delayed until the USB bus is resumed. Change-Id: I293476aaaf920b67fdbdf72a63524edc7a35750b Signed-off-by: Danny Segal <dsegal@codeaurora.org>
* | | | usb: gadget: add infrastructure support for super-speed function suspendHemant Kumar2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The USB 3.0 specification defines a new 'Function Suspend' feature. This feature enables the USB host to put inactive composite device functions in a suspended state even when the device itself is not suspended. This patch extends the existing framework of USB gadget to properly support the 'Function Resume' and 'Function Remote Wakeup' related features. Change-Id: I51713eac557eabc7b465d161377c09d4b6afa152 Signed-off-by: Danny Segal <dsegal@codeaurora.org>
* | | | platform: msm: msm_bus: Add support for bus scalingDavid Dai2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This snapshot is taken as of msm-3.18 commit 1513280 (Merge "platform: msm: msm_bus: Fix memory leak during client unregister)" Change Kconfig option to say QCOM_BUS* instead of MSM_BUS* Change-Id: I6dd9aba5b26984a914714ca49ae7253c1f267b4b Signed-off-by: David Dai <daidavid1@codeaurora.org>
* | | | soc: qcom: socinfo: Add MSMCOBALT chip IDRunmin Wang2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add MSMCOBALT chip ID and relevant macros. Change-Id: I0f97ed3eafdc54636849a58e5dfc34750d5dcea3 Signed-off-by: Trilok Soni <tsoni@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Conflicts: include/soc/qcom/socinfo.h
* | | | soc: qcom: socinfo: remove APIs without any clientsMatt Wagantall2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | socinfo exports a number of APIs left over from the days before device tree, for targets which are no longer supported in the current kernel. Remove these unused APIs: get_core_count() read_msm_cpu_type() cpu_is_*() soc_class_is_*() Change-Id: I2fb23c44649f0582fb0e2523a0235470f76a3da9 Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
* | | | soc: qcom: socinfo: separate major and minor format versionsMatt Wagantall2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The socinfo format version includes a 16-bit major field number field that has always been zero, but may be changed in the future to indicate a non-backwards-compatible format change. Update current prints and checks to properly interpret both the major and minor components. Change-Id: I87a6d2e3f9379662857e03bb5b7e918f699c61ab Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
* | | | Update target name references for 8976Ian Maund2016-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the official announcement of 8976, remove all references to its internal code name, and replace them with 8976. Change-Id: Iadedabf16a7bef92c582524ae6ea38b31ba26ac4 Signed-off-by: Ian Maund <imaund@codeaurora.org>