Commit graph

590157 commits

Author SHA1 Message Date
Liam Breck
760d62e940 power: supply: bq24190_charger: Call set_mode_host() on pm_resume()
commit e05ad7e0741ce0505e1df157c62b22b95172bb97 upstream.

pm_resume() does a register_reset() which clears charger host mode.

Fix by calling set_mode_host() after the reset.

Fixes: d7bf353fd0 ("bq24190_charger: Add support for TI BQ24190 Battery Charger")
Signed-off-by: Liam Breck <kernel@networkimprov.net>
Acked-by: Mark Greer <mgreer@animalcreek.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-14 13:32:54 +02:00
Liam Breck
ed22498411 power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING
commit 767eee362fd72bb2ca44cc80419ca4b38c6d8369 upstream.

The interrupt signal is TRIGGER_FALLING. This is is specified in the
data sheet PIN FUNCTIONS: "The INT pin sends active low, 256us
pulse to host to report charger device status and fault."

Also the direction can be seen in the data sheet Figure 37 "BQ24190
with D+/D- Detection and USB On-The-Go (OTG)" which shows a 10k
pull-up resistor installed for the sample configurations.

Fixes: d7bf353fd0 ("bq24190_charger: Add support for TI BQ24190 Battery Charger")
Signed-off-by: Liam Breck <kernel@networkimprov.net>
Acked-by: Mark Greer <mgreer@animalcreek.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-14 13:32:54 +02:00
Michael Ellerman
fed4400cd4 powerpc/powernv: Fix opal_exit tracepoint opcode
commit a7e0fb6c2029a780444d09560f739e020d54fe4d upstream.

Currently the opal_exit tracepoint usually shows the opcode as 0:

  <idle>-0     [047] d.h.   635.654292: opal_entry: opcode=63
  <idle>-0     [047] d.h.   635.654296: opal_exit: opcode=0 retval=0
  kopald-1209  [019] d...   636.420943: opal_entry: opcode=10
  kopald-1209  [019] d...   636.420959: opal_exit: opcode=0 retval=0

This is because we incorrectly load the opcode into r0 before calling
__trace_opal_exit(), whereas it expects the opcode in r3 (first function
parameter). In fact we are leaving the retval in r3, so opcode and
retval will always show the same value.

Instead load the opcode into r3, resulting in:

  <idle>-0     [040] d.h.   636.618625: opal_entry: opcode=63
  <idle>-0     [040] d.h.   636.618627: opal_exit: opcode=63 retval=0

Fixes: c49f63530b ("powernv: Add OPAL tracepoints")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-14 13:32:54 +02:00
Ben Hutchings
2b58bb1682 cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores
commit 4cca0457686e4ee1677d69469e4ddfd94d389a80 upstream.

The switch that conditionally sets CPUPOWER_CAP_HAS_TURBO_RATIO and
CPUPOWER_CAP_IS_SNB flags is missing a break, so all cores get both
flags set and an assumed base clock of 100 MHz for turbo values.

Reported-by: GSR <gsr.bugs@infernal-iceberg.com>
Tested-by: GSR <gsr.bugs@infernal-iceberg.com>
References: https://bugs.debian.org/859978
Fixes: 8fb2e440b2 (cpupower: Show Intel turbo ratio support via ...)
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-14 13:32:54 +02:00
Ard Biesheuvel
3e8c47e9c1 ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode
commit 5008efc83bf85b647aa1cbc44718b1675bbb7444 upstream.

The PJ4 inline asm sequence to write to cp15 cannot be built in Thumb-2
mode, due to the way it performs arithmetic on the program counter, so it
is built in ARM mode instead. However, building C files in ARM mode under
CONFIG_THUMB2_KERNEL is problematic, since the instrumentation performed
by subsystems like ftrace does not expect having to deal with interworking
branches.

Since the sequence in question is simply a poor man's ISB instruction,
let's use a straight 'isb' instead when building in Thumb2 mode. Thumb2
implies V7, so 'isb' should always be supported in that case.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-14 13:32:54 +02:00
Cong Wang
436188eb04 9p: fix a potential acl leak
commit b5c66bab72a6a65edb15beb60b90d3cb84c5763b upstream.

