wcnss: add pm_qos support to prevent power collapse for BIMC

Add pm_qos support to prevent power collapse of BIMC during
SSR and coldboot. Wakelock is also taken to prevent power
collapse of BIMC

CRs-Fixed: 727070
Change-Id: Ida638e85995735b629ad455dd48df996b37c2305
Signed-off-by: Siddharth Bhal <sbhal@codeaurora.org>
wcnss: dump apb2phy_status register on subsystem restart

apb2phy_status register is required for debugging certain
issues due to watchdog bite on the wcn chip. Dump the
register when watchdog bite occurs on the wcn subsystem
or the subsystem is going for a restart for any other
reason.

Change-Id: I90851d023dff5c62d66a9855fff9b16d244f5190
CRs-Fixed: 631088
Signed-off-by: Mihir Shete <smihir@codeaurora.org>
wcnss: Reset IRIS card before Starting IRIS XO configuration

Set iris_reset bit of PMU CFG register to reset the IRIS
card before Starting IRIS XO configuration.

Change-Id: Id1cfd7e3e3df29919089725b2233c6f95afbbfb5
CRs-Fixed: 664642
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
msm: vidc: fix failure to set LTR with index value

When MARKLTR/USELTR was set with a index value the value never
propagated to firmware resulting in failure to set the property.

Change-Id: I37536e1662c2d1092477fddde6838d4239805ac5
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
msm: vidc: Advertise extradata size in queue_setup()

If extradata is enabled, the correct size must be advertised as part of
queue_setup().  Prior to this commit, the output buffer size was taken
to be the extradata size.

In order to make sure that we aren't advertising stale buffer sizes,
query the core for both CAPTURE and OUTPUT planes.

Change-Id: I300e0e1d852caab208fd4cfc6df7cf3152f52431
Signed-off-by: Pushkaraj Patil <ppatil@codeaurora.org>
msm: vidc: disable Hier-P when LTR is enabled

Hier-P and LTR are mutually exclusive in firmware. Disable Hier-P
using HFI_PROPERTY_PARAM_VENC_HIER_P_MAX_NUM_ENH_LAYER
instead of HFI_PROPERTY_CONFIG_VENC_HIER_P_ENH_LAYER.

Change-Id: Ib4eb053a0ccef94c1996392eba19c5b83f7c9971
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm: vidc: Add NULL pointer check before deiniting controls

Add NULL pointer check in deinit function, and return -EINVAL
when NULL pointer is found.
Without this change, accidentally, msm_venc_ctrl_deinit() will be called
with a null pointer parameter, which will cause kernel panic.

Change-Id: I80bb6c271dcd3277ddce5332c5f42328ca376128
CRs-Fixed: 652365
Signed-off-by: huiy <huiyQuic@codeaurora.org>
msm: vidc: Bug fix in instance clean-up

When close is called directly without proper state operations,
then driver tries to clean all V4L2 framework memory. When driver
calls queue_release, it tries to call stream_off again. This
causes driver to re-enter the state operations. This change
prevents driver to re-enter the state diagram.

Change-Id: I6df248792fca78fe743bead311fa1cec61a6bb79
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
msm: vidc: do not check for session supported in executing state

The v4l2 video driver should check if the video session is supported
only prior to entering the executing state. Once video session is
in executing state, the session should be always honored.

Change-Id: Iaa59089ef05f03bbc821af8c7fd4fbc342067b3a
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm-vidc: Modify HFI not to alter VP8 max supported width

Modify HFI not to alter firmware returned max supported width
and height and make generic both for Venus and Q6. Remove
creation of debugfs file for VP8 mode.

Change-Id: I77d9077a79214d90f59eb7314bb66e310b5a418f
Signed-off-by: Manikanta Sivapala <msivap@codeaurora.org>
msm: vidc: avoid setting smoothstreaming for Q6

Smoothstreaming is not a tested functionality on Q6.
This change will return error to all clients trying
to configure Q6 in smoothstreaming mode.

Change-Id: If520d136cd29b3b37759d0fb179538e31b9b71d9
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
bacon: Update defconfig

 * Enable required options

Change-Id: I1f48da54bd89e6bff46752b576d098ad08b38910
Revert "wcnss: handle CBC complete event from firmware"

This reverts commit 7db9a1a9f70a62adf2437484034a7d112c23be1f.
Above commit depends on firmware code changes, As new code
changes that would be introduced removes this dependency,
hence reverting this commit.

