Commit Graph

303031 Commits

Author SHA1 Message Date
Yatin Manerkar
80098d52d5 virtio: Decouple virtqueues and vrings
Add struct virtqueue_ops back into the virtio core code to facilitate
the use of virtqueue implementations other than vrings. This allows
virtqueue implementations that use SMD drivers, USB drivers, or other
mechanisms for transport.

Add a new virtqueue operation, virtqueue_get_impl_size, to provide the
functionality of virtqueue_get_vring_size from the previous collapsed
implementation.

This commit partially reverts commit
7c5e9ed0c8.

Change-Id: I1219c4f203879658dce5800f405291bf311564b4
Signed-off-by: Yatin Manerkar <yatinm@codeaurora.org>
2013-02-27 18:18:30 -08:00
Shubhraprakash Das
96be649682 msm: kgsl: Use the gpuaddr to decide whether to map memstore
Use the gpuaddr to determine whether memstore is being mapped in
mmap or a normal memory allocation is mapped instead of physical
address. gpuaddr of the memstore will always be unique but the
physaddr may be equal to the gpuaddr of another memory allocation
and that will cause the memory allocation to be mapped as memstore
which is wrong.

Change-Id: I6a803e82e0a9d3713ebb3f15ea46d450f69d8ac7
CRs-fixed: 379019
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-02-27 18:18:30 -08:00
David Collins
9918b5147f arm/dt: msm8974: Update PM8941 regulator voltage constraint ranges
Modify the voltage constraint ranges for PMIC PM8941 regulators
LDO 3, LDO 4, and LDO 11 so that they match hardware
documentation guidelines.

Change-Id: Ic0a292e9e79d9d1562b9df04988daad06d027643
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-27 18:18:30 -08:00
Sunny Kapdi
30ff7fbdaf bluetooth: Check for hcon during during sock_close
It is possible that during BT OFF operation the hcon
could be released from a tasklet context while we are
trying to send the l2cap disconnect req. Make sure
that hcon is valid before dereferencing it during
l2cap disconnect req.

CRs-fixed: 383345
Change-Id: Icb12c62560013b5ebb047c1c5d4bfe04b3a793ef
Signed-off-by: Sunny Kapdi <sunnyk@codeaurora.org>
2013-02-27 18:18:29 -08:00
Srinivas Krovvidi
3215d227ff Bluetooth: Validate session before rfcomm_session_del
In rfcomm_session_put API the session count is decremented
and when it is equal to zero rfcomm_session_del is called
where session is removed from sessions list and freed. The
current change is verify the existance of session in list
before acting session. The avoids the possibility of action
on a deleted session, which causes crash.

CRs-Fixed: 383000
Change-Id: Ia55607b08ee388465494f08bbe1627102d281f8a
Signed-off-by: Srinivas Krovvidi <skrovvid@codeaurora.org>
2013-02-27 18:18:29 -08:00
Shuzhen Wang
7806421bce camera: vfe: Refactor axi configuration for concurrent case
1. Ping pong buffer configuration is not done during axi
configuration. Rather, they are programmed by enqueuing/
dequeuing of buffers. Ignore ping pong buffer from axi
configuration structure.
2. BUS_CMD register should be updated when all UB offsets/
depths are configured.

Change-Id: I1de1f5a5b43f964cfd3d1d86f91e2e91e58e9939
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
2013-02-27 18:18:28 -08:00
Hanumant Singh
1d85d51adf msm: Enable memory dumps.
Allow individual clients to register respective
dump regions to capture snapshot of system at the
time of a crash.

Change-Id: I34845f18a08a6dad219aae71bb501ceb91c462c2
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
2013-02-27 18:18:28 -08:00
Sreesudhan Ramakrish Ramkumar
f479edb8a3 msm: camera: Add DT support in msm sensor for 8974
On 8974, camera sensor is created as a platform device.
platform data is specified in device tree node. Add
support in sensor driver to parse sensor information
from device tree node. Create sensor drivers as platform
driver since CCI hardware controls i2c bus. Also, use
Camera Control Interface (CCI) util functions for I2C
communication.

