Commit Graph

306032 Commits

Author SHA1 Message Date
Ankit Premrajka
67d91cbed3 msm: camera: pass control value with event
This change makes sure that the control value coming
with the s_ctrl ioctl is passed along to the back-end
along with the rest of the event. Also, the return value
is copied back into the v4l2_control structure for HAL's
usage.

Change-Id: I2e1df270bff0cd1ce67da4490dff57d9bce6dc16
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
2013-04-22 18:27:39 -07:00
Vladislav Hristov
795f6d4816 msm: camera: Use info about VFEs in ISPIF
There can be SoCs which have different amount of VFEs connected to
ISPIF, while the CSID version is kept the same. For such cases there is
a need to have additional information about the number of VFEs connected
to each ISPIF interface, and its capabilities.

As there is no way for the ISPIF to guess this information on its own,
this change introduces a new ISPIF ioctl cmd, called ISPIF_SET_VFE_INFO.
This command will store the information for the number of VFEs connected
and also VFEs capabilities.

The above information is used where number of VFEs information is
required. Such places are vfe clock request, ISPIF irq handling and
others.

Change-Id: I0177470b3965c8a83349c367716d9006c1f49630
Signed-off-by: Vladislav Hristov <vhrist@codeaurora.org>
2013-04-22 18:27:39 -07:00
Kevin Chan
67fd4b5857 msm: camera: Add support for concurrent ISP
For concurrent ISP operation, a single camera image is
split and feed into two ISP. Each ISP will process
the image independently and output to different location in
one single buffer. This change add support to synchronize
the buffer used in each ISP. When the first ISP dequeue
a buffer, the buffer will be store in a separate queue.
The second ISP will first check the intermediate queue
and then check the main queue for buffer. When ISP is done
processing the image, the buffer will be send out only
when both ISPs are done with the buffer.

Change-Id: I8c8616d5255748328cc9b26aff97e9a83c49d5b8
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
2013-04-22 18:27:39 -07:00
Kevin Chan
12b7442e19 msm: camera: Update VFE QOS settings for V2 hardware
For V2 hardware, the power on values are correct.
Add check to only program settings for V1 hardware.

Change-Id: Idc3387cbdda6ee2580b2ec91c98a66b3fd77965a
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
2013-04-22 18:27:39 -07:00
Vladislav Hristov
a881e32fd8 msm: camera: separate clk enable in ispif
ISPIF driver should request VFE clocks on a need bases. It is generally
not a good idea to request all the possible clocks at open time, and
free them at close. For this reason the ISPIF driver is modified to
request only the clock which are really needed at some moment for its
operation. This includes clock requests for VFE0 and VFE1 at init time
when the reset should happen, and release them immediately after that.

Also to ensure the normal working when there is a request for operation
with the ISPIF, the clocks are enabled and disabled immediately. The
reason for this is that VFE clocks are enabled by the VFE when there is
a need of VFE, and the ISPIF only requires the clocks when it is being
configured. In all other cases the VFE will take care of enabling them.

Change-Id: Ie72afa9448436c14447b2212ae54c6111038d516
Signed-off-by: Vladislav Hristov <vhrist@codeaurora.org>
2013-04-22 18:27:38 -07:00
Iliyan Malchev
10f22ccafd prima: release v3.2.2.6a
git://codeaurora.org/external/wlan/prima.git

	ca7c9f2 wlan: Release 3.2.2.6a
	a711a63 wlan: enabling ARP offload in suspended state on association
	41111e9 wlan: clear ChannelList everywhere it is freed
	65b158f wlan: prevent kernel crash when fwpath param is retrieved

Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-04-22 18:05:24 -07:00
paris_yeh
be6a372de9 flo: keypad: use AP_ONKEY instead of KYPD_PWR_N to handle power key
A hardware known issue is observed that KYPD_PWR_N connected to
PMIC8921 is blocked by Asustek-owned low detective circuit while
battery voltage is under 3.4V.

This phenomenon makes KYPD_PWR_N always sensing with high no matter
power button is pressed or not.

Change power button handling from KYPD_PWN_N into AP_ONKEY connected
to GPIO#26 of APQ8064, and remove unnecessary keyboard and pwrkey
support from PMIC8921 driver.

