Commit Graph

264866 Commits

Author SHA1 Message Date
Suman Tatiraju
3005cddf58 msm: kgsl: make pm_qos vote to default when in slumber
Change the pm_qos vote to default when the diplay goes
off. This allows the cpu to do idle power collapse after
display goes off.

Change-Id: Id7c3af50e66c9deab483da98cac2569f56cd21e4
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
2012-03-28 02:21:24 -06:00
Subhash Jadavani
dd43295060 mmc: msm_sdcc: don't call udelay() from msmsdcc_delay()
With SDCC4, driver can check the register synchronization
by polling REG_WR_ACTIVE bit in MCI_STATUS2 register so in
that case there is no need to ensure register synchronize
using explicit delay (achieved by calling udelay()).

But there are many places in driver which calls the msmsdcc_delay()
to achieve atleast 1us delay. So this patch have identified such
places and changed them to call a function which guarantees
to have atleast 1us of blocking delay.

CRs-fixed: 345170
Change-Id: I3236496ae6edf0108687b897558091cbb32e0a39
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2012-03-28 13:17:55 +05:30
Subhash Jadavani
187022181f msm: msm_sdcc: defer device resume until next transfer request comes
If SDCC device runtime status was RPM_RESUMED before system suspend
happens, during next system resume SDCC will also be resumed
synchronously. As SDCC resume is happening as part of system resume
path and it may take around 150ms to resume for SDCC slot which have
SD card connected. As this resume latency is too high, it may impact
overall system resume time and can effect the user experience.

This change makes sure that during system suspend, device runtime
status gets set to RPM_SUSPENDED. So when system resume happens,
SDCC resume can be skipped which means SDCC resume is deferred
until next SDCC transfer request comes in.

CRs-fixed: 344459
Change-Id: I579030b3759fee2c566ab06daad10ff4dd4c0085
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2012-03-28 13:16:32 +05:30
Murali Nalajala
2a0bbda409 msm: pm2: Call appropriate irq functions for 7k and 8625 targets
There is a difference between the 7k & 8625 targets interrupt
controllers. 7k & 8625 targets uses the VIC & QGIC controllers
respectively. Power driver uses these conrtoller API's to take
a decision while entering into low power modes. This change
provides a generic implementation wihtout worrying about the
interrupt controller being used on the target.

Change-Id: Ib50cb19dc84333a969fc5287381f7703b64042ed
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2012-03-28 12:12:54 +05:30
Subhash Jadavani
c63f0e5281 mmc: block: claim host in mmc_blk_set_blksize() only if required
Following is the sequence during system resume (dpm_resume()):
1. SDCC driver resume gets called which does nothing as it will
   find the device as runtime suspended.
2. As part of dpm_resume() itself, mmc_bus_resume() is called which
   results in this call flow:
	mmc_bus_resume -> mmc_blk_resume -> mmc_blk_set_blksize ->
	mmc_claim_host -> mmc_host_enable -> host_ops->enable ->
	SDCC driver runtime resume.

We really don't want to do runtime resume of SDCC as part of
dpm_resume() othewise it will increase the latency of overall
system resume path.

For sector addressed cards (card size > 2GB), default blocksize is
512 bytes which means setting block length by sending
CMD16 (SET_BLOCKLEN) is not required for such cards. But
mmc_blk_set_blksize() first claims host and then check if card requires
CMD16 or not. mmc_claim_host() will cause runtime resume of SDCC device.
So it's better to first check if card requires CMD16 or not for setting
block length to 512 and then claim the host only if it's required.

CRs-fixed: 344459
Change-Id: I428cedeeee08cdc82ef9805f4d72179dfe0b3ce8
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2012-03-28 11:27:27 +05:30
Linux Build Service Account
b2ad2bae31 Merge "msm: vidc: Extract PAR info for MPEG4/DIVX." into msm-3.0 2012-03-27 22:56:21 -07:00
Linux Build Service Account
58d901a9e0 Merge "usb: hsic_hcd: Migrate to devm_regulator_get()" into msm-3.0 2012-03-27 22:56:21 -07:00
Linux Build Service Account
a354674bf9 Merge "msm: kgsl: Make idlestats pwrscale policy default for 7x27A" into msm-3.0 2012-03-27 22:56:21 -07:00
Linux Build Service Account
2f21aa2caf Merge "video: msm: writeback: Stop providing buffers to mdp in stopping state" into msm-3.0 2012-03-27 22:56:21 -07:00
Linux Build Service Account
23562515c6 Merge "msm: kgsl: Increase the virtual GPU range for the IOMMU" into msm-3.0 2012-03-27 22:56:21 -07:00
Ravishangar Kalyanam
a3b168b4d1 msm: display: Add proper flags for secure/non-secure writeback buffers
For MDP writeback buffer allocations, use appropriate heap id flags
for secure and non-secure sessions

