From patchwork Mon Apr 29 20:40:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Marek_Beh=C3=BAn?= X-Patchwork-Id: 1092846 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=nic.cz Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=nic.cz header.i=@nic.cz header.b="nQvZFbvu"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44tGlC20YFz9sB8 for ; Tue, 30 Apr 2019 06:40:54 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 7A2DAC21DA1; Mon, 29 Apr 2019 20:40:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id ABF30C21C8B; Mon, 29 Apr 2019 20:40:47 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2FBF9C21C2F; Mon, 29 Apr 2019 20:40:46 +0000 (UTC) Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) by lists.denx.de (Postfix) with ESMTPS id DE234C21C29 for ; Mon, 29 Apr 2019 20:40:45 +0000 (UTC) Received: from dellmb.labs.office.nic.cz (unknown [172.20.6.125]) by mail.nic.cz (Postfix) with ESMTP id 5A5EF634D5; Mon, 29 Apr 2019 22:40:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1556570445; bh=eRBdIX5Rwv/PqM5D06boORZszwW8JWXdQQFmHSHzVKU=; h=From:To:Date; b=nQvZFbvuRKCaEJsKA63rKUP8esMwc/9Y/62kUNgSYcou6YLytk2xHYsiOM1DHb9Cq OpNdnRxnOJzCEESVoV7yUYReActyDvwC47XLKzHS8U3zLp3JxTEjWqNq+HclMCQx2Y TWe7NEQKIUz6RXcbMrVFHUSEy2bBCLTIDklSpxto= From: =?utf-8?q?Marek_Beh=C3=BAn?= To: u-boot@lists.denx.de Date: Mon, 29 Apr 2019 22:40:42 +0200 Message-Id: <20190429204045.6482-1-marek.behun@nic.cz> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.99.2 at mail X-Virus-Status: Clean Cc: Tom Rini Subject: [U-Boot] [PATCH v2 0/3] fs: btrfs: Add zstd decompression support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Hi, this is v2. The previous cover letter said: zstd has been enabled in kernel btrfs driver for over a year, it is time we support this also in U-Boot. This xxhash and zstd library are imported from kernel with minimal changes. This was tested on ARM target (Turris Omnia). Marek Changes since v1: - changed xxhash and zstd sources to use SPDX license identifiers Marek BehĂșn (3): lib: Add xxhash support lib: add Zstandard decompression support fs: btrfs: add zstd decompression support fs/btrfs/Kconfig | 1 + fs/btrfs/btrfs_tree.h | 5 +- fs/btrfs/compression.c | 59 + include/linux/xxhash.h | 229 ++++ include/linux/zstd.h | 1147 +++++++++++++++++ lib/Kconfig | 15 + lib/Makefile | 2 + lib/xxhash.c | 467 +++++++ lib/zstd/Makefile | 4 + lib/zstd/bitstream.h | 344 +++++ lib/zstd/decompress.c | 2515 +++++++++++++++++++++++++++++++++++++ lib/zstd/entropy_common.c | 213 ++++ lib/zstd/error_private.h | 43 + lib/zstd/fse.h | 545 ++++++++ lib/zstd/fse_decompress.c | 302 +++++ lib/zstd/huf.h | 182 +++ lib/zstd/huf_decompress.c | 930 ++++++++++++++ lib/zstd/mem.h | 142 +++ lib/zstd/zstd_common.c | 65 + lib/zstd/zstd_internal.h | 253 ++++ lib/zstd/zstd_opt.h | 1004 +++++++++++++++ 21 files changed, 8465 insertions(+), 2 deletions(-) create mode 100644 include/linux/xxhash.h create mode 100644 include/linux/zstd.h create mode 100644 lib/xxhash.c create mode 100644 lib/zstd/Makefile create mode 100644 lib/zstd/bitstream.h create mode 100644 lib/zstd/decompress.c create mode 100644 lib/zstd/entropy_common.c create mode 100644 lib/zstd/error_private.h create mode 100644 lib/zstd/fse.h create mode 100644 lib/zstd/fse_decompress.c create mode 100644 lib/zstd/huf.h create mode 100644 lib/zstd/huf_decompress.c create mode 100644 lib/zstd/mem.h create mode 100644 lib/zstd/zstd_common.c create mode 100644 lib/zstd/zstd_internal.h create mode 100644 lib/zstd/zstd_opt.h