summaryrefslogtreecommitdiff
path: root/drivers/power (follow)
Commit message (Collapse)AuthorAge
...
* | | | soc: qcom: minidump: move elf global variables to structureLingutla Chandrasekhar2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current driver implementation uses global variables to create minidump elf header. Move all elf global variables into a structure, and also replace 'msm_minidump_enabled' API with 'minidump_enabled' global variable. And also add minidump_table address in elf, which would be useful for parsers to get memory dump table addresses without vmlinux symbols. Change-Id: I8829d88ce234179f429ae9537a3582df794c2cdf Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
* | | | soc: qcom: minidump: update error message log levelLingutla Chandrasekhar2017-05-03
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current implementation uses pr_info to print error messages. Update driver prints log level with pr_err instead of pr_info, and also update with proper error number for minidump table update failure return. Change-Id: I27667715c71b361b9ee0f7856c94242d3ca21014 Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
* | | power_supply: Add REAL_TYPE power_supply_propertyFenglin Wu2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Add REAL_TYPE power_supply property to record the real time charger type. Change-Id: I5fb2e3e3e782bcac0f8dd6071a830bcf370ebbd4 Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
* | | qpnp-smb2: make qnovo vote for current and voltageAbhijeet Dharmapurikar2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the code simply enforces Qnovo's current and voltage bypassing other voters. This is not desired. Make Qnovo vote via the FCC and FV votables. The only other vote it should skip is the votes coming from battery profile. Change-Id: I5c794ea209a8ea2a61d834e2f619d7ccfd02fed9 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | qcom: qpnp-smb2: fix cleanup pathAshay Jaiswal2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the cleanup path of probe failure to make sure all the resources get released in proper order. Change-Id: Ie482c9856569ea708a8fa186049ab778a8e5be12 Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | qcom: battery: Fix using stale votable pointersHarry Yang2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code flow between battery.c and smblib.c could end up with stale references in smblib. This is when if pl_init fails for some reason after creating the votables, while smblib obtains references to them, those references become invalid. Fix this by calling pl_init early in smb2 driver's probe such that if it fails smb2 driver exits early. Also change the name of pl_(de)init() functions to more appropriate name - qcom_batt_(de)init(). Change-Id: I58f79d26e6cc8524e792a23185ff6fc8cfdffa75 Signed-off-by: Harry Yang <harryy@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | smb138x: use chg src bit to disable parallel chargerAbhijeet Dharmapurikar2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | smb1355 doesn't have any facility to suspend input. One has to disable charging using the chg_en command bit. So, when parallel charging needs to be disabled, configure the charger to ignore the chg_en input pin and instead use the command register. The command register is always programmed to disable charging. When parallel charging needs to be enabled, configure it to follow the chg_en input pin. This will work for both smb1355 and smb1381 parallel chargers. Change-Id: I50294f40927641c2e0a7c7e4e7d263592086d3a9 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | qpnp-smb2: don't stomp over D+/D- during hard resetAbhijeet Dharmapurikar2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when we are in hard reset, the driver requests to remove the float of D+/D- when VBUS drops and once VBUS is back, it requests to float D+/D- again. This behaviour ends up stomping over D+/D- lines leading to noncompliance with PD spec. Fix it by ensuring we only run the CC2 workaround while VBUS dips in hard reset. Change-Id: I2bb9364b890b3a227dd3ea3e0a34a415b600e21a Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | qpnp-smb2: report main charger's share in its current_maxAbhijeet Dharmapurikar2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently main power supply reports the value of the input current limit set on the usb path. This is incorrect, it should report its own share. When parallel is disabled, it will end up reporting a value close to current limit, rounded by 25mA steps. Note that it should report INT_MAX when there is no limit set on the ICL - the case for hvdcp chargers. CRs-Fixed: 2037898 Change-Id: I9859f3d759644a08c6f762e929c471a41b1cdf8f Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | Merge "Merge branch 'android-4.4@b834e92' into branch 'msm-4.4'"Linux Build Service Account2017-04-28
|\ \ \
| * | | Merge branch 'android-4.4@b834e92' into branch 'msm-4.4'Blagovest Kolenichev2017-04-25
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-b834e92 Revert "USB: gadget: u_ether: Fix data stall issue in RNDIS tethering mode" Linux 4.4.63 MIPS: fix Select HAVE_IRQ_EXIT_ON_IRQ_STACK patch. sctp: deny peeloff operation on asocs with threads sleeping on it net: ipv6: check route protocol when deleting routes tty/serial: atmel: RS485 half duplex w/DMA: enable RX after TX is done SUNRPC: fix refcounting problems with auth_gss messages. ibmveth: calculate gso_segs for large packets catc: Use heap buffer for memory size test catc: Combine failure cleanup code in catc_probe() rtl8150: Use heap buffers for all register access pegasus: Use heap buffers for all register access virtio-console: avoid DMA from stack dvb-usb-firmware: don't do DMA on stack dvb-usb: don't use stack for firmware load mm: Tighten x86 /dev/mem with zeroing reads rtc: tegra: Implement clock handling platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event ext4: fix inode checksum calculation problem if i_extra_size is small dvb-usb-v2: avoid use-after-free ath9k: fix NULL pointer dereference crypto: ahash - Fix EINPROGRESS notification callback powerpc: Disable HFSCR[TM] if TM is not supported zram: do not use copy_page with non-page aligned address kvm: fix page struct leak in handle_vmon Revert "MIPS: Lantiq: Fix cascaded IRQ setup" char: lack of bool string made CONFIG_DEVPORT always on char: Drop bogus dependency of DEVPORT on !M68K ftrace: Fix removing of second function probe irqchip/irq-imx-gpcv2: Fix spinlock initialization libnvdimm: fix reconfig_mutex, mmap_sem, and jbd2_handle lockdep splat xen, fbfront: fix connecting to backend scsi: sd: Fix capacity calculation with 32-bit sector_t scsi: sd: Consider max_xfer_blocks if opt_xfer_blocks is unusable scsi: sr: Sanity check returned mode data iscsi-target: Drop work-around for legacy GlobalSAN initiator iscsi-target: Fix TMR reference leak during session shutdown acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison) x86/vdso: Plug race between mapping and ELF header setup x86/vdso: Ensure vdso32_enabled gets set to valid values only perf/x86: Avoid exposing wrong/stale data in intel_pmu_lbr_read_32() Input: xpad - add support for Razer Wildcat gamepad CIFS: store results of cifs_reopen_file to avoid infinite wait drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one drm/nouveau/mpeg: mthd returns true on success now thp: fix MADV_DONTNEED vs clear soft dirty race cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups ANDROID: uid_sys_stats: reduce update_io_stats overhead UPSTREAM: char: lack of bool string made CONFIG_DEVPORT always on UPSTREAM: char: Drop bogus dependency of DEVPORT on !M68K Revert "Android: sdcardfs: Don't do d_add for lower fs" ANDROID: usb: gadget: fix MTP enumeration issue under super speed mode Android: sdcardfs: Don't complain in fixup_lower_ownership Android: sdcardfs: Don't do d_add for lower fs ANDROID: sdcardfs: ->iget fixes Android: sdcardfs: Change cache GID value BACKPORT: [UPSTREAM] ext2: convert to mbcache2 BACKPORT [UPSTREAM] ext4: convert to mbcache2 BACKPORT: [UPSTREAM] mbcache2: reimplement mbcache Linux 4.4.62 ibmveth: set correct gso_size and gso_type net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions net/mlx4_core: Fix racy CQ (Completion Queue) free net/mlx4_en: Fix bad WQE issue usb: hub: Wait for connection to be reestablished after port reset blk-mq: Avoid memory reclaim when remapping queues net/packet: fix overflow in check for priv area size crypto: caam - fix RNG deinstantiation error checking MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK MIPS: Switch to the irq_stack in interrupts MIPS: Only change $28 to thread_info if coming from user mode MIPS: Stack unwinding while on IRQ stack MIPS: Introduce irq_stack mtd: bcm47xxpart: fix parsing first block after aligned TRX usb: dwc3: gadget: delay unmap of bounced requests drm/i915: Stop using RP_DOWN_EI on Baytrail drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3 UPSTREAM: net: socket: Make unnecessarily global sockfs_setattr() static UPSTREAM: net: ipv4: Don't crash if passing a null sk to ip_do_redirect. UPSTREAM: net/packet: fix overflow in check for priv area size Linux 4.4.61 mm/mempolicy.c: fix error handling in set_mempolicy and mbind. MIPS: Flush wrong invalid FTLB entry for huge page MIPS: Lantiq: fix missing xbar kernel panic MIPS: End spinlocks with .insn MIPS: ralink: Fix typos in rt3883 pinctrl MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels s390/uaccess: get_user() should zero on failure (again) s390/decompressor: fix initrd corruption caused by bss clear nios2: reserve boot memory for device tree powerpc: Don't try to fix up misaligned load-with-reservation instructions powerpc/mm: Add missing global TLB invalidate if cxl is active metag/usercopy: Add missing fixups metag/usercopy: Fix src fixup in from user rapf loops metag/usercopy: Set flags before ADDZ metag/usercopy: Zero rest of buffer from copy_from_user metag/usercopy: Add early abort to copy_to_user metag/usercopy: Fix alignment error checking metag/usercopy: Drop unused macros ring-buffer: Fix return value check in test_ringbuffer() ptrace: fix PTRACE_LISTEN race corrupting task->state Reset TreeId to zero on SMB2 TREE_CONNECT iio: bmg160: reset chip when probing arm/arm64: KVM: Take mmap_sem in kvm_arch_prepare_memory_region arm/arm64: KVM: Take mmap_sem in stage2_unmap_vm staging: android: ashmem: lseek failed due to no FMODE_LSEEK. sysfs: be careful of error returns from ops->show() drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl() drm/vmwgfx: Remove getparam error message drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl() drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl() drm/vmwgfx: Type-check lookups of fence objects Revert "Revert "Revert "CHROMIUM: android: binder: Fix potential scheduling-while-atomic""" ANDROID: sdcardfs: Directly pass lower file for mmap UPSTREAM: checkpatch: special audit for revert commit line UPSTREAM: PM / sleep: make PM notifiers called symmetrically Revert "Revert "CHROMIUM: android: binder: Fix potential scheduling-while-atomic"" Linux 4.4.60 padata: avoid race in reordering blk: Ensure users for current->bio_list can see the full list. blk: improve order of bio handling in generic_make_request() power: reset: at91-poweroff: timely shutdown LPDDR memories KVM: kvm_io_bus_unregister_dev() should never fail rtc: s35390a: improve irq handling rtc: s35390a: implement reset routine as suggested by the reference rtc: s35390a: make sure all members in the output are set rtc: s35390a: fix reading out alarm MIPS: Lantiq: Fix cascaded IRQ setup mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd() drm/radeon: Override fpfn for all VRAM placements in radeon_evict_flags KVM: x86: clear bus pointer when destroyed USB: fix linked-list corruption in rh_call_control() tty/serial: atmel: fix TX path in atmel_console_write() tty/serial: atmel: fix race condition (TX+DMA) ACPI: Do not create a platform_device for IOAPIC/IOxAPIC ACPI: Fix incompatibility with mcount-based function graph tracing ASoC: atmel-classd: fix audio clock rate ALSA: hda - fix a problem for lineout on a Dell AIO machine ALSA: seq: Fix race during FIFO resize scsi: libsas: fix ata xfer length scsi: sg: check length passed to SG_NEXT_CMD_LEN scsi: mpt3sas: fix hang on ata passthrough commands xen/setup: Don't relocate p2m over existing one libceph: force GFP_NOIO for socket allocations Linux 4.4.59 sched/rt: Add a missing rescheduling point fscrypt: remove broken support for detecting keyring key revocation metag/ptrace: Reject partial NT_METAG_RPIPE writes metag/ptrace: Provide default TXSTATUS for short NT_PRSTATUS metag/ptrace: Preserve previous registers for short regset write sparc/ptrace: Preserve previous registers for short regset write mips/ptrace: Preserve previous registers for short regset write h8300/ptrace: Fix incorrect register transfer count c6x/ptrace: Remove useless PTRACE_SETREGSET implementation pinctrl: qcom: Don't clear status bit on irq_unmask virtio_balloon: init 1st buffer in stats vq xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window xfrm: policy: init locks early Conflicts: drivers/scsi/sd.c drivers/usb/gadget/function/f_mtp.c drivers/usb/gadget/function/u_ether.c Change-Id: I80501cf02d04204f8c0f3a7f5a036eaa4d54546e Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
| | * | Merge 4.4.60 into android-4.4Xin Li2017-04-11
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in 4.4.60: libceph: force GFP_NOIO for socket allocations xen/setup: Don't relocate p2m over existing one scsi: mpt3sas: fix hang on ata passthrough commands scsi: sg: check length passed to SG_NEXT_CMD_LEN scsi: libsas: fix ata xfer length ALSA: seq: Fix race during FIFO resize ALSA: hda - fix a problem for lineout on a Dell AIO machine ASoC: atmel-classd: fix audio clock rate ACPI: Fix incompatibility with mcount-based function graph tracing ACPI: Do not create a platform_device for IOAPIC/IOxAPIC tty/serial: atmel: fix race condition (TX+DMA) tty/serial: atmel: fix TX path in atmel_console_write() USB: fix linked-list corruption in rh_call_control() KVM: x86: clear bus pointer when destroyed drm/radeon: Override fpfn for all VRAM placements in radeon_evict_flags mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd() MIPS: Lantiq: Fix cascaded IRQ setup rtc: s35390a: fix reading out alarm rtc: s35390a: make sure all members in the output are set rtc: s35390a: implement reset routine as suggested by the reference rtc: s35390a: improve irq handling KVM: kvm_io_bus_unregister_dev() should never fail power: reset: at91-poweroff: timely shutdown LPDDR memories blk: improve order of bio handling in generic_make_request() blk: Ensure users for current->bio_list can see the full list. padata: avoid race in reordering Linux 4.4.60 Change-Id: I705c78ccae62ca59f922164085e7ca03ad4ecc6b Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
| | | * power: reset: at91-poweroff: timely shutdown LPDDR memoriesAlexandre Belloni2017-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 0b0408745e7ff24757cbfd571d69026c0ddb803c upstream. LPDDR memories can only handle up to 400 uncontrolled power off. Ensure the proper power off sequence is used before shutting down the platform. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | Merge remote-tracking branch 'common/android-4.4' into android-4.4.yDmitry Shmidt2016-11-21
| | |\ \
| | | * | BACKPORT: goldfish: Enable ACPI-based enumeration for goldfish batteryYu Ning2016-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the ACPI bindings to the goldfish battery driver. Signed-off-by: Yu Ning <yu.ning@intel.com> Signed-off-by: Jin Qian <jinqian@android.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> (cherry picked from commit fdb2f37a54470473c6b7c9d680c4c114dd9bc434) Change-Id: I3b53481b5868b0b26848397420c9ba16a747819f
| | | * | BACKPORT: power: goldfish_battery: add devicetree bindingsGreg Hackmann2016-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add device tree bindings to the Goldfish virtual platform battery drivers. Signed-off-by: Greg Hackmann <ghackmann@google.com> Signed-off-by: Jin Qian <jinqian@android.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> (cherry picked from commit 65d687a7b7d6f27e4306fe8cc8a1ca66a1a760f6) Change-Id: If947ea3341ff0cb713c56e14d18d51a3f5912b64
| | * | | Merge tag 'v4.4.30' into android-4.4.yDmitry Shmidt2016-11-07
| | |\ \ \ | | | | |/ | | | |/| | | | | | This is the 4.4.30 stable release
| | * | | Merge tag 'v4.4.23' into android-4.4.yDmitry Shmidt2016-10-10
| | |\ \ \ | | | | | | | | | | | | | | | | | | This is the 4.4.23 stable release
| | * \ \ \ Merge tag 'v4.4.17' into android-4.4.yDmitry Shmidt2016-08-11
| | |\ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | This is the 4.4.17 stable release
* | | | | | Merge "power: smb-lib: Fix charger type reporting"Linux Build Service Account2017-04-28
|\ \ \ \ \ \
| * | | | | | power: smb-lib: Fix charger type reportingAshay Jaiswal2017-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Charger type gets updated in 'smblib_update_usb_type' function and this should only be called after completion of APSD. Update the calling sites of 'smblib_update_usb_type' to use 'smblib_get_apsd_result' instead of 'smblib_update_usb_type'. This ensures charger type doesn't get updated inadvertently. CRs-Fixed: 2038837 Change-Id: Iaa380c8f02bb71ad0f4367c16ec39d86d825dfa2 Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
* | | | | | | Merge "power: qpnp-fg-gen3: configure ESR FCC based on Qnovo enable status"Linux Build Service Account2017-04-26
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | power: qpnp-fg-gen3: configure ESR FCC based on Qnovo enable statusSubbaraman Narayanamurthy2017-04-19
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, FG driver configures ESR FCC manually when charging is enabled and parallel charging is enabled. However, when Qnovo is enabled, it needs to be configured even when parallel charging is not enabled. This makes sure that the ESR pulses don't cause any overshoot when FCC is high already and thus help reducing VLIM errors seen on Qnovo. Change-Id: Iabe9e7ea785534d673978f081d20584de1480559 Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* / / / / / soc: qcom: Add Minidump supportLingutla Chandrasekhar2017-04-20
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Minidump support for clients to get minimum required data at the time of system crash. The Minidump table resides in SMEM, BOOT(SBL) will iterate the table entries and dumps out (to USB/Flash) the data in address location. Any client can register to this table with static or known addresses, as currently Minidump doesn't support dumping of dynamic data structures. To simplify post processing, we create an ELF header, where each entry in the minidump table is a section in elf header. If Memory dump table enabled, Dump all data entries registered with MDT. Enable Minidump: echo mini > /sys/kernel/dload/dload_mode Change-Id: I0fc8d21aef71ded34a498426ee3d7f86b063a639 Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
* | | | | Merge "qcom: smblib: report discharging in case of input OV"Linux Build Service Account2017-04-18
|\ \ \ \ \
| * | | | | qcom: smblib: report discharging in case of input OVHarry Yang2017-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The register BATTERY_CHARGER_STATUS continues to show charging state (like FULLON or TAPER mode) in cases where charging was paused due to input OV. Look at BATTERY_CHARGER_STATUS_7_REG to determine if charging was paused. This fix modifies previous similar change for JEITA hard condition but continue to cover the case. Change-Id: Ibc5f4f5e85651708b656f06814008b0c319db02d Signed-off-by: Harry Yang <harryy@codeaurora.org>
* | | | | | Merge "power: smb-lib: WA to fix legacy cable detection"Linux Build Service Account2017-04-18
|\ \ \ \ \ \
| * | | | | | power: smb-lib: WA to fix legacy cable detectionAbhijeet Dharmapurikar2017-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently a legacy cable is always assumed which causes decreased performance from non-legacy HVDCP adapters with 10k ohm Rp. Fix this by disabling and re-enabling Type-C to rerun the legacy cable detection. Moreover, the legacy cable IRQs are not used and cause unnecessary type-c-change IRQs to fire. Disable them. CRs-Fixed: 2020132 Change-Id: I57fc3762251ead028298f01b06d66f52fd119c6b Signed-off-by: Nicholas Troast <ntroast@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
| * | | | | | power: smb-lib: cache USB Type-C statusAbhijeet Dharmapurikar2017-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the USB Type-C status is retrieved from the hardware in real time. The Type-C change IRQ should trigger on every change of the Type-C status, therefore it is not necessary to read the status registers multiple times if a Type-C change IRQ has not triggered. Furthermore, workarounds which force UFP/DFP mode, or disable Type-C altogether could mislead the software into thinking a removal has happened. Cache all of the USB Type-C status registers upon receiving a USB Type-C change IRQ, and use the cached status where appropriate. CRs-Fixed: 2020132 Change-Id: I99f2ff29633207898ae803672162db0c3cec80dc Signed-off-by: Nicholas Troast <ntroast@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
| * | | | | | power: qcom: lock USB removalAbhijeet Dharmapurikar2017-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During USB removal a lot of cleanup happens; votables are reset, flags are cleared, etc. After the cleanup is finished there is a chance that USB power supply consumers may set properties before getting the USB removal notification. This can lead to many problems where ICL limits are set based on the previous insertion, or APSD is disabled due to a late setting of PD_ACTIVE. Introduce a lock which prevents USB power supply consumers from setting properties when USB has been removed. This lock will ensure that the next insertion starts with a clean slate. CRs-Fixed: 2020132 Change-Id: I05a4145289b6097e41afc30aa09782722fa03fb6 Signed-off-by: Nicholas Troast <ntroast@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
| * | | | | | power: smb-lib: cleanup everything upon USB removalNicholas Troast2017-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently it is expected upon USB removal that consumers will receive a notification that USB has been removed and will cleanup after themselves. Unfortunately this makes it very difficult to keep track of all of the necessary cleanup steps upon removal. Also, in preparation of not allowing consumers to set properties after a USB removal has happened it is now the responsibility of the charger driver to cleanup on their behalf. Moreover, since we don't have a separate removal/insertion interrupt, the removal/insertion code may run even if the typeC cable is not physically inserted/removed. Fix it by tracking a typec_present flag. CRs-Fixed: 2020132 Change-Id: Ia514abaa4e12f72daec17fd1e95f3c51cc38a15f Signed-off-by: Nicholas Troast <ntroast@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | | | | | Merge "power: smb-lib: start CC2 removal WA when VBUS is low"Linux Build Service Account2017-04-18
|\| | | | | |
| * | | | | | power: smb-lib: start CC2 removal WA when VBUS is lowAbhijeet Dharmapurikar2017-04-17
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the CC2 removal workaround starts whenever PD issues a hard reset. When PD issues a hard reset it is not guaranteed that VBUS will fall since the source may not even be PD capable. The CC2 removal workaround should only run during the time that VBUS is low and CC is debounced. Fix this by scheduling the CC2 removal workaround when VBUS falls and CC is debounced, and cancel the workaround when either VBUS rises, or the removal detection is successful. CRs-Fixed: 2020132 Change-Id: I6475d37911d90805ed8b3bb4b3a26a9f7557ebd6 Signed-off-by: Nicholas Troast <ntroast@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
* | | | | | Merge "qcom: qnovo: allow charger error conditions to disable qnovo"Linux Build Service Account2017-04-18
|\ \ \ \ \ \
| * | | | | | qcom: qnovo: allow charger error conditions to disable qnovoHarry Yang2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop qnovo charging in case of all errors except CV mode, which allows ptrain to continue. The rest errors include JEITA soft and hard conditions, battery overvoltage, battery missing, safety timer expired, switcher disabled and charger disabled. Change-Id: I010853983d018e20235a91762b0d4f9a916c0ede Signed-off-by: Harry Yang <harryy@codeaurora.org>
* | | | | | | qcom: smb2: Fix FCC/Float voltage configuration from device treeAshay Jaiswal2017-04-18
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC and Float voltage is configured by battery driver using power_supply framework (main_psy), re-run FCC/FV election once main_psy is available to ensure FCC/Float voltage is configured and reflected on hardware. While at it, add check for valid "pl_psy" before using it. CRs-fixed: 2028082 Change-Id: I2f5dc174eacf325ba27186b07c89bb7d438f061b Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
* | | | | | qcom: smb-lib: rerun APSD on insertion for micro USB modeAshay Jaiswal2017-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of very slow insertion of SDP/DCP there is a possibility that D+/D- makes contact while APSD is in progress. This will result in an incorrect type detection. Fix this by doing a APSD rerun after charger-type detection is complete. CRs-Fixed: 2032590 Change-Id: I0037b90f29dbe65a2cdb2771d5caceff77862f03 Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
* | | | | | Merge "qcom: smb2: ensure QC adapter is at 5V at shutdown"Linux Build Service Account2017-04-15
|\ \ \ \ \ \
| * | | | | | qcom: smb2: ensure QC adapter is at 5V at shutdownAshay Jaiswal2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the shutdown hook, driver forces adapter to 5V but there is a possibility that the source change IRQ triggers and moves back the adapter to 9V. To avoid this and any race between the irq's and shutdown path, disable all irqs as the first step in shutdown path. CRs-Fixed: 2032575 Change-Id: I0d8f59a73b6631e9bf6f5d64dd215c239e7772fe Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
* | | | | | | power: qpnp-smb2: Specify the min/max charger switching frequencyAnirudh Ghayal2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a device tree property to override the minimum and maximum charger buck/boost switching frequency. Change-Id: I6b827157c23a389edf2daa412e6825b6ce07a886 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | | | | | | power: smb-lib: Fix sink/source insertion/removal function orderingAnirudh Ghayal2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On PM660 the charger buck/boost frequency is configured in the same register. Present ordering of the sink/source removal function call causes incorrect charger frequency configuration. Fix this by first calling sink_removal and then source_insertion function. Also, configure the buck frequency to the initial 5V USB value during source insertion. Change-Id: I0d436f7e0843f2ddaa3d09db05cec403d03b6893 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | | | | | | Merge "power: qpnp-fg-gen3: Add support to configure base termination current"Linux Build Service Account2017-04-13
|\ \ \ \ \ \ \
| * | | | | | | power: qpnp-fg-gen3: Add support to configure base termination currentSubbaraman Narayanamurthy2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to configure base termination current which is the upper boundary at which fuel gauge will signal an end of charge to the charger during discharging. Change-Id: Ied2f89fc8e132161d55a9bfbcca6738fef164b20 Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
| * | | | | | | power: qpnp-fg-gen3: Adjust ki_coeff_full_soc dynamicallySubbaraman Narayanamurthy2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the battery temperature goes below -10 C, SOC may get stuck to 100%. This is due to the SOC full loop adjusting down with very high battery impedance. To mitigate this, SOC full loop has to be frozen. Add support for it by adjusting ki_coeff_full_soc dynamically based on battery temperature. Change-Id: I6218568712b025bc4427770bf86d142d50f40c7b Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
* | | | | | | | Merge "ARM: dts: msm: Add RRADC die-temp channel for PM660 FG"Linux Build Service Account2017-04-12
|\ \ \ \ \ \ \ \
| * | | | | | | | power: qpnp-fg-gen3: Add WA for oscillator drift on PM660Anirudh Ghayal2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is observed that on certain foundry devices, frequency of the standby oscillator drifts with die temperature. Compensate for this by correcting the FG time-base based on die temperature. Change-Id: I0de19b9c342bf50568502b4de96897e159a8e143 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
* | | | | | | | | Merge "qcom: smblib: Show correct charging status"Linux Build Service Account2017-04-11
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | |
| * | | | | | | | qcom: smblib: Show correct charging statusHarry Yang2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, POWER_SUPPLY_STATUS shows status 'in charging' even with JEITA hard HOT or COLD condition where charging actually stops. Change status to 'not in charging'. Change-Id: Id86296aed878499e24f9c3eb6e032239e2f02e40 Signed-off-by: Harry Yang <harryy@codeaurora.org>
* | | | | | | | | Merge "smb138x: introduce support for smb1355"Linux Build Service Account2017-04-11
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | |
| * | | | | | | | smb138x: introduce support for smb1355Abhijeet Dharmapurikar2017-04-07
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smb1355 is a derivative chip of smb1381, where features like input current control and the tadc have been removed. Smb1355 can only be used in parallel mode and that too in mid-mid configuration. Note that even if smb1355 doesn't have an adc, its die temperature could be measured by an external adc. So keep the support for charger_temp and charger_temp_max properties. Also smb1355's aux therm input will likely be connected to the connector thermistor. Support connector_temp_health property. Change-Id: I738d60ea3385c296187a9cc8afe8134feb8c615f Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>