summaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAge
...
* | | | | | | | mm: Per process reclaimMinchan Kim2016-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These day, there are many platforms avaiable in the embedded market and they are smarter than kernel which has very limited information about working set so they want to involve memory management more heavily like android's lowmemory killer and ashmem or recent many lowmemory notifier. One of the simple imagine scenario about userspace's intelligence is that platform can manage tasks as forground and backgroud so it would be better to reclaim background's task pages for end-user's *responsibility* although it has frequent referenced pages. This patch adds new knob "reclaim under proc/<pid>/" so task manager can reclaim any target process anytime, anywhere. It could give another method to platform for using memory efficiently. It can avoid process killing for getting free memory, which was really terrible experience because I lost my best score of game I had ever after I switch the phone call while I enjoyed the game. Reclaim file-backed pages only. echo file > /proc/PID/reclaim Reclaim anonymous pages only. echo anon > /proc/PID/reclaim Reclaim all pages echo all > /proc/PID/reclaim Change-Id: Iabdb7bc2ef3dc4d94e3ea005fbe18f4cd06739ab Signed-off-by: Minchan Kim <minchan@kernel.org> Patch-mainline: linux-mm @ 9 May 2013 16:21:24 [vinmenon@codeaurora.org: trivial merge conflict fixes, and minor tweak of the commit msg] Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* | | | | | | | arm: fix the compilation error with trigger backtrace callSrinivas Ramana2016-06-22
| |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arch_trigger_all_cpu_backtrace() takes a boolean on arm platforms. So, the trigger_all_cpu_backtrace() in nmi.h results in compilation error. Fix it. Change-Id: I9a1045333115ab1726f85e360ef0e302486341c4 Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
* | | | | | | coresight: add support to read cti dataShashank Mittal2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to read cti data from OF nodes. Devices can use this data to configure CTIs as part of their configurations. Change-Id: I55b0534ab4d81b9ce02378b513e6ae9bc3b6cd1e Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
* | | | | | | msm: camera: isp: Implement new ioctlShubhraprakash Das2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a new ioctl that sets the ahb clock vote. This can be used from user space to make register programming quicker. CRs-Fixed: 1001335 Change-Id: I1bc0253ada50040d55b57f0ed07ba66b5535106a Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
* | | | | | | sysctl: add cold_boot sysctl entryDavid Keitel2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a cold_boot parameter which supplements the boot_reason sysctl entry with information about whether the system was booted from cold or warm state. /proc/sys/kernel/cold_boot entry is updated with 1 or 0 when system was booted from cold or warm boot state respecitively. CRs-Fixed: 461256 Change-Id: I2bc5d80c8f26eb9e9dbb4b34960d991a51a224e4 Signed-off-by: David Keitel <dkeitel@codeaurora.org> [abhimany: fixup minor merge conflict and drop changes to kernel/sysctl.c and Documentation since it was brought in via snapshot commit] Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
* | | | | | | spcom: add spcom_is_sp_subsystem_link_upAmir Samuelov2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add implementation of spcom_is_sp_subsystem_link_up() kernel API. Remove Load App API declaration, as it is not supported for kernel drivers. Change-Id: I76a43a04d454d1f25a640831f43b51dbb7e75943 Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
* | | | | | | sched: fix incorrect type casting in trace eventsJoonwoo Park2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPU cycles and execution time are in u64. Change-Id: Ifb3ce3fd2c5c6bf4d658137214b73659a60fd9d7 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* | | | | | | sched: remove unused parameter cpu from cpu_cycles_to_freq()Joonwoo Park2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function parameter cpu isn't used anymore by cpu_cycles_to_freq(). So remove it. Change-Id: Ide19321206dacb88fedca97e1b689d740f872866 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* | | | | | | clk: msm: clock: Add support for programming MDP_LUT_CBCR registerDeepak Katragadda2016-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the mdss_mdp_lut_clk clock on MSMCOBALT. In addition, remove toggling the memory retention bits for the mdp core clock during gdsc_enable/disable. The display driver will use the set_flags API to set the core clock memory retention. CRs-Fixed: 1025605 Change-Id: If812473a67a7900c8f7b8b97f32fbf003f0e80a4 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | | ASoC: msm: qdsp6v2: add support for DTS offloadSatish Babu Patakokila2016-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DTS to supported offload formats. Change-Id: I08cade9366673a7aae8595293296e88aece149bd Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
* | | | | | | wcd9xxx: refactor wcd9xxx audio codec driversYeleswarapu Nagaradhesh2016-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor wcd9xxx audio codec driver for better handling of codec specific functionalities. CRs-fixed: 1028800 Change-Id: I229ee4a741c5a606e2eb045940f5ee3c4eabf512 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org> Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
* | | | | | | clk: qcom: gdsc: Add the missing BIMC gdsc for msm8996Rajendra Nayak2016-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add BIMC gdsc data found in MMCC part of msm8996 family of devices. Change-Id: Ibeac134f941f402bcad8e803bdb73ba73f55909d Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> Signed-off-by: Taniya Das <tdas@codeaurora.org>
* | | | | | | clk: qcom: gdsc: Add mmcc gdscs for msm8996 familyRajendra Nayak2016-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add all gdsc data which are part of mmcc on msm8996 family Change-Id: I77caf8f26bf676a7553b6873eb188acb02a9c44d Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Taniya Das <tdas@codeaurora.org>
* | | | | | | clk: qcom: Add MSM8996 Multimedia Clock Controller (MMCC) driverStephen Boyd2016-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a driver for the multimedia clock controller found on MSM8996 based devices. This should allow most multimedia device drivers to probe and control their clocks. Change-Id: I0b69b1e78a8b0faeaff3e5c87c73e24b1c19ba55 Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
* | | | | | | clk: qcom: gcc-msm8996: Add missing BCR for USB3 and PCIE clocksAmit Nischal2016-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The block reset registers for USB3 and PCIE will be required by the clients to reset their subsystem blocks so add them in the reset map. Change-Id: Ie30158592fca057454152f3f46a5d8b89ae36b88 Signed-off-by: Amit Nischal <anischal@codeaurora.org>
* | | | | | | msm:camera: Enable/Disable camera daemonJignesh Mehta2016-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Camera daemon process is moving to mediaserver process. MCT will send contol command to indicate camera daemon is present or not. For backward compatibility, add check so kernel can support camera daemon present and camera daemon not present. Change-Id: Ia9e45f539bd5ec0d2edfe9bfb90942d88b6d30da Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
* | | | | | | msm: pcie: add stubs for !CONFIG_PCI_MSMTony Truong2016-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the MSM PCI-e driver isn't enabled, other code that might rely on some of its exported interfaces will fail to build. Add some stubs for this scenario to allow other drivers to build independently of CONFIG_PCI_MSM. Change-Id: Ib0f6d0ecfa992e2b8aaae9ab6cea3a2e441f65dd Signed-off-by: Tony Truong <truong@codeaurora.org>
* | | | | | | mmc: Fix pm_notifier obeying deferred resumeDmitry Shmidt2016-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not resume if deferred resume is enabled. Only resume when a request is received. Change-Id: I1eae7dffec97d34b066bb5738c84a7e5a82f68d7 Git-commit: ac9ac6f26904c94e8aec47cab6936dd241c2eb66 Git-repo: git://git-android.quicinc.com/kernel/msm-3.10 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com> [asutoshd@codeaurora.org: merge conflicts resolved] Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
* | | | | | | mmc: core: Add deferred bus resume policy.San Mehat2016-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A card driver can now specify that the underlying bus should *not* auto-resume with the rest of the system. This is useful for reducing resume latency as well as saving power when the card driver is not using the bus. In the future, we'll add support for manual suspend Change-Id: I077d7dc9311ff12e6e16de631abeac965c8facd9 Signed-off-by: San Mehat <san@google.com> Git-commit: b44e6c88fc57e08562ff6b4fd68ba89cc2aa21bc Git-repo: git://git-android.quicinc.com/kernel/msm-3.10 [asutoshd@codeaurora.org: merge conflicts resolved and similar changes were updated in a different file; due to changes in kernel version] Signed-off-by: Asutosh Das <asutoshd@codeaurora.org> [subhashj@codeaurora.org: fixed trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
* | | | | | | msm: sensor: Add support for downloading OIS coefficient and frameworkSureshnaidu Laveti2016-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add OIS framework and coefficient download in OIS driver. Change-Id: Iff8e1c0367d13bb0d89946d81fb79427b6ef070e Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
* | | | | | | mmc: core: fix reading the bkops status from cardAsutosh Das2016-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bkops status is indicated by the bit 0 and 1 of the 246th byte of the ext_csd register. The current code doesn't ignore the rest of the byte. Fix this by extracting the bit 0 and 1 only for the current bkops urgency. The exception level is defined by the least significant nibble of 54th byte in the ext_csd register. The current code doesn't ignore the rest of the byte. Fix this by extracting the nibble(LSB) for exception status. Change-Id: Ic90fe26a676ae7dd2063e17bc3771db83605f4dc Signed-off-by: Asutosh Das <asutoshd@codeaurora.org> [subhashj@codeaurora.org: fixed trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
* | | | | | | ASoC: msmcobalt: Switch ground/mic swap GPIO control to pinctrlStephen Oglesby2016-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to swap ground and mic headset poles is controlled by a GPIO on the Apps processor instead of the PMIC, and therefore software logic must change to use pinctrl APIs CRs-fixed: 1019254 Change-Id: Ibccddc82b18614ddbe6ef9c9720b3de1ce00163e Signed-off-by: Stephen Oglesby <soglesby@codeaurora.org>
* | | | | | | USB: gadget: Implement COMPAT_IOCTL for ioctlsHemant Kumar2016-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 32-bit userspace calling into 64-bit kernel cause different ioctl codes to get generated. The different ioctl code gets generated because sizeof is used on mtp and accessory structures which is different for 32/64 compilation. Because of this, 64-bit kernel can never execute the right ioctl command. Implement compat_ioctl to handle such execution environment. Change-Id: I26cc10986e28a28eab6f3c65f28f4d2b808112d9 Signed-off-by: Sujeet Kumar <ksujeet@codeaurora.org> Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | | | | msm: ipa: Add napi support to rmnet ipa deviceSunil Paidimarri2016-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add napi framework to use napi API's to poll embedded data from IPA HW. Change-Id: Icb6ec9d060ca4fb02e95c1e98bded89422bb1fff CRs-Fixed: 1002026 Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
* | | | | | | msm: mdss: hdmi: add deep color supportAjay Singh Parmar2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get deep color support information from sink's EDID (Extended Data Identification Data). Enable deep color output in hdmi transmitter if the sink supports RGB 30bpp output format. CRs-Fixed: 1022772 Change-Id: If65ac051253b4e51f6af5cd60f98eaf908b3bcfd Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org> Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
* | | | | | | clk: msm: hdmi: add cobalt hdmi pll calculator and clocksAjay Singh Parmar2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add PLL and PHY programming for HDMI. Dynamically calculate the register values to be programmed for a given pixel clock. CRs-Fixed: 1022772 Change-Id: Ibf7877eb6edd29baefee57bc12188989d897d47e Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org> Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
* | | | | | | ARM: dts: msm: Add initial device tree files for MSMFALCONNeeraj Upadhyay2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the device tree files necessary to support the MSMFALCON SoC and the MSMFALCON Simulator platform. Change-Id: Iabdb1c21757ad6dead50fdc4aa3b12077f8f840f Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
* | | | | | | Bluetooth: Add ioctl for pin connectivity testKiran Kelageri2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ioctl to test slimbus HW interface to implement pin connectivity factory test. Change-Id: Ied4c818b0012c733e73ff894470594f9429d9882 Signed-off-by: Kiran Kelageri <kirankelageri@codeaurora.org>
* | | | | | | diag: Update logs, events and messages codesChris Lew2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change updates the macro definitions to increase the range on the logs, events and messages. Change-Id: I8410462b17c5741fb03239377fed18c5f6034b90 CRs-Fixed: 994733 Signed-off-by: Chris Lew <clew@codeaurora.org>
* | | | | | | phy: qcom-ufs: add svs2 supportVenkat Gopalakrishnan2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | phy-qcom-ufs-qmp-v3 supports SVS2 voltage scaling mode that allows lowest power consumption in HS G1. The PHY must be put in hibern8 state before configuring the PHY to enter SVS2 mode. The voltage can be reduced after this to SVS2 level. This change exposes an API that allows the UFS driver to configure the PHY to enter SVS2 mode. Change-Id: I2ef01d98603840289c436e14bf3df54a2ab9198b Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
* | | | | | | clk: msm: clock: Add support for programming the GCC_GPU_IREF_EN registerDeepak Katragadda2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new gcc_gpu_iref_clk that the graphics driver can control as needed. The default state of the clock is ON; so having this control will mean saving current. CRs-Fixed: 1024948 Change-Id: I562bb546f49b1605f20fb7d705f40584d190230b Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | | drivers: thermal: Add ftrace events for LMH DCVSh mitigationRam Chandrasekar2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LMH DCVSh driver receives interrupt from hardware whenever there is a new mitigation frequency decision is made in hardware. Add ftrace event to print the hardware mitigation frequency value from driver. Change-Id: Ib357ee3c3a461613bfd1268ec8f98973c2982c10 Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
* | | | | | | icnss: Export APIs for power on/off WLAN hardwareYuanyuan Liu2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Export APIs to WLAN driver to power on/off WLAN hardware. CRs-Fixed: 1017496 Change-Id: I4b09b7e9ee97129f952d737a530fc04205259f24 Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
* | | | | | | msm: mdss: Add support for IGC v3 featureGopikrishnaiah Anandan2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IGC module is updated for mdss V3 version, which needs to be exposed to user-space. Change adds interface support to expose the IGC module to user-space clients. Change-Id: I159bca8278a1638286cc2392bb5b059e067dbb1b Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Ping Li <pingli@codeaurora.org>
* | | | | | | msm: mdss: Add PA dither support for msmcobaltGopikrishnaiah Anandan2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Picture adjustment block on msmcobalt mdss supports dithering module. Module can be programmed by driver clients for a logical display. Change adds support for enabling the PA dither block. Change-Id: I8ae05d0f98a33a8608a4caef93d50e4dabad05a1 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Ping Li <pingli@codeaurora.org>
* | | | | | | Merge commit 'refs/changes/41/1640241/2' of ↵Kyle Yan2016-06-07
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ssh://review-android.quicinc.com:29418/kernel/msm-4.4 into kernel.lnx.4.4-160606_new
| * \ \ \ \ \ \ Merge branch 'dev/msm-4.4-mmc_port' into msm-4.4Subhash Jadavani2016-06-02
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This merge brings MMC/SD card changes from 'dev/msm-4.4-mmc_port' to msm-4.4. * origin/dev/msm-4.4-mmc_port: (472 commits) mmc: sdhci-msm: fix few compilation issues mmc: cmdq_hci: fix compilation issue mmc: host: fix compilation issue when clk_gating config is disabled mmc: sdhci: clean up legacy adma related variables mmc: sdhci: enable 64-bit DMA support only if chipset supports 64-bit mmc: sdhci: Replace SDHCI_USE_ADMA_64BIT flag mmc: auto bkops fixes mmc: card: fix quirk bit map Revert "mmc: core: get drive types supported by eMMC cards" mmc: host: sdhci: don't queue zero length descriptor mmc: core: fix deadlock between runtime-suspend and devfreq mmc: block: Add quirk and increase read data timeout for hynix emmc mmc: card: Fix broken clock gating mmc: core: postpone runtime suspend in case BKOPS is required mmc: core: update AUTO_EN in BKOPS_EN field on runtime resume mmc: revert runtime idle state mmc: host: Set max frequency when disabling clock scaling mmc: queue: Fix queue_lock spinlock bug from CMDQ shutdown path mmc: core: fix issue with devfreq clock scaling mmc: core: set REL_WR_SEC_C register to 0x1 per eMMC5.0 spec ... Change-Id: I702a72fbbecba520f429bf1149106e684335e2a5 Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: auto bkops fixesSubhash Jadavani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change "man_bkops_en" to "bkops_en" to hold the status of both manual and auto bkops. Change-Id: I60029bae67cebb2c91147ad741b96f4caed9c1d9 Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: card: fix quirk bit mapSubhash Jadavani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There seems to be bit map usage overlap between few MMC_QUIRKS_*, this change fixes it. Change-Id: I717a2de1261ed2de1a8c730b005b137f0687d969 Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: block: Add quirk and increase read data timeout for hynix emmcRitesh Harjani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hynix emmc cards are causing read data timeout. Increase timeout value to max of 4sec and add card quirk for all Hynix emmc cards. Change-Id: I78637dc787964ec5cafe297587d6a12ecf1d31c6 Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
| | * | | | | | | mmc: core: postpone runtime suspend in case BKOPS is requiredKonstantin Dorfman2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some devices require long BKOPs time in order to provide high performance. In the current solution, the host disables auto BKOPs or stops manual BKOPs in runtime suspend, regardless of the device need for BKOPs. This patch adds a check for device BKOPs status and defers suspend in case when BKOPs need. CRs-Fixed: 979630 Change-Id: Ib38d1ce58e4195d4969e9a367b5738c8e598d0ba Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org> [subhashj@codeaurora.org: fixed merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: block: Error handling fixes and support of reset_allRitesh Harjani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does following: 1. Adds support to handle multiple cmdq software requests timeout. Currently we schedule error handling work for the first timedout request. We requeue all pending tasks, knock off all tasks from device queue and reset card and controller as part of this, then for all other software requests timeout, if it comes while executing error work, we return BLK_EH_NOT_HANDLED. This fixes BUG_ON in case of multiple requests timesout together. 2. Current code resets CQE, power cycle the card and requeue all the requests in case of any error. 3. mmc_blk_cmdq_err work takes care freeing up all resource allocation like clk and rpm hold, in case of reset_all. 4. Currently we were never clearing error CMDQ_STATE_ERR in case of any error. This patch takes care of this bug. Change-Id: I83d483c11fe2d7f2e462086cc3c0932057304c0d Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org> [subhashj@codeaurora.org: fixed compilation error] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: core: cmdq helper for reset and claim host contextRitesh Harjani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does following- This adds an API(mmc_cmdq_hw_reset), for RESET_ALL of SDHCI, power cycle mmc card and reintialize it, which enables cmdq as well(if supported). This acquires claim_host before calling mmc_power_restore. mmc_power_restore should be called with claim_host acquired, since this function is required from non-claim-host context in cmdq error handling. Change-Id: I31c4449dead1d4ad4e10a4822cce2298ec5fb4b6 Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org> [subhashj@codeaurora.org: fixed merge conflicts, dropped some changes related to mmc_do_hw_reset] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: core: Call cmdq_post_req with tag info instead of mrqRitesh Harjani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call mmc_/cmdq_post_req with tag number instead of mrq. This is needed in error handling as part of multiple request error handling. Change-Id: I175432639d28378ec74669e31deb4d1667c49bb8 Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
| | * | | | | | | mmc: cmdq_hci: Helper API/info in cmdq for haltRitesh Harjani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds following helper API/info - 1. cmdq_halt_poll to halt the controller using polling method. This is to be mainly used in case of an error from cmdq_irq context. 2. Adds num_cq_slots & dcmd_cq_slot info to mmc_host structure. This can be useful info for mmc host structure like in case of handling of multiple error requests 3. Adds CMDQ_STATE_CQ_DISABLE for cmdq host. In case of an error if halt also fails, CQE error handling code will disable CQ. So block layer needs to know - to not pull any requests in such case. Change-Id: I8e9a8d5094db82336917fcca4361ce84316c34ef Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org> [subhashj@codeaurora.org: fixed merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: sdhci: revert MMC_PM_KEEP_POWER changes related to emmcSahitya Tummala2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change reverts the following gerrits as they cause the timeout issues with Hynix cards. Also, the latest code supports sleep/awake through CMD5 and hence MMC_PM_KEEP_POWER need not be set for Hynix eMMC cards. edcf5be "mmc: host: add detect vops chain" 09287cb "mmc: sdhci-msm: configure MMC_PM_KEEP_POWER for SDIO" 7cf603a "mmc: schci: add support for MMC_PM_KEEP_POWER in eMMC" c085820 "mmc: core: set MMC_PM_KEEP_POWER for certain Hynix mmc cards" CRs-Fixed: 947299 Change-Id: If863771191ee7c2b717d5817f4a88e4ad936653a Signed-off-by: Sahitya Tummala <stummala@codeaurora.org> [subhashj@codeaurora.org: fixed merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: core: support DDR52 bus-speed during eMMC clock scalingAsutosh Das2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for DDR52 bus-speed mode during clock scaling. The reason for this change is DDR52 can be supported at SVS mode. Change-Id: I68e5fca57ae5cbc154f5dd7001df368900cb3f57 Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
| | * | | | | | | mmc: sdhci: Add asynchronous interrupt support for sdio cardsRitesh Harjani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SD host controller have asynchronous interrupt support capability to detect card(sdio) interrupt even when clocks are gated(to save power). This patch add support and enable this capability/feature to of SD host controllers for sdio cards. Change-Id: Ic1945355a19ebfdb3bd000bf8138d8001cea53f6 Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org> [subhashj@codeaurora.org: fixed merge conflicts & compilatione error] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: block: workaround for timeout issue with some vendor devicesSubhash Jadavani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 66a7393a3ba9685d1eddfbce72e3ef8f4848f19f ("mmc: block: ensure CMDQ is empty before queuing cache flush") added a workaround for particular vendor's eMMC devices. Workaround was to wait for all the outstanding requests to finish up before queuing the flush request. Now detailed root cause analysis from vendor shows that original issue can happen only if DCMD command is sent to device too quickly (within less than 6 microseconds) after completion of previous small sector (less than 8 sectors) read operations. Hence with this change, we are fine tuning the previous workaround such that it would almost have no impact on the storage benchmark performance numbers. Change-Id: I1df1c5d7bbcd7b526236651077b7dade2626cb30 Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> [subhashj@codeaurora.org: fixed trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
| | * | | | | | | mmc: block: ensure CMDQ is empty before queuing cache flushSubhash Jadavani2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some devices might stop responding to new commands if device cache flush is queued to host controller while host controller is still processing outstanding requests. To workaround this issue, we are making the cmdq thread to wait for all the oustanding requests to be finished before queuing cache flush command on host controller. Change-Id: I15387734f51ca4cadfc9e11270f14d8a0806a00f Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> [subhashj@codeaurora.org: fixed trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>