Commit graph

304743 commits

Author SHA1 Message Date
Suman Tatiraju
06ab48ada4 msm: kgsl: set io_fraction to max for msm policy
io_fraction is set to max so that io_wait gets reported
for DCVS so that MP decision won't offline cores
during GPU activity.

Change-Id: I39db72dd9c443069675a8a1b1f4e17d8928625b8
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:04 -08:00
Jeremy Gebben
6f8e31e840 msm: kgsl: add per-process memory info to debugfs
Add a file for each process in debugfs named, kgsl/proc/<pid>/mem
which contains information about all memory allocations the process
has made.

Change-Id: Ice3f039d92cc1b1cdb5a6192808441ddfdf8abfb
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:04 -08:00
Jeremy Gebben
4935c87a80 msm: kgsl: add userspace memory type to ftrace events
Add a "usage" field to memory allocation, mapping and
free ftrace events.

Change-Id: I673a9593650d5285b0abc8c94de8f9f80d3d449e
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:03 -08:00
Jeremy Gebben
fa66e94752 msm: kgsl: set userspace memory type on each memdesc
Userspace passes a set of values indicating how it
uses each buffer it allocates, which were previously
ignored. These are useful hints for debugging and
profiling applications. These flags will be exposed
through ftrace and debugfs in later patches.

Change-Id: Ie26c26e413c074dcd5dfa24d355443ee47c3cd6a
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:03 -08:00
Jordan Crouse
596e1d5efe msm: kgsl: Watch SP_FS_FULL_ALU_INSTRUCTIONS for hang detection
Some intensive shader operations can go for the full timeout
in the SP block without changes in th RBBM and CP registers
that we monitor for hang detection. Add the performance counter
SP_FS_FULL_ALU_INSTRUCTIONS to see if any full precision
instructions have been executed during the hang detection interval.

CRs-Fixed: 392730
Change-Id: Ic0dedbadd6e5bcd0b46aab4209430de2f74711f7
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:03 -08:00
Jordan Crouse
2479fe88c0 msm: kgsl: Add the thread group leader ID to memory traces
Because we store process memory indexed by the thread group leader and
report pagefaults accordingly it helps reduce confusion to record the
TGID for the allocation in the memory trace messages.

Change-Id: Ic0dedbad79c7112c4a6746cea0941104519e495c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>u
2013-03-07 15:22:02 -08:00
Carter Cooper
4541657ff2 msm: kgsl: Simplify logic for VBIF registers across A3XX cores
VBIF registers are set dependent on what A3XX GPU core is present.
Set the registers from a table that is explicitly tied to each of
the A3XX GPU cores.  This will prevent side effects across cores
when changing a specific cores VBIF data.

Change-Id: I4c20cd891a940abd85459ce5bf548cf91d06004a
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:02 -08:00
Tarun Karra
f1415bb089 msm: kgsl: In kgsl release do not idle if device is in HUNG state
When recovery fails we are in HUNG state and clocks are turned off,
If a client closes kgsl device, driver release gets called and
we will try to idle the device which leads to accessing GPU registers
without clock being on. This leads to excessive kernel logging
"kgsl_pre_hwaccess hw access while clocks off from state HUNG"
and this eventually leads to watchdog.

CRs-fixed: 397149
Change-Id: Iac720bef5d811269417ec1e5a346c95ce5a4324f
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:01 -08:00
Shubhraprakash Das
2d88a0529b msm: kgsl: Fix the address translation ranges for GPU IOMMU
Set the address translation to happen via ttbr0 for GPU IOMMU till
address 0x80000000 instead of 0x40000000. Also, adjust the size of
virtual pool so that it does not allocate an address greater
than 0x80000000.

CRs-fixed: 401364
Change-Id: I268dda47e82e80a7ee0a72a835c7777be8b6f7f5
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:01 -08:00
Shubhraprakash Das
edc43d003f msm: kgsl: Do not allocate space in ringbuffer for hung context
If a hang is detected when allocating space in ringbuffer and
if the context for which the space is being allocated is hung
then do not allocate space at all.

