2022.04 RC2

This commit is contained in:
Peter Robinson 2022-02-15 16:48:19 +00:00
parent 18e07ba9f6
commit 93f0ff8c4f
4 changed files with 7 additions and 182 deletions

View File

@ -76,6 +76,7 @@ roc-pc-rk3399
rpi_3
rpi_4
rpi_arm64
starqltechn
sopine_baseboard
tanix_tx6
teres_i

View File

@ -1 +1 @@
SHA512 (u-boot-2022.04-rc1.tar.bz2) = 95421d9ed69f46b727e9bbe53f8ecbd66a6779512c97342b02eb440adac175e6abeebbf5664f256397518e39602b9eee70a2b66ca21c2f13a3331bab755b9735
SHA512 (u-boot-2022.04-rc2.tar.bz2) = 34af2d91a86e6864615ab09a2da7ec752beb56808d9eea652d425476cd1bbdf84d4e5f98740254f7cd91a04f11712d073450e74f4e07ae4180d845cb38620ee3

View File

@ -1,8 +1,8 @@
%global candidate rc1
%global candidate rc2
Name: uboot-tools
Version: 2022.04
Release: 0.1%{?candidate:.%{candidate}}%{?dist}
Release: 0.2%{?candidate:.%{candidate}}%{?dist}
Summary: U-Boot utilities
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
URL: http://www.denx.de/wiki/U-Boot
@ -17,7 +17,6 @@ Source2: aarch64-boards
Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
# Board fixes and enablement
Patch2: v2-console-usb-kbd-Limit-poll-frequency-to-improve-performance.patch
# RPi - uses RPI firmware device tree for HAT support
Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
Patch4: rpi-fallback-to-max-clock-for-mmc.patch
@ -250,6 +249,9 @@ cp -p board/warp7/README builds/docs/README.warp7
%endif
%changelog
* Tue Feb 15 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.2.rc2
- Update to 2022.04 RC2
* Wed Feb 02 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.1.rc1
- Update to 2022.04 RC1

View File