Change-Id: I5dc954c5b83eacbdaf486a4c8241644568f167fe
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
2013-02-27 18:18:28 -08:00
Kuirong Wang
fefcfb5f4e ASoC: wcd9310/9304: Pull down Mic Bias output by default.
If Mic Bias is high Z by default and when the LDOH is enabled,
the Mic Bias output can pull-up to a non-zero voltage if there
is no loading or if the load leakage is very small.  Pulling
down the Mic Bias output so it is not in high Z to eliminate
the floating voltage.

Change-Id: I38e76a8c03107879727564f177b2713c9dfa4631
CRs-Fixed: 368898
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2013-02-27 18:18:27 -08:00
Hemant Kumar
d6e39cb608 usb: serial: Check for received data upon unlinking the urb
There is a possibility of runtime suspend in the middle of
data transfer on the rx data path of driver. This results in
the completion of data transfer on bulk IN endpoint with short
packet or integral multiple of 512 bytes. Hence for -ENOENT
transfer status check for non zero data length and pass it to
the consumer in the userspace.

CRs-Fixed: 382161
Change-Id: I72407e8879b6b3b7a9456c1234eec71970272495
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2013-02-27 18:18:27 -08:00
Arun Menon
3560406b46 msm: vidc: Add turbo support for 8930.
This change is needed to put the fab clocks in turbo mode
to support 1080p decode + 720P encode use case for
WiFi display.

Change-Id: Iba2644db0052f88da8ac2ad6d137ca1793c2823f
Signed-off-by: Arun Menon <menon@codeaurora.org>
2013-02-27 18:18:26 -08:00
Shubhraprakash Das
d76281c676 msm: kgsl: After timeout check if timestamp has retired
When a thread times out while waiting for a timestamp, check once
whether the timestamp which it was waiting for has expired or not
before treating it as an error

Change-Id: Iffba7955de58974a8d990a589b926e10f6c6a481
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2013-02-27 18:18:26 -08:00
Deva Ramasubramanian
5fed32c16c msm: mdss: Use YCrCb 420 as the output format for writeback
Use YCrCb 420 (NV12) as the output format for writeback.  For Wifi Display
use case, NV12 is required as the encoder requires this as the output
format.

Change-Id: Ica8851073476b9c05f3b5b41232803c2d71f7a3e
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-02-27 18:18:26 -08:00
Deva Ramasubramanian
b59d111e75 msm: mdss: Return proper msmfb_data back to client
For local clients, return the relevant msmfb_data which contains a
cookie relevant to the client.

Change-Id: I9b845c0cd7fde1bc8c53a5063ba331460d67427d
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-02-27 18:18:25 -08:00
Stephen Boyd
99f8c3e4ce spinlock_debug: Print offset in addition to symbol name
If one has two spinlocks embedded in a structure that kallsyms
knows about and one of the spinlocks locks up we will print the
name of the containing structure instead of the address of the
lock. This is quite bad, so let's use %pS instead of %ps so we
get an offset into the symbol so we can determine which lock is
having problems.

Change-Id: If6fbb2eb2316b846d96da76c35fcfeadbef64401
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-27 18:18:25 -08:00
Jeff Boody
93a4c5f949 base: genlock: handle error while creating lock/handle inode
A lock/handle inode is required in order to successfully create a
new lock/handle. Failure to report the lock/handle inode error can
result in errors for subsequent function calls.

Change-Id: I622af24e695f4781c4dbf46363931a7da09df677
Signed-off-by: Jeff Boody <jboody@codeaurora.org>
2013-02-27 18:18:25 -08:00
Gopikrishnaiah Anandan
54071a910c msm: vidc: Increase video driver clients count.
Video driver currently supports registration of 4 clients.
Increasing number of clients count to 6 to support new usecases.
Video driver will limit number of instances to 4.

Change-Id: If00911ef1027b1e44917465791ef3612e6c59ed1
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2013-02-27 18:18:24 -08:00
Ashwin Chaugule
0dd71ca8a2 Perf: Add PMU names to perf output
Output of raw events in perf tools can be hard to distinguish
when multiple PMU's have the same event encoding.

Show the PMU name along with the counter output.

e.g.

 Performance counter stats for 'ls':

          4514688 msm-l2 0x1

