Commit graph

595038 commits

Author SHA1 Message Date
Yue Ma
f76f50c672 cnss2: Remove deprecated API
cnss_set_driver_status() is no longer needed by WLAN host driver.
Hence remove it from platform driver.

Change-Id: I31a3174bdded924a9279a40ece05a835277e4626
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-11-03 10:27:53 -07:00
Dhoat Harpal
091090e84f soc: qcom: glink_smem_native_xport: Add readback to write index
Writing data to DDR is not ensured to be completed even with addition
of data memory barrier. It is possible that CPU receive that write
instruction is completed but in reality data can be stuck in intermediate
buffer.

Readback of write index is added to ensure that remote side is sent
interrupt only after data is written on DDR.

CRs-Fixed: 2136645
Change-Id: I32c4967daf71991621b57421167e0ac8d38ce065
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-11-03 21:48:35 +05:30
Lior David
3d38ac71cc wil6210: missing length check in wil_cfg80211_mgmt_tx
Add a length check in wil_cfg80211_mgmt_tx to detect unsigned integer
overflow.

Change-Id: I37f988481433a2e1238831980715aef32aa89a85
Signed-off-by: Lior David <liord@codeaurora.org>
2017-11-03 09:08:23 -07:00
Lior David
6e5a9b3250 wil6210: missing length check in wmi_set_ie
Add a length check in wmi_set_ie to detect unsigned integer
overflow.

Change-Id: Id1ec6a6218f3fe6e00cc3f9a8e674f8f843273f2
Signed-off-by: Lior David <liord@codeaurora.org>
2017-11-03 09:06:54 -07:00
Lior David
5c9c0841e5 wil6210: add block size checks during FW load
When loading FW from file add block size checks to ensure a
corrupted FW file will not cause the driver to write outside
the device memory.

Change-Id: I6d7342cd33b2c47b701bcca4ee3cd84febbc56a2
Signed-off-by: Lior David <liord@codeaurora.org>
2017-11-03 09:05:20 -07:00
Lior David
59bd12d370 wil6210: fix length check in __wmi_send
The current length check:
sizeof(cmd) + len > r->entry_size
will allow very large values of len (> U16_MAX - sizeof(cmd))
and can cause a buffer overflow. Fix the check to cover this case.
In addition, ensure the mailbox entry_size is not too small,
since this can also bypass the above check.

Change-Id: Iecb4f53ef05da0e015bc954b57b0e40debb7c8b7
Signed-off-by: Lior David <liord@codeaurora.org>
2017-11-03 09:02:13 -07:00
Linux Build Service Account
fc86e52281 Merge "Merge android-4.4@89074de (v4.4.94) into msm-4.4" 2017-11-03 07:04:47 -07:00
Linux Build Service Account
3c586a777b Merge "serial: msm_serial_hs: Do not accept Rx Data till the Rx pipe connect" 2017-11-03 07:04:46 -07:00
Hareesh Gundu
ad76dbd362 ARM: dts: msm: Add GPU maximum frequency 430Mhz support for SDM636
SDM636 inherits all SDM660 GPU properties, but it will support
GPU max frequency 430Mhz and DDR max frequency 1353Mhz.

Change-Id: I7f88e5d187df2880757ceb6676e75f3cfe5d9218
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-11-03 06:36:14 -07:00
Dhoat Harpal
e237404021 soc: qcom: glink_ssr: Use do_cleanup_data from pkt_priv
do_cleanup_data pointer is created for every SSR notification and
stored in cb_data. It is possible that the stored pointer can be
overwritten if two peripherals SSR happens at the same time.

Use do_cleanup_data pointer directly in pkt_priv, instead of
dereferencing from cb_data.

CRs-Fixed: 2121529
Change-Id: Ife68cdc460c0628623dea6827632b8acd8d1d955
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-11-03 16:46:18 +05:30
Ritesh Harjani
ea65e36e9d defconfig: msmcortex: Enable sdcardfs
This patch enables sdcardfs for msmcortex.

