From patchwork Wed Feb 19 21:08:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 866447 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp2279378wri; Wed, 19 Feb 2025 13:09:40 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX2V0bK39oOQHdU1M2djxEohuhNWJY5yslXRzL4saMZWBgdyyfYe/T1wY34uvFg7QJlHGV3AQ==@linaro.org X-Google-Smtp-Source: AGHT+IGIZzRKbBuLwNkThRNyJqmGhxTZXX2n550kZGyBuIlia9vO7HzooGygiK4tDbVUBAlDd4F5 X-Received: by 2002:a05:622a:285:b0:471:b544:e6fc with SMTP id d75a77b69052e-47215152c5amr11582781cf.26.1739999380149; Wed, 19 Feb 2025 13:09:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739999380; cv=none; d=google.com; s=arc-20240605; b=KYpqQbe9gFbmZMqT2WphqV2GdX9ph3Us1fNzyx3TbWB3iqFzFzYg/wTj+BkSS6FRrX W0I4qQse6hIch1iMkb8PhO6sGxucAuB71FJc1gebhuUOtRqoTA79JqMgjk0vSKWvd9HE RNvgmJzB/QT5kRujqgv8k5z8nIOKKXuZctn8mdX/uNXC1tIlRmtQXBEwaRm00BH0EVfS su82I2Opam3tx50S1ud3ZsFVk+NuIYBsjYqrLj93PluI9Zl8HIgAyMlU1iyTb43oFtB0 MyWotX5b0+yx8nsfe9/o8v3b5YB5MTx7zRCTz1Oskz5+o5sQlnnCfuYYtfv+YDUAg9K7 JQZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=jwfRzD6O0YD7j2pvGbQ4kMoFWL7J1bU250ClTlckFJs=; fh=yQMZ4Jj7IKRiIC+2hAKPqyijzZiidGr+C+h5QTu5X6o=; b=LAY/1g+rr/o+jUVDpIBDOv7b55FDUfBfY9I2CFkksXQd033Hy6iY3b+VPTgdr5VYQc KyWXi4T4DSxIgXi7F2Rt6Z0HC9DeqRiWKoaRe8Q2pU1BiA/aMeEAKUFWW+G3h6f1RnWw Yytd8N/1szBcEee5XcPInt/ZOTcIUTqvytV2XEIlx2hg0tune1rE8J6E2h1XmZr6d5K/ KuxWjmQjpFbFEidr8iM8UpNPuN1t8gFsRXafT+I3LWjtgp0iJSZbaM/Lq/FlHYGiQ319 t9M96z9h4L7YldtbvAWC/gv73pJ8FCgnZYNok1iNKQ1nGTw+LWA/oT3b/U8ci7Z7mebn BH6Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=auIL0L6E; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-471f31e9de1si59496741cf.377.2025.02.19.13.09.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Feb 2025 13:09:40 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=auIL0L6E; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tkrJL-0001lg-MT; Wed, 19 Feb 2025 16:08:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tkrJJ-0001l0-IS for qemu-devel@nongnu.org; Wed, 19 Feb 2025 16:08:49 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tkrJF-0008U4-To for qemu-devel@nongnu.org; Wed, 19 Feb 2025 16:08:48 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-438a39e659cso1172385e9.2 for ; Wed, 19 Feb 2025 13:08:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739999324; x=1740604124; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=jwfRzD6O0YD7j2pvGbQ4kMoFWL7J1bU250ClTlckFJs=; b=auIL0L6EMoge4FRVEoJwJtaW419HAAV4xXsocHwfUz4vRl41We3XWvkKrQPBL4DSPi 5ydS6wtoMELji4s9aYeiAFvNsnO1AK7kGCZUprS1Y9wUj3Whwg3jRNhB1Qx5jjhL9QUh zf7dRhbPPLwRbnBsgZuk8cTmDT2gRNHRV0MdKu4DLAkwCVRE8UJ3xalw0sSt5NDSvjPu EPhavCjJ/pDeqmExvC28lIAfuSJkX517aW/kZGBQXu+SmgHcGDGAEm2QEd5DlRHwhYPh +0gIQah+FjhfI6oon4jMDtZU97k34k2YLwwwvUMLjBKrKmA23qD8LJzMAGl6U0KyCZZJ QinA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739999324; x=1740604124; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jwfRzD6O0YD7j2pvGbQ4kMoFWL7J1bU250ClTlckFJs=; b=JT+Gj2yTHQrC0I94emN10xxbgumQQSxpFkJz7OJjfeLyvbnfhCeHyv2f5o1d2bekOY 9t6rlK/5jM9Cpks9LWOzM+f/jNWt6bz+fgNvDQRWWAP8sJkUTlUcnxVCY+pwLeHiA01Q cLQ6uOogSE781bBeBIxuDlwDTXKmeZxh2uHCe81pKDw3bjfuGLoKFLhPNoCKMUg6IALy 3d1vGcFkk8+/dF1fMSYP5ZiXRBT5K1OPXCGihbb6fMDqzwF8HprXW85pFc0HTXYY8Qwt oC/++2iyaTehjaaLkuP2etNy18FVZ5MGEDjaOd0l0k72GXU6Z7jQA1d7WuPIlQyt5qOz 52eQ== X-Forwarded-Encrypted: i=1; AJvYcCX0P88kulCWvY1UUh7Gy3RkTzBsPb6zqXhoR4gv1wIqt6meY8syox9Wk4PsO4ikyEhnIQBSwBYwMP5H@nongnu.org X-Gm-Message-State: AOJu0YyOba6BJfu6mrZeMs7vTJdu36Ih7UwE1TXubyEpH0Dsa+MGajFN w7s6mJ48IxZpsq1AQ5Kn0idDxZc/2F+11dPzLBdMn9S4yim70zF60lPxPhjjq0g= X-Gm-Gg: ASbGncsiYjv5RSW5sRGJNa34ItdQk56jZPeMSUCKdwdh835OKa1dr51zKvtqA+S302q A3kd9JY9EIyn1Fna7QDriu5Ot2c7jkfufqeoA+VBYp08vzdVwYn1eYMROzCuC1f4P/sw4zVzKBL 2cz9fDyrxsnbifp3xbdCUegrZJ4H0ee8hT70lgK210ZBxsHNWSvZ7LjpYZYK5itVqVqOsTv5Ceu VK5lo40p46qXPsY3exsSGQ7rO4Uw5JFfDi+yde/VaWYsNtHFV+Na+gc1LrtR3EL9OWwqZzBLvP5 n9PjELWTg+vItZhgd9iPw/7sqW5zTOMTfJzn5+cp4ppY2Bb8GZDFeo88slh/iq9WCA== X-Received: by 2002:a05:600c:444e:b0:439:9f42:8652 with SMTP id 5b1f17b1804b1-4399f428858mr26436395e9.17.1739999323712; Wed, 19 Feb 2025 13:08:43 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439872b59e9sm90926805e9.31.2025.02.19.13.08.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 19 Feb 2025 13:08:43 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , qemu-devel@nongnu.org Cc: Evgeny Iakovlev , Rayhan Faizel , Luc Michel , Paolo Bonzini , Yoshinori Sato , Magnus Damm , Peter Maydell , =?utf-8?q?Alex_Benn=C3=A9e?= , Thomas Huth , Shin'ichiro Kawasaki , =?utf-8?q?Philippe_Math?= =?utf-8?q?ieu-Daud=C3=A9?= , qemu-arm@nongnu.org Subject: [PATCH 0/9] hw/char: Improve RX FIFO depth uses Date: Wed, 19 Feb 2025 22:08:32 +0100 Message-ID: <20250219210841.94797-1-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Some UART devices implement a RX FIFO but their code (via IOCanReadHandler) only return a size of 1 element, while we can receive more chars. This series takes advantage of the full depth. Inspired by pm215 chat comment on yesterday's community meeting on the PL011 Rust implementation description by Paolo :) Philippe Mathieu-Daudé (9): hw/char/pl011: Warn when using disabled receiver hw/char/pl011: Simplify a bit pl011_can_receive() hw/char/pl011: Improve RX flow tracing events hw/char/pl011: Really use RX FIFO depth hw/char/bcm2835_aux: Really use RX FIFO depth hw/char/imx_serial: Really use RX FIFO depth hw/char/mcf_uart: Use FIFO_DEPTH definition instead of magic values hw/char/mcf_uart: Really use RX FIFO depth hw/char/sh_serial: Return correct number of empty RX FIFO elements hw/char/bcm2835_aux.c | 6 ++++-- hw/char/imx_serial.c | 8 ++++++-- hw/char/mcf_uart.c | 16 +++++++++++----- hw/char/pl011.c | 28 ++++++++++++++++++++-------- hw/char/sh_serial.c | 30 ++++++++++++++---------------- hw/char/trace-events | 7 ++++--- 6 files changed, 59 insertions(+), 36 deletions(-)