regulator_get shouldn't be called repeadtedly. if regulator instance
already got, do not invoke the regulator_get in the next.
Change-Id: I9daf98d212e67f29df3358fd04e7646fce97a25a
msm: acpuclock-8960: Add PVS support on 8064
Tianyi Gou <tgou@codeaurora.org>
PVS classification data is available for 8064. Therefore, add
this support in this patch.
Change-Id: I1b19171acb0e292f07935e39d6537bea9b8e4405
msm: board-8064: Increase LDO 25 voltage request from 1.225 V to 1.25 V
David Collins <collinsd@codeaurora.org>
Hardware characterization has shown that memory operates better
when its supply voltage (provided by LDO 25) is increased to
1.25 V. Therefore, increase the voltage constraints for LDO 25
so that 1.25 V is requested. This also requires modifying the
voltages requested by the consumers of LDO 25.
Change-Id: Ice86c3306ef9a2ffbc8b553666348f04443fd3fb
msm: 8064-regulator: Remove 5V FRC gpio external regulator
Jay Chokshi <jchokshi@codeaurora.org>
On MPQ-8064, 5V FRC regulator coordinates with FRC
reset signal in certain timing sequence, which is
controlled by FRC driver powerup sequence. The FRC driver
is implemented in Userspace.
Since kernel claims the same GPIO line to control as a
gpio voltage regulator, FRC Userspace driver fails to
handle it. Relinquish the control of the gpio line
as there are no kernel clients of the gpio anyways.
Change-Id: Icc8560cfc52466c7f4f3a6463d408768f059fb2a
msm: restart: use new restart infrastructure
Jeff Ohlstein <johlstei@codeaurora.org>
The hook for the restart function has been moved to the machine
descriptor, so clean this up for appropriate targets.
Change-Id: Ie7e0e7737d20881a080010ddc3dcee09f1ed7add
board-8064 msm: Overlap secure and non secure video firmware heaps.
Hanumant Singh <hanumant@codeaurora.org>
Moves fixed area start address down, so that non secure
video firmware heap and secure video firmware area overlap.
Both use the region in a mutually exclusive manner.
ALso introduce a hole, that can be used by MM heap
lock down for content protection.
Change-Id: Icb653f3c0968e7cdc08edca85049ad3bb355cb70
msm: Add cache dumping device for 8064
Laura Abbott <lauraa@codeaurora.org>
Add cache dumping support for 8064. This will dump the
L1 and L2 caches on panic and the L2 caches on an unexpected
reset.
Change-Id: I646cb1346975985c60e6526019abbbed21fd632c
tools for save defconfig
$ ./make_defconfig.sh mako-perf_defconfig
it will update in arch/arm/configs
Change-Id: Ic4946b4ac020faf7026bde216b480994ff9a71a8
Implement the function to map ebi memory to the kernel.
This function is used when from postmortem or snapshot
when there is a hang and we are allocating memory from
kernel ebi space
Change-Id: I4f3e8b3fcb8c0107599ce3d3636c0ed33ace725a
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Create separate partition for shared command
queues. Virtual device addresses for shared
command queues need to be from upper 16MB
region of mon-secure virtual device address
space. This change creates a partition to
ensure this.
Change-Id: Iba22daf93b7d08c70f43685de7182a2f235a7690
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
Remove unnecessary, periodic print of cpu alive mask
as part of the petting logic.
Change-Id: I366f5107670b5d57742e168ac1f198acc68ba98c
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
This driver supports the Qualcomm PNP clkdiv peripheral. It
allowed for configuring divide factors for various clock outputs
on the PMIC. The source clock is CXO.
The driver allows for configuration of the clkdiv device through
Device Tree. Some optional parameters may be specified instead at
runtime with the qpnp_clkdiv_config() API.
Change-Id: I393ed0e4389fb3c1dfe0bcdb40944102d2e09894
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
Create new MDSS device node file to handle display specific
device nodes.
Change-Id: I04b4ee368b4fb4c532b467a19725c0db3f906bff
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Add new driver to support AC3/EAC3 playback.
Change-Id: I217d354d80ce1848e1c552416045a31b54a4a994
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
When v4l2 streamon() is called the framework moves to streamon state,
after queueing the buffer. A state check is performed during dqbuf().
Sometimes when dqbuf() is called streamon() function has not completed
setting the state transisiton flag. This results in failure to dqbuf() as
the framework has not moved to streamon. This patch adds a mutex
around state transitions and dqbuf() calls.
Change-Id: I0eadc4aaffbed62facd7dd250893e50448d7e52b
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
When using device tree, the bus number needs to be set based on the
cell-index property rather than the 'id' from the platform device.
This makes sure that the SPI bus number is set correctly.
Change-Id: I4489c28363a7fd79f3bc3db76207a1bc8ef507cb
Signed-off-by: Kenneth Heitke <kheitke@codeaurora.org>
- Add lowlatency pcm driver for Playback and Recording.
- Add support in target board files
- Add Recording Path to Multimedia5 FE DAI
- Add support in routing, platform, machine drivers
- Add low latency interfaces support in ASM and ADM drivers.
Change-Id: I1beb11db9010534e5aa91179ac6040a41622185d
Signed-off-by: Jayasena Sangaraboina <jsanga@codeaurora.org>
This function is not defined if native ARM timers are used,
leading to compilation errors in shared restart core.
Change-Id: Idbb393f9e5f884d31088be211a5456c1d76b5d02
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
A static mapping is needed for PS_HOLD for increased
robustness of the restart code, especially during a kernel
panic.
Change-Id: I616d1a27024120a4c53d8dbc524c4c38349dc704
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Adds support for Rate Control by setting correct
RC Mode and bit rate.
Change-Id: I0307417f3a517e0aa40f67c5d4835db3ef4ea444
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
When gpios are set to input, we return the input buffer status
from the STATUS1 register when the 'get' gpiochip callback is
invoked. This register also includes a bit that indicates whether
the pin is enabled.
Check to verify the pin is enabled, and if it is then return the
properly masked 1-bit value. Otherwise return an error, since the
API is not valid in this state.
Change-Id: I715e17f076d0dbd67397812f98e308f863c59b7c
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
-fix address value updates when writing to register blocks
greater than 8 bytes.
-fix an invalid shift value being passed in for the 'invert' parameter.
-fix invalid use of MODE_CTL macros
-cleanup the control register read / write routines to
remove unused parameters.
Change-Id: I42223f30a8c6490370d9a8006ee13e028fe774e6
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
CPR (Core Power Reduction) is a new technology to reduce
the power consumption of SOC using sensors inside the SOC.
Based on the feedback by the CPR controller, we can adjust
the voltage requirement for the SOC.
Add initial driver support for CPR.
Change-Id: I4b59438deb2635c45e45c5efe850c050c14a9165
Signed-off-by: Pankaj Kumar <pakuma@codeaurora.org>
Signed-off-by: Sravan Kumar Ambapuram <asravan@codeaurora.org>
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
Genlock is needed for synchronization of graphics buffers.
Change-Id: I00a9b54055dc89f6b34c60d543b7ec4e096a8fa7
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Calling RCU functions from within the RCU quiescent state is
illegal and probably a bug. The idlestats code uses an atomic
notifier called from msm_cpuidle_enter() and that atomic notifier
takes an rcu read lock. We could fix this with a raw notifier,
but this code is unused so let's just remove the code entirely.
Change-Id: I319f0eabb56a8721c19a3b2b4bc9a7f416c88384
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Add ADSP loader driver to bring ADSP out of reset on demand.
The MSM platforms that use APRv2 driver requires separate driver to
bring ADSP out of reset.
Change-Id: I7d64b0336fac76e71078a3bec0795007ee989643
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
The MSM platforms that turn off LPASS core by default have to bring up
LPASS core prior to talk with it.
Current implementation is during bootup, before the slimbus slave device
is up, the slimbus master on apps would try to configure the slimbus
hardware.
Add APRv2 driver to let adsp loader to bring up LPASS core on and make
slimbus driver to configure hardware after bringing up LPASS core.
Change-Id: I9c45e229e6e4c5c142d8a327509d66d9662b52d4
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
This patch removes the need for the offset parameter in dma bounce
functions. This is required to let dma-mapping framework on ARM
architecture to use common, generic dma_map_ops based dma-mapping
helpers.
Background and more detailed explaination:
dma_*_range_* functions are available from the early days of the dma
mapping api. They are the correct way of doing a partial syncs on the
buffer (usually used by the network device drivers). This patch changes
only the internal implementation of the dma bounce functions to let
them tunnel through dma_map_ops structure. The driver api stays
unchanged, so driver are obliged to call dma_*_range_* functions to
keep code clean and easy to understand.
The only drawback from this patch is reduced detection of the dma api
abuse. Let us consider the following code:
dma_addr = dma_map_single(dev, ptr, 64, DMA_TO_DEVICE);
dma_sync_single_range_for_cpu(dev, dma_addr+16, 0, 32, DMA_TO_DEVICE);
Without the patch such code fails, because dma bounce code is unable
to find the bounce buffer for the given dma_address. After the patch
the above sync call will be equivalent to:
dma_sync_single_range_for_cpu(dev, dma_addr, 16, 32, DMA_TO_DEVICE);
which succeeds.
I don't consider this as a real problem, because DMA API abuse should be
caught by debug_dma_* function family. This patch lets us to simplify
the internal low-level implementation without chaning the driver visible
API.
Change-Id: I9a847e30f345bf5e69fded1747ff79057750fb66
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-By: Subash Patel <subash.ramaswamy@linaro.org>
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Replace all uses of ~0 with DMA_ERROR_CODE, what should make the code
easier to read.
Change-Id: I6c0fff904d8df3a9d2a8a727e62faf000a55c1b5
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-By: Subash Patel <subash.ramaswamy@linaro.org>
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
If suspend event is received by MDP before panels, MDP needs to ensure
other panels are off before turning MDP clocks off. Remove handlers from
framebuffer driver and handle all suspend logic within MDP driver to
handle this scenario.
Change-Id: Idcda2dd29b28a9993edca78b7e0778985e44b664
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Current clock logic only considers panel pixel clock to calculate mdp
clock speed, MDP clock speed should also consider other factors such
as surface scaling. Bus scaling should also consider surface scaling
factor. Update logic to consider these new factors and perform these
performance updates together.
Change-Id: If274a7f40f496e1a730e1d0e8d7c35fa4384a832
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
When qseecom_unload_app() is invoked, wait_event_freezable() is called
in an atomic context (within a spinlock). wait_event_freezable() allows
sleep and should not be called in an atomic context where sleep is not
allowed.
Change-Id: I8c9c6d28f9e492fbbf2ac74a5ee3d1067c7733ad
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
When panel size is increased dma_alloc_coherent is not able to find
a chunk of contiguous memory big enough to hold framebuffer, this causes
framebuffer initialization to fail. Allocate buffer from ion pool which
has reserved contiguous memory at earlier stage.
Change-Id: Ibf7e3f7fc2c7ad991d69c106bbb6a9dd4c7f0e79
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
tty_buffer_request_room is well protected, but while after it returns,
it releases the port->lock. tty->buf.tail might be modified
by either irq handler or other threads. The patch adds more protection
by holding the lock across tty buffer finding and buffer filling.
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Xiaobing Tu <xiaobing.tu@intel.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: I7561321a1e78c9730232f98085e01fc1749a48f5
CRs-Fixed: 387308
Signed-off-by: Vamsi Krishna <vskrishn@codeaurora.org>
The GPU clock statistics show the amount of time the
GPU was busy in the last one second and the time spent
at each individual clock level while it was busy.
Change-Id: I16f8973ca0c683d55406a1f37c1395cdfe43ef5a
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>