Change-Id: Ia5ade2341fe5016119d8c140413860420c5c3a3d
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:00 -08:00
Suman Tatiraju
11b7719bd3 msm: kgsl: unprepare clocks when we move from NAP to SLEEP
The existing code leaves clks prepared when we transition from
NAP to SLEEP. We fail to reach Vdd_min as voltage scaling has
moved to prepare/unprepare.

Change-Id: I509f4c6bd217ead985890147819236dd2c5d03ce
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:00 -08:00
Rajeev Kulkarni
39963306f9 msm: kgsl: Handle missed alloc error cases
There is a chance that we could fail to allocate memory and then write
to it when allocating entries for our scatter gather list.  Handle the
error cases properly to prevent writing to NULL.

Change-Id: I33978ff53114ede7007b3240406583bcbef2f292
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:21:59 -08:00
Shubhraprakash Das
7f129047c7 msm: kgsl: Invalidate base pointers when tlb is flushed
Invalidate the base pointer even when tlb is flushed. For
gpummu the base pointers are invalidated even after just
a tlb flush, with IOMMU do the same.

Change-Id: I11c7d4b841e5f8becd30a087bcabc0ae69c3fee5
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:21:58 -08:00
Amara Venkata Mastan Manoj Kumar
db940e99a7 msm: Add switch node mechanism for wfd
Add switch node mechanism for WFD to indicate the
connection/disconnection event.

Change-Id: I6242ff06c56479c2fe558658f1bf5a2981379b19
Signed-off-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
2013-03-07 15:21:58 -08:00
Patrick Daly
1a722e1de8 msm: acpuclock-8064: Add PVS tables for 1.7 GHz parts
Add all seven PVS bins.

Change-Id: Ifa49a8e81f5fe2c478cf5ff7545c25c4f7430d6e
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-03-07 15:21:58 -08:00
Patrick Daly
08ced2f233 msm: acpuclock-8064: Add support for 8064v1.1 FASTER PVS bin
Add updated PVS data.

Change-Id: I54d2e03896af1f0ac00734dc8673eed54fdcd346
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-03-07 15:21:57 -08:00
Patrick Daly
0b19c5d0ca msm: acpuclock-8064: Final PVS Table Data for 8064v2
Update data from preliminary values to final data.

Change-Id: I2ab9caa46d2bfabcd24a1ece7bd69296d8c8cde0
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-03-07 15:21:57 -08:00
Patrick Daly
d5b4ad9008 msm-3.4: acpuclock: Add 8064v2 PVS voltage table data
Add PVS tables for 8064v2 speed bin 2 (2GHz).

Change-Id: Ifcec9c792a69f27f677958ddafc1425a7923a952
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-03-07 15:21:57 -08:00
Vicky Sehrawat
c854811a66 Asoc: msm: Mixer control to update the sample rate of HDMI interface
Updating the sample rate for the compressed stream playback of the HDMI
interface through the mixer control. For APQ8064, MSM8930 and MSM8960

Change-Id: I61d598e2eff546bfc053c5301f992fb7d9ba3268
CRs-fixed: 405772
Signed-off-by: Vicky Sehrawat <vickys@codeaurora.org>
2013-03-07 15:21:56 -08:00
Santosh Mardi
dcc8744c9d ASoC: msm: Register restart api for under run issue.
Update compressed platform driver to register an restart callback.
Implementation of the restart callback is to issue an pending buffer
Written by application to restart the session when  the de queue
Process is stopped due to underrun issue.

Restart callback is triggered from the ALSA core framework when
Framework detects that the render stopped pulling the data
And application is writtig the data.

This callback will be running in atomic context.

