Commit graph

595038 commits

Author SHA1 Message Date
Geert Uytterhoeven
7e351fc4ea spi: core: Add support for registering SPI slave controllers
Add support for registering SPI slave controllers using the existing SPI
master framework:
  - SPI slave controllers must use spi_alloc_slave() instead of
    spi_alloc_master(), and should provide an additional callback
    "slave_abort" to abort an ongoing SPI transfer request,
  - SPI slave controllers are added to a new "spi_slave" device class,
  - SPI slave handlers can be bound to the SPI slave device represented
    by an SPI slave controller using a DT child node named "slave",
  - Alternatively, (un)binding an SPI slave handler to the SPI slave
    device represented by an SPI slave controller can be done by
    (un)registering the slave device through a sysfs virtual file named
    "slave".

From the point of view of an SPI slave protocol handler, an SPI slave
controller looks almost like an ordinary SPI master controller. The only
exception is that a transfer request will block on the remote SPI
master, and may be cancelled using spi_slave_abort().

Change-Id: I251c5b7247ee7088285e42dd3b3cdce9c56cb9f7
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Git-commit: 6c364062bfed3c34490e85bea52ff6e2d4f0f281
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
2017-11-08 11:26:36 +05:30
Odelu Kukatla
16d78cda70 soc: qcom: msm_bus: Add debug logging for max bandwidth votes
Max bandwidth vote on each bus device is required to be
printed when the device panics, so add a panic notifier
to print the max BW votes on each bus device.

Change-Id: I2256407638fe5085cb4b0f4d5a594dd00f4f3bce
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
2017-11-08 10:58:19 +05:30
Rahul Sharma
431bac2520 ARM: dts: msm: enable adv7533 bridge chip power rails on msm8996
msm8996 auto CDP platform missing vddio power supply to power up
adv7533 bridge chip for DSI interfaces, which converts DSI to HDMI
signal. This change adds power rails to adv7533.

Change-Id: Ieaea589803bbac1d42478fff16e8a4a833cf7426
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-11-07 19:02:35 -08:00
Linux Build Service Account
b1281c202f Merge "mmc: core: Return error if fallback to lower speed mode fails" 2017-11-07 15:40:02 -08:00
Linux Build Service Account
5662b995d5 Merge "ARM: dts: msm: Change QDSS pipe index to 3 for SDM660" 2017-11-07 15:40:01 -08:00
Yue Ma
23e028334a cnss2: Refactor callbacks for SSR framework
SSR framework is specific for MSM kernels. Refactor the callbacks
for SSR framework so that the same powerup/shutdown APIs can be
also used for non-MSM kernels where SSR framework does not exist.

Change-Id: Ic7bcafadc4f7ad3bd2fab0a4b672b2f5676fe401
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-11-07 10:25:44 -08:00
Liangliang Lu
a17c88a808 usb: gadget: ffs: Defer freeing memory on free_inst if in use
In the case of ffs_free_inst() called, whole ffs_dev structure is
freed. Userspace related API do not check if ffs_dev is freed or
not.

If ffs endpoint is opened by userspace, ffs_free_inst() is executed,
mark inst_exist to false but do not free instance structures until
ffs_data is freed.

Besides, ffs_data is allocated in ffs_fs_mount() while opts->dev
is allocated when ffs instance created. And opts->dev will
be freed when ffs instance freed.

If ffs instance is freed and created once, opts->dev is allocated
to new memory, but since ffs_fs_mount() won't be called in this
case, new opts->dev miss the ffs_data address and
ffs_data->private_data still point to old opts->dev address which
is already freed.

So new allocated opts->dev need to initialize opts->dev->ffs_data,
and ffs_private_data also need to update new allocated opts->dev
address.

