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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Enable all the required config options for NAND controller in
MDM9x25.
Change-Id: Ic4738b12450d114e1b35aeee23fd5bb63499afe7
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
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>
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
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>
Turn on bus arbitration and clock scaling for copper.
Change-Id: Ic665ea52f5da1e907ac9ffff787b8e9dbec9b224
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
Support for RUMI and simulation are no longer required.
Change-Id: Id73f9f40340062c73f9180c59d3f4a525979ca86
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
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>
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>
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>
-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>
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>
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>
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>
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>
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>
- 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>
Remove duplicated enum for different VFE version
Change-Id: I386ef874731442ac3deb4ccec36f353f30671f9f
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
LED flash is enabled for OV8825 Camera Sensor.
Change-Id: I47555612bd17f5c750b4e748787d0388076f37fb
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
Continuity-counter is compared for each packet against the
counter of the previous packet. This check should take
into account the very first packet after feed is started
otherwise the first packet might be wrongly dropped.
Change-Id: Ibe31bad3eccbd4b6ed1f4b0df1049e28399493d6
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
This reverts commit 2db0c0ee0ea46b9a1fe46929439a38861c5098cc.
Enable watchdog causes crash on RUMI. We'll turn it on again after
fix the issue.
Change-Id: I1524bcb9908cf95611bc49d726e7e368417f74a1
Signed-off-by: Jin Hong <jinh@codeaurora.org>
The number of files in msm/ folder is increasing and shared by other teams.
This helps improve the organization of the msm folder.
Change-Id: I25f73e467b9d0390850f587363ddc3ff9e44b1e4
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
ISPIF changes on 8974 to include VFE interface. Pass VFE interface
from user space ISPIF module and configure accordingly. Add support
to configure extra PIX and RDI interfaces.
Change-Id: Idb840fa3d1ef2d1a7242fc2175b8fa64f75aa14b
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Panel porch values and pixel clock can be used to calculate the refresh
rate from user space. Assign these values with information from panel
driver.
Change-Id: I29995d27904e50892d72de5e8c7dd39285f9d421
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
When mdp pipe is freed at end of video play back, Writeback
buffer is freed while mdp still fetchs data from it. This cause
system crashed and blue screen shows on screen. This patch
will free writeback buffer at correct time.
Change-Id: I46a5031c13d86f943d6604713e1841b482dffe96
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
The PLL sources need to have the warned flag set to preclude
the clk_prepare warnings. Set this flag on the mmpll3_clk_src
clock.
Change-Id: Ie04d8e625e03dcbab99779dcff5fcd85c7205de1
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The MMPLL1 frequency and some downstream clocks have had
their frequency plans updated. Update the relevant frequency
tables.
Change-Id: I7b9d5eeb48c9268254bc3f6f9b4f7fdea34a62c3
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The following clocks are to be controlled locally by
the apps processor, add support for them:
1. ocmemcx_ocmemnoc_clk
2. gcc_mmss_noc_cfg_ahb_clk
3. gcc_ocmem_noc_cfg_ahb_clk
Temporarily enable the gcc_mmss_noc_cfg_ahb_clk and
gcc_ocmem_noc_cfg_ahb_clk clocks in post_init while
the bus driver adds support for them.
Change-Id: Ic6da845582cb815379e53b87cf34e81c5eb00b4e
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Vote for the FMAX voltage corner required by a frequency setting
using the rpm-regulator-smd API. Also, use the proper corners
for the VDD CX rail on the MSM8974.
Change-Id: I795160478e0e295f10d3dfeb4773a4306967ff27
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Debug writeback is used to output MDSS framebuffer contents to memory to
for debugging of MDSS core. Use ion buffer allocation for debug
writeback buffer instead of using memory from framebuffer base layer to
allow entire framebuffer area to be used for composition.
Change-Id: Ia1a91f5f14bed1d29691092142fc94f7a8b6f4d2
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Support for RUMI and simulation are no longer required
Change-Id: Id7e5445b146f19bf910a3337854607d2ecfd73f9
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Update DAI link to connect slimbus RX/TX port 0 to CPU.
Change-Id: Id8aa2ca92ea9b1e0d51b6d3ccf113860a9147c44
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Source format should indicate that source is to be rotated 90 degrees
instead of indicating source has been rotated 90 degrees. This is needed
for hardware to fetch source in correct order and generate correct 90
degree output image.
Change-Id: If8d1e12ef3e7a291e67ec9763f5ca92ec6fa983c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
MDSS does not support odd width, height or src offsets for YUV formats,
however odd coordinates are acceptable for dst offsets. Remove odd check
done for dst offsets
CRs-Fixed: 372900
Change-Id: I69230640f94bf080a8be4ea6d79f0901a7fa72cd
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
This utilities is based on Ethernet-over-USB link layer utilities and
contains QC specific implementation (using SPS BAM-to-BAM for data
channel).
Change-Id: Iec417b4df57c34d1ba9368495c7a489c36ddf6dc
Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
Add audio OCMEM driver support to exercise On-Chip
Memory (OCMEM) for low power audio and voice. The
driver is implemented as standalone and it gets
exercised based on the usecase. Also, this design
reduces the latency associated with OCMEM handshaking
protocol. The audio OCMEM driver is enabled by default
with a Kconfig option using select. Add device tree node
for audio OCMEM to retrieve platform data.
Change-Id: Iba46ce675fc03843d88cd7cf2aa9bc92fe70a955
Signed-off-by: Phani Kumar Uppalapati <phanik@codeaurora.org>
Make thermal monitor performance hit more gradual by stepping down
limit frequency instead of jumping directly to that frequency.
The monitor now steps down to the lowest available cpufreq
frequency, instead of fixing the limit frequency to 918MHz. Also
update the polling frequency to 250ms to improve responsiveness.
Change-Id: I6edb0cfc057284023978de04d7835e9783da5ebd
Signed-off-by: Eugene Seah <eseah@codeaurora.org>
The filesystem layer expects pages in the block device's mapping to not
be in highmem (the mapping's gfp mask is set in bdget()), but CMA can
currently replace lowmem pages with highmem pages, leading to crashes in
filesystem code such as the one below:
Unable to handle kernel NULL pointer dereference at virtual address 00000400
pgd = c0c98000
[00000400] *pgd=00c91831, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1] PREEMPT SMP ARM
CPU: 0 Not tainted (3.5.0-rc5+ #80)
PC is at __memzero+0x24/0x80
...
Process fsstress (pid: 323, stack limit = 0xc0cbc2f0)
Backtrace:
[<c010e3f0>] (ext4_getblk+0x0/0x180) from [<c010e58c>] (ext4_bread+0x1c/0x98)
[<c010e570>] (ext4_bread+0x0/0x98) from [<c0117944>] (ext4_mkdir+0x160/0x3bc)
r4:c15337f0
[<c01177e4>] (ext4_mkdir+0x0/0x3bc) from [<c00c29e0>] (vfs_mkdir+0x8c/0x98)
[<c00c2954>] (vfs_mkdir+0x0/0x98) from [<c00c2a60>] (sys_mkdirat+0x74/0xac)
r6:00000000 r5:c152eb40 r4:000001ff r3:c14b43f0
[<c00c29ec>] (sys_mkdirat+0x0/0xac) from [<c00c2ab8>] (sys_mkdir+0x20/0x24)
r6:beccdcf0 r5:00074000 r4:beccdbbc
[<c00c2a98>] (sys_mkdir+0x0/0x24) from [<c000e3c0>] (ret_fast_syscall+0x0/0x30)
Fix this by replacing only highmem pages with highmem.
Change-Id: I6af2d509af48b5a586037be14bd3593b3f269d95
Reported-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>