Provide interfaces to allow host to update the spur table
with spur frequencies specific to platforms.
CRs-Fixed: 352591
Change-Id: I139ac84a4a45578ebab63c26d7176666d47d3e2a
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
Implement IOCTL to set the Internal FM TX Tone
generator values
Change-Id: I2a94d5559a90362b9439ea510e98489102ed0c04
CRs-Fixed: 356789
Signed-off-by: Ayaz Ahmad <aahmad@codeaurora.org>
There could be race condition between h/w initiating sof
(start of frames) and finishing port reset. This can
cause hsic phy lockup, which results in enumeration failure.
Avoid this race condition by:
1. Moving to the old enumeration sequence where set_address is
initiated before get_device descriptor. This results in one
port reset instead of two port resets.
2. Halt usb controller before initiating port reset and start it after
port reset is complete. This is tricky because PORT_RESET bit
automatically clears when h/w completes the reset and failure to
start the controller within 3ms causes the peripheral device to
suspend resulting in enumeration failure. Hence, after setting
port reset bit forcefully drive strobe/data lines to reset using
ulpi interface and once port reset is complete, disable forceful
reset and start the controller in atomic context.
CRs-fixed: 364458, 359930
Change-Id: I49a2eac8043eb3001956c7ee9ead2c3a901524db
Signed-off-by: Vamsi Krishna <vskrishn@codeaurora.org>
MMC_CAP2_POWER_OFF_VCCQ_DURING_SUSPEND and MMC_CAP2_PACKED_RD are defined
to the same value. Needs to give each one of them a unique number.
Change-Id: I5f55396075fbffdae305122cd8fbb9f4b056c751
Signed-off-by: Maya Erez <merez@codeaurora.org>
Add flag for handling secure session to rotator data passed during
start ioctl call.
Change-Id: Iaf22b7584a15d4678cd44483c0118bf1fb4c7c9b
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Enable RDI registers and irq handler in VFE. RDI may
be used to dump sensor data directly to memory
without passing through VFE.
Change-Id: I1ca131c31913f62228364440bbe2cd98a6079003
Signed-off-by: Nishant Pandit <npandit@codeaurora.org>
Add rotator session management support with overlay interface using MDP
flag MDSS_MDP_ROT_ONLY. Overlay interface can only support overlay
surface or rotator (written back to memory) but not both.
Change-Id: Ib2f494683b2e6c2fd8c67818df2b57afb82a3df3
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Using CPUFreq policy objects and setting the max frequency limit by
overriding the policy->max node, leads to race/overwrite conditions with
an user trying to use the scaling_max_frequency node.
The thermal limits are directly communicated to the 'msm' cpufreq driver
and use the cpufreq_update_policy() to ensure that the frequency is
limited as per the thermal safeguard requirements.
CRs-fixed: 370343
Change-Id: Iab5a15e0f0d25da4b9f6a9417dbfc01bf5d6f8f6
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
Some of USB clocks have to be enabled in order for A2 to
be able to wake up USB.
Since USB now enters LPM upon USB bus suspend, this fix keeps
USB pclk & core_clk enabled, to allow waking up from A2.
A similar fix was already introduced for HSIC driver. This
change adds similar fix for USB.
Change-Id: Icd434132bc3dc3466dc7a55bb40603a3de3b4b2f
CRs-Fixed: 369189
Signed-off-by: Amit Blay <ablay@codeaurora.org>
For compressed playback to bypass ADM, AFE connect command
Is used when the session is closed AFE disconnect command
Should be issued.
Add the support for AFE disconnect command.
Change-Id: I4cc4e867c1be36fbc2659520fd14a356c8405f7b
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
This patch renames a horribly misnamed function that no longer allocate
tasks to something more descriptive for it's modern use in target core.
(nab: Fix up ib_srpt to use this as well ahead of a target_submit_cmd
conversion)
Change-Id: Ib7ab2b67723753777084fffe19c47e6eac3b255e
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
The UASP protocol does not inform the target device upfront how much
data it should expect so we have to learn in from the CDB. So in order
to handle this case, add a TARGET_SCF_UNKNOWN_SIZE to target_submit_cmd()
and perform an explictly assignment for se_cmd->data_length from the
extracted CDB size in transport_generic_cmd_sequencer().
Change-Id: Ic654c46de72b263aea8aeb5e8a76136f47dd775e
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
During the migration from kernel 3.0 to 3.4, V4L2 framework changed.
This requires changes from video driver. This change makes video
driver code compatible with kernel 3.4.
Change-Id: I12fb28e4b7c261c9755fbb62bb6bb8ea299d5272
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Add initial driver code for IRQ Router hardware.
It shall be implemented as a v4l2 subdevice of the
msm cam server node.
Add logic in msm cam server to request for irqs configured
to the IRQ Router, which can be individual or composite.
When the individual camera hardware cores interrupt,
the cam server receives them through the common interrupt
handler and dispatches them to to the respective hardware
core's v4l2 subdevice.
If the usecase demands that the interrupts from two
different hw cores be composited into a single interrupt,
(for eg: VFE and ISPIF), then the cam server stores this
configuration in its interrupt lookup table. When the
interrupt is triggered on the composited interrupt,
it is dispatched to the individual hardware cores
which have been composited into that interrupt.
Change-Id: Iaadd60cc24de9b5ba8d09a151474658902244d7b
Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
Add support to allow ion_cp_heap.c to secure according to new
requirements. This includes adding versioning to the secure
calls to allow other types of securing to take place.
Change-Id: I65e07ebaeefa1d0572b6531753a707a28284aa0d
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
- During voice and normal recording concurrency case, both voice
and recording streams share the same tx channel. If one stream
already opens the tx channel, another stream will get error when
trying to open the same channel again. If one stream ends and closes
the channel, but another stream will lose the sound if it's still using
it.
- To prevent the above issues, only send SND_SOC_DAPM_STREAM_START event
when capture active count is one. And send SND_SOC_DAPM_STREAM_STOP event
when capture active count is zero.
Change-Id: Ic6dcd5d8d1949c2b96d46915a4399a454075fbb7
CRs-Fixed: 357022
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
Use image mode instead of vfe operation mode to
get and free buffer
Change-Id: I33e912b0fa4e16d3a89161f98ab9a659b9c197f6
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Add pm8xxx-tm subdevice into pm8038-core. The pm8xxx-tm device
can be used to access the real-time PMIC die temperature. It
can also be used to trigger an interrupt when critical
temperature thresholds are reached.
Change-Id: I4b8bda1d51cafaa6b77408da4c183bdb2dc4327a
Signed-off-by: David Collins <collinsd@codeaurora.org>
The next generation of content protection has separate SCM
calls into TZ. Add these functions in a dedicated file so they
can be used by any Ion heap.
Change-Id: I197130f6a5fc33efcd6871b0f7c362fa99f18d20
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Needed on 8x30 MTP/MDP platforms, where interrupt line polled up and
does not work with driver's default configuration
Change-Id: I4827c7a1f7df147245336d18523088c013381f1e
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
This change provides support to raise the clks to turbo mode for mpeg4
clips with high number of slices. The firmware performance degrades if
the number of slices is more than 10. Without this fix, we see lot of
frame drops happening, causing a freeze effect.
Change-Id: Ia897854ef6d30bb97cd37810b22eb1ab5ad818fb
CRs-Fixed: 358615
Signed-off-by: Arun Menon <menon@codeaurora.org>
Provide interfaces to allow host to update the SPUR Table
with newly found spur frequencies and their RMSSI values.
CRs-Fixed: 352591
Change-Id: I84f296ea313971cc1995c644d604f96581be5f7f
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
Adds events for video codecs so that clients can be
notified of important events asynchronously.
Change-Id: I0177bdc6249306ed580aca5ec2ed434174a57ba7
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
With commit c84f15ae, the default clock gating delay in mmc host
init is set to zero. For MSM targets this can cause huge
performance hit as sometimes the clocks are non-local and
requires a request to other subsystem leading to significant
roundtrip delay.
Fix this to have atleast 200msecs delay in turning off the sdcc
clocks after a request is completed.
Change-Id: I5f434cf98373154d817735dba8f5bc8810d27611
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
This change add support in ci13xxx_msm_hsic driver and
ehci-msm-hsic driver for VDDCX corner voting.
In case a VDDCX corner resource is supported by the platform,
it will be used. Else, the legacy voting for specific voltage
level will be used.
Change-Id: Iae91d1c945f9b61340628b2fc7c7727e4cca6a1e
CRs-Fixed: 354458
Signed-off-by: Amit Blay <ablay@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
There is a dependency for the CCADC calibration work on the BMS
driver. This prevents some devices that do not use the BMS
to utilize the CCADC.
Remove this dependency by moving the ccadc calibration
work to the CCADC driver to avoid this.
Change-Id: If43c781d6d2bc27f64dbbe594b6e81c5a5642f0b
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
- Implements Linux frame buffer interface to interact with userspace
libraries and applications, based on msm_fb frame buffer.
- Implement MDP driver which handles MDP core data path setup and
hardware blocks programming.
- Support for UI through Linux frame buffer FBIOPAN_DISPLAY ioctl.
Change-Id: Ib98677b8d81d74283b27dea08a9f1a705c101bce
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Ispif is a separate hardware block. Decouple
it from sensors so that it can be controlled for various
camera usecases.
Change-Id: I539fcb4166edc7a14d15a94c2f7f56b2f196a971
Signed-off-by: Nishant Pandit <npandit@codeaurora.org>
The ion dev fd field is required to represent the client
that allocated the buffer represented by the frame.
Change-Id: I8de791158251069275becc9f6413382fc6738492
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
Remove tzcom driver components that includes files,
clock definitions. Currently tzcom driver has been replaced
by qseecom driver.
Change-Id: I1832d921a7b949057b84a7e0aa9afaa445be5194
Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>
To save power regulators are only powered on when needed. Also in
this change is that clock rate is not longer set to max rate.
Clock speed set to lowest rate and still remain properly functional
Change-Id: I7141c8d630e4dbf5c2593e0aea9a18dc3866a1fd
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
This will allow client to subscribe and receive events regarding
VCAP device
Change-Id: If8b6723feaa29dcf4e6a3bb9275ccc776081c830
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
The WCD9320 Codec Driver is an ALSA-compliant codec driver. This driver
constructs the internal codec audio paths with DAPM widgets and
controls and provides the controls to the upper layers to enable and
configure audio paths.
Change-Id: Iee29359bebfc838cd200732b7191a2eb6a2087ee
Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>
Add private ioctls s_ctrl, query_ctrl where
we need to get ctrl data from userspace.
Change-Id: I404236d072bafb3ef6ef3c0723a707f5805fe92b
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Currently VPE hardware is being controlled through
the config node. Since it is converted into a V4L2
subdevice, we could control it directly from
userspace by issuing open, close and ioctl system
calls.
The ACK from VPE hardware shall be routed directly
to userspace by putting the ACK event on the v4l2
event queue.
Change-Id: I7f82a750a28732382627349da362dbee8e27b149
Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
QMI Server lookup returns only node_id and port_id. This information is
not sufficient when the QMI clients look for a specific instance of a
service. Hence the server lookup routine returns the instance ID along
with the server address information.
Change-Id: I644e6c8bb9dc3108c0198b7779ef277aa65f7bc5
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Drivers can now create alarms that will use an hrtimer while the
system is running and the rtc to wake up from suspend.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
ASoC core will scan for path, get the list of widgets
when playback and capture is started.When a mixer
command is issued it needs to scan only the path
to find if back end or front end dai needs to be shutdown.
Change ehances asoc core path finding functionality
to provide support for different usecases.
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Change the wigdet power up and power down sequnce
in the ASOC as per msm platform requirements.
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>