Change-Id: Iada382f39bd052beeb0b1d165959d510fa51ff7c
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:55 -08:00
Santosh Mardi
fb7be07c92 ASoC: soc: Update the restart op of the platform driver.
Update SoC framework to update the restart callback registerd
By platform driver, which inturn be used by ALSA core framework
To trigger the restart callback during the under run issue to
To recover from hang state.

Change-Id: I70f47c0d295526e7f35d4a4f9024e0e87dbc2455
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:55 -08:00
Santosh Mardi
dec3f44a64 ASoC: core: Update ALSA core to issue restart in underrun.
When compressed and pcm session is started the buffer pull will
Be from the DSP, in mmap mode for the scenario Hardware pointer
Is same as application pointer implies application has not filled the
Buffer to be send to DSP, and platform driver has to break and restart
The de queue process when the application has sufficient buffers.

When hardware pointer is same as application pointer it is an under run
Scenario where the ALSA framework has to trigger the under run and in HAL
The session has to re-prepare and re-triggered. based on the stop
Threshold, but in our system the stop threshold is INT_MAX which
Indicates that under run is not triggered in practical cases.

We have a brodcast usecase in which the mentioned under run case
Is hit mulitple times, and every time re-prepare and re-trigger will be
Expensive

Update the ASoC core framework to restart de queue process stopped
By platform Driver when the under run is hit, based on the available
Buffer and render flag, so the System will recover from the hang state.

To restart de queue process the ASoC core will be calling the restart
Callback registered by platform driver and this callback will be running in
Atomic context.

Change-Id: Ic9ea05a0dc6246346e9913493232882e2f5447d1
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:54 -08:00
Tatyana Brokhman
2347368881 mmc: msm_sdcc: enable Power Off Notifications
Notifying the device of the hosts intention to power it off, gives the
device the ability to better prepare itself.

(cherry picked from commit f495d1b0d837af16a9e9881dbbcd7908abf88b33)
Change-Id: I43a6c576ea48508d60723f1002fc0fb26e9eafe4
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 916072e4cb9373c054bc5a91ff289ac769958993)
2013-03-07 15:21:54 -08:00
Maya Erez
6fbfb09306 mmc: core: Fixup broken suspend and eMMC4.5 power off notify
This patch fixes up the broken suspend sequence for eMMC with sleep
support. Additionally it reworks the eMMC4.5 Power Off Notification
feature so it fits together with the existing sleep feature.

The CMD0 based re-initialization of the eMMC at resume is re-introduced
to maintain compatiblity for devices using sleep.

A host shall use MMC_CAP2_POWEROFF_NOTIFY to enable the Power Off
Notification feature. We might be able to remove this cap later on,
if we think that Power Off Notification always is preferred over
sleep, even if the host is not able to cut the eMMC VCCQ power.

[merez@codeaurora.org: resolved various merge conflicts.
                       Fix in mmc_resume already exists]
(cherry picked from commit cec02a451276a70cdeb0576ec89d6b5b76e4e18b)
Change-Id: I4f29c213d745dcb1ec50b34b535657328042b4b2
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Saugata Das <saugata.das@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
(cherry picked from commit 91cf2698afab3f0707f739a02eb639205798f1dc)
2013-03-07 15:21:53 -08:00
Maya Erez
f80b8d0ade mmc: block: Fix error handling of device attributes creation
When a failure occurs while creating a device attribute,
we need to remove previously created attributes prior to deleting
the disk.

(cherry picked from commit 8d006d3f139c46beaeee138bda9d0807185661a9)
Change-Id: Ic5ebba9c06f3811534f5b5e8c0399809e5dc9f23
Signed-off-by: Maya Erez <merez@codeaurora.org>
(cherry picked from commit 7256cdc299a4d42c1d316afbac98d320154ce6da)
2013-03-07 15:21:52 -08:00
Tatyana Brokhman
5a7ed95183 Revert "MMC-4.5 Power OFF Notify Rework"
The version of PON support accepted by the linux community is
slightly different from the one that was merged. This revert is needed
in order to upload the latest version from the linux community.