Change-Id: I86479d05f98e48949a140e30efae4e311e1cbf00
CRs-Fixed: 744296
Signed-off-by: Anand N Sunkad <asunka@codeaurora.org>
nl80211: add scan width to bss and scan request structs

To allow scanning and working with 5 MHz and 10 MHz BSS, extend the
inform bss commands and add wrappers to take 5 and 10 MHz bss into
account.

CRs-Fixed: 659678
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Git-commit: dcd6eac1f3b5fa1df11dfa99da0cf75b76cfef97
Git-repo : http://git.kernel.org/cgit/linux/kernel/git/linville/wireless-next.git
[clanctot@codeaurora.org: Only picked up the add of NL80211_BSS_CHAN_WIDTH]
Signed-off-by: Chet Lanctot <clanctot@codeaurora.org>
Change-Id: I06312c396919e9203cc7eaa1e14873191070e6a2
Signed-off-by: Amarnath Hullur Subramanyam <amarnath@codeaurora.org>
cfg80211: clarify BSS probe response vs. beacon data

There are a few possible cases of where BSS data came from:
 1) only a beacon has been received
 2) only a probe response has been received
 3) the driver didn't report what it received (this happens when
    using cfg80211_inform_bss[_width]())
 4) both probe response and beacon data has been received

Unfortunately, in the userspace API, a few things weren't there:
 a) there was no way to differentiate cases 1) and 4) above
    without comparing the data of the IEs
 b) the TSF was always from the last frame, instead of being
    exposed for beacon/probe response separately like IEs

Fix this by
   i) exporting a new flag attribute that indicates whether or
      not probe response data has been received - this addresses (a)
  ii) exporting a BEACON_TSF attribute that holds the beacon's TSF
      if a beacon has been received
 iii) not exporting the beacon attributes in case (3) above as that
      would just lead userspace into thinking the data actually came
      from a beacon when that isn't clear

To implement this, track inside the IEs struct whether or not it
(definitely) came from a beacon.

CRs-Fixed: 659678
Reported-by: William Seto
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 95aaa02c6234c462684c9e56e6800a40cef33af8
Git-repo : https://git.kernel.org/cgit/linux/kernel/git/jberg/mac80211-next.git
Signed-off-by: Chet Lanctot <clanctot@codeaurora.org>
[amarnath@codeaurora.org: Only picked up the change in nl80211.h for the user
 space code to remain same. Other changes are not applicable for this version
 of the kernel]
Change-Id: I774acd8849028d772c7530db66aa8949d1a9e5d4
Signed-off-by: Amarnath Hullur Subramanyam <amarnath@codeaurora.org>
msm: usbaudio: remove usbaudiosdev switch

- Remove usbaudiosdev switch to avoid reporting
  analog dock headset for USB headset

Change-Id: Ib5f505385742b708a98f13ab6fd98808b6d1803e
Signed-off-by: Divya Narayanan Poojary <dnaray@codeaurora.org>
ASoC: msm: update min buffer count and size

Update minimum buffer size and count to provide more
options to the client.

Change-Id: Ia303978f4e4b230e021a2ae35146328b1c594460
Signed-off-by: Divya Narayanan Poojary <dnaray@codeaurora.org>
ASoC: wcd9320: fix the no audio issue on triggering SSR

After the SSR is triggered there is possibility of the  mismatch
among  the cache register values and the actual hardware registers
values. Due to this some of the registers doesn't gets updated when
the enable sequence is triggered. This results incomplete path
getting enabled resulting in no audio.
Fix by updating the registers to the reset state and updating the
cache also. Also restart the mbhc for the proper headset detection

LNX.LA.3.7 Change-Id: I851c303928dad1a0f36951ad40ac0b6a912e1757

Change-Id: I00b6bc97ca8ab26bd2d4d25b5e0d967595075f65
Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
Signed-off-by: Divya Narayanan Poojary <dnaray@codeaurora.org>
ASoC: msm: reorg q6core header file

This is needed to allow include from
non soc folder.

CRs-Fixed: 689849
Change-Id: I753012d5ce9c5a788e75b4edf9b0099b58b30ec0
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
avtimer: msm: allow driver to register to SSR framework

Sub System Restart[SSR] framework allows driver to handle
unexpected crash in middle of operation.
Also, adding support clk_div dtsi entry to calculate
avtimer_lsw value.

Change-Id: I521e3c010dadd00a06a0fe8998a1759b2eb81b55
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>