Change-Id: Idea56f86c62da700926e8ce3a724d5be6295a4fd
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
2017-11-07 18:53:08 +08:00
Wanhyeong Ryu
63d7fc8afd mmc: core: Return error if fallback to lower speed mode fails
If there are continuous data-CRC errors in higher speed modes (SDR104
mode), then driver fallbacks to lower speed mode. But if at all it
fails to fallback to lower speed mode, then that error should be
propagated to the caller so that caller will handle it appropriately.

Without this change, sometime while processing card removal event,
driver fails to detect card removal and treats card as present
eventhough its removed.

Change-Id: I89544d41c5b014eb9227ba33ef9ec1917b6793dc
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-11-07 15:39:33 +05:30
Linux Build Service Account
c64b5ccbba Merge "msm: isp: Soft reset ISP before second pass" 2017-11-07 01:41:17 -08:00
Linux Build Service Account
f2a461d291 Merge "ARM: dts: msm: Remove the virtual plane implementation on msm8996" 2017-11-07 01:41:17 -08:00
Zhiming Weng
df46a12ca7 msm: cec: simplify TX message processing
Simplify the message processing of CEC adapter driver's transmit
function. Don't need to decompose CEC message's header block and
data block 0 before programming to the registers.

Change-Id: Icf2b2f123bda560ef4e3c8c4c6a2eaf828b7ce9a
CRs-Fixed: 2117559
Signed-off-by: Zhiming Weng <czweng@codeaurora.org>
2017-11-07 16:43:01 +08:00
Surajit Podder
7dae4c54df msm: vidc: Fix sequence change event properly
Ensure that session continue is not sent to firmware
in cases where resources sufficient event is converted
to insufficient.

Change-Id: I3500a63d49dcd799ad76491a207c68bfef854dd3
Signed-off-by: Surajit Podder <spodder@codeaurora.org>
2017-11-06 22:37:50 -08:00
Vijayavardhan Vennapusa
5a70436579 ARM: dts: msm: Change QDSS pipe index to 3 for SDM660
Currently same pipe index is used for both QDSS and DPL pipes for SDM660.
This causes QDSS not working in composition 90DB having both QDSS and DPL
interfaces. Hence fix it by changing QDSS pipe index to 3 so that both
QDSS and DPL works fine with 90DB composition on SDM660.

Change-Id: I7c799716cff7321985fcb88a8073737343a932f5
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-11-06 21:58:44 -08:00
Zhiqiang Tu
eb883038ce ARM: dts: msm: Add sdhc_2 on msm8996 virtual platform
Add sdhc_2 on msm8996 virtual platform for SDIO WLAN.

Change-Id: Ic021ca67507af88a2c98eac4d5b4c10c3300f1a9
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2017-11-07 13:56:18 +08:00
Vijay kumar Tumati
02f4c7a910 msm: camera: Check step position table for NULL pointer
Before accessing step position table we need to make sure
its valid.

Change-Id: I914a51861e982d556039e5ba8510a67cab69fb82
Signed-off-by: Vijay kumar Tumati <vtumati@codeaurora.org>
2017-11-07 10:55:14 +05:30
Zhiqiang Tu
aaee453657 defconfig: arm64: msm: Enable MMC on msm8996 virtual plaform
Enable MMC to support SDIO pass-through on virtual platform.

