Commit graph

587051 commits

Author SHA1 Message Date
Ajay Agarwal
2b7792c598 sound: usb: Add support for parsing AudioControl intf for BADD devices
BADD 3.0 devices support three types of topologies;
Basic I/P, Basic O/P, and BASIC I/P. Accordingly, various
units and terminals have to be parsed which are not
exposed by the device and host must be able to figure
out various class-specific descriptors based on the
profile ID of the device. This patch adds this logic
to build various units and terminals of the AudioControl
interface of a BADD device.

Change-Id: Ib52f884133cdf6e0ec95f49095c14f7d005a5356
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
2017-04-10 18:47:22 +05:30
Ajay Agarwal
2ecedf5dc7 sound: usb: Add support for parsing AudioStreaming intf for BADD devices
BADD(Basic Audio Device Definition) is a subset of UAC3
specifications. It defines standard profiles which provide
specific attributes of class descriptors. BADD audio device
provides profile id and BADD supporting host will infer
attributes from profile-id.

Currently USB Audio Host driver has support for UAC1
and UAC2 devices. To handle BADD 3.0 devices, AudioControl
and AudioStreaming Interfaces have to be properly parsed.
The Host has to derive all class-specific information based
on the profile ID that the device exposes. Add support for
parsing the AudioStreaming interfaces exposed by the device.

Change-Id: I726bbb735708fe8e395011c7228a73d5f65c092d
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
2017-04-10 16:14:02 +05:30
Sayali Lokhande
bd7cf09fbe mmc: core: fix bus-width selection in HS400 mode
During card initialization, for hs400 enhanced strobe
mode we already set the bus width to 8 as part of
mmc_select_hs400.
i.e: mmc_init_card->mmc_select_timing->mmc_select_hs400