Change-Id: I65d4ac03c2fd562519ab78524b37467e7d53dbb3
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2013-02-27 18:18:24 -08:00
Ashay Jaiswal
9261b7e36c defconfig:8974: Enable RTC and PON device support
Enable RTC and PON driver for 8974 in kernel configuration.

Change-Id: I7c52173ad7cddb242614a4b525bd11c7015359ff
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2013-02-27 18:18:23 -08:00
Joel Nider
1e78e0f493 8064: tsif: Add TSIF devices to device list
Allow the 8064 TSIF devices to be probed.

Change-Id: I129d4a18ba9f863ec095d56e93ce08bcf9f5c457
Signed-off-by: Joel Nider <jnider@codeaurora.org>
2013-02-27 18:18:23 -08:00
Wentao Xu
4756cfc5e5 msm: 8930: add native support to lis3dh accelerometer
Needed when sensor processor not present. The lis3dh driver is
modified to request regulator

Change-Id: I389d5aa6a7771a9e1fe230ec593ff428e979c236
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
2013-02-27 18:18:22 -08:00
Sujit Reddy Thumma
7edc633613 mmc: msm_sdcc: Poll for TX/RX active bits after data transfer
In newer SDCC v4 versions, the internal single port RAM is
replaced by dual-Port RAM which requires clock muxing after
RX transactions. To ensure clock switch is completed
successfully, the driver has to poll for TX/RX active bits
de-assertion in status register before initiating new transaction.

Change-Id: Idcd7732fa4fa490017e69d62535dbff6eb335eb6
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
2013-02-27 18:18:22 -08:00
Kuirong Wang
cdf330f35c ASoC: msm: update BTSCO rate put function.
The value for the amix command with the numeric strings is
the actual value not the order of the string in the array
of text so the put function has to be updated to handle it.
For example,  the following amix comand:
amix 'Internal BTSCO SampleRatee' 16000'
The value passed from the alsa-lib is not 2, i.e., the 2nd
paramater in the command string:
static const char *btsco_rate_text[] = {"8000", "16000"};
Instead, it is 16000.

CRs-fixed: 364832

Change-Id: Ie7c83a460900b54e2b317e1c77a064efc22e6bcd
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2013-02-27 18:18:21 -08:00
Amit Blay
a17d88d954 usb: gadget: Fix RmNET control to always clear RTS bit
The MODEM requires RTS to be cleared for RmNET use case.
The original code clear all SMD tiocm bits upon USB connection.
This fix leaves the RTS bit set, which is the SMD default.

Change-Id: Ie3aaa285c9a1598dfd7408f062ea7af2f391a7dd
CRs-Fixed: 370682
Signed-off-by: Amit Blay <ablay@codeaurora.org>
2013-02-27 18:18:21 -08:00
Mayank Chopra
4be93d0110 msm_fb: display: Add pre-multiplied alpha support for MDP4.
MDP4 blend logic differs from GPU blend implementation as MDP4
does not differentiate between pre-multiplied alpha layers and
non pre-multiplied alpha layers. Check layers for pre-multiplied
alpha and change blend logic accordingly.

CRs-Fixed: 355755
CRs-Fixed: 361729
Change-Id: Id8253d3888f1ebbadba1b6bbd87e7d98bac22da7
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
2013-02-27 18:18:21 -08:00
Joel Nider
660a6fc29b 8064: tsif: Update the source clock names
The platform data passed to the driver contains the names of the
source clocks.  These names were updated in the clock driver, and
must be updated here to match.

Change-Id: Iaebdd80b4c698564ff2d0e5f2a665e11fe9439c4
Signed-off-by: Joel Nider <jnider@codeaurora.org>
2013-02-27 18:18:20 -08:00
Asutosh Das
6ba48090ff mmc: block: do not query the sd card if a fault is injected
When the fault injection framework introduces an error to the data
block, the current code queries the SD card to find the number of
blocks actually programmed. This value would be as requested by the
generic block layer. So the entire request would be completed.

Say, request 0 is pulled from queue and submitted. When this is being
processed, request 1 is pulled from queue and prepared. Request 0
though is successful, fault-injection framework injects an error
and modifies the bytes_xferred variable to a random value less than
requested transfer. Request 1 is not processed and during the handling
of error, the SD card is queried for the actual bytes programmed. This
would be the correct value. Thus blk_end_request would complete
this request and the control would return to fetch request 2. In this
process, request 1 is not processed at all and the application waits
indefinitely for request 1 to be processed. No further requests are
issued to the queue.