Change-Id: Icf3105c0080a35c2ead663decf4340647ac64b67
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2017-11-03 04:11:26 -07:00
Liangwei Dong
ca76249c74 net🛜cnss2: Fix driver loading failure
When driver loading and registering to cnss,
the interruptible wait in cnss_driver_event_post
could be woken up by signal. In this driver
register failure case, the __hdd_module_init
will release all the driver resource.
But the cnss_driver_event_work is still probing
the driver normally in the same time. The driver
state mismatch will cause crash.

Fixed by using non interruptible wait for driver
register

Change-Id: I6e99e83f1f3312e0b7d74e432ce90ff23631bc19
Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
CRs-Fixed: 2134631
2017-11-03 02:32:30 -04:00
Anirudh Ghayal
fa88f5e4cb power: qpnp-fg-gen3: Skip the status_change work if suspended
There is a scenario where the status change work can hold
a mutex lock for ~1.5 seconds which can race with the FG resume
callback. Avoid this condition by adding a state variable
to track the suspend/resume state and skip executing the
status change work while suspended.

CRs-Fixed: 2101514
Change-Id: Ib5300a5dfce30c4c6bcc8d8428b664c184a83fb4
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-11-03 08:28:01 +05:30
Satyajit Desai
d0f8d1f850 soc: qcom: Add support for QDSS bridge driver
Add support to route QDSS data received from MDM via MHI
to USB. The driver will help route diag traffic over the
QDSS sub-system to USB on APPS side. It acts as a bridge
between PCIE MHI and USB interface.

Change-Id: I98bea976638ce3f80785d8f40e2a936fc62397eb
Signed-off-by: Satyajit Desai <sadesai@codeaurora.org>
2017-11-02 15:30:59 -07:00
Mohammed Javid
34db235e95 msm: ipa: Fix to use GFP_DMA flag
IPAv2 hardware works with 32 bit addressing,
so allocate a kernel memory using GFP_DMA flag
which is processed by IPA hardware.

Change-Id: I6f35e7f2179dc48f718221f6a3d228aca67c4154
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2017-11-02 19:10:22 +05:30
Rahul Sharma
960078448f defconfig: msm: enable DRM driver for msm8996
This change disables FB driver and enable DRM display driver
on msm8996 auto defconfig.

Change-Id: Ic214b70dd47379464220e4f801c2ab38753c9a10
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-11-02 14:11:13 +05:30
Anurag Chouhan
fd554860f0 icnss: Check for FW_READY state before sending uevent in PD notifier
The existing state check will create a corner case that when FW
crashed during driver probe, platform driver won't send early
uevent notification to host driver, which create a small window where
host can communicate with FW when FW is crashed. This case can be
covered by checking FW_READY state instead.

CRs-Fixed: 2122702
Change-Id: I0bde9cb5a526ccd9fe81cd38bd4c27cf2e95042b
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2017-11-01 23:50:26 -07:00
Avaneesh Kumar Dwivedi
48d5f82d0e ARM: dts: msm: Add base register property for lpass and turing for sdm660
Add base register property in respective pil nodes to iomap them
during probe of the subsystem pil driver.

Change-Id: I961ab80f1caf84ab63d649c3a1545b89fed56c0b
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
2017-11-02 11:40:33 +05:30
Avaneesh Kumar Dwivedi
d438970a05 soc: qcom: pil: Log the TZ NMI caused subsystem crash on err fatal
Check NMI STATUS register and dump the log if the err fatal caused
on subsystem is due to TZ NMI.

Change-Id: I8ac4190aca60aeedcd41fd06e2f7dd053edd0f30
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
2017-11-02 11:39:55 +05:30
Vijayavardhan Vennapusa
43c0d001bc USB: configfs: Don't send DISCONNECT uevent during unbind
Windows XP host takes upto 6 seconds to enumerate RNDIS composition when
RNDIS (tethering) is enabled while in MTP/PTP composition. This results in
Userpsace Tethering enable timeout (1 second) causing RNDIS enumeration
failure and falls back to default composition. Workaround the issue by not
sending disconnect event to userspace on composition switch (MTP/PTP to
RNDIS). Send the disconnect event from USB bus reset so that userspace
enable timer starts from bus reset.