Change-Id: I05e897d5d90ab03b17ccddbda764f39b963192ef
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
2012-03-27 22:07:56 -07:00
Sagar Dharia
8bd703a05b defconfig: copper: Enable I2C support for copper board
Enable I2C bus, QUP controller, and I2C character device so that
copper board can use I2C functionality.

Change-Id: I162134b16c5981f8e8e05a260aa89088785a6bbc
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2012-03-27 21:09:35 -06:00
Joonwoo Park
28f49c84ac ASoC: msm8960: properly protect external mclk control function
Both audio path and MBHC accessory detection logic need master clock
enabled along with bandgap and clock block of CODEC. Clock control
is managed by the machine driver. Calls to clock control function from
audio and MBHC detection paths can be nested. As a result, reference
counter of master clock is incremen/decrement out of order and cause
master clock not enabled when audio path is enabled. Without master clock
CODEC will not consume data and this leads to SLIMBUS overflow error.

Change-Id: I2cabb2d6db4c0129716489672e34a49cc21cea08
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-27 18:24:23 -07:00
Joonwoo Park
d7cf2e931c ASoC: wcd9310: Add plug detection through mechanical switch
Use mechanical switch on the phone jack to detect headset/headphone
insertion and removal.  Mechanical switch is beneficial to avoid fake
button press and high impedance microphone headset detection.

CRs-fixed: 341402
Change-Id: Idffba14316ab25e07736d1b7385f0edb16216089
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-27 18:21:44 -07:00
Linux Build Service Account
fb7dbf3941 Merge "msm: clock-8960: add clock support for 8930" into msm-3.0 2012-03-27 18:17:04 -07:00
Linux Build Service Account
670fc0777c Merge "msm: modem-8960: Don't set SMSM_RESET when the modem crashes" into msm-3.0 2012-03-27 18:17:04 -07:00
Linux Build Service Account
c34569c3ee Merge "msm: board-qrd7627a: Add support for QRD7" into msm-3.0 2012-03-27 18:17:04 -07:00
Linux Build Service Account
aeed79f82f Merge "Bluetooth: Allow for Pending status when moving back to BR-EDR" into msm-3.0 2012-03-27 18:17:04 -07:00
Linux Build Service Account
545f9b3aab Merge "msm: smsm: Add SMSM notifier wakelock" into msm-3.0 2012-03-27 18:17:04 -07:00
Linux Build Service Account
a1c093cc39 Merge changes I8fec21f8,If8a5bd97,Ibb42bb07,Ifd959d8e,I9ee031d7 into msm-3.0
* changes:
  msm: qdss: introduce mutex locking for funnel_enable/disable
  msm: qdss: make qdss_clk_enable/disable external functions
  msm: qdss: rename qdss private header file to qdss-priv.h
  msm: qdss: move external jtag declarations to external qdss header file
  msm: qdss: add new external qdss header file
2012-03-27 18:17:04 -07:00
Jordan Crouse
54154c6436 msm: kgsl: Return the correct A3XX GPU ID based on SoC type
It turns out that A3XX_RBBM_HARDWARE_VERSION returns 0x0 for both A320
and A305.  This, combined with some faulty logic in the GPU list, caused
A320 to be reported as a A305.  This had the immediate effect of costing
A320 on apq8054 half the GMEM that it deserves and also triggering
instabilities in the user mode driver.  Instead of trying to read multiple
registers to figure out the GPU ID, make the reasoned assumption that for
now at least, GPU ID will match SoC ID. Construct the chip_id based on the
SoC ID for A3XX targets and fix up the reported chip_id so it matches what
user space expects.

Change-Id: Ic0dedbadc74cb08fd7bc0bfb523b710ad33ed78c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-03-27 17:39:50 -06:00
Mayank Rana
189ac055c8 usb: hsic_hcd: Migrate to devm_regulator_get()
Clean up some error paths and simplify the code by
moving to devm_regulator_get().