Change-Id: I808510d6d30ea780f3936c4eba98bb6e3e637050
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2017-11-06 19:23:06 -08:00
Blagovest Kolenichev
985aecee1d Merge android-4.4@ceee5bd (v4.4.95) into msm-4.4
* refs/heads/tmp-ceee5bd
  BACKPORT: arm64: relocatable: suppress R_AARCH64_ABS64 relocations in vmlinux
  sched/core: fix have_sched_energy_data build warning
  sched/core: Warn if ENERGY_AWARE is enabled but data is missing
  sched: walt: Correct WALT window size initialization
  FROMLIST: sched/fair: Use wake_q length as a hint for wake_wide
  sched: WALT: account cumulative window demand
  sched/fair: remove useless variable in find_best_target
  sched/tune: access schedtune_initialized under CGROUP_SCHEDTUNE
  sched/fair: consider task utilization in group_max_util()
  sched/fair: consider task utilization in group_norm_util()
  sched/fair: enforce EAS mode
  sched/fair: ignore backup CPU when not valid
  sched/fair: trace energy_diff for non boosted tasks
  UPSTREAM: sched/fair: Sync task util before slow-path wakeup
  UPSTREAM: sched/fair: Fix usage of find_idlest_group() when the local group is idlest
  UPSTREAM: sched/fair: Fix usage of find_idlest_group() when no groups are allowed
  BACKPORT: sched/fair: Fix find_idlest_group when local group is not allowed
  UPSTREAM: sched/fair: Remove unnecessary comparison with -1
  BACKPORT: sched/fair: Move select_task_rq_fair slow-path into its own function
  UPSTREAM: sched/fair: Force balancing on nohz balance if local group has capacity
  UPSTREAM: sched/core: Add missing update_rq_clock() call in set_user_nice()
  UPSTREAM: sched/core: Add missing update_rq_clock() call for task_hot()
  UPSTREAM: sched/core: Add missing update_rq_clock() in detach_task_cfs_rq()
  UPSTREAM: sched/core: Add missing update_rq_clock() in post_init_entity_util_avg()
  UPSTREAM: sched/core: Fix find_idlest_group() for fork
  BACKPORT: sched/fair: Fix PELT integrity for new tasks
  BACKPORT: sched/cgroup: Fix cpu_cgroup_fork() handling
  UPSTREAM: sched/fair: Fix and optimize the fork() path
  BACKPORT: sched/fair: Make it possible to account fair load avg consistently
  cpufreq/sched: Consider max cpu capacity when choosing frequencies
  Linux 4.4.95
  FS-Cache: fix dereference of NULL user_key_payload
  fscrypto: require write access to mount to set encryption policy
  KEYS: Fix race between updating and finding a negative key
  fscrypt: fix dereference of NULL user_key_payload
  f2fs crypto: add missing locking for keyring_key access
  f2fs crypto: replace some BUG_ON()'s with error checks
  sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()
  parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
  parisc: Avoid trashing sr2 and sr3 in LWS code
  pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
  KEYS: don't let add_key() update an uninstantiated key
  lib/digsig: fix dereference of NULL user_key_payload
  KEYS: encrypted: fix dereference of NULL user_key_payload
  rtlwifi: rtl8821ae: Fix connection lost problem
  clockevents/drivers/cs5535: Improve resilience to spurious interrupts
  bus: mbus: fix window size calculation for 4GB windows
  brcmsmac: make some local variables 'static const' to reduce stack size
  i2c: ismt: Separate I2C block read from SMBus block read
  ALSA: hda: Remove superfluous '-' added by printk conversion
  ALSA: seq: Enable 'use' locking in all configurations
  drm/nouveau/mmu: flush tlbs before deleting page tables
  drm/nouveau/bsp/g92: disable by default
  can: esd_usb2: Fix can_dlc value for received RTR, frames
  usb: musb: Check for host-mode using is_host_active() on reset interrupt
  usb: musb: sunxi: Explicitly release USB PHY on exit
  can: gs_usb: fix busy loop if no more TX context is available
  ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
  usb: hub: Allow reset retry for USB2 devices on connect bounce
  usb: quirks: add quirk for WORLDE MINI MIDI keyboard
  usb: cdc_acm: Add quirk for Elatec TWN3
  USB: serial: metro-usb: add MS7820 device id
  USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
  USB: devio: Revert "USB: devio: Don't corrupt user memory"
  ANDROID: binder: show high watermark of alloc->pages.
  ANDROID: binder: Add thread->process_todo flag.
  UPSTREAM: arm64: compat: Remove leftover variable declaration
  ANDROID: sched/fair: Select correct capacity state for energy_diff
  Revert "UPSTREAM: efi/libstub/arm64: Set -fpie when building the EFI stub"
  cpufreq: schedutil: clamp util to CPU maximum capacity
  FROMLIST: android: binder: Fix null ptr dereference in debug msg
  FROMLIST: android: binder: Change binder_shrinker to static
  cpufreq/sched: Use cpu max freq rather than policy max