Change-Id: I35a6b035b89cedbe7efcb80fad53d4921e5d6427
Signed-off-by: paris_yeh <paris_yeh@asus.com>
2013-04-22 20:51:22 +00:00
Ajay Dudani
da83edd84e Revert "Revert "ARM: 7169/1: topdown mmap support""
This reverts commit f27e4f0e730b99ca4dabed0b408d96dbf73a8fac.

With 01b1dee in system/core to set ADDR_COMPAT_LAYOUT, this is
not needed any longer.

Bug: 8470684
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
Acked-by: Laura Abbot <lauraa@codeaurora.org>
2013-04-20 13:53:55 -07:00
Praveen Chavan
e69a3cf5a5 msm: vidc: set EOS on output buffer pending transaction
If EOS is signalled while an output buffer is in transaction,
mark EOS when that buffer is returned.
This is observed in case client sends an empty buffer with EOS.

Change-Id: Idc050c9a76157bcf8a80e254e550f956537f98f1
Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
2013-04-19 09:35:49 -07:00
Praveen Chavan
d21217ca8d vidc: Fix EOS handling if video h/w has a frame in transaction
In case of video hardware is encoding a frame and EOS buffer with
with zero data length arrived, set the EOS flag to the transaction
available in the transaction table which will be passed to the
client in frame done callback from the video hardware.

Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
2013-04-19 09:35:49 -07:00
hsuan-chih_chen
df3901e149 flo: mmc: bypass PON and cmd5 for specific eMMC
when recieving PON, some eMMC tend to program spare block with
init data for next power cycle. If eMMC recieved PON frequently
but not actually powered off. blocks being programed became
really dirty and caused performance decline.

Sending cmd5 frequently could also be stress to NAND block for
some eMMC. Hence bypass cmd5 to extend eMMC life cycle.

Change-Id: I2cee3a048da8d4e814befd0192675d3f58cd3f90
Signed-off-by: hsuan-chih_chen <hsuan-chih_chen@asus.com>
2013-04-18 23:51:31 +00:00
Mansoor Aftab
aaa46b979e msm: camera: Fix for the bus overflow issue
Support only 2 streams from the VFE, which need only 4 VFE WM.
We divide the UB buffer(1024 * 128 bits) equally into 4 VFE WM and
stats WM.

Correct the offset of burst length in VFE register while writing to HW.
Burst length corresponds to the number of data bytes written at a time.

Change-Id: I82d1b88f499f4572bd58ca29c7cc1a74615554a7
Signed-off-by: Nagesh Subba Reddy <nageshsreddy@codeaurora.org>
Signed-off-by: Mansoor Aftab <maftab@codeaurora.org>
2013-04-18 16:09:32 -07:00
Mansoor Aftab
0633f6d52a msm: camera2: ov5693 driver
Add the driver module for ov5693

Signed-off-by: Apurva Rajguru <arajguru@codeaurora.org>
Signed-off-by: Mansoor Aftab <maftab@codeaurora.org>
2013-04-18 16:09:32 -07:00
paris_yeh
d6dd157ea7 configs: rebuild flo_defconfig using make savedefconfig
This commit does not actually change the configuration, it just
resolves some inconsistencies so that future changes to the
defconfig will merge more quickly.

Change-Id: I177ed4c5bcd9d4b0ada418032867b6f8cd2a06ea
Signed-off-by: paris_yeh <paris_yeh@asus.com>
2013-04-18 16:09:32 -07:00
hsuan-chih_chen
e387ce9d1b flo: mmc: modify driving strength of cmd and data signal
set driving strength to 6mA per EE's request.