Change-Id: Ifce28d4c2dfe0ed180433736ac9c815259f5359d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2012-03-28 01:34:56 +05:30
Taniya Das
bd09654a71 msm: board-qrd7627a: Add support for QRD7
QRD7 is a NAND based variant of QRD1 with MSM8625. So,
add minimal support for the same.

Change-Id: Ic7078ca5789eac6c9a7d299956a28cb37e556901
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Signed-off-by: Aparna Mallavarapu <aparnam@codeaurora.org>
2012-03-28 00:02:12 +05:30
Linux Build Service Account
93c647f15a Merge "msm: smd_pkt: Add a new smd_pkt device to be used by QMUXD" into msm-3.0 2012-03-27 11:20:04 -07:00
Helen Zeng
6e64dbafc0 ASOC: msm: Allocate separate memory for VoIP calibration
In current design, voice and voip calls share the same
memory for calibration data. But DSP doesn't support to map
the same memory twice. This will cause crash in DSP when trying
to make voice call and voip call concurrently.
In voice driver, allocate the separate memory to store voip
calibration data.

Change-Id: I52bf0554f88610ab8088571739aa0a72cff69f39
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
2012-03-27 10:57:42 -07:00
Tianyi Gou
e3d4f54710 msm: clock-8960: add clock support for 8930
Update clock driver to support 8930 clock changes. Also update
board file to use 8930 clock data.

Change-Id: Ia5b9af192a93e664e1182071df77b6c25ce6c85d
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
2012-03-27 10:19:30 -07:00
Kuogee Hsieh
e350d9bcee msm_fb: display: fix dsi_irq race condition
There has race condition that mipi_dsi_disable_irq_nosync() is
called from isr context at one core while mipi_dsi_irq_enable()
is called from thread context at other core. Serialize
mipi_dsi_disable_irq_nosync() with mipi_dsi_irq_enable() by
putting mipi_dsi_disable_irq_nosync() inside scope of
spin_lock(&dsi_mdp_lock).

CRs-fixed: 345837
Change-Id: Ibd2ff3194890b671983142fdb7b5a62cc009cae2
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2012-03-27 08:49:33 -07:00
Linux Build Service Account
37c2e80848 Merge "ASOC: msm: close AUX PCM when both RX and TX are closed." into msm-3.0 2012-03-27 08:10:44 -07:00
Linux Build Service Account
ca6a5ba9eb Merge "msm: mdm: do not pull AP2MDM_STATUS gpio low during normal shutdown" into msm-3.0 2012-03-27 08:10:44 -07:00
Linux Build Service Account
5b2f5cf055 Merge changes If10efc64,I5122171f,I39eb1175 into msm-3.0
* changes:
  defconfig: 7627a: Enable Focaltech driver
  board-qrd7627a: Add platform device for focaltech controller
  input: ft5x06_ts: Add driver for ft5x06 series
2012-03-27 08:10:44 -07:00
Linux Build Service Account
a6a3d3cc58 Merge "msm: lpass-8960: Avoid write to lpass wakeup register" into msm-3.0 2012-03-27 08:10:44 -07:00
Linux Build Service Account
04231da7fd Merge "radio-tavarua: Send disable event" into msm-3.0 2012-03-27 08:10:44 -07:00
Linux Build Service Account
4420ae8587 Merge "msm: platsmp-8625: Support core1 boot after power collapse." into msm-3.0 2012-03-27 08:10:44 -07:00
Jordan Crouse
6d76c4d0df msm: kgsl: Increase the virtual GPU range for the IOMMU
Instead of a fixed 256MB virtual range for both the GPUMMU and IOMMU, make
the virtual range a property of the MMU engine and set the IOMMU range to
2GB.  Technically we could go all the way up to 4G, but even 2G is far out
of the realm of possiblity in the current generation, and we wanted to
reserve some of the space for future enhancements.

Change-Id: Ic0dedbad2987beb162b6a1878dd65ffae8a78522
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-03-27 08:55:41 -06:00
Linux Build Service Account
c971661da5 Merge changes If3adbc65,I67d7e130,I22f2a741 into msm-3.0
* changes:
  mmc: msm_sdcc: advertise MMC_CAP2_BOOTPART_NOACC
  mmc: block: support no access to boot partitions
  mmc: msm_sdcc: minimum card clock selection
2012-03-27 05:49:07 -07:00
Lynus Vaz
31754cbc8b msm: kgsl: Make idlestats pwrscale policy default for 7x27A
Idlestats powerscale policy is required for userspace GPU DCVS.
This change sets it as default, so that the GPU DCVS daemon can
be started without having to set it first.