This patch identifies, if the fault injection-framework has inserted an
error to this request and doesn't query the card and uses
bytes_xferred to complete the request.

Change-Id: I496802e244745bc7550402027a594d967cf7b756
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
2013-02-27 18:18:20 -08:00
Ravishangar Kalyanam
0ffbb83d74 msm_fb: display: Set LVDS Chimei panel frequency to run at 60 fps
Modify LVDS Chimei panel pixel clock from 75 MHz to 79.4 MHz
and update PLL settings to achieve refresh rate of 60 Hz for
better user experience.

CRs-Fixed: 375510
Change-Id: Ifb4036c790552b1c43d5a3c817ed05691f86c7f6
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
2013-02-27 18:18:19 -08:00
Shuzhen Wang
8e6db721ed camera: vfe32: Create synchronous version of VFE reset cmd.
Logically from RESET to RESET_ACK, no interrupt should be
generated from hardware. Synchronous RESET call makes
code flow simpler.

Create a new ISP command VFE_CMD_RESET_2 which blocks
until RESET_ACK irq fires.

Change-Id: I1c1974c01d7037f457ab767a83f5cece3fe23705
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
2013-02-27 18:18:19 -08:00
Ofir Cohen
e15cc3c701 usb: gadget: Standard ECM function driver for QCOM chipsets
New function driver to support Standard ECM with adaptions to
QCOM chipsets (Data path is over SPS BAM-to-BAM).
Standard ECM function was added to android gadget.

CRs-Fixed: 358338
Change-Id: Ic1ed2f7ee7ac50601ba5dc43d06c28bffe2c5c23
Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
2013-02-27 18:18:19 -08:00
Sreesudhan Ramakrish Ramkumar
ad115580e3 msm: camera: CCI driver for 8974
Add Camera Control Interface (CCI) driver based on V4L2
architecture. Add probe sequence, subdevice creation,
hardware registers and configuration through V4L2
subdev call mechanism. This driver is responsible for
communicating with sensors, actuators and EEPROM
connected on I2C bus.

Change-Id: I2f135798e26348740f58da223caafdd8dfbbd098
Signed-off-by: Hody Hung <hhung@codeaurora.org>
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
2013-02-27 18:18:18 -08:00
Deva Ramasubramanian
8ded954c03 video: msm: wfd: Delay fill_buffer until START_DONE
VCD requires we do not give any output buffers to be given until
START_DONE is received. In the case that buffers are given, it
introduces race conditions in the vidc with respect to the SPS/PPS
buffer, which vidc assumes to be present on the first fill_buffer but
actually isn't present until START_DONE.

Change-Id: Ie4dec3ed41e0f248175fb7d9719b458d3b699539
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-02-27 18:18:18 -08:00
Srinu Gorle
396ee50fc3 video: msm: wfd: Send signal HDMI observer to mirror on FB2.
- Send KOBJ_ONLINE, KOBJ_OFFLINE events to HDMI observer
   to mirror on  FB2.

This reverts commit 4102d704243cf0ff297cdbe8d5b731da4c0bb9d5.

Change-Id: Ie5f0c4528ee43edf5ff8145520723a8095c0f542
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
2013-02-27 18:18:17 -08:00
Tianyi Gou
0156fdb3b9 msm: pil-riva: Rename riva pas id to generic wcnss pas id
In secure PIL, PAS_RIVA is passed to scm-pas call as the identification of
wireless connectivity subsystem (wcnss). However, new name has been used on
newer targets. For example, on 8974, the name of wcnss is Pronto. So make
the pas id name generic for wcnss.

Change-Id: I7caa76adc76dd2d20ff7aedabd4935437b012a92
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
2013-02-27 18:18:17 -08:00
Sahitya Tummala
834fcb149b defconfig: 9625: Enable NAND driver, MTD and YAFFS2 configs
Enable all the required config options for NAND controller in
MDM9x25.