Change-Id: I26efec96c38fdac01fdc6ad3fa8857963a1d087b
Signed-off-by: hsuan-chih_chen <hsuan-chih_chen@asus.com>
2013-04-18 16:09:31 -07:00
Iliyan Malchev
a6390bf4fc prima: release v3.2.2.6
git://codeaurora.org/external/wlan/prima.git

	188d3a6 wlan: Release 3.2.2.6
	313fb06 wlan: Channel blocking when mobile network is no service state.
	4bf49b3 wlan: Release 3.2.3.95
	0c6ad70 Debug prints for SAP/STA Concurrency
	dba02ad wlan: RX Packet invalid length problem fix
	f79e835 wlan: Release 3.2.3.94a
	ee97c5c wlan: TDLS regression is fixed.
	94f4a85 Replace the log with MTRACE
	ac516a7 wlan: Abort hdd_netdev_notifier_call during ssr
	964b957 wlan: Updating the Channel list based on 11d info from AP
	3b710ac wlan: Invoke SSR on DXE error
	fb32e28 Fix more bugs found during static code analysis
	a497516 Limit the deferred message queue full logs to minimum
	698932f Fix for the tdls discovery attempts one less than ini
	397eeca wlan: Fix Memory Leak
	dcb9664 wlan: Support for GTK rekey offload
	7f62d11 wlan:Not able to connect in 11r mode with CCX enabled.
	a7f9037 wlan: Change so that host driver accepts PMF IGTK
	82252ab wlan: SAP set TX power bug fix
	9bc0d84 wlan: drop the enterbmps req if no beacon received
	f0b90d5 Remove the redundant new line in PE logs
	75d6996 wlan: Release 3.2.3.93
	d18e2f0 wlan: 3rd set of Runtime Config items
	a27e195 wlan: make sure at least one PNO timer is configured
	2974ac1 Fix for handling KEEP ALIVE TIMEOUT correctly
	d0e9c64 Fix for the tdls mutiple peer instability issues
	e672567 Fix the errors observed in static source code analysis
	4b1dd38 wlan:Fix the errors observed in static WDA source code analysis.
	dd71465 wlan:Fix the errors observed in static SME source code analysis.
	d886f12 wlan:Fix the errors observed in static PE source code analysis.
	efed8cd wlan: Possible memory leak in limProcessFTAggrQosReq
	294f5c3 wlan: 11AC rate support
	4507c97 wlan: feature check before enabling wiphy roaming capability flag
	828367b wlan: Fix cases of dereference before NULL check in P2P code
	fed8bf0 wlan: Fix dereference before NULL check in netdev notifier
	bc3cc9e wlan: validate key length passed to sme_RoamSetKey()
	a973f08 wlan: validate key length passed to wlan_hdd_cfg80211_add_key()
	9010dc4 wlan: HDD: Removing mcastbcast filter check in the PMC callback
	17c01ce wlan: Workaround replaced by actual fix
	0755fec wlan: Add vender specific IEs in Probe Resp Frame
	35a1b6a wlan: Static source analysis fixes
	eb45e5a wlan: Release 3.2.3.92a
	d8e90f5 Fix for the crash due to excessive log
	c15f07e wlan: Fix double free issue
	5e77284 wlan: Release 3.2.3.92
	6d906a2 wlan: RSSI based TDLS tear down.
	3a6b2d2 Fix the issues observed in static source code analysis
	f47dbf9 wlan: Add PMF (802.11w) support for station mode
	d8d0ae9 wlan: Reduce returned data bytes for get_sta_info
	fd3e183 Validate the p2pIeOffset in beacon template.
	9b47c8e wlan: Release 3.2.3.91
	9cc47fa Fixed bugs found during static code analysis
	fd4f9f4 wlan: defer signalling connect failure until complete
	fde4d94 wlan: Add memory leak detection
	f9ce006 wlan:Send ADD BA failure Response for failure case.
	edd2216 wlan: CCX: Resolution of build error
	d104127 wlan: fix issue of double registration to TL for a TDLS peer STA
	72f3995 Fix for sme out of command buffer stuck in TDLS multipeer scenario
	756d591 Fix for "scan enabled the dynamically disabled TDLS"
	84a9cb6 Fix for the crash in TDLS timers.
	360c107 wlan: 11R: Fix for Zero padding in ReassocRequest
	f3657ad wlan: remove obsolete ANI_CHIPSET_VOLANS featurization
	e606122 wlan:Release 3.2.3.90
	fded5d3 Fix for memory leaks in pmcApi.c
	3293084 wlan: Add build option for msm8226 target.
	270f36b wlan: Release 3.2.3.89
	0282ab7 Add debug logs to monitor SCC and MCC
	facba1b Fix for the crash in wlan_hdd_tdls_update_peer_cb
	521bf1d wlan: Watchdog bark issue fixes in WDA/WDI
	340e471 wlan: Firmware failure status in WDA ReqCallback functions
	34a3b74 wlan: False driver reload by transport fix
	984de66 wlan: SETROAMSCANCHANNELS should take min of Number of Channels
	ccefbc4 wlan: Add vender specific IEs in Beacon Frame
	aa48c2c wlan: SAP: Fix for NULL dereference exception
	36e9fce wlan: Extend Remain on channel timer for RX P2P Action frames
	bbcbf81 wlan: Submitting api file changes
	d13c127 wlan: SETROAMSCANPERIOD 0 to disable periodic scan
	06401eb wlan: Remove memory free call which leads to double free
	591bf11 wlan: Fixes for WDI, DXE, VOSS, TL & utils
	afd6c53 wlan: Release 3.2.3.88a
	19e0efa wlan: 11R: Fixes for correctly parsing the RICs in ReassocResponse
	a9c0f25 wlan : Fast transition (11r)
	bcccc6f wlan: Release 3.2.3.88
	e758ad8 wlan: Data size setting bug in WDI
	4a3f3b5 Remove redundant new line in PE logs
	66c128a wlan: remove obsolete WLAN_HAL_VOLANS featurization
	7b7df9a wlan: Add Multicast/Broadcast filters
	f2585a6 wlan: Transport debugging crash fix
	da0753c wlan: New feature, Set TX Power with SAP mode.
	8575684 Fix the NULL pointer dereference in csr neighbor roaming.
	0fc481e Reverting "Postpone scan request until TDLS torn down"
	c6b4d0c wlan: Release 3.2.3.87
	39df6fb Remove redundant new line in SME logs
	e19c7a4 Postpone scan request until TDLS torn down
	310da9e Fix for the VOS_ASSERT in add station time.
	4cf5f0c Fix for the pmcState messed up during TDLS setup
	b5a87ea wlan: Decouple insert NOA from suspend link
	30e0c47 wlan: Release 3.2.3.86a
	5ee35cd wlan: wda: remove obsolete "INTEGRATED_SOC" featurization
	e0502dc wlan: Release 3.2.3.86
	06fb3f5 wlan: Issue disconnect when AP Capabilities Change detected.
	db1a74f wlan: protect ULA callback against adapter state changes
	206ddf3 wlan: Correct reason code when teardown link happens.
	ee746e1 Fix for the crash in wlan_hdd_tdls_check_bmps
	f3b92c1 wlan: Release 3.2.3.85
	6bd2614 Fix Null pointer exception from pRoamInfo
	1ce955a wlan: Clear preauth failed list in CFG_CHAN_LIST_SCAN state
	d01c69d Fix to enable/disable BMPS during peer discovery
	7ee99b6 Change TDLS run-time enable/disable scheme
	cd911d5 Fix for TDLS multiple peer instability
	6734081 TDLS: Added some more logs for debugging
	ce2dc4a wlan: Release 3.2.3.84
	11183cb wlan: mac: remove obsolete "INTEGRATED_SOC" featurization
	6a5371e wlan: mac: remove obsolete Product Type featurization
	8aeef30 wlan: Aggregation getting disabled when TM level going from 0 to 4
	51207f0 wlan: remove obsolete threading support
	041ac2c wlan: remove obsolete HLOS support
	4d4d6e3 wlan: If host detects data stall, issue FW BMU dump command
	622317b Revert "wlan: Updating the scanlist based on the 11d info from AP"
	688889f wlan: Increase TIM_IE_SIZE to accommodate 41 STA
	a0429d0 wlan: Release 3.2.0.83
	60f42b7 Remove redundant new line in SME logs
	79b33bf wlan: Fixing memory leaks in roaming
	4725f9e wlan: encrypt gtk 2/2 message during wpa authentication
	4d3e2b7 TDLS: Fix for low throughput in 2.4GHz
	da988d7 wlan: remove FEATURE_WLAN_UAPSD_FW_TRG_FRAMES featurization
	c175dd5 wlan: remove obsolete VOSS_ENABLED featurization
	1eae383 wlan: Kbuild: remove obsolete -D flags
	a0cde53 wlan: Memory leak fix in WDA/WDI
	7c725aa wlan: iwpriv getRoamRssi to query RSSI from roaming engine
	0877f85 wlan: maxTxPower should fall between the range
	d42691c wlan: Avoid invalid channel configuration for GO/SAP.
	923c771 wlan: Release 3.2.0.82
	3728a38 Fix the compilation issue
	39f351b Pass TDLS Peer Capabilities for Rate Adaptation
	612cb1e Fix for link not establishing in multiple peer scenario
	9e33a16 Fix for the crash while sending TDLS mgmt frames
	2c55a37 TDLS Support for the P2P interface
	7c94a8e wlan: cs release 3.2.0.81
	d8a8172 Release global SME lock before return due to error
	68c00b1 wlan: Do not let APPS suspend if roaming is in progress
	183864e wlan: Adding support for 41 STA index.
	4ba112c wlan: beacon filtering enable
	7267405 wlan: increase MAX_CFG_INI_ITEMS
	b494ce6 wlan: cs release 3.2.0.80
	b9537b2 wlan: hdd: remove obsolete "WLAN_FEATURE_P2P" featurization
	187ee67 wlan: sap: remove obsolete "WLAN_FEATURE_P2P" featurization
	22ccfb3 wlan: sys: remove obsolete "WLAN_FEATURE_P2P" featurization
	7406e08 wlan: sme: remove obsolete "WLAN_FEATURE_P2P" featurization
	57261f8 wlan: mac: remove obsolete "WLAN_FEATURE_P2P" featurization
	e6dd764 wlan: wda: remove obsolete "WLAN_FEATURE_P2P" featurization
	41fd5b0 wlan: wdi: remove obsolete "WLAN_FEATURE_P2P" featurization
	c409e37 wlan: hdd: remove obsolete "CONFIG_CFG80211" featurization
	c619a97 wlan: voss: remove obsolete "CONFIG_CFG80211" featurization
	a1f5e95 wlan: Submit api/inc files in rel/2.0
	061ca89 wlan: Add config param AP LINK MONITOR TIMEOUT

Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-04-18 16:09:31 -07:00
Sameer Thalappil
1fd2476da5 nl80211/cfg80211: add VHT MCS support
Add support for reporting and calculating VHT MCSes.