This reverts commit 76058d7388c6edde07fd6289ce082dc1a1813b26.

(cherry picked from commit 8b458cf768db937d3a2274e216819a1a217e97f8)
Change-Id: I0cb611698b25de600dbaa54678edae661456e485
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 6e3e74d3ba5c825108b0a63018376b12e61592f9)
2013-03-07 15:21:52 -08:00
Maya Erez
388160901f mmc: msm_sdcc: Reset SPS BAM on error recovery
In the current soft reset sequence performed as part of
CMD/DATA error recovery we do the following:
1) Write 1 to DML_SW_RESET
2) Reset CPSM/DPSM by clearing MCI_CMD and MCI_DATA_CTL
or by writing to MCI_SW_RST_CONFIG.
3) Re-init DML
4) Reconfigure both consumer and producer BAM pipes.

The BAM pipe reset does not reset the sideband signals, since
only SDCC side is reset SDCC - BAM communication will go out
of sync and cause DML to be stuck without transferring data.
Hence reset BAM core every time SDCC is reset (which is on
error recovery).

Fix error handling for sps pipe or device reset.

(cherry picked from commit 3ca90f02963ddbbdb300eb55c49aca18091c3f49)
Change-Id: I82bd6c5f3db6ac71da912cef935dfd179b099ed4
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Signed-off-by: Krishna Konda <kkonda@codeaurora.org>
(cherry picked from commit 9b2f00f099f4f17025a9834eb38fc67254164608)
Signed-off-by: Maya Erez <merez@codeaurora.org>
2013-03-07 15:21:48 -08:00
Maya Erez
b8e9a9d338 mmc: card: fix write packing errors due to previous revert
Due to the revert and cherry-pick of latest version from
the community, we had some errors in the final code of packed
commands. This patch fixes this mismatch

(cherry picked from commit 47b37929ebffeb2672a4bcbea38ae4e79d7d4e26)
Change-Id: Iff688ca3aaa893d9bd7f876a8d2d7c3d4d750a8a
Signed-off-by: Maya Erez <merez@codeaurora.org>
(cherry picked from commit e05b4d698362433009b4cdef75952c72de0f38cf)
2013-03-07 15:21:46 -08:00
Krishna Konda
275f176dc6 mmc: core: use mmc_try_claim_host in suspend path
mmc_cache_ctrl is called during the suspend path and it used
mmc_claim_host which is a blocking call and the device never
really suspends as it waits for the host to be available.
This also leads to race conditions during runtime power
management operation, for example, runtime suspend can start
while the device is being runtime resumed. So in order to
prevent this, mmc_try_claim_host should be used during
suspend path, which is non-blocking.

(cherry picked from commit 4d6b6238793e836189db5ec00c8c7890b11c9997)
Change-Id: Ib63a00b1c31159eefa4e5c4fa646c4cf77905f05
Signed-off-by: Krishna Konda <kkonda@codeaurora.org>
(cherry picked from commit 2638637f5b68a339cbac6e5841218761d7926b8c)
2013-03-07 15:21:46 -08:00
Yaniv Gardi
d18abfdc80 mmc: block: Adding device attribute for minimum sectors to start BKOPS
This attribute is used to determine whether the status bit that
indicates the need for BKOPS should be checked. The value is stored in
this attribute represents the minimum number of sectors that needs to
be changed in the device (written or discarded) in order to require
the status-bit of BKOPS to be checked

(cherry picked from commit e6c6b4b14ac2f10aa34cf42b6f558152e438bb37)
Change-Id: I3b05a0826fc9397a13d6b03ee028293f877f8d66
Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org>
(cherry picked from commit 15ecbe1c5f6b2f2af5974f23cd494fce0c5bf81a)
2013-03-07 15:21:45 -08:00
Tatyana Brokhman
5173cb5b85 mmc: card: Add eMMC4.5 write packed commands unit-tests
Expose the following packed commands tests:
- Test the write packed commands list preparation
- Simulate a returned error code
- Send an invalid packed command to the card