Change-Id: Ic4738b12450d114e1b35aeee23fd5bb63499afe7
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2013-02-27 18:18:17 -08:00
Mona Hossain
d4ad4eee69 crypto: Add support for crypto engine 5.0
Add new register definitions for QCE5.0 Hardware
Add new HAL (qce50.c) for interfacing with CE 5.0 hardware:
-- Implement the new interface to BAM (instead of data mover).
-- Add support for multiple Pipes.
-- Add support for use of HW key.

Change-Id: I69dc3993f607553d4752f9f9fb4fdfe1a09a6345
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
2013-02-27 18:18:16 -08:00
Ravishangar Kalyanam
03c98071ea msm_fb: display: Map framebuffer region in Display Write Domain
Framebuffer is currently mapped for Display read and rotator source
domains. For MDP writeback mode, Display write domain requires
framebuffer region and it is mapped at initialization time.

CRs-Fixed: 382550
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Change-Id: Iba6fd0201a48fe1864bf42e9576f063cd58646fd
2013-02-27 18:18:16 -08:00
Vikram Mulukutla
c542412869 msm: clock-8974: Add XO buffer voting support
The RPM provides an interface to vote for XO buffers. These
buffers can either be in software control or in pin control
mode. Provide separate RPM clocks per buffer for each mode.
Enabling a pin-control-mode clock will set the buffer in pin
control mode. Enabling a software-mode clock will enable the
buffer. Disabling works the same for both types of clocks -
the buffer is disabled.

On the RPM, the votes for pin-control versus software-enable
are separately aggregated. Software-enable has higher priority
over pin-control, and if the software-mode aggregation results
in a disable, pin-control will still be configured if there is
a pin-control vote in place.

Change-Id: Ia393c4148640e47b8987a9aa6f94d6909433a9c0
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2013-02-27 18:18:15 -08:00
Gagan Mac
0033a7da30 msm: copper: Switch on bus scaling for copper
Turn on bus arbitration and clock scaling for copper.

Change-Id: Ic665ea52f5da1e907ac9ffff787b8e9dbec9b224
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
2013-02-27 18:18:15 -08:00
Jin Hong
23f294316b msm: 8064: Remove pre-silicon support
Support for RUMI and simulation  are no longer required.

Change-Id: Id73f9f40340062c73f9180c59d3f4a525979ca86
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-02-27 18:18:15 -08:00
Mahesh Sivasubramanian
edc29b82ef msm: mpm: Configure wakeup time via virtual MPM on RPM.
On 8974 targets, the sleep code programs the wakeup time directly into
the virtual MPM driver on the RPM. The sleep code passes in the
scheduled wakeup time. The existing msm_mpm_enter_sleep API is
modified to accept the sclk timer value. On earlier targets, the mpm
driver would ignore this parameter.

Change-Id: If3d512f46ac8aadadf3e524a5c0e368afb362dfb
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2013-02-27 18:18:14 -08:00
Mahesh Sivasubramanian
d74a595731 msm: rpm-smd: call SMD API to mask/unmask SMD interrupt.
When the system goes to sleep, the power management code sends a sleep
set to RPM. The code executes with interrupts disabled so the power
management code polls for ack message from RPM. Since the SMD interrupt
is in a triggered state and irq handler hasn't had a chance to run, the
pending interrupt prevent the Core from entering a low power mode.

To prevent interrupt from waking the system up, disable/enable the RPM to
SMD interrupt while entering/exiting sleep mode, by calling into the SMD
API.

Change-Id: I38faa18e6b1d7f4cc92d72c3da4ac8ca29275444
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2013-02-27 18:18:14 -08:00
Eric Holmberg
3ebf936d21 msm: smd: Add receive interrupt masking support
SMD is used for communicating power state with the RPM processor.
During a power-down sequence, sleep information is transferred to the
RPM processor and the system blocks and polls for a response.  When the
RPM sends the response, it triggers an interrupt which then causes the
Application processor to abort the power-down sequence.

Add a new function that allows interrupts to be masked/unmasked for an
entire subsystem which allows the power code to mask interrupts while
powering down to prevent aborting the power-down sequence.

Change-Id: I52298f025032d47c7353dced6c1298766060ef0c
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-02-27 18:18:13 -08:00
Vidyakumar Athota
563c22ca38 ASoC: msm: Fix for voice call recording
-Voice call recording is not working because of missing
backends configuration for incall record Tx/Rx.