Note that I'm not completely sure that the bitrate
calculations are correct, nor that they can't be
simplified.

Change-Id: Id4c132850a85ff59f0fc16396763ed717689bec0
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: db9c64cf8d9d3fcbc34b09d037f266d1fc9f928c
Git-repo:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
2013-04-18 16:09:30 -07:00
Deva Ramasubramanian
11c58412d7 msm: vidc: Reset stop_called state when START is called
The driver needs to reset the stop_called field once START called.
Otherwise in START, STOP, START, STOP sequences the secondary STOP will
be treated as a duplicate STOP and ignored.

Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-04-18 16:09:30 -07:00
Deva Ramasubramanian
6b052a80c0 msm: vidc: Don't free shared memory on channel close
The driver already frees the memory in vcd_ddl.c at ddl_close().  No
need to prematurely free the memory here.

Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-04-18 16:09:30 -07:00
paris_yeh
ee0d677158 flo: debug: disable DLOAD mode when panic and abnormal reset
Disable download mode on crashes and keep system to continue
booting for better user experience. Download mode is useful for
collecting ramdump for furhter analysis during stability test.

To enable, type next line in the adb shell before stability test

echo 1 > /sys/module/restart/parameters/download_mode

Change-Id: I08c02dfd42cf28803b78385916f50ea3e42eb7ae
Signed-off-by: paris_yeh <paris_yeh@asus.com>
2013-04-18 16:09:30 -07:00
mars_kao
51653ef972 TouchScreen:571K/KL:update touch firmware for A012.
1.Fix the Sensitivity Problem That Suspend and Wake up When Charging.
2.Modification for Algorithm, and Digital Parameters for ER Module.
a.Improve "double fat finger (22 phi copper)" performance when charging.