(cherry picked from commit 09b010d749e40e86b42e62406f8886956e03f3bd)

Change-Id: I563a17b8dc313e65c20ed24d542d29ab7b432741
Signed-off-by: Lee Susman <lsusman@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 1dc976ea347887060c162a80b3180a0981b5d1bd)
2013-03-07 15:21:45 -08:00
Maya Erez
6ecdcb0f9d mmc: core: Add support for idle time BKOPS
Devices have various maintenance operations need to perform internally.
In order to reduce latencies during time critical operations like read
and write, it is better to execute maintenance operations in other
times - when the host is not being serviced. Such operations are called
Background operations (BKOPS).
The device notifies the status of the BKOPS need by updating BKOPS_STATUS
(EXT_CSD byte [246]).

According to the standard a host that supports BKOPS shall check the
status periodically and start background operations as needed, so that
the device has enough time for its maintenance operations.

This patch adds support for this periodic check of the BKOPS status.
Since foreground operations are of higher priority than background
operations the host will check the need for BKOPS when it is idle,
and in case of an incoming request the BKOPS operation will be
interrupted.

When the mmcqd thread is idle, a delayed work is created to check the
need for BKOPS. The time to start the delayed work is calculated based
on the host controller suspend timeout, in case it was set. If not, a
default time is used.
If BKOPS are required in level 1, which is non-blocking, there will be
polling of the card status to wait for the BKOPS completion and prevent
suspend that will interrupt the BKOPS.
If the card raised an exception, the need for urgent BKOPS (level 2/3)
will be checked immediately and if needed, the BKOPS will be performed
without waiting for the next idle time.

(cherry picked from commit 5f360698caa2894f7cc854199ffba285241d152e)

Change-Id: I6605ce396188807bed93f437224f2243b178523f
Signed-off-by: Maya Erez <merez@codeaurora.org>
(cherry picked from commit 833940e728c5903f0263c20e349bbead7a79e535)
2013-03-07 15:21:45 -08:00
Tatyana Brokhman
fbbdcb07ab mmc: block: Update packing statistics with large sector size
This patch adds "large sector size" as a reason for stop packing
to the packing statistics mechanism

(cherry picked from commit 1718ef21fb791a2ea25bd3fbf236913de64ca85f)

Change-Id: I595f7839fa9156d5ed26040943c1d5e3011c2a60
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit bd8d562c886ffe3a07b9a56a446eb5b5b7db23ed)
2013-03-07 15:21:44 -08:00
Tatyana Brokhman
19bc4189e0 mmc: block: Add MMC write packing statistics
The write packing statistics are used for the packed commands unit tests
in order to determine test success or failure

(cherry picked from commit 464fbe1af0248b7e85044ccebf4d4d96dd8fdeaa)
Change-Id: If5465118e0ea1b4c78b73a43b664d5b6bc9cae31
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit db2e25650ab5fb62143ff39fcaea083176403fd1)
2013-03-07 15:21:44 -08:00
Tatyana Brokhman
803c4cc648 mmc: block: Add write packing control
The write packing control will ensure that read requests latency is
not increased due to long write packed commands.

The trigger for enabling the write packing is managing to pack several
write requests. The number of potential packed requests that will trigger
the packing can be configured via sysfs by writing the required value to:
/sys/block/<block_dev_name>/num_wr_reqs_to_start_packing.
The trigger for disabling the write packing is fetching a read request.

(cherry picked from commit 0cc76400d65f0d7b3f2f8f1ece3c8061652a35d7)
Change-Id: I51a44d2673e40e4e404317ddb632a9fb204e9a06
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit fd402c28f1571b64f4d695d191778e9dd595806a)
2013-03-07 15:21:43 -08:00
Seungwon Jeon
37e288ec83 mmc: support packed write command for eMMC4.5 device
This patch supports packed write command of eMMC4.5 device.
Several writes can be grouped in packed command and all data
of the individual commands can be sent in a single transfer
on the bus.

