From 253196ff1fb371deab5d9ac7a0efce2d5a7519d8 Mon Sep 17 00:00:00 2001 From: Simon Xue Date: Wed, 11 Mar 2020 15:55:14 +0800 Subject: [PATCH] init: Add support directly parse cpio data decompressed by hardware decompressor 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 Signed-off-by: Tao Huang --- init/initramfs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/init/initramfs.c b/init/initramfs.c index 46429e8ffe27..f4c4e2404dfd 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -12,6 +12,7 @@ #include #include #include +#include #include static ssize_t __init xwrite(struct file *file, const char *p, size_t count, @@ -465,6 +466,9 @@ static char * __init unpack_to_rootfs(char *buf, unsigned long len) state = Start; this_header = 0; message = NULL; +#if defined(CONFIG_ROCKCHIP_THUNDER_BOOT) && defined(CONFIG_ROCKCHIP_HW_DECOMPRESS) && defined(CONFIG_INITRD_ASYNC) + wait_initrd_hw_decom_done(); +#endif while (!message && len) { loff_t saved_offset = this_header; if (*buf == '0' && !(this_header & 3)) {