posix_acl_update_mode() could possibly clear 'acl', if so we leak the
memory pointed by 'acl'.  Save this pointer before calling
posix_acl_update_mode() and release the memory if 'acl' really gets
cleared.

Link: http://lkml.kernel.org/r/1486678332-2430-1-git-send-email-xiyou.wangcong@gmail.com
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Reported-by: Mark Salyzyn <salyzyn@android.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Greg Kurz <groug@kaod.org>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Cc: Ron Minnich <rminnich@sandia.gov>
Cc: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-14 13:32:54 +02:00
Linux Build Service Account
c6d1c1699e Merge "drm/msm: make msm_drm.h uapi header safe for C++" 2017-05-13 16:25:54 -07:00
Steve Muckle
a347e1c4dd ANDROID: android-base.cfg: remove spurious CONFIG_MODULES line
CONFIG_MODULES must be enabled as part of the android base kernel
configuration. There is already a line specifying the option be
enabled, but there was a pre-existing line requiring it be disabled.
Remove it.

Bug: 38224475
Change-Id: I608de5ae68f3a03d5da4e5800bbf37cc71dff8b8
Signed-off-by: Steve Muckle <smuckle@google.com>
2017-05-12 10:45:50 -07:00
Stephen Boyd
c3ed5ae37c ARM64: Make KERNEL_TEXT_RDONLY depend on !DEBUG_RODATA
KERNEL_TEXT_RDONLY is similar to DEBUG_RODATA, but it relies on
4k pages to be made, whereas DEBUG_RODATA can work with or
without 4k pages. Let's move the depends on statement from
FORCE_PAGES to KERNEL_TEXT_RDONLY to accurately reflect the real
dependency here. This fixes a warning where we have FORCE_PAGES
enabled but DEBUG_RODATA is also enabled at the same time because
the latter is "default y" now and the depends on for FORCE_PAGES
can't be satisfied. In fact, it's OK for FORCE_PAGES to be
enabled at the same time as DEBUG_RODATA, it's really there to
prevent KERNEL_TEXT_RDONLY being enabled at the same time as
DEBUG_RODATA. Move the depends on to make things clearer.

Change-Id: Ie73b768ed4540cdb4d752a9b5f1a049bf644bc7e
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-05-12 08:47:47 -07:00
Olav Haugan
092564d2a8 defconfig: msmcortex: Cleanup
Sync defconfig with make menuconfig output.

Change-Id: Ieefef23fe14676007580c524268ef2a228d38059
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2017-05-12 08:44:35 -07:00
Stephen Boyd
0ed5a46cc0 ASoC: wcd: Depend on right config option
Kconfig doesn't have the CONFIG_ part of the option, so don't use
it here. This fixes a kconfig warning about missing a dependency
for "CONFIG_SPI" which doesn't exist because it's supposed to be
"SPI".

Change-Id: Ie449ff250dd87b0a445d34ee079082c6e91f147c
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-05-12 08:37:11 -07:00
Arnd Bergmann
d3cb1ad183 ANDROID: memory_state_time: fix undefined behavior with missing DT properties
kernelci reports warnings about unintialized variable usage:

drivers/misc/memory_state_time.c:351:12: warning: 'lenf' is used uninitialized in this function [-Wuninitialized]
drivers/misc/memory_state_time.c:321:14: warning: 'lenb' is used uninitialized in this function [-Wuninitialized]

In both cases we try to continue without a DT property but use the
length that has not been assigned at this point. This rearranges the
code in the two functions to bail out earlier in case of an error.

The patch is needed for both android-common-4.9, 4.4 and 3.18.

Link: https://kernelci.org/build/id/591177f459b5147648b12d54/logs/
Fixes: ad3c02f8b3a5 ("ANDROID: Implement memory_state_time, used by qcom,cpubw")
Cc: James Carr <carrja@google.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2017-05-12 14:36:34 +02:00
Arnd Bergmann
1b9d700c89 ANDROID: rfkill: fix unused function warning
As reported by kernelci, we get a harmless warning in this driver
when CONFIG_PM is disabled:

net/rfkill/core.c:810:12: warning: 'rfkill_resume' defined but not used [-Wunused-function]
net/rfkill/core.c:800:12: warning: 'rfkill_suspend' defined but not used [-Wunused-function]

This marks the functions as __maybe_unused to remove the #ifdef, and uses
a conditional reference to the pm operations instead, which will work
in any combination.

The patch is needed for both android-common-4.9 and 4.4.

Link: https://kernelci.org/build/id/59117c2f59b5147b06b12d54/logs/
Fixes: de6f7210e931 ("ANDROID: rfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down")
Cc: Nick Pelly <npelly@google.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2017-05-12 14:36:34 +02:00
Ashay Jaiswal
0038058ab4 qpnp-smb2: Add software based glitch filter for OTG detection
When the USB_ID line is pulled low for a very short time there is a
possibility that the SW misses rising edge(removal) event. This may
lead to the state where charger is stuck in the boost-mode forever.

Fix this my adding a SW based glitch logic which checks for the
USB_ID after a SW debounce time and then notifies its presence/removal to
the USB driver.

CRs-Fixed: 2044958
Change-Id: I31974f7d68b435bbef329278cedbd726ada02e3f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-05-12 16:45:10 +05:30
Ashay Jaiswal
3050aad3ea spmi-pmic-arb: add support to dispatch interrupt based on IRQ status
Current implementation of SPMI arbiter dispatches interrupt based on the
Arbiter's accumulator status, in some cases the accumulator status may
remain zero and the interrupt remains un-handled. Add logic to dispatch
interrupts based Arbiter's IRQ status if the accumulator status is zero.

CRs-Fixed: 2934741
Change-Id: I068f5c7d33758063878721d7cce1308fa803e3bd
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-05-12 16:24:01 +05:30
Saranya Chidura
24bba179ae defconfig: msm: remove dcc config for perf on sdm660
remove the DCC_CONFIG option in perf defconfig for SDM660
target.

Change-Id: Id1b019a5eb1c6a71d4b5e6e854e642411714a900
Signed-off-by: Saranya Chidura <schidura@codeaurora.org>
2017-05-12 15:26:51 +05:30
Ritesh Harjani
45eadbbce3 mmc: mmc: Fix mmc_partial_init for HS400 mode
In case of emmc5.0 cards where HS400 mode and CMD5(awake) partial
init is enabled -> mmc_partial_init is broken and gives below errors.
Fix this by adding calibration logic in case of HS400 mode.

NOTE: In HS400 mode tuning is only performed once during bootup (in
HS200 mode).
Post to that it is always DLL calibration which is performed (in
system/runtime resume).
So even for below issue since timing is already changed using
cached_ios, then do the calibration using ->execute_tuning.

<dmesg errors w/o patch>
root@msm8996:/ # [   76.011036] mmc0: mmc_runtime_suspend:
[   77.315903] mmc0: mmc_runtime_resume:
[   77.367866] mmc0: mmc_partial_init: starting partial init
[   77.376225] mmc0: mmc_test_awake_ext_csd: mmc_get_ext_csd failed
(-110)
[   77.382190] mmc0: mmc_partial_init: done partial init (-110)
[   77.387536] mmc0: _mmc_resume: awake failed (-110), fallback to full
init
[   77.394405] mmc0: mmc_init_card:
[   77.402762] mmc0: mmc_init_card: mmc_send_op_cond() fails -110
[   77.407573] mmc0: MMC card re-init failed rc = -110 (retries = 3)
[   77.507261] mmc0: _mmc_resume: awake failed (-110), fallback to full
init
[   77.513293] mmc0: mmc_init_card:

<dmesg with patch>
[   74.002624] mmc0: mmc_runtime_resume:
[   74.056089] mmc0: mmc_partial_init: starting partial init
[   74.067143] mmc0: mmc_partial_init: done partial init (0)