[tlinder@codeaurora.org: Difference in definition:
R1_EXP_EVENT -- > R1_EXCEPTION_EVENT]

(cherry picked from commit 53f8f574c6c68687098cd064af8224da44de2484)

Change-Id: I26ee7c0b957a3aec5e4ffc6d6df806ea38435784
Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 6d24bc3b6e86412cbfbc37377bbbf196cbdebce9)
2013-03-07 15:21:43 -08:00
Seungwon Jeon
20bafab63b mmc: add packed command feature of eMMC4.5
This patch adds packed command feature of eMMC4.5.
The maximum number for packing read(or write) is offered
and exception event relevant to packed command which is
used for error handling is enabled. If host wants to use
this feature, MMC_CAP2_PACKED_CMD should be set.

(cherry picked from commit c70e9669bffa2f2ffe4d8f9768980e1cd08df4b2)

Change-Id: If3af1299c7dbdc9f66b13ec5b99038225d5b17f0
Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 458c9b55dd3e06d6cd36158bd96a6d4935ed4fea)
2013-03-07 15:21:42 -08:00
Maya Erez
5dbcaa171b mmc: msm_sdcc: enable the write packing control
Write packing control prevents degradation of read throughput
in parallel read and write scenarios when the write packing
feature is enabled

(cherry picked from commit dffdbad64760df63918aad2cb148f7286f852dd1)
Change-Id: Id1aadcd21c88619e4c848872a149542495ede180
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 681c3b752850b8d8a8ef8e16905e1b1fb290551a)
Signed-off-by: Maya Erez <merez@codeaurora.org>
2013-03-07 15:21:42 -08:00
Maya Erez
1b7e6d6fd9 mmc: msm_sdcc: Enable write packing capability
The write packing allows sending several requests in a single command
to the card and increases the eMMC performance in sequential write
operations.

(cherry picked from commit 34a444f2041763d617391be44f4a9ac1b7d6eab7)

Change-Id: I45978c8130d3898b21e36309696647c380521a87
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 94a78f62307a53e9051e6f3970e1a937361078ba)
Signed-off-by: Maya Erez <merez@codeaurora.org>
2013-03-07 15:21:42 -08:00
Ninad Patgaonkar
cdbced027e msm: camera: Fix for back camera Snapshot due to no AF stats
Changed UB buffer addresses for equal slicing of UB buffer

Change-Id: I2abca7fafa898a337ccc3324f8b5d8bd3d18b4e2
Signed-off-By: Ninad Patgaonkar <ninadp@codeaurora.org>
2013-03-07 15:21:41 -08:00
Jack Pham
261934ea7e usb: diag_bridge: call bridge callbacks even for -EPROTO.
The diagfwd_hsic driver acts as a client of the bridge and must
have its read/write callbacks called so it can properly free its
memory buffers. In the case of the HSIC device being disconnected,
the URB status is -EPROTO but the callback was withheld, which
led to lost buffers when the HSIC device is disconnected. Fix this
by always calling the callbacks, while continuing to treat -EPROTO
as a special case by returning -ENODEV on subsequent reads and
writes. Also fix a major but tiny gotcha in diagfwd's read function
in which the 'err' variable is additionally declared and used in a
local scope but is read outside it.

CRs-fixed: 394401
Signed-off-by: Jack Pham <jackp@codeaurora.org>

Conflicts:

	drivers/usb/misc/diag_bridge.c

Change-Id: Ic40e43555ba557ac0caf3abfd3b8e372eb522003
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:21:41 -08:00
Deva Ramasubramanian
e0f91c62fa msm: vidc: wfd: Add WFD support for msm8974
Adds three new subdevices:
- Encoder subdevice to interface with new venus driver
    o Renamed enc-subdev.c to enc-mfc-subdev.c which only
      compiles for targets using the Samsung MFC core.