Conflicts:
	include/linux/sched.h
	kernel/sched/core.c
	kernel/sched/fair.c

Change-Id: I2751f851df741f00e797deaf2119872b3dced655
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-11-06 15:58:47 -08:00
Blagovest Kolenichev
22b1828145 sched: restore discarded ifdef CONFIG_SCHED_WALT code
Code closed in ifdef CONFIG_SCHED_WALT blocks is not used in
msm-4.4 builds, hence in order to be as much as closer to
upstream and subsequently to have less merge conflicts in the
future, let's restore this code.

Restore below CONFIG_SCHED_WALT changes in file [1]:

  be832f6 sched: walt: Leverage existing
  ^^^^^^^ Discarded in dbad9b8.

  efb86bd sched: Introduce Window Assisted Load Tracking (WALT)
  ^^^^^^^ Restore only the block, which is modified by be832f6.
          Discarded in efbe378.

dbad9b8 Merge android-4.4@89074de (v4.4.94) into msm-4.4
efbe378 Merge branch 'v4.4-16.09-android-tmp' into lsk-v4.4-16.09-android

[1] kernel/sched/sched.h

Change-Id: Ifd7e230b3b47dde61abf2472f092ff78d80b7427
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-11-06 15:39:25 -08:00
Linux Build Service Account
91da619c3a Merge "ARM: dts: msm: Remove GPIO pins that are unused on Mojave" 2017-11-06 11:49:30 -08:00
Linux Build Service Account
69b148a089 Merge "soc: qcom: pil: Fix error handling during PIL driver probe" 2017-11-06 11:49:30 -08:00
Linux Build Service Account
14371aded9 Merge "net🛜cnss2: Fix driver loading failure" 2017-11-06 11:49:29 -08:00
Rahul Sharma
cc3e07b2c3 ARM: dts: msm: Remove GPIO pins that are unused on Mojave
cam_snapshot and cam_focus GPIO pins are unused on Mojave,
thus remove them from DT. Those pins are used for ADV7481
on Mojave.

Change-Id: I8c0026a215fdc2cf1aa94eb763f82258229435c8
Suggested-by: Resmi Rajendran <resmir@qti.qualcomm.com>
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-11-06 06:59:01 -08:00
Camus Wong
4bf823c3a8 ARM: dts: msm: Remove the virtual plane implementation on msm8996
Virtual plane limited the usage of plane on assigned display only.
It is against the implementation in strategy manager in SDM, which
assume any plane can be used by any display.

