| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Omap4 specific implementation of constraints
apis supporting:
- Latency
- Frequency
- Bandwidth
Change-Id: I7c001a54702156ed5e628867268279be3f2cc2ed
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add constraints api to remoteproc framework
supporting:
- Latency (Using pm_qos framework)
- Frequency
- Bandwidth
Each of them should be provided by the specific
architecture if supported.
Change-Id: Icddd9a8ee3c6c781e1a30817a2db8716428089ad
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add ipu and dsp resources to framework
supporting:
- Latency
- Frequency (only DSP)
- Bandwidth (on L3)
TODO: Currently requesting the rproc dev using
rproc_get a better way to do this would be to know
the rproc id/dev which is talking to you by querying it
to the channel in use to communicate with the
remoteproc.
Change-Id: I0459457b4afb88bfce492c36713777d336bb5e95
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
|
|
|
|
|
|
|
|
|
|
| |
When failing in getting the rproc, iounmap was not being
called.
Also when calling del_vqs the iounmap of rpdev->buf_mapped
was not called.
Change-Id: Ib306f7a84a9ab2410c52efff937f0726a7863071
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
|
|
|
|
|
|
|
| |
Allow fdif to scale.
Change-Id: Iab071570e317cfe082c71cc566001dc4107ebe5f
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some devices like:
- iva
- dsp
- fdif
are being created for pm purposes and create them again
is not recommended. For these devices the pm framework is
exporting api's to get them.
If a resource is already created use the api to get the
device and add the platform data and information needed
for rpres to control such device.
Change-Id: I6640883f911f4c21d204c20ded1ced104af5ed7c
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OMAP4 wakeup reason detection part 1: Read the CPU GIC GICC_HPPIR
Highest Priority Pending Interrupt Register on resume and map that
to a Linux IRQ number for printing to dmesg.
Following patches will further determine specific GPIO pins with
pending wakeup interrupts, and potentially other IP blocks that
aggregate interrupts to a single GIC line.
Change-Id: I5b7ee5a173b572978bc0646909a914dc6acf4d63
Signed-off-by: Todd Poynor <toddpoynor@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The VUSB regulator has additional settings in the MISC2
and CFG_LDO_PD2 registers. These settings affect the
source of the regulator and the pull down state in off
mode.
This change initializes these values when the regulator
is initialized. Previously these regulator settings
were configured in the twl6030-usb driver.
Signed-off-by: Adam Hampson <ahampson@sta.samsung.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Cropping logic was using the wrong variables for picture size.
Thus, cropping sometimes failed if crop region was outside the
incorrectly set picture size.
This is now fixed.
Change-Id: I0d4427d0ba1899011c46e44c09997ffdcd8766fe
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added reference count for each time an NV12 buffer is queued to
the display. It is decremented when the buffer is swapped with
another one (including the same one queued again).
This is a crude solution since SGX is not keeping proper readops
count for displayed buffers.
Using atomic operations to change the reference count as the
incrementing and decrementing are done in different blocks
(graphics and display) under different locks. This should
still be OK because the incrementing and the checking is in
the graphics context.
Requires corresponding change in DDK.
Change-Id: I361577a3104e002cf9e5c5452fb2ce967545766b
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
|
|
|
| |
Signed-off-by: Lajos Molnar <molnar@ti.com>
Change-Id: I6fa5722d78c4d28779ef84bdb897ff99a4798f5a
|
|
|
|
|
|
|
|
|
|
|
| |
Using color-phase rotation we can swap red and blue color
components on LCD outputs to support BGRA and ABGR color formats.
YUV color conversion matrices are also adjusted so YUV colors
are not affected after color field swapping.
Change-Id: Iffd24ad0355b52bd76ff7dd783b25f694fef3d1c
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
|
|
|
|
|
|
| |
Added support for setting color-phase rotation coefficients for
(LCD) managers.
Change-Id: Id4f32c70cf6b6502d3a98a12b9d871670f4997b0
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
|
|
|
|
|
| |
Now can set color conversion coefficients for YUV pipelines.
Change-Id: If0b7f8c0f2828367e84513a8f8b44a227dbb7c22
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|\
| |
| |
| | |
Change-Id: I9123d2c339b3118ff0b8158ae5d2bb706147e3ea
|
| |
| |
| |
| |
| |
| |
| | |
Added color conversion coefficients to overlay info structures.
Change-Id: If8fe3127d94d5e41fef3bc64505fbd19fbf830cf
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add Color Phase Rotation (CPR) support and sysfs files to enable CPR and
to set the CPR coefficient matrix.
CPR is enabled via manager?/cpr_enable file, and the coefficient matrix
is set via manager?/cpr_coef file. The values in cpr_coef are in the
following order:
RR RG RB GR GG GB BR BG BB
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The irq affinity mask is not kept up to date by the ARM irq
code. In particular, migrate_one_irq is not called when
the irq node does not match the cpu going offline, and
when it is called, it doesn't update the irq affinity
mask before calling the irq chip's set_affinity function.
This causes the use of the affinity mask in the mask
and unmask functions to be unreliable, possibly unmasking
an interrupt on a cpu that is offline.
The gic driver only supports directing an irq to a single
cpu at a time, selected by the node field in the irq_data,
so use that to mask and unmask interrupts in the wakeupgen.
Change-Id: I1da9ed4cb2ebddacebce51f6f2f8fa054181a259
Signed-off-by: Colin Cross <ccross@android.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make DVFS to try the next available frequency if the higher match
is not available. This will probably be the max available for the device.
If we cannot match any thing at all, fail. This modifies the behavior
of device scale to guarenteeing _atleast_ the frequency requested into
_if possible_, the frequency requested.
Change-Id: Id85382990d9717648a2466047bb966a089b72089
Signed-off-by: Girish S G <girishsg@ti.com>
|
|\ \ |
|
| |\ \
|/ / /
| | |
| | | |
git://github.com/nmenon/linux-omap-ti-pm into linux-omap-pm-3.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Wake-up enable bits need to be set by each driver,
but some specific irq's do not have a driver as such,
and still have to be set as wakeup enable. This is the case
of PRCM and SYS_1N. For these irq's, we handle wakeup
enable bits on the suspend path.
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
Signed-off-by: Deepak K<deepak.k@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If uart is set in dma mode there is no async wakeup based
DMA trans also THR irqs will be disabled for dma mode.
So set uart in no_idle mode if uart is in dma mode other wise
once uart auto-idles tx wakeup will not work.
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From OMAP4430 ES2.0 onwards if uart is configured in dma mode we need to set
uart tx threshold value using the new register UART_TX_DMA_THRESHOLD, this
register can used if UART_MDR3 bit(2) is set. We have to ensure
tx_threshold + tx_trigger <= 63 from es2.0 onwards. By default we are using
tx_trigger of 1 so we can set threshold to 62 to satisfy above criteria.
Without the threshold setting we hit dma_sync lost errors on tx channel
leading to data loss on rx side
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use resume idle call from prcm_irq to enable uart_port from low power states.
Add api to check pad wakeup status which will we used from uart_resume func.
to enable back uart port if a wakeup event occurred.
UART_Resume func. can be removed once we have irq_chaining functionality
available.
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The pad values here are same as the default pad values updated in
serial.c file.
Avoid structure duplication and use default pads.
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using DMA there are two timeouts defined. The first timeout,
rx_timeout, is really a polling rate in which software polls the
DMA status to see if the DMA has finished. This is necessary for
the RX side because we do not know how much data we will receive.
The secound timeout, RX_TIMEOUT, is a timeout after which the
DMA will be stopped if no more data is received. To make this
clearer, rename rx_timeout as rx_poll_rate and rename the
function serial_omap_rx_timeout() to serial_omap_rxdma_poll().
The OMAP-Serial driver defines an RX_TIMEOUT of 3 seconds that is
used to indicate when the DMA for UART can be stopped if no more
data is received. The value is a global definition that is applied
to all instances of the UART.
Each UART may be used for a different purpose and so the timeout
required may differ. Make this value configurable for each UART so
that this value can be optimised for power savings.
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The following UART parameters are defined within the UART driver:
1). Whether the UART uses DMA (dma_enabled), by default set to 0
2). The size of dma buffer (set to 4096 bytes)
3). The time after which the dma should stop if no more data is received.
4). The auto suspend delay that will be passed for pm_runtime_autosuspend
where uart will be disabled after timeout
Different UARTs may be used for different purpose such as the console,
for interfacing bluetooth chip, for interfacing to a modem chip, etc.
Therefore, it is necessary to be able to customize the above settings
for a given board on a per UART basis.
This change allows these parameters to be configured from the board file
and allows the parameters to be configured for each UART independently.
If a board does not define its own custom parameters for the UARTs, then
use the default parameters in the structure "omap_serial_default_info".
The default parameters are defined to be the same as the current settings
in the UART driver to avoid breaking the UART for any board. By default,
make all boards use the default UART parameters.
Signed-off-by: Deepak K <deepak.k@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move the erratum handling mechanism from serial.c to driver file
and utilise the same func. in driver file.
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Acquire console lock before enabling and writing to console-uart
to avoid any recursive prints from console write.
for ex:
--> printk
--> uart_console_write
--> get_sync
--> printk from omap_device enable
--> uart_console write
Use RPM_SUSPENDING check to avoid below scenario during bootup
As during bootup console_lock is not available.
--> uart_add_one_port
--> console_register
--> console_lock
--> console_unlock
--> call_console_drivers (here yet console_lock is not released)
--> uart_console_write
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adapts omap-serial driver to use pm_runtime api's.
1.) Populate reg values to uart port which can be used for context restore.
2.) Moving context_restore func to driver from serial.c
3.) Adding port_enable/disable func to enable/disable given uart port.
enable port using get_sync and disable using autosuspend.
4.) using runtime irq safe api to make get_sync be called from irq context.
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add default mux data for all uarts if mux info is not passed from
board file to avoid breaking any board support.
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cleanup serial.c file in preparation to addition of runtime api's in omap-serial
file. Remove all clock handling mechanism as this will be taken care with
pm runtime api's in omap-serial.c file itself.
1.) Remove omap-device enable and disable. We can can use get_sync/put_sync api's
2.) Remove context save/restore can be done with runtime_resume callback for
get_sync call. No need to save context as all reg details available in
uart_port structure can be used for restore, so add missing regs in
uart port struct.
3.) Add func to identify console uart.
4.) Erratum handling informed as flag to driver and func to handle erratum
can be moved to omap-serial driver itself.
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In preparation to UART runtime conversion. Remove certain uart specific calls
from sram_idle path in pm24xx/34xx/44xx files.
These func calls will no more be used with upcoming uart runtime design.
1.) Removing console lock holding :- Now can be handled with omap-serial file
itself.
2.) omap_uart_can_sleep :- not needed driver can autosuspend based on usage_count
and autosuspend delay.
3.) omap_uart_prepare_suspend :- omap-serial can be taken care with driver
suspend/resume hooks.
4.) Also remove individual uart_prepare/resume calls.
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
This removes the hacks we introduced for runtime PM.
Signed-off-by: Nishanth Menon <nm@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since runtime PM is active for serial, we dont need the hacks we added in
PM layer for handling runtime PM.
Signed-off-by: Nishanth Menon <nm@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As per the eMMC spec the card should be put to sleep before Vcc is
turned off. Put eMMC to sleep in the core suspend sequence.
Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Balaji T K <balajitk@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Enable the MMC idle power saving feature for OMAP4 SDP.
Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
MMC: OMAP: replace clk_disable by runtime_put_sync api in error path
of disabled_to_sleep to balance runtime_get_sync
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Balaji T K <balajitk@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Disable smart standby smart wakeup for mmc, until
smart wakeup is fully supported for OMAP4
Signed-off-by: Balaji T K <balajitk@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Convert the HSMMC driver to use the runtime PM layer. A notable
aspect of this is that the use of the dev_attr data from the
omap_hwmod allows the redaction of all of the integration-specific
hacks inside this driver. Regulator control has not yet been
converted; the driver still uses the platform_data set_power hook.
In converting to runtime PM layer, the clock frameworks is no longer
used for fclk and iclk. Instead, the runtime PM get and put functions
are used. These result in calls into the OMAP runtime PM core which
internally uses the omap_device API to disable/re-enable the device.
(Note that the 2430 debounce clock is not currently handled here,
only the fclk and iclk are managed.)
Based on an initial conversion of this driver to use omap_device by
by Paul Walmsely: http://marc.info/?l=linux-omap&m=124419789124570&w=2
and then converted to use runtime PM API instead of omap_device API.
The omap_hsmmc driver has some hacks in this version to compensate for
the fact that the main runtime PM core prevents runtime transitions
during suspend. This prevens us from using common hooks for runtime
PM and static PM. Current workaround is to hack in some extra put/get
calls in the suspend/resume path while this issue is being discussed
on linux-pm.
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The code does a wrong check and does not allow OMAP2+ to set
level type.
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Girish S G <girishsg@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On probe a call to runtime get sync will eventualy
result in a context restore. We do not want to
restore any context, if it was never saved on
the first place.
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Simplify omap2_gpio_prepare_for_idle() and omap2_gpio_resume_after_idle()
by moving most of the stuff to *_pm_runtime_suspend() and *_pm_runtime_resume().
Also, omap_gpio_suspend() and omap_gpio_resume() optimized to operate per
GPIO bank instead of operating on entire list every time.
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Call runtime pm APIs pm_runtime_get_sync() and pm_runtime_put_sync()
for enabling/disabling clocks appropriately. Remove syscore_ops and
instead use dev_pm_ops now.
[girishsg@ti.com: Fixed review comments]
Signed-off-by: Girish S G <girishsg@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In all OMAP1 SoCs, the MPUIO bank width is 16 bits. But, in OMAP7xx,
it is wrongly initialised to 32. Fix this.
Signed-off-by: Charulatha V <charu@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The only bank->type (method) used in the OMAP GPIO driver is MPUIO type as they
need to be handled separately. Identify the same using a flag and remove all
METHOD_* macros.
Signed-off-by: Charulatha V <charu@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In gpio_irq_handler, isr register is always accessed as 32 bit register and only
for OMAP15xx the first 16 MSBs are masked. Correct this by using the appropriate
readl/readw registers as per the bank width.
Signed-off-by: Charulatha V <charu@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use regs->pinctrl field instead of using the macro OMAP1510_GPIO_PIN_CONTROL
Signed-off-by: Charulatha V <charu@ti.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With register offsets now defined for respective OMAP versions we can get rid
of cpu_class_* checks. In addition, organized common initialization for the
different OMAP silicon versions.
Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
|