Change-Id: I0e55efb7863b75bd584843c3fc920c845996eb5c
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2017-05-12 02:08:27 -07:00
Ajay Agarwal
2ecf8c9fd2 sound: usb: Add default branches for BADD 3.0 devices
For a BADD 3.0 device, the Data Endpoint wMaxPacketSize
of an Alt Setting must be one of the values mentioned in
the specifications. Similarly, the unit IDs of the source
units of any entity is prescribed by the specs. Add
support for checking the error(default) branches in the
relevant switch cases and accordingly handle them.

Change-Id: Ib88eee21df012089d41c4e78a161ddc6767e1bd4
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
2017-05-12 12:33:15 +05:30
Tharun Kumar Merugu
94e69df401 msm: ADSPRPC: verify and initialize some variables
Verify cid variable before accessing it and
initialize invoket variable before bailing out.

Change-Id: Idec133bf8ba1a000b83f92bb567f0b75bbdab340
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
2017-05-11 23:40:29 -07:00
Manoj Prabhu B
b57f957da3 memshare: Update the free memory count after allocation
The patch updates the client's free memory
count variable after the successful allocation.

CRs-Fixed: 2046258
Change-Id: Ibae317596557e23d2b2278daf433bd293a8bd0be
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2017-05-12 10:42:41 +05:30
Santosh Mardi
28aab0311c PM/devfreq: bw_hwmon: add mutex lock in polling interval case
Protect polling interval update event in the governor
with mutex lock.
This will avoid parallel execution of update interval event
on different cores, resulting in memory poison overwritten.

CRs-Fixed: 2035633
Change-Id: Ib919d9774317bc01e3cf581c169c5d18555f484f
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2017-05-12 10:22:31 +05:30
Taniya Das
1098fcc4b9 clk: Move vdd voting before set rate and parent
There could be clocks where the clock operations of set_rate_and_parent
would be defined to take care of setting rate and updating parent.
Move the vdd voting logic to ensure the vdd levels are voted prior to
updating rate and parent.

