summaryrefslogtreecommitdiff
path: root/Documentation (follow)
Commit message (Collapse)AuthorAge
...
| | | * | | | | | | | | | | | Merge remote-tracking branch 'lts/linux-4.4.y' into linux-linaro-lsk-v4.4Alex Shi2016-10-05
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: resovle the conflict on pax_copy for arch/ia64/include/asm/uaccess.h arch/powerpc/include/asm/uaccess.h arch/sparc/include/asm/uaccess_32.h
| | | | * | | | | | | | | | | mpssd: fix buffer overflow warningMike Danese2016-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 3610a2add39365a0f153154c60169a66c616d50f upstream. The compilation emits a warning in function ‘snprintf’, inlined from ‘set_cmdline’ at ../Documentation/mic/mpssd/mpssd.c:1541:9: /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: warning: call to __builtin___snprintf_chk will always overflow destination buffer This was introduced in commit f4a66c204482 ("misc: mic: Update MIC host daemon with COSM changes") and is fixed by reverting the changes to the size argument of these snprintf statements. Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Mike Danese <mikedanese@google.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | | | * | | | | | | | | | | iio: adc: rockchip_saradc: reset saradc controller before programming itCaesar Wang2016-09-24
| | | | | |_|_|_|_|_|_|_|_|/ | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 543852af8e5902aee8f7c72c89e1513663e0f696 upstream. SARADC controller needs to be reset before programming it, otherwise it will not function properly. Signed-off-by: Caesar Wang <wxt@rock-chips.com> Cc: Jonathan Cameron <jic23@kernel.org> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Rob Herring <robh+dt@kernel.org> Cc: linux-iio@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | | | | | | | | | | | | Merge "msm: vidc: Add support for Cx ipeak limitation"Linux Build Service Account2017-03-02
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | msm: vidc: Add support for Cx ipeak limitationAbdulla Anam2017-02-24
| | |_|_|_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make a vote call whenever the clock frequency driver computes crosses a threshold mark. This vote call handles the situation when many subsystems are in turbo and where a need arises to throttle the CDSP current. CRs-Fixed: 1104037 Change-Id: I9ab7261c28468c3c97af4b5a0d658cc7a69709ec Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
* | | | | | | | | | | | | | Merge "leds: remove unused driver leds-qpnp-flash.c"Linux Build Service Account2017-03-02
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | leds: remove unused driver leds-qpnp-flash.cAbhijeet Dharmapurikar2017-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | leds-qpnp-flash driver is not supported anymore. Remove it. Change-Id: Ie2f570bad8171c460b8167f140d71c052ada2b17 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | | | | | | | | | | | | | Merge "power: qpnp-fg-gen3: Add support to clamp ESR"Linux Build Service Account2017-03-01
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | power: qpnp-fg-gen3: Add support to clamp ESRSubbaraman Narayanamurthy2017-02-28
| | |_|_|_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If ESR value goes to 0 because of some hardware issue, there is no way to recover it back from that state. This causes incorrect SOC reporting leading to a bad user experience. Hence add support to clamp ESR value based on user defined DT property so that ESR can be clamped to this value once it is found to go below it. Since this change modifies ESR value in SRAM, having FG_SRAM_ESR property would make encode and decode the value easier. Hence remove fg_get_battery_esr() and get it from FG_SRAM_ESR property. CRs-Fixed: 2011200 Change-Id: I96250b44f52d6208f3c64fb9e61f70ea41f54f4e Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | | | | | | | | | | | | | | Merge "power: supply: qcom: remove unused drivers"Linux Build Service Account2017-03-01
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / / | |/| | | | | | | | | | | | |
| * | | | | | | | | | | | | | power: supply: qcom: remove unused driversAbhijeet Dharmapurikar2017-02-28
| | |_|/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qpnp-fg and qpnp-smbcharger are not supported anymore. Remove them. Change-Id: Icc010cd77d9d1e839a6dfa681b65e19b8978fb56 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | | | | | | | | | | | | Merge "regulator: qpnp-oledb: Add lab_vreg_ok notifier callback"Linux Build Service Account2017-03-01
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | regulator: qpnp-oledb: Add lab_vreg_ok notifier callbackKiran Gunda2017-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OLEDB driver needs the LAB_VREG_OK status to program the PD_CTL register after the oledb module is enabled. As this status register is not accessible from the OLEDB driver, register a notifier callback with LABIBB driver to get LAB_VREG_OK status. Change-Id: I85009688a2accb6246135d22e08ee21fb8296f62 Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
* | | | | | | | | | | | | | | Merge "icnss: Vote for hardware resources"Linux Build Service Account2017-03-01
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | icnss: Vote for hardware resourcesPrashanth Bhatta2017-02-24
| | |_|/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During recovery, there are cases where in WLAN driver running on APPS can access CE register causing exceptions because of hardware in reset state. Fix the issue by not resetting the hardware in WLAN firmware during recovery but halt the CE and MAC and reset the hardware only when reinitialization starts. For this to work, platform driver needs to keep the clock and regulator votes so that WLAN hardware will not go into weird state because of not resetting it but cutting the resources. CRs-fixed: 2011579 Change-Id: Ie61366b166f15f8d5927ad911089fc693a455319 Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
* | | | | | | | | | | | | | | Merge "msm: kgsl: Add GPU Cx ipeak client support on SDM660"Linux Build Service Account2017-02-28
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | msm: kgsl: Add GPU Cx ipeak client support on SDM660Rajesh Kemisetti2017-02-27
| | |_|_|/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To handle Cx peak current limit on SDM660, GPU needs to call Cx ipeak driver APIs when it switches between threshold points. Cx ipeak driver will throttle cDSP frequency if all the clients are running at their respective threshold frequencies to limit Cx peak current. Change-Id: I5ffcf1a42523072d2b8b7bc0022eb3cc067acbb9 Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
* | | | | | | | | | | | | | | Merge "msm: qpnp-haptic: add additional checks to avoid division by zero."Linux Build Service Account2017-02-28
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | msm: qpnp-haptic: add additional checks to avoid division by zero.Abinaya P2017-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While calculating the +/-30% variation from the resonant frequency for auto resonance search algorithm, division by zero is happening causing device crash. Add additional checks to avoid such crashes. Also, RATE_CFG1 and RATE_CFG2 registers should be updated with values from AUTO_RES_LO and AUTO_RES_HI registers respectively only if the frequency variation is +/-25% of the resonant freqeuncy. Add code change for the same. CRs-Fixed: 1024697 Change-Id: I2a68cb61331ce4e68857031a4c0c14fded77a0e5 Signed-off-by: Abinaya P <abinayap@codeaurora.org> Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
| * | | | | | | | | | | | | | | msm: qpnp-haptic: add DT property for back-emf generation delayAbinaya P2017-02-16
| | |_|_|_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For auto resonance detection to work properly, sufficient back-emf has to be generated. In general, back-emf takes some time to build up. When the auto resonance mode is chosen as QWD, high-z will be applied for every LRA cycle and hence there won't be enough back-emf at the start-up. Hence, the motor needs to vibrate for few LRA cycles after the PLAY bit is asserted. So disable the auto resonance and enable it back after some delay. Add DT property to configure this delay value. CRs-Fixed: 833062 Change-Id: I688329f642ca9d506e203f448da5d874b91b77ff Signed-off-by: Abinaya P <abinayap@codeaurora.org>
* | | | | | | | | | | | | | | Merge "ARM: dts: msm: Add stmVL53L0 device entry"Linux Build Service Account2017-02-28
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / / / / / |/| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | ARM: dts: msm: Add stmVL53L0 device entryBikas Gurung2017-02-22
| | |/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add dts entry for stmvl53l0 laser sensor for MSM8998. stmvl53l0 is accessed through CCI interface and is used for time-of-flight autofocus. CRs-fixed: 1051771 Change-Id: I177000efba35344fa1f1fb595d4635c8d0024a69 Signed-off-by: Bikas Gurung <bgurung@codeaurora.org>
* | | | | | | | | | | | | | Merge "defconfig: msm: Enable PBS driver support for sdm660"Linux Build Service Account2017-02-27
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|/ / / / / / / / / / | |/| | | | | | / / / / / / | |_|_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | |
| * | | | | | | | | | | | soc: qcom: qpnp-pbs: Add PBS driver supportKiran Gunda2017-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PBS driver helps the client drivers to trigger the PBS event to execute the PBS RAM configuration as requested by the client driver. Change-Id: Ic5d1290ffa0b66ac7a8f68529aafcf0b871ee3e8 Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
* | | | | | | | | | | | | Merge "ARM: dts: msm: Force module re-eanble for LCDB on PM660L"Linux Build Service Account2017-02-25
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | regulator: lcdb: Add WA for vph_pwr_2p5_ok signal being invalidAnirudh Ghayal2017-02-24
| | |/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LCDB module does not sample the vph_pwr_2p5_ok signal if it drops low when the module is off. It will continue with the last known state of vph_pwr_2p5_ok which could cause a problem if vph_pwr_2p5_ok is indeed low. Fix this by re-enabling of the module to activate the vph_pwr_2p5_ok signal sampling. CRs-Fixed: 1053543 Change-Id: If0950140cae12c92bb6be428b22400b492f823e4 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | | | | | | | | | | | | Merge "mm: fix build warnings in <linux/compaction.h>"Linux Build Service Account2017-02-25
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | mm: fix build warnings in <linux/compaction.h>Minchan Kim2017-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Randy reported below build error. > In file included from ../include/linux/balloon_compaction.h:48:0, > from ../mm/balloon_compaction.c:11: > ../include/linux/compaction.h:237:51: warning: 'struct node' declared inside parameter list [enabled by default] > static inline int compaction_register_node(struct node *node) > ../include/linux/compaction.h:237:51: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] > ../include/linux/compaction.h:242:54: warning: 'struct node' declared inside parameter list [enabled by default] > static inline void compaction_unregister_node(struct node *node) > It was caused by non-lru page migration which needs compaction.h but compaction.h doesn't include any header to be standalone. I think proper header for non-lru page migration is migrate.h rather than compaction.h because migrate.h has already headers needed to work non-lru page migration indirectly like isolate_mode_t, migrate_mode MIGRATEPAGE_SUCCESS. [akpm@linux-foundation.org: revert mm-balloon-use-general-non-lru-movable-page-feature-fix.patch temp fix] Link: http://lkml.kernel.org/r/20160610003304.GE29779@bbox Signed-off-by: Minchan Kim <minchan@kernel.org> Reported-by: Randy Dunlap <rdunlap@infradead.org> Cc: Konstantin Khlebnikov <koct9i@gmail.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Gioh Kim <gi-oh.kim@profitbricks.com> Cc: Rafael Aquini <aquini@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Git-commit: dd4123f324bbaec7618b677b7bce2b11aee9594e Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Change-Id: If9a33a471f69bf008f4c2d40f21ff30abce200bb Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* | | | | | | | | | | | | | Merge "mm: migrate: support non-lru movable page migration"Linux Build Service Account2017-02-25
|\| | | | | | | | | | | | |
| * | | | | | | | | | | | | mm: migrate: support non-lru movable page migrationMinchan Kim2017-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have allowed migration for only LRU pages until now and it was enough to make high-order pages. But recently, embedded system(e.g., webOS, android) uses lots of non-movable pages(e.g., zram, GPU memory) so we have seen several reports about troubles of small high-order allocation. For fixing the problem, there were several efforts (e,g,. enhance compaction algorithm, SLUB fallback to 0-order page, reserved memory, vmalloc and so on) but if there are lots of non-movable pages in system, their solutions are void in the long run. So, this patch is to support facility to change non-movable pages with movable. For the feature, this patch introduces functions related to migration to address_space_operations as well as some page flags. If a driver want to make own pages movable, it should define three functions which are function pointers of struct address_space_operations. 1. bool (*isolate_page) (struct page *page, isolate_mode_t mode); What VM expects on isolate_page function of driver is to return *true* if driver isolates page successfully. On returing true, VM marks the page as PG_isolated so concurrent isolation in several CPUs skip the page for isolation. If a driver cannot isolate the page, it should return *false*. Once page is successfully isolated, VM uses page.lru fields so driver shouldn't expect to preserve values in that fields. 2. int (*migratepage) (struct address_space *mapping, struct page *newpage, struct page *oldpage, enum migrate_mode); After isolation, VM calls migratepage of driver with isolated page. The function of migratepage is to move content of the old page to new page and set up fields of struct page newpage. Keep in mind that you should indicate to the VM the oldpage is no longer movable via __ClearPageMovable() under page_lock if you migrated the oldpage successfully and returns 0. If driver cannot migrate the page at the moment, driver can return -EAGAIN. On -EAGAIN, VM will retry page migration in a short time because VM interprets -EAGAIN as "temporal migration failure". On returning any error except -EAGAIN, VM will give up the page migration without retrying in this time. Driver shouldn't touch page.lru field VM using in the functions. 3. void (*putback_page)(struct page *); If migration fails on isolated page, VM should return the isolated page to the driver so VM calls driver's putback_page with migration failed page. In this function, driver should put the isolated page back to the own data structure. 4. non-lru movable page flags There are two page flags for supporting non-lru movable page. * PG_movable Driver should use the below function to make page movable under page_lock. void __SetPageMovable(struct page *page, struct address_space *mapping) It needs argument of address_space for registering migration family functions which will be called by VM. Exactly speaking, PG_movable is not a real flag of struct page. Rather than, VM reuses page->mapping's lower bits to represent it. #define PAGE_MAPPING_MOVABLE 0x2 page->mapping = page->mapping | PAGE_MAPPING_MOVABLE; so driver shouldn't access page->mapping directly. Instead, driver should use page_mapping which mask off the low two bits of page->mapping so it can get right struct address_space. For testing of non-lru movable page, VM supports __PageMovable function. However, it doesn't guarantee to identify non-lru movable page because page->mapping field is unified with other variables in struct page. As well, if driver releases the page after isolation by VM, page->mapping doesn't have stable value although it has PAGE_MAPPING_MOVABLE (Look at __ClearPageMovable). But __PageMovable is cheap to catch whether page is LRU or non-lru movable once the page has been isolated. Because LRU pages never can have PAGE_MAPPING_MOVABLE in page->mapping. It is also good for just peeking to test non-lru movable pages before more expensive checking with lock_page in pfn scanning to select victim. For guaranteeing non-lru movable page, VM provides PageMovable function. Unlike __PageMovable, PageMovable functions validates page->mapping and mapping->a_ops->isolate_page under lock_page. The lock_page prevents sudden destroying of page->mapping. Driver using __SetPageMovable should clear the flag via __ClearMovablePage under page_lock before the releasing the page. * PG_isolated To prevent concurrent isolation among several CPUs, VM marks isolated page as PG_isolated under lock_page. So if a CPU encounters PG_isolated non-lru movable page, it can skip it. Driver doesn't need to manipulate the flag because VM will set/clear it automatically. Keep in mind that if driver sees PG_isolated page, it means the page have been isolated by VM so it shouldn't touch page.lru field. PG_isolated is alias with PG_reclaim flag so driver shouldn't use the flag for own purpose. [opensource.ganesh@gmail.com: mm/compaction: remove local variable is_lru] Link: http://lkml.kernel.org/r/20160618014841.GA7422@leo-test Link: http://lkml.kernel.org/r/1464736881-24886-3-git-send-email-minchan@kernel.org Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> Signed-off-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com> Acked-by: Vlastimil Babka <vbabka@suse.cz> Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Cc: Rik van Riel <riel@redhat.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Hugh Dickins <hughd@google.com> Cc: Rafael Aquini <aquini@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: John Einar Reitan <john.reitan@foss.arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Git-commit: bda807d4445414e8e77da704f116bb0880fe0c76 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Change-Id: I03380d927fed84c7464bd5f7c4405bef6b265b69 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* | | | | | | | | | | | | | Merge "regulator: qpnp-labibb: Add support for notifier callback"Linux Build Service Account2017-02-25
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / / / / | |/| | | / / / / / / / / / | |_|_|_|/ / / / / / / / / |/| | | | | | | | | | | |
| * | | | | | | | | | | | regulator: qpnp-labibb: Add support for notifier callbackKiran Gunda2017-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some drivers (e.g. OLEDB) would need to know about LAB_VREG_OK status from the LABIBB module. Hence, add support for the notifier callback so that required drivers can be notified about LAB_VREG_OK status. Change-Id: Ib60c94c7557ee6ffb7595dee5bd268bb76faaf6e Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
* | | | | | | | | | | | | Merge "drm/msm: add support for 5V HPD pin for msm8998"Linux Build Service Account2017-02-23
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | drm/msm: add support for 5V HPD pin for msm8998Abhinav Kumar2017-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | msm8998 needs an additional 5V pin to be enabled to power the HPD circuit. This change enables the support for this pin. Change-Id: I42f91265ce56ff5505e3d9c2382858fe6c1be52b Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | | | | | | | Merge "drm/sde: add support for customized mode"Linux Build Service Account2017-02-23
|\| | | | | | | | | | | | |
| * | | | | | | | | | | | | drm/sde: add support for customized modeJin Li2017-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes the HDMI is treated as non-pluggable display in auto use cases. Add support to configure it through dtsi file, and also provide timing parameters for the customized modes through dtsi. Change-Id: I2326b6c43cb7e6361be1f14d25f0e2e493c94177 Signed-off-by: Jin Li <jinl@codeaurora.org> Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | | | | | | | Merge "ARM: dts: msm: rename mdss_mdp to sde_kms and add HDMI TX device node"Linux Build Service Account2017-02-23
|\| | | | | | | | | | | | | | |_|_|/ / / / / / / / / / |/| | | | | | | | | | | |
| * | | | | | | | | | | | ARM: dts: msm: rename mdss_mdp to sde_kms and add HDMI TX device nodeAbhinav Kumar2017-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename mdss_mdp to sde_kms in the device tree to reflect the new display DRM driver terminology and add support for HDMI TX device node Change-Id: Ide5dc6a5939945a3e993eca650c66a56f3955140 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | | | | | | | | drm/msm: add HDMI support for DRM KMS driverAbhinav Kumar2017-02-21
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial HDMI display driver support for SDE. Support for configuring the HDMI TX controller to specific resolutions. Add support for HDMI specific ISR, uevent handling, basic debugfs support. Add support for HDMI DRM specific calls for SDE driver. Change-Id: I0cf7f4067e1a9b378632713b896798971971e5b9 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | | | | | Merge "Revert "ASoC: wsa881x: Add cache-always mode for sdm660""Linux Build Service Account2017-02-21
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Revert "ASoC: wsa881x: Add cache-always mode for sdm660"Laxminath Kasam2017-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts 'commit b3f17f8fe8f3 ("ASoC: wsa881x: Add cache-always mode for sdm660")' as wsa881x speaker mute without cache-always mode is fixed. CRs-Fixed: 2000566 Change-Id: Ia3c4f2ad5749fd32bb7426ab855c20acc378f563 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
* | | | | | | | | | | | | Merge "clk: qcom: Remove few multimedia clocks for sdm630"Linux Build Service Account2017-02-21
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | clk: qcom: Remove few multimedia clocks for sdm630Odelu Kukatla2017-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the multimedia subsystem clocks are not present in sdm630, so remove them from registering with clock framework. Change-Id: I073dc25fa0a0665a5b9b10c4ea977767a1e286d1 Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
* | | | | | | | | | | | | | Merge "phy: qcom-ufs: parse ref-clk details prior to resource request"Linux Build Service Account2017-02-21
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | scsi: ufs-qcom: Control ufs-ref-clk-supply from host nodeAsutosh Das2017-02-17
| | |_|_|_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UFS device requires a reference clock for operating in HS (High-speed) gears. This device reference clock is provided by the dedicated SoC pad on QCOM platforms. This rail needs to be powered by 1.2v power pads. Currently, that supply is being controlled in the ufs phy driver. Phy driver doesn't have any knowledge of the system-pm state. Hence, it can't selectively toggle this supply. Hence, move the control of this supply to ufs driver. The host driver has the knowledge of system-pm state & is better equipped to toggle this supply. Change-Id: Ia19c6e7d9ffb856a01d31ab56ea97a7bb1affae6 Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
* | | | | | | | | | | | | | Merge "input: touchscreen: remove msg21xx mstar touch driver"Linux Build Service Account2017-02-21
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / / / |/| | | | | | | | | | | | |
| * | | | | | | | | | | | | input: touchscreen: remove msg21xx mstar touch driverShantanu Jain2017-02-16
| | |/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove msg21xx mstar touch driver from the kernel code as it has never been used in any of the recent platforms. Change-Id: I0ac1f93d9736c402732b6c4a8d22b1bf3500e4c4 Signed-off-by: Vevek Venkatesan <vevekv@codeaurora.org> Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
* | | | | | | | | | | | | power: qcom-charger: add support for internal and external rsenseAshay Jaiswal2017-02-18
| |_|/ / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USBIN-USBIN parallel configuration can have either an internal current sensing via main charger's BATFET or an external current sense resistor. The FCC split between main and parallel charger differs based on current sensing mode, add support to differentiate internal/external sensing and the FCC split is done as follows: - Internal Sensing: Main charger configure to full FCC Parallel charger configured to 50% FCC. - External sensing: Main charger configure to 50% FCC Parallel charger configured to 50% FCC. Change-Id: Ia0c6234ce6f62af460edd3c4f56e34810899b3e3 Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
* | | | | | | | | | | | Merge "ARM: dts: msm: Add qcom,gpu-limit property for sdm660"Linux Build Service Account2017-02-17
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | msm: camera: Limit GPU clock on camera openTrishansh Bhardwaj2017-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On camera open, vote for kgsl power limit to decrease GPU clock. Change-Id: I8678409903b630ad6cdea5df472e08167789102c Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>