Change-Id: Iddcb94d888dfa1ec7685f2964116b4296a0e9a7f
Signed-off-by: Camus Wong <camusw@codeaurora.org>
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
2017-11-06 16:34:13 +05:30
Linux Build Service Account
59e7cfaf52 Merge "soc: qcom: Add support for QDSS bridge driver" 2017-11-05 22:33:09 -08:00
Linux Build Service Account
22cfc3487c Merge "defconfig: sdm660: Enable sdcardfs" 2017-11-05 22:33:08 -08:00
Linux Build Service Account
a1b1b96ce3 Merge "soc: qcom: glink_smem_native_xport: Add readback to write index" 2017-11-05 22:33:06 -08:00
Linux Build Service Account
513fd626d6 Merge "msm: kgsl: Add property to determine commands timeout" 2017-11-05 22:33:05 -08:00
Linux Build Service Account
551738a812 Merge "soc: qcom: glink_ssr: Use do_cleanup_data from pkt_priv" 2017-11-05 22:33:04 -08:00
Linux Build Service Account
59703730f6 Merge "cnss2: Add device pointer to all external APIs" 2017-11-05 22:33:03 -08:00
Linux Build Service Account
f1091db4f4 Merge "wil6210: missing length check in wil_cfg80211_mgmt_tx" 2017-11-05 22:32:59 -08:00
Linux Build Service Account
3c8af478e3 Merge "ARM: dts: msm: Add GPU maximum frequency 430Mhz support for SDM636" 2017-11-05 22:32:59 -08:00
Linux Build Service Account
982c01bee6 Merge "defconfig: msmcortex: Enable sdcardfs" 2017-11-05 22:32:58 -08:00
Linux Build Service Account
0d6ccec7eb Merge "spi: core: Extract of_spi_parse_dt()" 2017-11-05 22:32:57 -08:00
Linux Build Service Account
da82750992 Merge "ARM: dts: msm: Add base register property for lpass and turing for sdm660" 2017-11-05 22:32:55 -08:00
Linux Build Service Account
e6754b0406 Merge "msm: kgsl: Print Vulkan memory types as well" 2017-11-05 22:32:54 -08:00
Linux Build Service Account
b147b4588b Merge "defconfig: msm: enable DRM driver for msm8996" 2017-11-05 22:32:53 -08:00
Linux Build Service Account
328319f28a Merge "icnss: Check for FW_READY state before sending uevent in PD notifier" 2017-11-05 22:32:52 -08:00
Linux Build Service Account
2dedf76547 Merge "ath: Disable non-20 mhz 2G world regulatory channels" 2017-11-05 22:32:51 -08:00
Linux Build Service Account
99b30615eb Merge "diag: Handle data ready notification properly" 2017-11-05 22:32:50 -08:00
Linux Build Service Account
b6f12218b5 Merge "power: qpnp-fg-gen3: Fine tune the monotonic SOC calculation" 2017-11-05 22:32:49 -08:00
Linux Build Service Account
697888e330 Merge "defconfig: Enable DFS support for ath10k" 2017-11-05 22:32:48 -08:00
Linux Build Service Account
aa00b1c16d Merge "clk: qcom: Add support for 430MHz for gpu clock on sdm660" 2017-11-05 22:32:47 -08:00
Linux Build Service Account
efa374d7b2 Merge "SoC: msm: Support SEC_MI2S_RX" 2017-11-05 22:32:45 -08:00
Linux Build Service Account
0a9e5f9137 Merge "leds: qpnp-wled: Fix configuration for AMOLED mode" 2017-11-05 22:32:43 -08:00
Linux Build Service Account
67dcc348d7 Merge "leds: qpnp-wled: Disable module permanently when OVP fault persists" 2017-11-05 22:32:43 -08:00
Linux Build Service Account
c6846de733 Merge "leds: qpnp-wled: Configure WLED1_CTRL_SWITCHING_FREQUENCY selectively" 2017-11-05 22:32:42 -08:00
Ritesh Harjani
4f633c283f defconfig: sdm660: Enable sdcardfs
This enables sdcardfs for sdm660.

Change-Id: I5621743809caf9a3bbe1deda38681b9c9bcccb99
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2017-11-05 19:24:46 -08:00
Linux Build Service Account
7777cc93db Merge "power: qpnp-fg-gen3: Skip the status_change work if suspended" 2017-11-03 21:45:05 -07:00
Linux Build Service Account
96bbdb7e76 Merge "memblock: Fix memblock_overlaps_memory()" 2017-11-03 21:45:03 -07:00
Yue Ma
c10f99af82 cnss2: Add device pointer to all external APIs
Add device pointer to all external APIs so that platform driver is
able to support multiple devices/instances at the same time.

Change-Id: I09dfb146da30d3fd6514dc79dc31cd239a03afa8
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2017-11-03 10:28:20 -07:00