Change-Id: I57f903f95f290627d676afd567a6e6d21decf4a3
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2017-05-12 10:13:32 +05:30
Can Guo
6a4c4fcfe2 scsi: ufs: Initialize cmd_id and check lrbp->cmd NULL
In commit d70b0a18f6 ("scsi: ufs: add command
logging infrastructure"), cmd_id is not initialized
and lrbp->cmd is explicitly dereferenced without
checking NULL. Fix them by initializing cmd_id with
an initial value 0 and checking NULL for lrbp->cmd.

Change-Id: I6f66066adc8d53e3615df50ac49dd313f6d7ea8e
Signed-off-by: Can Guo <cang@codeaurora.org>
2017-05-12 08:20:54 +08:00
Amar Singhal
cb704257ac msm: wlan: Update regulatory database
Update regulatory database for countries KR, KP and NA.

CRs-Fixed: 2046148
Change-Id: Ic040c209be10af63006bb53c19efab97c0587cb5
Signed-off-by: Amar Singhal <asinghal@codeaurora.org>
2017-05-11 15:00:33 -07:00
Zhen Kong
c5d33082ab qseecom: add bus scaling support for GP operations
When a GP application is loaded and the crypto engine is accessed,
a NOC error will happen if CE clock is not enabled. Thus, add bus
scaling support for GP operations.

Change-Id: I59d63be9e08b2c135edc6ec224ec1a355434e1ec
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2017-05-11 14:54:54 -07:00
Linux Build Service Account
ae4d972f07 Merge "Merge branch 'android-4.4@9796ea8' into branch 'msm-4.4'" 2017-05-11 11:48:48 -07:00
Linux Build Service Account
24638027f1 Merge "drm/msm: add extern C guard for the UAPI header" 2017-05-11 11:48:47 -07:00
Linux Build Service Account
8691dbd00f Merge "input: misc: fix error path for hbtp touch driver" 2017-05-11 11:48:46 -07:00
Linux Build Service Account
9ad03b1fbd Merge "ARM: dts: msm: Add SMB1381 device node for QRD SDM660" 2017-05-11 11:48:45 -07:00
Linux Build Service Account
166f9cc74b Merge "diag: Validate proper mdlog session for a PD" 2017-05-11 11:48:44 -07:00
Linux Build Service Account
aa86283c28 Merge "ota_crypto: Add NULL pointer check for new_req variable" 2017-05-11 11:48:43 -07:00
Linux Build Service Account
8de2594b01 Merge "USB: f_qdss: Fix crash issue during connect_work" 2017-05-11 11:48:41 -07:00
Linux Build Service Account
e6f467a16d Merge "soc: qcom: qpnp-haptic: add support for auto mode" 2017-05-11 11:48:40 -07:00
Linux Build Service Account
4f71440325 Merge "scsi: ufs: ufs-qcom-ice: Initialize local variable in ice_cfg_start()" 2017-05-11 11:48:39 -07:00
Linux Build Service Account
b044376188 Merge "mmc: core: Replacing sprintf() with snprintf()" 2017-05-11 11:48:38 -07:00
Linux Build Service Account
c454ad4e3e Merge "sound: usb: Fix format desc usage for BADD 3.0 devices" 2017-05-11 11:48:37 -07:00
Linux Build Service Account
a55a52a8a2 Merge "drm/msm: Allocate secure buffer objects" 2017-05-11 11:48:34 -07:00
Hemant Kumar
cbec952d17 usb: gadget: f_cdev: Increase number of driver instances to 3
This allows to instantiate two dial up network interfaces and
one NMEA interface.

Change-Id: I59f5d93a5e9360628d8004508162dcdb42f6520d
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2017-05-11 11:12:50 -07:00
Shiraz Hashim
504b0bb784 dma-mapping: Always remap on dma buffer free
DMA clients may opt to clear cpu virtual address mapping
on alloc. On free when dma buffer is given back to cpu,
ensure that it is always remapped in cpu address space.

Change-Id: I67f9616d9bee8cf07cbe81468ebf174d2599f4c5
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2017-05-11 10:45:31 -07:00
Vishnuvardhan Prodduturi
753a110fe8 ARM: dts: msm: enable partial update for dual dsi cmd mode on msm8998
Enable partial update for nt35597 sharp dual dsi cmd mode panel
on msm8998. This feature helps in power savings for use cases where
only part of the display is getting updated.

Change-Id: Ia336afabf202246dc724c8e40939030c2d069d70
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
2017-05-11 22:25:24 +05:30
Benjamin Chan
76abd2b2fb msm: mdss: Use 64-bit math for bandwidth calculation
For larger panel with longer vertical pixel count, it is possible that
bandwidth requirement is much higher during downscaling usecase. Current
bandwidth calculation for compression ratio adjustment only use 32-bit
and it is shown that overflow can happen, and is required to change to
use 64-bit variable as input and output.

CRs-Fixed: 2045602
Change-Id: I817e9d55fb6e24e686513327d00f7efd08ac717f
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2017-05-11 10:31:14 -04:00
Linux Build Service Account
c4a48b7ed2 Merge "mmc: host: sdhci-msm-ice: Initialize local variable in ice_cmdq_cfg()" 2017-05-11 06:48:13 -07:00
Linux Build Service Account
33a48f3f45 Merge "ath10k: cancel the event work in wlan snoc driver module remove" 2017-05-11 06:48:12 -07:00
Linux Build Service Account
f87cdfa943 Merge "qseecom: Initialize the hlos_ce_hw_instance array" 2017-05-11 06:48:11 -07:00
Linux Build Service Account
d2c35f47e8 Merge "btfm: Fix coding error with uninitialized variables" 2017-05-11 06:48:09 -07:00
Linux Build Service Account
9a95bce25c Merge "input: stm: Fix NULL dereference in laser driver" 2017-05-11 06:48:08 -07:00
Linux Build Service Account
590cfee905 Merge "msm: camera: Fixing NULL dereference in sensor code" 2017-05-11 06:48:06 -07:00
Linux Build Service Account
9fa70208d4 Merge "ARM: dts: msm: Add support for camss throttle clock on SDM660" 2017-05-11 06:48:05 -07:00
Linux Build Service Account
3757478deb Merge "msm: isp: Fix pdaf buffer drop" 2017-05-11 06:48:04 -07:00
Linux Build Service Account
5633ac9b6c Merge "msm: camera: Do not pass kptr in copy_from_user" 2017-05-11 06:48:03 -07:00