Change-Id: I1f2f5697dd5587243dc77003672c9658213db4b0
Signed-off-by: mars_kao <mars_kao@asus.com>
2013-04-18 16:09:29 -07:00
Sakshi Agrawal
0f03fb6810 msm: kgsl: Always fire an interupt if requested
Even if the event code specifies a dummy interupt it might still
get wrapped with the conditional check.  Make sure that all forced
interrupts from the event code get fired.

Change-Id: Ic0dedbadc4599efcbca65ad93cc27943bad2ca79
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:29 -07:00
Sakshi Agrawal
f51d433f1e msm: kgsl: Print additional registers on IOMMU pagefault
Print more IOMMU registers when a IOMMU pagefault happens which
report whether the pagefault is a read or write fault.

Change-Id: I27acafa9dcfd0c7de9056151ed1baef7dd2346df
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:29 -07:00
Sakshi Agrawal
542cde2a9b msm: kgsl: Lock ringbuffer translation in TLB
Lock ringbuffer virtual address translation in TLB of IOMMU. This
is required to prevent a hardware table walk from happening when
GPU executes commands that program the IOMMU registers. If a hardware
table walk happens when GPU is programming IOMMU register then it
can cause a deadlock on the bus.

Change-Id: I99428be7879a5210ba816f5f96864f94714649d7
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:29 -07:00
Sakshi Agrawal
dd44f17342 msm: kgsl: Update required timestamps during command submission
Update all the required timestamps when submitting commands to the
GPU ringbuffer for execution. The global timestamp was not being
updated in all the required cases. Now the global timestamp and
per context timestamp are updated if following conditions are met:
	1. A valid non global context is passed
	2. The context passed supports per context timestamps
	3. The command submission is not from kgsl