Change-Id: Ia280c9f685262b2848f1b85d74876f15a2e6ad6f
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
2012-03-27 16:49:30 +05:30
Linux Build Service Account
ffc7932a3e Merge changes I432c2263,I4556b07a into msm-3.0
* changes:
  msm: copper: Enable CONFIG_MSM_QPNP_INT
  msm: qpnp: Make MSM_QPNP_INT depend on MSM_QPNP
2012-03-27 00:49:07 -07:00
Linux Build Service Account
8ed53fd170 Merge "msm_fb: display: HDMI power reduction at suspend" into msm-3.0 2012-03-27 00:49:07 -07:00
Linux Build Service Account
d2366c0de6 Merge "msm_fb: display: fix underrun when conecting wifi display" into msm-3.0 2012-03-27 00:49:07 -07:00
Linux Build Service Account
69b04d9a84 Merge "gpio: pm8xxx-gpio: pm8xxx-mpp: set can_sleep=0 for GPIO and MPP drivers" into msm-3.0 2012-03-27 00:49:07 -07:00
Linux Build Service Account
baa057d24e Merge "mfd: pm8921-core: Add support for a newly defined PMIC PM8917 regulator" into msm-3.0 2012-03-27 00:49:07 -07:00
Linux Build Service Account
1c4d833c84 Merge "USB: EHCI: Migrate to devm_regulator_get()" into msm-3.0 2012-03-27 00:49:07 -07:00
Amir Samuelov
99fe33c15a msm: board-8960-pmic: Set liquid speakers to off by default
Set speakers to off by default to avoid power consumption on idle
before speakers are used by audio drivers.

Change-Id: Ieb70522fcf2a0653dce182824d7a1145680eb282
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2012-03-27 09:41:49 +02:00
Mohan Pallaka
b9c1a1aa40 defconfig: 7627a: Enable Focaltech driver
Enable focaltech driver on 7627a platform to use
multi touch functionality.

Change-Id: If10efc6408a1b1521f1b1ee8351a71831c776c97
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2012-03-27 12:16:23 +05:30
Mohan Pallaka
5afe985396 board-qrd7627a: Add platform device for focaltech controller
Add platform device for ft5x06 touch controller series and pass
gpios as platform data.

Change-Id: I5122171f911b5d3853af552fb50f066d4ae80aaf
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2012-03-27 12:16:23 +05:30
Mohan Pallaka
a2595074a6 input: ft5x06_ts: Add driver for ft5x06 series
Ft5x06 controllers are single chip capacitive
touch panel controller ICs with a built-in 8 bit
Micro Controller Unit. It supports multi-touch
capability and can detect up to five touches.

Change-Id: I39eb1175d473d1f2c463e1c4a0a1606307da9dc0
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2012-03-27 12:16:22 +05:30
Subhash Jadavani
0a0c627d35 mmc: msm_sdcc: advertise MMC_CAP2_BOOTPART_NOACC
Since there is no access required to boot partitions,
mmcboot0/1 devices should not be created. Advertise
MMC_CAP2_BOOTPART_NOACC host capability to reflect this.

Change-Id: If3adbc6585e3ba652183ee3ede117503d709ce70
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2012-03-27 12:01:57 +05:30
Adrian Hunter
48ec4d1ef3 mmc: block: support no access to boot partitions
Intel Medfield platform blocks access to eMMC boot partitions which
results in switch errors.  Since there is no access, mmcboot0/1
devices should not be created.  Add a host capability to reflect that.

Change-Id: I67d7e1301bb13ce6b01fb44e511ea21cfbf7e4bd
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
[subhashj@codeaurora.org: Fixed merge conflicts]
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2012-03-27 12:01:46 +05:30
Subhash Jadavani
327f4be627 mmc: msm_sdcc: minimum card clock selection
If card clock rate passed by set_ios() is less than
minimum clock rate supported by the host controller,
set the clock rate to minimum clock rate supported by host.

Change-Id: I22f2a7413dfdb8c9a5188992aed99726c3c3d7a7
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
2012-03-27 12:01:34 +05:30
David Keitel
fda41f0761 defconfig: msm8960: enable smb349 charger by default on 8064
The SMB349 charger chip should be enabled by default
on all 8064 LiQUID devices.

Change-Id: I5359749221cd826298f65df5ea5408ed0baf04c1
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2012-03-26 23:07:47 -07:00