Commit 5a86b1150f ("mmc: core: fix multi-bit bus width
without high-speed mode") modified bus width selection mode
for hs400(mmc_select_bus_width is being called twice now)
which is resulting in switch command failure(-110 error).

Fix this by adding condition to check if hs400 is supported
before bus-width selection.

Change-Id: I698260599276a251ffbe2f242175be0dc51a91de
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-04-10 03:20:08 -07:00
Amey Telawane
e1255386b6 trace: resolve stack corruption due to string copy
Strcpy has no limit on string being copied which causes
stack corruption leading to kernel panic. Use strlcpy to
resolve the issue by providing length of string to be copied.

CRs-fixed: 1048480
Change-Id: Ib290b25f7e0ff96927b8530e5c078869441d409f
Signed-off-by: Amey Telawane <ameyt@codeaurora.org>
2017-04-10 02:28:21 -07:00
Shiraz Hashim
ec7675bd68 arm64: make default ARM64_DMA_IOMMU_ALIGNMENT as 9
To realize section mapping of 2MB in arm64 iommu mappings,
set ARM64_DMA_IOMMU_ALIGNMENT to 9 so that 2MB aligned
virtual address can be allocated based on size.

2MB section mapping in iommu page tables would ensure less
pressure on TLBs.

Change-Id: Id22e935e113bee2a4ae7aeab15bcf17b7b6f3c78
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2017-04-10 14:35:20 +05:30
Vijayavardhan Vennapusa
a32245e79f ARM: dts: msm: Put secondary QUSB2 PHY in reset state for SDM660
Add secondary QUSB2 PHY node and put it in reset state for SDM660
to avoid leakage current issue.

Change-Id: Iab057c22268408f90ac59f9dc4b0d538edd819b9
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-04-10 14:27:36 +05:30
Linux Build Service Account
96dcaf137c Merge "ARM: dts: msm: Add thermistor support for PM660" 2017-04-09 23:59:29 -07:00
Linux Build Service Account
1f51dfcea3 Merge "diag: Fix feature mask mismatch for peripherals" 2017-04-09 23:59:28 -07:00
Linux Build Service Account
66cda910f3 Merge "wil6210: add oob_mode for AP certification" 2017-04-09 23:59:27 -07:00
Linux Build Service Account
91325c8494 Merge "wil6210: correctly report locally generated disconnect in STA mode" 2017-04-09 23:59:26 -07:00
Linux Build Service Account
0f85357dd2 Merge "wil6210: use WMI_DISCONNECT_CMDID upon connect timeout" 2017-04-09 23:59:25 -07:00
Linux Build Service Account
986a1ee715 Merge "wil6210: store bss object and use cfg80211_connect_bss()" 2017-04-09 23:59:24 -07:00
Ashay Jaiswal
6c828322aa qcom: smb2: fix probe failure
Charger driver probe might fail while querying for battery
health if bms psy is not available. Fix this by reporting
health as "UNKNOWN".

CRs-Fixed: 2029960
Change-Id: I6544788a6fe3ab7aaf70ffd382213d8b4aa4c0b6
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-04-10 12:23:39 +05:30
Linux Build Service Account
272879fc1f Merge "AndroidKernel: add support to configure DLKM install path" 2017-04-09 12:29:20 -07:00
Manoj Prabhu B
67d53d08d8 diag: Fix feature mask mismatch for peripherals
This patch adds a way to publish APPS support
of untagging header only to selected peripherals.

CRs-Fixed: 2030651
Change-Id: I2a2a03d0a6d441d23ec093ff5de9bef5e9799d24
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
2017-04-09 20:34:46 +05:30
Lior David
b937975a35 wil6210: add oob_mode for AP certification
Add a new value to the oob_mode module parameter for
supporting AP certification.
All enabled values of oob_mode (>0) are intended only
for debugging and diagnostics.

Change-Id: I170c953b0f126513b6fec7a7c316d282ed56367e
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: b8c31b5d6c232a36c821bdd556b60c033a1c1577
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
[merez@codeaurora.org: fix trivial merge conflicts]
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-04-09 09:45:07 +03:00
Dedy Lansky
07e98b53de wil6210: correctly report locally generated disconnect in STA mode
Driver always invoke cfg80211_disconnected() with locally_generated as
false.
Fix this by reporting true whenever the disconnect is triggered from
upper layers (cfg80211) or from within the driver itself (reset,
deinit).

Change-Id: I367797e0eeb1e71a28674415121a054daee04cbc
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 3b56c15fa3315942b4cb02e57ff842f2f9b14ef7
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-04-09 09:44:01 +03:00
Dedy Lansky
efa8de6b3d wil6210: use WMI_DISCONNECT_CMDID upon connect timeout
Upon connect timeout driver invokes _wil6210_disconnect() which iterates
over sta array and disconnects each connected sta. In practice, because
the connection is still ongoing and because cid is not yet allocated,
disconnect is not actually happening. This leaves FW in connecting
state while driver is in disconnected state.
To fix this, upon connect timeout, explicitly send WMI_DISCONNECT_CMDID
to FW to make sure it gets disconnected.

Change-Id: I4d6ed85f00901b0e286d8b05d016e9cd5e9dd2fb
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 628639b1c976a5f02792dc6595a4d199b7b70d85
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-04-09 09:31:59 +03:00
Dedy Lansky
fc48971390 wil6210: store bss object and use cfg80211_connect_bss()
In a fast disconnect/connect sequence, cfg80211_connect_result() can
fail to find the bss object which the driver is connecting to. Detailed
sequence of events:
* Driver is connected in STA mode
* Disconnect request arrives from user space. Driver disconnects and
  calls cfg80211_disconnected() which adds new event to the
  cfg80211_wq worker thread
* Connect request arrives from user space. cfg80211_connect() stores
  ssid/ssid_len and calls rdev_connect()
* __cfg80211_disconnected() runs in worker thread and zero
  wdev->ssid_len
* Connect succeeds. Driver calls cfg80211_connect_result() which fails
  to find the bss because wdev->ssid_len is zero

To overcome this, upon connect request, store the bss object in the
driver and upon connect completion pass it to kernel using
cfg80211_connect_bss().

Change-Id: I48b7f638e3c69bf2c223ecf65d080fb603fc26f8
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: bcdd49b074d0ea48f54bc6d24a66efab8688b43a
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
2017-04-09 09:27:27 +03:00
Linux Build Service Account
45862a3434 Merge "qcom: qpnp-fg-gen3: Reconfigure profile parameters upon battery hotswap" 2017-04-08 17:30:32 -07:00
Linux Build Service Account
ae38441f86 Merge "ARM: dts: msm: optimize rm67195 settings for SDM660 PM660A QRD" 2017-04-08 09:12:32 -07:00
Linux Build Service Account
1d0ed71b09 Merge "drm/msm: Fix gmem range setting" 2017-04-08 00:16:59 -07:00
Abhijeet Dharmapurikar
566b44214c smb138x: introduce support for smb1355
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>
2017-04-07 17:35:19 -07:00
Tony Truong
cb475378e2 msm: pcie: change log type for unexpected global IRQ
When PCIe host driver receives an unexpected interrupt for
global IRQ, log it to PCIe dump ipc logging to avoid
flooding kernel log.

Change-Id: Ia38e6a3597b0f86b8574f8edf5b2e0e124b02f4d
Signed-off-by: Tony Truong <truong@codeaurora.org>
2017-04-07 17:15:25 -07:00
Abhijeet Dharmapurikar
c3e9d3d01d qpnp-revid: add smb1355 definitions
Add revision definitions for smb1355 i2c charger chip.

Change-Id: I60429c6462a2faa70df71d3440afe696a13fcab0
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-04-07 17:06:18 -07:00
Linux Build Service Account
bb9662f8f5 Merge "iio: qcom-tadc: use HW default for batt therm HW conversion trigger" 2017-04-07 16:05:49 -07:00
Linux Build Service Account
dbadf2a17e Merge "diag: Check for diag glink handle on connect event" 2017-04-07 16:05:48 -07:00
Linux Build Service Account
dd5ae38fec Merge "mhi: core: Enable mhi_dev_net interface channels" 2017-04-07 16:05:47 -07:00
Linux Build Service Account
1cd138bdcb Merge "usb: gadget: f_mass_storage: Perform async runtime suspend after ep disable" 2017-04-07 16:05:46 -07:00
Jose Abreu
80ded5dd4b drm: edid: HDMI 2.0 HF-VSDB block parsing
Adds parsing for HDMI 2.0 'HDMI Forum Vendor
Specific Data Block'. This block is present in
some HDMI 2.0 EDID's and gives information about
scrambling support, SCDC, 3D Views, and others.

Parsed parameters are stored in drm_connector
structure.

Change-Id: I018cfefea2fd3827d5f83c8e5717ebd95e497519
Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Cc: Carlos Palminha <palminha@synopsys.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
Patch-mainline: dri-devel @ 10 Aug 2016 16:29
Signed-off-by: Jin Li <jinl@codeaurora.org>
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-07 15:50:46 -07:00
Dave Airlie
ced4456e08 drm/edid: add displayid detailed 1 timings to the modelist. (v1.1)
The tiled 5K Dell monitor appears to be hiding it's tiled mode
inside the displayid timings block, this patch parses this
block and adds the modes to the modelist.

v1.1: add missing __packed.

Change-Id: Ief7b88bc18b6a7514a8575412937b74c38f971e4
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95207
Signed-off-by: Dave Airlie <airlied@redhat.com>
Git-commit: a39ed680bddb1ead592e22ed812c7e47286bfc03
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-07 15:48:47 -07:00
Shashank Mittal
a00d0eaa9f ARM: dts: msm: move bluetooth node under /vendor on msm8998
Move bluetooth node under /vendor path. This will help in overlaying
this node from board overlay files.

Change-Id: Ieeec5811c8cf2693f45ebd5f922b7edbb760e804
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2017-04-07 15:05:54 -07:00
Shashank Mittal
60df96df1b ARM: dts: msm: add /vendor node in msm8998
Add /vendor node. This node can be used to add vendor specific platform
devices.

Change-Id: I4c043c376b0e3ade7798c68ecaafe7235d27e959
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2017-04-07 15:05:54 -07:00
Shashank Mittal
ee23474d2d ARM: dts: msm: add support to compile DT overlay files on msm8998
Add support to compile DT overlays for MSM8998.

Change-Id: I73c17887b470a44721bbef7ab18e824f4dfabbd3
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2017-04-07 15:05:27 -07:00
Shashank Mittal
16ead6dd25 ARM: dts: msm: separate board and SoC bindings from msm8998
Split DT source files to separate out board and SoC specific DT
bindings.

Change-Id: Ic35abcc54654e420d3f389a289bbdae18a661c4e
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
2017-04-07 15:05:01 -07:00
Shashank Mittal
9e3df02482 ARM: dts: msm: remove extra pinctrl dtsi include from msm8998
msm8998-pintctrl dtsi is already included by msm8998.dtsi. So we don't
need to include this file in board specific dtsi.

Change-Id: Iee7c0f4b8bd7da40ff059c531a450a0f3d3b2ae7
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2017-04-07 15:04:24 -07:00
Sreelakshmi Gownipalli
8ea9435855 diag: Check for diag glink handle on connect event
Check for diag glink handle on receiving connect and
disconnect events from glink.

Change-Id: I049367ffa4fbab1b8b3585cf6d1b53760e7431a6
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
2017-04-07 13:38:18 -07:00
Kasin Li
a9f76539c1 drm/msm: Fix gmem range setting
GMEM IOVA range is intend to start from 0x100000, But currently it
is initialized with RANGE_MIN_LO:RANGE_MIN_LO. It makes GMEM IOVA
start from 0.

Change-Id: I6028c076c32d861303cbec1c6ad168d8494e094c
Signed-off-by: Kasin Li <donglil@codeaurora.org>
2017-04-08 01:18:07 +08:00
Rama Krishna Phani A
1113317949 ARM: dts: msm: Add thermistor support for PM660
Thermal clients will be monitoring thermistors for
temperature mitigations. Add pa_therm0 support for PM660.

Change-Id: I61cb6a5147b68868d782490885969ceb2feef06c
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2017-04-07 20:27:00 +05:30
Linux Build Service Account
1da237c93b Merge "diag: Set context properly while sending command responses" 2017-04-07 06:39:29 -07:00
Linux Build Service Account
d15461eb97 Merge "ath10k: synchronize restart work with FW ready indication" 2017-04-07 06:39:29 -07:00
Linux Build Service Account
0eb82372dc Merge "msm: ipa: Fix memory leak in ipa driver" 2017-04-07 06:39:28 -07:00
Vijayavardhan Vennapusa
f9979adc6d usb: gadget: f_mass_storage: Perform async runtime suspend after ep disable
commit 82f2935616 ("usb: gadget: f_mass_storage: Allow USB LPM
upon ep disable") decrements power usage count by 1 for dwc3 device
in thread handler as part of do_set_interface(). fsg_disable() and
fsg_unbind() will raise exception for status change so that status change
is handled in thread handler. Due to this, there is a chance that
fsg_thread can run two times and results in calling do_set_interface()
twice for disabling endpoints. This causes decrementing power usage count
two times instead of 1 and power usage count can become negative. If cable
is disconnected at this time, it could cause unclocked access or fsg_thread
gets stuck. common->fsg bieng non NULL confirms that MSC interface is being
enabled. Hence fix the issue by decrementing power usage count only right
after disbling endpoints as disabling endpoints happens once due to check
of common->fsg.

Change-Id: Ia870838f5a7055436b7412fec5910b5cdbb42de2
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
2017-04-07 11:43:07 +05:30
Linux Build Service Account
e4a1db03db Merge "diag: Do not mark buffers free during channel opening" 2017-04-06 22:31:58 -07:00
Linux Build Service Account
3d449c081c Merge "ion: change data type of source_vm* variable to int" 2017-04-06 22:31:56 -07:00
Linux Build Service Account
c079ecdc4e Merge "wil6210: missing reinit_completion in HALP voting" 2017-04-06 22:31:43 -07:00
Linux Build Service Account
5da4139c92 Merge "wil6210: use print_hex_dump_debug instead of print_hex_dump_bytes" 2017-04-06 22:31:38 -07:00
Tomas Bzatek
a45e263992 drm/displayid: Iterate over all DisplayID blocks
This will iterate over all DisplayID blocks found in the buffer.
Previously only the first block was parsed.

https://bugs.freedesktop.org/show_bug.cgi?id=95207

Change-Id: Ida0480aa1652d3725a02950df83c3602fce8bb6e
Signed-off-by: Tomas Bzatek <tomas@bzatek.net>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Git-commit: 3a4a2ea39f86c581054794c0a727597745f1084b
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-06 20:35:44 -07:00
Dave Airlie
9695df13df drm/edid: move displayid validation to it's own function.
We need to use this for validating modeline additions.

Change-Id: I55fe5a92c614cf949de906bea9a7c84d64450bb2
Signed-off-by: Dave Airlie <airlied@redhat.com>
Git-commit: c97291774c1b867b56c3d439ddaec9a965cf559e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-06 20:33:24 -07:00
Dave Airlie
accb2a52de drm/edid: move displayid tiled block parsing into separate function.
This just makes the code easier to follow.

Change-Id: I96b57a9d895fadc9e351ad56824e6c477496a918
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Git-commit: 5e546cd5b3bc76824069ffa98c52a5f48cf91aba
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-04-06 20:31:20 -07:00