Change-Id: I2d1fcaa0704e369204fbba4eceb8ba9b1c525b41
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-11-01 22:13:23 -07:00
Tirupathi Reddy
be462176df regulator: qpnp: fix voltage min/max constraints check
Fix voltage range selection logic used for voltage min/max
constraints check.

CRs-Fixed: 2136747
Change-Id: I80ab9ca583fda625ae2d9bd9e0c176a4b8c343db
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2017-11-02 09:36:36 +05:30
Linux Build Service Account
11734d0451 Merge "drm/msm/sde: add mutex to the sde resource manager" 2017-11-01 20:34:04 -07:00
Linux Build Service Account
e8c140a99b Merge "ARM: dts: msm: enable one adv7533 instance on apq8096 lite board" 2017-11-01 20:34:03 -07:00
Young Hwan Kwak
70e0fba783 msm: kgsl: Print Vulkan memory types as well
Vulkan memory types are added into UMD.
Print Vulkan memory type as an int value.

CRs-Fixed: 2119633
Change-Id: Idf5d58a6a02dbef6ef8cf6663e7819d221bf3e11
Signed-off-by: Young Hwan Kwak <ykwak@codeaurora.org>
2017-11-02 09:44:10 +08:00
Rajeev Kumar Sirasanagandla
b85f32555a ath: Disable non-20 mhz 2G world regulatory channels
The minimum bandwidth supported is 5 MHZ. Kernel API
wiphy_apply_custom_regulatory can enable channels 12/13
with BW 5/10 even for reg rule 2402-2472. Circumvent the issue
by doing a check in the driver.

CRs-Fixed: 2136273
Change-Id: I296e45d142c38a83c90deb743e992eb1a7743feb
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
2017-11-01 16:24:42 +05:30
Vatsal Bucha
fe5ee69774 ASoC: msm: qdsp6v2: Remove excess logs in compress driver
Excess logs are printed in msm_compr_pointer during ADSP SSR.
This causes failure of some interrupts to occur which
results in SSR failure. Logs can be reduced by applying ratelimit.

CRs-Fixed: 2128011
Change-Id: I9a6a5e0fed17154e201bce0d7fa2de91b6ec159d
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2017-11-01 00:01:14 -07:00
Linux Build Service Account
aedf62a2ba Merge "block: Fix oops in locked_inode_to_wb_and_lock_list()" 2017-10-31 16:54:18 -07:00
Linux Build Service Account
5954c32915 Merge "block: Fix bdi assignment to bdev inode when racing with disk delete" 2017-10-31 16:54:18 -07:00
Linux Build Service Account
d4cc718065 Merge "diag: Remove AXI prefetch related padding" 2017-10-31 16:54:17 -07:00
Linux Build Service Account
df3eaf90e3 Merge "ARM: 8701/1: fix sparse flags for build on 64bit machines" 2017-10-31 16:54:16 -07:00
Linux Build Service Account
5327b0ab71 Merge "msm: mdss: add support for dma scheduling for dsi v2.1" 2017-10-31 16:54:14 -07:00
Ashish Garg
0d030ecce2 msm: mdss: add support for dma scheduling for dsi v2.1
Dsi controller v2.1 and above supports scheduling of dma
commands. Schedule dsi cmds at the starting of blanking
region to avoid sending of commands in active region
resulting in dsi overflow errors.

Change-Id: I658b7d7008eb9071148820c0ea949ae9ba593ed9
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
2017-10-31 10:32:59 -07:00
Sameer Thalappil
9fccd743a2 icnss: Do not assert if reboot requested during PDR
When icnss driver sees a PD down, and if the recovery is already in
progress, it forces an assert in debug builds. That is to detect any
Modem failures during PDR or to catch any instance of recursive PDRs.
When system goes thru a reboot or shutdown, and if the recovery is in
progress then avoid calling this assert.

CRs-Fixed: 2135071
Change-Id: I28f5c79a4cd8b83f60a62111535b11c2fba6000b
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
2017-10-31 10:19:55 -07:00
Subash Abhinov Kasiviswanathan
a445520d5d net: rmnet_data: Support recycling frames to real device
For deaggregation, the real device receives a large linear skb and
passes it on to rmnet. rmnet creates new skbs from this large frame.

If the real device supports recycling, it does not need to allocate
the large skbs during packet reception and can instead reuse them.