If 3 conditions above are not met then only the global timestamp is
updated.

Change-Id: Ib4fe6fbd2ac57fbc5306377f09072f9e4c09d442
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:29 -07:00
Sakshi Agrawal
8447d2deb6 msm: kgsl: Add memfree_history debug feature
A kgsl user can free up an allocation of GPU memory with
kgsl_ioctl_sharedmem_free() function, but the GPU address
might still be in use resulting in a GPU page fault.
A bug of this kind is hard to find because the driver keeps
no trace of kgsl_ioctl_sharedmem_free calls.
This change implements a "memfree history" debug feture that
allows to see an information about a last couple of hundred
memory free calls in kernel/debug/kgsl/kgsl-3d0/memfree_history
file.

Change-Id: I12e0e3702db56d99d5de644739b364dea4cc37b1
Signed-off-by: Vladimir Razgulin <vrazguli@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:28 -07:00
Sakshi Agrawal
81e2336a27 msm: kgsl: Allow tasks to signal pending events
Add a type parameter to event callbacks to give tasks a way to
communicate error conditions to the callback. Current type values
are KGSL_EVENT_TIMESTAMP_RETIRED for normal timestamp expiry and
KGSL_EVENT_CANCELLED if the event is cancelled prematurely.

Change-Id: Ic0dedbad9907cd50642a604a3af562e01a4b4a3b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:28 -07:00
Sakshi Agrawal
c503756ca3 msm: kgsl: Move timestamps inside the context structure
Store the timestamps inside the context rather than in a
list stored in the ringbuffer.  This allows for easier
maintanability as well as keeping all context data
centralized.

Change-Id: I0467d07be6c8bb9f062a81a40629c0288be7e868
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:28 -07:00
Sakshi Agrawal
bb10a9c55d msm: kgsl: Fix context reference counting
Get rid of kgsl_find_context. Use instead kgsl_context_get that does
correct RCU read locking around the itr_find and increases the
reference count on the context before returning it.  This eliminates
the chance that a context will be destroyed while somebody is still
using it.  Of course increased use of kgsl_context_get is accompanied
by kgsl_context_put in all the right places.

Change-Id: Ic0dedbad73d497fd9b451aefad8e5b28d33b829d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:28 -07:00
Sakshi Agrawal
efe7e4749a msm: kgsl: Add a type field to the adreno draw context flags
Allow the user space to pass in a type field to indicate the
type of upper level library that owns the context. The type
field is added to all the appropriate ftrace output for easier
debugging.

Change-Id: Ic0dedbadd42fc5ccfffd89738affd4794a6ab85e
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:28 -07:00
Sakshi Agrawal
41b1b29eda msm: kgsl: Use ERR_PTR to return errors from kgsl_create_context()
Normally kgsl_create_context() returns a pointer to a new context.
In case of errors it just returns NULL pointer, and that doesn't allow
to propagate the right error code back to the user via
kgsl_ioctl_drawctxt_create()
This fix modifies kgsl_create_context to use ERR_PTR macro for passing
error codes to its caller.

Change-Id: I447c1765828912b0994bcae67a73864e62eef9b6
Signed-off-by: Vladimir Razgulin <vrazguli@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:27 -07:00
Sakshi Agrawal
80d1516513 msm: kgsl: Remove an uneeded log message that pre-dates tracing
Before we started using tracepoints this log message was used for
debugging the critical loop. Now that we are smarter remove the
unneeded log message.