Change-Id: Ie69112e2929ed98a5bc19164cf9a9c66d73cc8dc
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2013-02-27 18:18:13 -08:00
Stephen Boyd
4f5ee2eef7 msm: pil-q6v4: Update regulator stepping
Hardware profiling has determined that the two step voltage ramp
should be larger for the first step than previously determined.
Instead of stopping at 375mV we should stop at 743.75mV and then
proceed to 1.05V. Update the code accordingly.

Change-Id: I44ffcea4ecc475c1e7f9bfdac44c1a15365a3ea3
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-27 18:18:12 -08:00
Nagamalleswararao Ganji
c4015c723a msm: display: use the fb reserved fields same as kernel 3.0
Reserved fields of fb structure used for various use cases
in qcom fb driver. Reducing the reserved fields caused lot
of side effects and it will change the reserved fields same
as kernel 3.0.

Change-Id: I7bf82a9b5667cb5c84b54e428bbfcb6869157bd7
Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org>
2013-02-27 18:18:12 -08:00
Joel Nider
2a344bb74e 8064: tsif: platform changes for adding tsif driver
Adding the GPIO configuration and platform data required for running
the TSIF driver on 8064.

Change-Id: Icba4ce041555221e71b050ba303d1ae0a92d73fa
Signed-off-by: Joel Nider <jnider@codeaurora.org>
2013-02-27 18:18:11 -08:00
Sidipotu Ashok
db0b12add5 msm: qdsp5: Increase buffersize of hostPCM interface.
The default audio sample rate of audioflinger is increased
from 44.1k to 48k.Increase the buffersize to take
advantage of that.

Change-Id: I7ffc6c697cb32b6983c9bb5cc6ea73a7a55b5006
Signed-off-by: Sidipotu Ashok <sashok@codeaurora.org>
2013-02-27 18:18:11 -08:00
Srinivas Krovvidi
6f7adf9636 Bluetooth: Handle ACL buffers sharing between multiple connections.
The BT host has fixed set of buffers to send data to SoC, generic value
is 5. When a connection, like A2DP playback is ready to send data it
fills one of the buffer available and sends to SoC. Once SoC got
acknowledged from remote side that the data received it updates the host
and the buffer is freed. Till host is acknowledged the send Complete
info, the data buffer is locked for that data transfer. The below is the
example for buffers availability.

Total free Buffers count : 5

Connections : 1

Conn_1  need to send data, picks buf_1 and send to SoC

free Buffers count: 4

Buffers used by Conn_1  : 1

Still Conn_1 has more data to send ....

free Buffers count: 3

Buffers used by Conn_1 : 2

Remote device Ack for buf_1, so 1 buffer is freed, updated state is

free Buffers count : 4

Buffers used by Conn_1 : 1

When there are more ACL connections to transfer data, like one
connection for A2DP playback and one for OPP data transfer, all the data
buffers available with host can be used by any ACL which has ready data
to send. This allows maximum throughputs possibility from host. But the
existing solution has a problem. If one connection has used all the
buffers at a instanace of time, and didnt release (this happens when remote
device doesnt ACK to send) the other connections will not have buffers to
send. In current usecase A2dp data cannot be sent to headset as OPP
connection is lost.   The current change is, when there are more
connections the quota for a connection that it can use maximum is
total buffers-1. This allows other connections not to get blocked,
 at the same time through puts are not going to dropped.

CRs-Fixed: 370497
Change-Id: Iac34f0a223555de80d1daebde34c7fc87668c0d5
Signed-off-by: Srinivas Krovvidi <skrovvid@codeaurora.org>
2013-02-27 18:18:10 -08:00
Laxminath Kasam
9659fbc4fc msm: adsp: qdsp5: Restrict jpeg and video concurrency
- DSP crashes if JPEG and VIDEO modules are enabled
and used simultaneously.
- DSP has limitation in supporting both VIDEOTASK and
JPEGTASK since both use same shared memory.
- Restrict enabling the VIDEOTASK module if JPEGTASK
module is already enabled in adsp driver. Similarly
restrict enabling the JPEGTASK module if VIDEOTASK
is already enabled.

CRs-Fixed: 382295
Change-Id: I609f66880e097b8b71862c79ff5f23e2696b750b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2013-02-27 18:18:10 -08:00