The gc2145 always rewrite init setting,
when change state from preview to capture.
That will get exposure time again when capture picture,
it causes capture exposure time different with preview.
To fix this issue, following changes introduced:
- reconfig gc2145 reg_table.
- add gc2145_aec_ctrl function calculate Capture shutter.
Change-Id: Ie1a4e4cb4a27c826e7485dd551096bfe4ca49ba3
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
This adds support to get simple_ondemand governor data from devicetree.
Change-Id: Ic897ad6227152c4ce695d6cee8085b4d303339bf
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Now a regulator device can supply multiple consumers at the same time,
if a consumer starts and set a low voltage, another consumer doesn't
start in kernel but has been set a high frequency in bootloader will
abort.
This patch Adds support to limit min_uV during kernel startup to make
sure the voltage can suit the needs of all consumers.
Change-Id: Ibd16a8e44916798021e2470c90a8e3488df206f4
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Show a accumulation of wfi time of every suspend sate
since system bootup:
$ cat /sys/kernel/wakeup_reasons/total_suspend_wfi_time
Change-Id: I2856faabe2e883a7120931ed49bc0c4f0776600d
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Generally, the dts file which is used for linux platform, the machine's
compatible contains 'linux' tag. If so, the gt1x driver could claim the
dev_pm_ops for suspend and resume process.
Change-Id: Ib64952148e64161abaff674a51861106b8041ada
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
The early used the fb for display, the new drm display can't callback
the suspend to resume function in gsl3673 driver.
The Android will callback the fb_bank to notice for the early suspend
and late resume. In order to keep using the pm sleep and fb callback way
with this patch.
Change-Id: I36c7d89edaf4052e614c5a354f7a0a12c9c4275a
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
This patch adds superspeed descriptors in device
applications to support USB 3.0 ffs gadget.
Change-Id: I5a364c935b1d30e2e929791ff16a34cf0d1c87e1
Signed-off-by: William Wu <william.wu@rock-chips.com>
RK bootloader does not put a correct size to cmdline, hack the initramfs,
directly return when we get a good initrd.
Change-Id: Ia1199a1c47f1c0789268971c9f2c9b55bf81ca05
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Add BOOT_PANIC flag for system reboot from panic.
We can get the boot mode from sys/kernel/boot_mode.
Change-Id: I75ce678eff7b9dc8db80e2d88ea79d888a0a2e2c
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Some bootloader will check the reboot mode to take different action, so
we treat unrecognized reboot mode as normal mode to prevent the system
run into abnormal case.
Change-Id: I88063a5b41e4e645443229fa490b2b55db5ccf27
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Parse boot mode on system bootup, and export it to
userspace by sysfs: sys/kernel/boot_mode
Change-Id: I0158fc28f4dae51c798806006e49cead4ce2e923
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
The power_allocator thermal governor should get utilization of cooling
device to calculate dynamic power, but the powersave, userspace and performance
devfreq governor don't updade stats, so the utilization is inaccurate.
This patch adds support to update status when get requested power, so that
power_allocator can also work properly when use powersave, userspace and
performance devfreq governor.
Change-Id: Ic98fabf46f693a60b0f07094c59e75e4d141e42c
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
As policy->cur may be changed by thermal and cpufreq_suspend, the setspeed
may be changed after resume.
Change-Id: I6d4e0672ff39127c522f305719afd52806c31f48
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
vop iommu handled by vop driver, so ignore the iommu operation when vop
call pm_runtime_get_sync/pm_runtime_put_sync
Change-Id: I126661e56f16b1740793dcc49340518094eee514
Signed-off-by: Simon Xue <xxm@rock-chips.com>
iommu may enabled by pm_runtime_get_sync from vop, this
path is not accept by vop, so ignore device_link for vop
Change-Id: I532a2a964b423e78fadec02c3b4c2952301ebf4b
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Add mailbox and scpi protocol function support for rk3368 SoC.
Change-Id: I201c916865eb2729ed135c3f5a77a9dd97007952
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
In .remove progress, EP and RC driver may access EP via PCIe, don't
do really hardware access, just ignore.
Change-Id: Ide5831c2cdcabea6c289b1eb96d6f80294f94ac8
Signed-off-by: Simon Xue <xxm@rock-chips.com>
After a cpufreq transition, update the clockevent's frequency
by fetching the new clock rate from the clock framework and
reprogram the next clock event.
The clock supplying the arm-global-timer on the rk3188 is coming
from the the cpu clock itself and thus changes its rate everytime
cpufreq adjusts the cpu frequency.
Found by code review, real impact not known. Assume what actual
HZ value will be different from expected on platforms using
arm-global-timer as clockevent.
The patch is port of commit 4fd7f9b128 ("ARM: 7212/1: smp_twd:
reconfigure clockevents after cpufreq change") and
commit 2b25d9f64b ("ARM: 7535/1: Reprogram smp_twd based on
new common clk framework notifiers").
Change-Id: I82552f621e30254b9c48f22fb3ebd2866d4476c8
Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
strlcpy(clkin_name, __clk_get_name(clk), sizeof(clkin_name));
the clkin_name will wrong when clk is clk_i2s0_8ch_tx_out
Change-Id: If5603b5c31d4705289d075b2b375a35f3d4e4178
Signed-off-by: Yu YongZhen <yuyz@rock-chips.com>
The "host1" port (AKA the dwc2 port that isn't the OTG port) on rk3288
has a hardware errata that causes everything to get confused when we get
a remote wakeup. We'll use the reset that's in the CRU to reset the
port when it's in a bad state.
Note that we add the reset to both dwc2 controllers even though only one
has the errata in case we find some other use for this reset that's
unrelated to the current hardware errata. Only the host port gets the
quirk property, though.
Change-Id: I472d33fb1db8b1a6b0c4fcea9ab31fd85b61af40
Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
(am from https://patchwork.kernel.org/patch/9324169/)
Make of_devfreq_cooling_register_power() as static inline.
This fixes the building error when CONFIG_THERMAL is disabled.
Change-Id: I3d88a3679de279a7ee7eadae7243b9661fdddf75
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
This patch adds NoC (Network on Chip) Probe driver which provides
the primitive values to get the performance data. For example, RK3399
has multiple NoC probes to monitor traffic statistics for analyzing
the transaction flow.
Change-Id: I66f6708f0d244488ca08f0f1f1cb36b19c7a2d0a
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Calculate current load with busytime / totaltime from status,
also show the current frequency.
Change-Id: Ic310035db9c5478aa3d0b1e526b47c451fe09d23
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
In order to fix deadlock between dmcfreq and vop on/off,
When change vop status and ddr frequency at the same time,
the following deadlock will happen:
vop no/off dmcfreq
vop_crtc_disable update_devfreq
->mutex_lock(&vop->vop_lock); ->mutex_lock(&pd->pmu->mutex);
->pm_runtime_put(vop->dev); ->mutex_lock(&vop->vop_lock);
->mutex_lock(&pd->pmu->mutex); ...
Change-Id: I56a4ee944200826d2a09e3ae8d2f4837f6f769d6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>