Change-Id: Ic0dedbad57d97294cf2cb3865cf25f698aaea778
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:27 -07:00
Sakshi Agrawal
094c4806c3 msm: kgsl: Track GPU device resets
Keep track of the number of times the GPU power rails have been
cycled and provide said number to the user in the device sysfs
directory.

Change-Id: Ic0dedbad4489524a98e52b9993131257068ae2ef
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:27 -07:00
Sakshi Agrawal
22783d8e58 msm: kgsl: Delete the context event while the context is still valid
Make sure that the context is freed only after the event is deleted
from the list to avoid accessing invalid list pointers. This makes
sure that the context memory is not accessed after being freed.

Change-Id: I9196219f1472396c0063dbeaa5351f66e6e5648f
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:27 -07:00
Sakshi Agrawal
1ab2b3b83f msm: kgsl: Add event tracepoints
Add tracepoints for tracking the lifespan of GPU events.

Change-Id: Ic0dedbadf99b1efcb650608c6ac664d3c4ddafd5
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:26 -07:00
Sakshi Agrawal
2dd2275c0d msm: kgsl: Add a ftrace event for register writes
It is interesting to know when and how we program the hardware so
add a tracepoint to monitor register writes.  Register reads are
not traced since they are done much more frequently and are somewhat
less interesting from a debug perspective.

Change-Id: Ic0dedbad8ee85f154b9ba8731fe2c14603351243
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:26 -07:00
Sakshi Agrawal
b654d7af17 msm: kgsl: Resolve a potential race in the interrupt handler
In the GPU interrupt handler we attempt to clear the ts_cmp_enable
for the active context so that future interrupts are skipped until
someone needs one again. If for some reason the interrupt handler
is delayed then there is a possiblity that the "current" context in
the GPU isn't the one that fired the interrupt. In that case we
could be accidently clearing a ts_cmp_enable for a context that
needs it. Instead of clearing in the interrupt handler clear it
from the GPU so we can be sure we got the right context.

As a bonus pushing this logic to the GPU side lets us get rid of
some extra register reads/writes in the interrupt handlers.

Change-Id: Ic0dedbadbf350f7c4866092fa0686f9b42f3cd33
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:26 -07:00
Sakshi Agrawal
a2d0437a3e msm: kgsl: Check the current interrupt status before power operations
Sometimes the core will go idle before the interrupt can be handled on
the GPU. If that happens then we could go to a lower power state before
cleaning up the pending interrupt and various entities that might be
waiting for it. Consider the current interrupt status when checking
for idle.

CRS-fixed: 449813
Change-Id: Ic0dedbadfd2d40e4411cf3b05e1eb4c4eecf7841
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:26 -07:00
Sakshi Agrawal
bd640bd03a msm: kgsl: Verify the user doesn't accidentally submit a zero length IB
Indirect buffers to be executed will not be (and cannot be) zero length.
Check and reject.

Change-Id: Ic0dedbadea429c4f7bd386c5e64603b51ea8af61
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:26 -07:00
Sakshi Agrawal
944d45c635 msm: kgsl: Return correct timestamp for consumed timestamp reads
adreno_readtimestamp() would return a register value when asked to
get the KGSL_TIMESTAMP_CONSUMED value.  With per-context timestamps
this no longer holds valid since the value in the register could
correspond to a different contexts timestamp.  Return the start of
packet timestamp for the specified context now that the start of
timestamp values are correctly submitted.

CRs-fixed: 382888
Change-Id: Iad56d07eb4a2973a5906d989c96dd117ff902cea
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:25 -07:00
Sakshi Agrawal
8eb620a570 msm: kgsl: Add CP_WAIT_FOR_IDLE packet before updating timestamp
HW workaround to resolve MMU pagefault caused by memory
freeing early before GPU completes it.

This is race condition where timestamp is getting updated
and the event handler runs before the GPU actually got done
with the timestamp, hence freeing the buffer early while GPU
still not completed with it.

Change-Id: I6d338d7dca680f57f2c39ed5a14381b261bf8bce
Signed-off-by: Anshuman Dani <adani@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:25 -07:00
Sakshi Agrawal
0be3577fee msm: kgsl: Add identifier for internal command submissions
Add an identifier to label internal commands being sent to the
ringbuffer.  This will be used to further enable debugging
and hang recovery.