CRs-Fixed: 2140499
Change-Id: I4f3c67bafe1918dc1a96690305d00cc8c625a9b7
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2017-10-31 10:59:13 -06:00
Luc Van Oostenryck II
38aaac21e6 ARM: 8701/1: fix sparse flags for build on 64bit machines
By default sparse uses the characteristics of the build
machine to infer things like the wordsize.
This is fine when doing native builds but for ARM it's,
I suspect, very rarely the case and if the build are done
on a 64bit machine we get a bunch of warnings like:
  'cast truncates bits from constant value (... becomes ...)'

Fix this by adding the -m32 flags for sparse.

Change-Id: I9045e5b77578d03e328a4a6af297e84356c02cf8
Reported-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-commit: 6042b8c7c08cad7a8bdc0456c619ae941962b40a
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-10-30 16:11:46 -07:00
Linux Build Service Account
9c23726ad4 Merge "leds: qpnp-flash: Fix Use-after-free(UAF) for debugfs" 2017-10-30 15:13:50 -07:00
Linux Build Service Account
bb3bb010ec Merge "ASoC: wcd9xxx: restrict debugfs permission" 2017-10-30 05:26:21 -07:00
Linux Build Service Account
4dd3043f35 Merge "ASoC: sdm660_cdc: Fix pop noise issue at DMIC" 2017-10-30 05:26:20 -07:00
Lloyd Atkinson
0852d989e4 drm/msm/sde: add mutex to the sde resource manager
Fix serialization of access to the SDE resource manager by
adding mutex protection to its external APIs.

Change-Id: I469a1c7b37d4a2f115443bdc308d0236d786fc68
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Lihui Wen <lwen@codeaurora.org>
2017-10-30 05:23:16 -07:00
Sunil Khatri
a943eac9d4 msm: kgsl: Add property to determine commands timeout
Add the property to determine the current command timeout
value which is used by the clients via KGSL IOCTL.

Change-Id: Ifd6b373d211ebd78dc3a8032ede073258487d689
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
2017-10-30 02:52:21 -07:00
Greg Kroah-Hartman
ceee5bdd47 This is the 4.4.95 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAlny7PcACgkQONu9yGCS
 aT7UAw//Zqfv7J8fAyfeTnVsbBg5GcD7SW7clzILMclb2nCGcS1g6ZFZAOoWRZV3
 eSnYKLBvOxfnF+TunD/aNagtKMIEuPqA/9Srd3uL2sdso1FtMsL8PR07Ml1o3Qf3
 eUeKt/JfchpD5r+1ca4CWqRDvFyuQwP8RMsbXUqjsDEy/5USeGOzPGa9jdQ5JI/O
 zvXlHyWuXryvDWHlM52H67CSdZC2KSUNeybji8EqrJlK2yijJQ8CvN7jrBevSVVy
 2XpMx9RoeAbOAH36VuW5R3/tpUPW70L3Tw8zTo8dfs5w/TEMgddzDd4aWz8PLLqo
 mhD6V3bgkqzkbXEaLvmmht/IMg497K6HcAFzfDu/M8X1wSaNfNmJ8IBKmDTBeuBO
 t5Ha2mqDxiCTrEXq/USEgiBW28PJXKv3C5MhdSlYPWo/QGho0boTRirmbbmYupf/
 T02LwRWo8MQT9l+sX5zFx+/Tw/f5/f1bWSWVJ5ns+lFbQ5smnA2nxvcPLg6LuGEe
 tXZ7R+7v5yFp5quyUPTz6eY8Tau4mswuzm4avob0QLr6ZDQXTt8WbD8kmaQRoDq4
 U0k58ZZbdPnOyf0zxFTURQoPk+MI/EV9tclQcWEsR+AXWVzqA71rSUMCcSl7Gad2
 /vSkgDcSQ1xt0UQ7Bqf7PdNSVLtfH/n/jXJGJXwYW/Q0r/zRTYY=
 =vcfF
 -----END PGP SIGNATURE-----

Merge 4.4.95 into android-4.4