@ -1,178 +0,0 @@
From patchwork Wed Dec 22 22:51:26 2021
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Thomas Watson <twatson52@icloud.com>
X-Patchwork-Id: 1572368
X-Patchwork-Delegate: marek.vasut@gmail.com
Return-Path: <u-boot-bounces@lists.denx.de>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
Authentication-Results: bilbo.ozlabs.org;
dkim=pass (2048-bit key;
unprotected) header.d=icloud.com header.i=@icloud.com header.a=rsa-sha256
header.s=1a1hai header.b=SkTQ1vLj;
dkim-atps=neutral
Authentication-Results: ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
Received: from phobos.denx.de (phobos.denx.de
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits))
(No client certificate requested)
by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JK8Mc4B31z9s0r
for <incoming@patchwork.ozlabs.org>; Thu, 23 Dec 2021 10:16:10 +1100 (AEDT)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id D051D830C3;
Thu, 23 Dec 2021 00:15:59 +0100 (CET)
Authentication-Results: phobos.denx.de;
dmarc=pass (p=quarantine dis=none) header.from=icloud.com
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Authentication-Results: phobos.denx.de;
dkim=pass (2048-bit key;
unprotected) header.d=icloud.com header.i=@icloud.com header.b="SkTQ1vLj";
dkim-atps=neutral
Received: by phobos.denx.de (Postfix, from userid 109)
id 0DA67830F5; Wed, 22 Dec 2021 23:52:26 +0100 (CET)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,
FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.2
Received: from st43p00im-ztbu10073601.me.com (st43p00im-ztbu10073601.me.com
[17.58.63.184])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id 1598D830C2
for <u-boot@lists.denx.de>; Wed, 22 Dec 2021 23:52:23 +0100 (CET)
Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none)
header.from=icloud.com
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=twatson52@icloud.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com;
s=1a1hai; t=1640213541;
bh=9Gu/RsbBH8Lwy0caxjtXwguQwc3tOXLqzye8cafMd78=;
h=From:To:Subject:Date:Message-Id:MIME-Version;
b=SkTQ1vLjDZUB4S3pQ+QOuMAQs7y78hvdCVG59JmuiBtL/pLL9IskzfDYEEVxmBQ8j
QIbZXSdaHlAH3tL3ajaqL0+IJp7J/yQ5/wpmmTsRMBdk0xcgSGilBCve35DMoKYFu1
YSaXYI8GDtaBL5R9EGZAW6SekyeIWfyy03PQpawqJpTlqUNZuLdrr9mGRF/q2fbSHd
Fr4qzePCKzk3GsUhdfkh8hEDS4lOGVAPa3K2mGEpK6K/+Gv3rCckgYrV5IAJQ8YpdP
SCmRL3N03P5wkt5WiYasawJW4pcx92J2RXtyikC9fc6p67bGXkUJA+8dOtxlOyBY8E
8TrKBWY9cvKTw==
Received: from jacobs-p52.memphis.edu
(99-122-90-201.lightspeed.mmphtn.sbcglobal.net [99.122.90.201])
by st43p00im-ztbu10073601.me.com (Postfix) with ESMTPSA id 283205A0974;
Wed, 22 Dec 2021 22:52:21 +0000 (UTC)
From: Thomas Watson <twatson52@icloud.com>
To: u-boot@lists.denx.de
Cc: Thomas Watson <twatson52@icloud.com>,
Marek Vasut <marex@denx.de>
Subject: [PATCH v2] console: usb: kbd: Limit poll frequency to improve
performance
Date: Wed, 22 Dec 2021 16:51:26 -0600
Message-Id: <20211222225124.7154-1-twatson52@icloud.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425, 18.0.790
definitions=2021-12-22_02:2021-12-22,
2021-12-22 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0
malwarescore=0
phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0
mlxlogscore=934 adultscore=0 classifier=spam adjust=0 reason=mlx
scancount=1 engine=8.0.1-2009150000 definitions=main-2112220119
X-Mailman-Approved-At: Thu, 23 Dec 2021 00:15:58 +0100
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.38
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.denx.de>
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.denx.de>
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de
X-Virus-Status: Clean
Using the XHCI driver, the function `usb_kbd_poll_for_event` takes
30-40ms to run. The exact time is dependent on the polling interval the
keyboard requests in its descriptor, and likely cannot be significantly
reduced without major rework to the XHCI driver.
The U-Boot EFI console service sets a timer to poll the keyboard every 5
microseconds, and this timer is checked every time a block is read off
disk. The net effect is that, on my system, loading a ~40MiB kernel and
initrd takes about 62 seconds with a slower keyboard and 53 seconds
with a faster one, with the vast majority of the time spent polling the
keyboard.
To solve this problem, this patch adds a 20ms delay between consecutive
calls to `usb_kbd_poll_for_event`. This is sufficient to reduce the
total loading time to under half a second for both keyboards, and does
not impact the perceived keystroke latency.
Signed-off-by: Thomas Watson <twatson52@icloud.com>
---
This revision wraps the comment at 80 characters and also should not
have been corrupted by my e-mail client.
common/usb_kbd.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index afad260d3d..5408c821b4 100644
--- a/common/usb_kbd.c
+++ b/common/usb_kbd.c
@@ -118,7 +118,7 @@ struct usb_kbd_pdata {
extern int __maybe_unused net_busy_flag;
/* The period of time between two calls of usb_kbd_testc(). */
-static unsigned long __maybe_unused kbd_testc_tms;
+static unsigned long kbd_testc_tms;
/* Puts character in the queue and sets up the in and out pointer. */
static void usb_kbd_put_queue(struct usb_kbd_pdata *data, u8 c)
@@ -394,21 +394,31 @@ static int usb_kbd_testc(struct stdio_dev *sdev)
struct usb_device *usb_kbd_dev;
struct usb_kbd_pdata *data;
+ /*
+ * Polling the keyboard for an event can take dozens of milliseconds.
+ * Add a delay between polls to avoid blocking activity which polls
+ * rapidly, like the UEFI console timer.
+ */
+ unsigned long poll_delay = CONFIG_SYS_HZ / 50;
+
#ifdef CONFIG_CMD_NET
/*
* If net_busy_flag is 1, NET transfer is running,
* then we check key-pressed every second (first check may be
* less than 1 second) to improve TFTP booting performance.
*/
- if (net_busy_flag && (get_timer(kbd_testc_tms) < CONFIG_SYS_HZ))
- return 0;
- kbd_testc_tms = get_timer(0);
+ if (net_busy_flag)
+ poll_delay = CONFIG_SYS_HZ;
#endif
+
dev = stdio_get_by_name(sdev->name);
usb_kbd_dev = (struct usb_device *)dev->priv;
data = usb_kbd_dev->privptr;
- usb_kbd_poll_for_event(usb_kbd_dev);
+ if (get_timer(kbd_testc_tms) >= poll_delay) {
+ usb_kbd_poll_for_event(usb_kbd_dev);
+ kbd_testc_tms = get_timer(0);
+ }
return !(data->usb_in_pointer == data->usb_out_pointer);
}