Support call same level initcall async in kthread.
Introduce kernel parameter "initcall_nr_threads" control how many threads.
initcall_nr_threads default is 0, which disable intcall async.
initcall_nr_threads=-1, auto selected the number of threads.
Save boot time about 29ms on rk3126-bnd-d708 board.
Change-Id: I04663d22500bc1d65ca5841fb08e4b57083d6b5e
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
1. fix gain_wr_length is wrong;
2. disable isp gain output when pp is not enable;
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: Ib47c858e37db99a3d339fe6757a4a27517f49c17
6M reserved when CONFIG_ROCKCHIP_THUNDER_BOOT=y.
Change-Id: Idd4bb302667e851f544b087af1ed7391b58d2075
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
There are some constrains for pll.
Input frequency range(Int): 5MHz to 1200MHz.
Input frequency range(Frac): 10MHz to 1200MHz.
Output frequency range: 16MHz to 6400MHz.
VCO frequency range: 1600MHz to 6400MHz.
Feedback divide(Int): 16 t0 640.
Feedback divide(Frac): 20 to 320.
Postdiv1 >= Postdiv2.
Change-Id: I03546fa5061856322fc57b335c6b0850d0113e2f
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
The working flow of new feature is:
->bootloader decompress ramdisk.gz to cpio data first and start kernel.
->decompressor driver notify initramfs that cpio data ready.
->initramfs continue to flush cpio data to rootfs.
Change-Id: I9cd5708fc93270ce77376c26d9da5a5c219996c1
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
In memmap_init_zone, it check all pages valid or deffered by single page,
then zero and init the corresponding page struct. It is safe to zero all
page struct in advance at once no matter what the state of every page is.
This can save time when booting kernel.
Change-Id: Ieb5864231fbc751e9438be488a77ce442b91ce7b
Signed-off-by: Simon Xue <xxm@rock-chips.com>
one mplanes for fbc format, user need to calculate
payload offset:
ALIGN(ALIGN(width,16) * ALIGN(height,16) / 16, 4096)
Change-Id: I2503b0a116e62cd3c4f320fa3f9d6405e7b27e5c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
set selection to ispp will request mpfbc crop output
Change-Id: I3d8930a95e117fb44a6491357d328ccf87684993
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
According to the hardware test signal, the default drive
strength signal for SPI pins is too strong and changes to
level0 will not.
Change-Id: I5429b5a1915137eec256f483c4daec778b5fd7a9
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
hw_random driver depends on hwrng_modinit() to init first.
But driver initcall and hwrng_modinit() are both in the same
device_init level.
Fix this by move hwrng_modinit() to the rootfs_initcall level.
Change-Id: I501408d94b7a91fb439512ecc51f20453c5f2382
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
rfkill_init() depends on misc_init() to init misc_class.
But rfkill_init() and misc_init() are both in the same
subsys_initcall level.
Fix this by move misc_init() to the arch_initcall_sync level.
Change-Id: I7266c2787c04a42886816b0ef11f3ed968ebf557
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
configfs_init() depends on ksysfs_init() to init kernel_kobj.
But configfs_init() and ksysfs_init() are both in the same
core_initcall level.
Fix this by move ksysfs_init() to the pure_initcall level.
Change-Id: Iaa23a25a59b3a133f3cecb396fc69dd7e65d45ad
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
usb_init() depends on param_sysfs_init() to init module_kset.
But usb_init() and param_sysfs_init() are both in the same
subsys_initcall level.
Fix this by move param_sysfs_init() to the arch_initcall_sync level.
Change-Id: Iccc44152c716959d98ed97ea379e0fc4378e185d
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
netlink_proto_init() depends on sock_init() to init sock_mnt.
But netlink_proto_init() and sock_init() are both in the same
core_initcall level.
Fix this by move netlink_proto_init() to the core_initcall_sync level.
Change-Id: I76733399c269efb191c5208fe45ce3add8993ebf
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
alignment_init() create proc file "cpu/alignment" at the fs_initcall
level. While "cpu" dir is created on proc_cpu_init() at the same
initcall level too.
Fix this by move alignment_init() to the fs_initcall_sync level.
Change-Id: I8a8831f103b6729f57a8a70ff1bf5672fdf98810
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
This option make the kernel boot faster.
Default n.
Change-Id: I918523621044e16953d5611ef9b0f2773746dae9
Signed-off-by: Tao Huang <huangtao@rock-chips.com>