Changes in 4.4.95
	USB: devio: Revert "USB: devio: Don't corrupt user memory"
	USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
	USB: serial: metro-usb: add MS7820 device id
	usb: cdc_acm: Add quirk for Elatec TWN3
	usb: quirks: add quirk for WORLDE MINI MIDI keyboard
	usb: hub: Allow reset retry for USB2 devices on connect bounce
	ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
	can: gs_usb: fix busy loop if no more TX context is available
	usb: musb: sunxi: Explicitly release USB PHY on exit
	usb: musb: Check for host-mode using is_host_active() on reset interrupt
	can: esd_usb2: Fix can_dlc value for received RTR, frames
	drm/nouveau/bsp/g92: disable by default
	drm/nouveau/mmu: flush tlbs before deleting page tables
	ALSA: seq: Enable 'use' locking in all configurations
	ALSA: hda: Remove superfluous '-' added by printk conversion
	i2c: ismt: Separate I2C block read from SMBus block read
	brcmsmac: make some local variables 'static const' to reduce stack size
	bus: mbus: fix window size calculation for 4GB windows
	clockevents/drivers/cs5535: Improve resilience to spurious interrupts
	rtlwifi: rtl8821ae: Fix connection lost problem
	KEYS: encrypted: fix dereference of NULL user_key_payload
	lib/digsig: fix dereference of NULL user_key_payload
	KEYS: don't let add_key() update an uninstantiated key
	pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
	parisc: Avoid trashing sr2 and sr3 in LWS code
	parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
	sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()
	f2fs crypto: replace some BUG_ON()'s with error checks
	f2fs crypto: add missing locking for keyring_key access
	fscrypt: fix dereference of NULL user_key_payload
	KEYS: Fix race between updating and finding a negative key
	fscrypto: require write access to mount to set encryption policy
	FS-Cache: fix dereference of NULL user_key_payload
	Linux 4.4.95

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2017-10-30 09:21:18 +01:00
Surabhi Vishnoi
f465647dfb defconfig: Enable DFS support for ath10k
DFS support is disabled for ath10k driver.

Enable the DFS support for ath10k in the defconfig and perf defconfig.

CRs-Fixed: 2124757
Change-Id: Iccecd2226fd13034b12a8978b68f9535178ed430
Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
2017-10-30 13:46:10 +05:30
Odelu Kukatla
08d84b18b1 clk: qcom: Add support for 430MHz for gpu clock on sdm660
GPU clock requires to support 430MHz, so add the support
for the same on sdm660.

Change-Id: Ief238fbe521a10f8096ac44844f5abe013649f81
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
2017-10-30 11:06:37 +05:30
Guchun Chen
4ae9ad2434 ARM: dts: msm: enable one adv7533 instance on apq8096 lite board
Apq8096 lite board has one DSI-HDMI display through adv7533 bridge chip,
so enable this bridge chip node.

Change-Id: I3539889b70b5a14d6acd09d13e387bdce11d59b1
CRs-Fixed: 2113147
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2017-10-30 13:15:46 +08:00
Linux Build Service Account
d2c583756f Merge "security: Extend SELinux to support CAN sockets" 2017-10-29 20:59:53 -07:00
Sami Tolvanen
8f012745e7 BACKPORT: arm64: relocatable: suppress R_AARCH64_ABS64 relocations in vmlinux
The linker routines that we rely on to produce a relocatable PIE binary
treat it as a shared ELF object in some ways, i.e., it emits symbol based
R_AARCH64_ABS64 relocations into the final binary since doing so would be
appropriate when linking a shared library that is subject to symbol
preemption. (This means that an executable can override certain symbols
that are exported by a shared library it is linked with, and that the
shared library *must* update all its internal references as well, and point
them to the version provided by the executable.)

Symbol preemption does not occur for OS hosted PIE executables, let alone
for vmlinux, and so we would prefer to get rid of these symbol based
relocations. This would allow us to simplify the relocation routines, and
to strip the .dynsym, .dynstr and .hash sections from the binary. (Note
that these are tiny, and are placed in the .init segment, but they clutter
up the vmlinux binary.)