Change-Id: I4b3c10f0c3d290ae092182cbb450abe65e9dda80
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:25 -07:00
Sakshi Agrawal
b708abd0a4 msm: kgsl: Log retired timestamps on device wake
Knowing the retired timestamp on wake-up is useful to debug hangs that
are caused due to clock instability. When we request for clock ON, the
clock may/may-not be turned ON, but we go ahead assuming it is ON. This
can be caught by printing the timestamp on wake. The timestamp we print,
can be compared against the timestamp in postmortem dump (assuming a
hang happens).

If there is a difference, we can say that GPU has run for sometime after
wake. So, we needn't suspect clocks.

If there is no difference, we can say that GPU has hung immediately after
wake. So, we can positively suspect the clocks.

Change-Id: Iedf49977adbb0e61a9b71bbe23acc81f2a75162d
Signed-off-by: Ranjhith Kalisamy <ranjhith@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:25 -07:00
Sakshi Agrawal
876f03ab66 msm: kgsl: Do not dump the istore on A3XX cores
The instruction store on A3XX GPU cores isn't really an instruction store
as on A2XX and it doesn't give us any debugging value. On top of all
that it can be unstable to read in some situations. Since it is of
questionable value and questionable stability pull it from the snapshot
for all A3XX cores and move the functionality to the A2XX specific code.

Change-Id: Ic0dedbada32d8b6b9b93768d148c2624faf3ef30
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
2013-04-18 16:09:25 -07:00
yetta_wu
61bc49f42b display: JDI: shorten power on timing
no delay after command sending done

Change-Id: Icf3a8a3ccd2527083c3922cbec739023a2302095
Signed-off-by: yetta_wu <yetta_wu@asus.com>
2013-04-18 16:09:25 -07:00
Ajay Dudani
9f9cd0842e USB: ci13xxx_udc: Don't free dTD immediately after active bit is cleared
USB controller may access the dTD one more time after clearing the active
bit in token field.  There is a possibility of software freeing it in this
window.  When this happens, USB controller may access incorrect memory and
leads to system level issues.

dTDs are freed when requests are freed by function drivers during
disconnect or unbind.  The above race condition will come into effect only
for zero length packets.  dTDs are dynamically created for sending zero
length packets on IN endpoints.  These dTDs are immediately freed after
active bit is cleared.  Defer this to next dTD completion.  It is safe to
assume that hardware will no longer access the previous dTD when the next
dTD is completed.

Don't allocate/free setup status phase and GET_STATUS data phase requests
dynamically.  Use  one request for both cases and allocate it during bind.

CRs-Fixed: 474557
Change-Id: I5d41c310e1bb35d93b5af7d90a24ce5aab24f5f9
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-04-18 16:09:24 -07:00
sam_chen
4095062f42 Audio: soc: wcd9310: workaround for d-mic noise on flo hardware revision C.
On flo hardware revision C, micbias1 is not grounded with external
capacity, so it should set micbias1 capless setting as 1
(no external bypass capacity) to avoid noise.

Bug:8611206

Change-Id: I82644a9123d092490ccc0acf6cdfa68964ef9c22
Signed-off-by: sam_chen <sam_chen@asus.com>
2013-04-18 16:09:24 -07:00
hsuan-chih_chen
206b1c422f flo: correct hall sensor power source of deb and flo
LVS4 supplies vddio to all sensors.
set LVS4 always on per EE's request.

enable ldo17 on flo and ldo9 on deb.

Change-Id: I26825c637087aaad99a7a8c9ac673558df45d7c2
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/73528
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
Tested-by: Sam hblee <Sam_hblee@asus.com>
Signed-off-by: hsuan-chih_chen <hsuan-chih_chen@asus.com>
2013-04-18 16:09:24 -07:00
yetta_wu
09fcaf9e2e display: JDI: fix booting messy screen
case 01158268

Change-Id: I2369b730ef1351ec7a9c9fbe29b843bd9665ef1b
Signed-off-by: yetta_wu <yetta_wu@asus.com>
2013-04-18 16:09:24 -07:00
yetta_wu
982295a4e6 display: JDI: enable CABC level 3
1. CABC level 3 is the most power saving level
2. level 3 for all cases (UI and video)

buganizer number: 8514498

Change-Id: I78930ff326410ba922ec565234dde387c670967b
Signed-off-by: yetta_wu <yetta_wu@asus.com>
2013-04-18 16:09:24 -07:00