- MDP subdevice to interface with new MDSS driver
    o Renamed mdp-subdev.c to mdp-4-subdev.c used for targets
      using MDP4.
- MDP subdevice for debugging purposes
- Introduce a Kconfig file to properly choose between subdevices
  according to target

Change-Id: I125b39cfdeb1fbb4adf7c15d0c4452146764f985
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Signed-off-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
2013-03-07 15:21:41 -08:00
Ken Zhang
e64f038561 msm_fb: display: mdp4 version assigned at board file
The mdp4 version reflects mdp's capability and is referred to at
many places. Currently, it is acquired by reading mdp version
register. Since the MDP version is defined in the board file,
this patch uses that version at probe time.

Change-Id: Iae2db1fb8609cb80f3705b5e47d3fefedc15fec5
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-07 15:21:40 -08:00
Naseer Ahmed
3cee1c824a msm_fb: display: add per stage alpha drop detection
Currently, alpha drop detection is done per frame which
means multiple blending stages share same alpha drop status
which does not reflect the alpha effect truly on each blending
stage. This patch enforces that the alpha drop detection
is done per blending stage so that alpha effect is applied
properly at each blending stage.

Change-Id: I2f456623c696192cf3388a635584a4a49d4720a0
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-07 15:21:39 -08:00
Naseer Ahmed
220607f0d6 msm_fb: display: remove background invert alpha option for alpha drop pipe
When the blended background pipe has dropped alpha and it is going to
be blended with foreground pipe on the next stage,
MDP4_BLEND_BG_ALPHA_FG_CONST is taken. Foreground alpha constant is
0xFF, so we need to use this alpha value to show background, instead
of its inverted value.

Change-Id: I9412141b28a46ed3b58079a56969e79dea4ed57c
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-07 15:21:35 -08:00
Naseer Ahmed
c96cee414e msm_fb: display: Consolidate commit ioctls
Overlay commit and display commit were two separate
ioctls doing similar things. This change consolidates
the two into one display commit ioctl. With this, we
can use the RGB0 pipe with an IOMMU framebuffer.

Change-Id: I2b51e16a6678e6cec1bd3e56a00a476addb1296f
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-07 15:21:33 -08:00
Naseer Ahmed
f65d4ebb64 msm_fb: display: do not use ION_IOMMU_UNMAP_DELAYED
Since iommu buffers will be unmapped after two newer commits
had passed, there is no need to request iommu driver to further
delay unmapping an iommu buffer.

Change-Id: I8cf8d406cf509908035d12c9a04f0add12f3c7c7
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-07 15:21:33 -08:00
Naseer Ahmed
3b9db53973 msm_fb: display: add fput_light to frame buffer
Frame buffer's (fb0) ref_count's need to be balanced. overlay_play()
increases fb0's ref_count (fget_light). This patch will decrease fb0's
ref_count by calling fput_light after commit.

Change-Id: I352da1fce99b344c059f615a6fe88cc6e7387d89
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-07 15:21:32 -08:00
Ashay Jaiswal
960b0c273a diag: Add support for QSC restart
Add cleanup of SMUX port once disconnect event is
received by diagfwd driver.

CRs-Fixed: 376401
Change-Id: I5ef07c8ccbfcc4ad6c5e41b3d985bdea434ab9ce
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>

Conflicts:

	drivers/char/diag/diagchar.h

Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:21:32 -08:00
Shalabh Jain
e29443aadc diag: Add missing "get log mask" command
DIAG service responds to "get log mask" command sent by tools.
This was typically responded to by modem. On modem less devices,
this command still needs response. Adding support on Linux processor
for this command.

CRs-Fixed: 388740
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>

Change-Id: I4516acd1196a1459a56175df19a3bca19389cc83
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:21:31 -08:00