Note that these R_AARCH64_ABS64 relocations are only emitted for absolute
references to symbols defined in the linker script, all other relocatable
quantities are covered by anonymous R_AARCH64_RELATIVE relocations that
simply list the offsets to all 64-bit values in the binary that need to be
fixed up based on the offset between the link time and run time addresses.

Fortunately, GNU ld has a -Bsymbolic option, which is intended for shared
libraries to allow them to ignore symbol preemption, and unconditionally
bind all internal symbol references to its own definitions. So set it for
our PIE binary as well, and get rid of the asoociated sections and the
relocation code that processes them.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[will: fixed conflict with __dynsym_offset linker script entry]
Signed-off-by: Will Deacon <will.deacon@arm.com>

Note: This backport only adds -Bsymbolic to LDFLAGS_vmlinux, but doesn't
remove R_AARCH64_ABS64 relocation handling, because those changes depend
on later refactoring of the code that we don't need in android-4.4.

Bug: 66932127
Change-Id: I56f664e02bc8d2fa3e5f496fb041bc3a8e1a4094
(cherry picked from commit 08cc55b2afd97a654f71b3bebf8bb0ec89fdc498)
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2017-10-29 13:10:27 +00:00
Ankit Sharma
d851b06217 leds: qpnp-flash: Fix Use-after-free(UAF) for debugfs
Fix UAF where two threads can open and close the same file. Second
open will cause the private data for the first file to be overwritten.
When the first file is closed and the private data is freed, this makes
the now-shared private data OOB for the second thread.

CRs-Fixed: 1109763
Change-Id: I1c4618d5be99e140abf0f3ea0d7f485897db5ab2
Signed-off-by: Ankit Sharma <ansharma@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-10-28 14:29:50 +05:30
Subbaraman Narayanamurthy
9445c88458 power: qpnp-fg-gen3: Fine tune the monotonic SOC calculation
Currently, all the values of raw monotonic SOC (0-255) gets
rounded off to 0-100. This can show up monotonic SOC hitting 0%
earlier when the SOC hadn't really hit zero yet. Improve the
SOC round off calculation so that 0 and 100 % can be shown when
it reaches the exact point.

Change-Id: I5bd9ebc8667a5beed9e1e97ff492aa1350f4d0f7
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2017-10-27 20:02:54 -07:00
Joel Fernandes
a899b9085c sched/core: fix have_sched_energy_data build warning
have_sched_energy_data is defined only for CONFIG_SMP, so declare it
only with CONFIG_SMP.

Fixes warning from intel bot:

tree:   https://android.googlesource.com/kernel/msm android-4.4
head:   a21299785a
commit: a21299785a [5/5] sched/core: Warn
if ENERGY_AWARE is enabled but data is missing
config: i386-randconfig-x002-201743 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout a21299785a
        # save the attached .config to linux build tree
        make ARCH=i386

All warnings (new ones prefixed by >>):

>> kernel//sched/core.c:94:13: warning: 'have_sched_energy_data' used
but never defined
    static bool have_sched_energy_data(void);
                ^~~~~~~~~~~~~~~~~~~~~~

vim +/have_sched_energy_data +94 kernel//sched/core.c

    93
  > 94  static bool have_sched_energy_data(void);
    95

Change-Id: I266b63ece6fb31d2b5b11821a8244e147ba6d3a4
Signed-off-by: Joel Fernandes <joelaf@google.com>
2017-10-27 13:24:40 -07:00
Brendan Jackman
a21299785a sched/core: Warn if ENERGY_AWARE is enabled but data is missing
If the EAS energy model is missing or incomplete, i.e. sd_scs is NULL, then
sched_group_energy will return -EINVAL on the assumption that it raced with a
CPU hotplug event. In that case, energy_diff will return 0 and the energy-aware
wake path will silently fail to trigger any migrations.

This case can be triggered by disabling CONFIG_SCHED_MC on existing platforms,
so that there are no sched_groups with the SD_SHARE_CAP_STATES flag, so that
sd_scs is NULL.

Add checks so that a warning is printed if EAS is ever enabled while the
necessary data is not present.

Change-Id: Id233a510b5ad8b7fcecac0b1d789e730bbfc7c4a
Signed-off-by: Brendan Jackman <brendan.jackman@arm.com>
2017-10-27 19:13:36 +00:00