From nobody Tue Apr 7 18:36:27 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1773286373; cv=none; d=zohomail.com; s=zohoarc; b=X/4QC2gFvl83Yrh+Yc6frFn/4EKbqJMqr8XJr77cCMSplXD0x5u1ikP3RZeGd3OrxfHv4fl3Vg7IBYYX+LYG292bPZyfF/79FYmpm2dyP0Y6Ti73MuZXyFZrd+qqLEImg7JNLMMWdS0mr8jMvLdC1ExWdQ9kC1dGCfCgq+l/D4A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773286373; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ou9B4i7N9WVBHQU4lFuCxr1TRlnBVHCFmOECesKkzXU=; b=LK/FyVHJWFPCoiZYZws2ozfhkVq0IVdjsmAY9zrD1ipidTohYNzon3IVfyWFsN9nMgqwGFXmT1ksrc1lSNAi8+A87jZNTyX07Jk8OHnUnNdM0VPF0fsyy5UmM1bz9Y8OLku558EFdLEM8V7RhRHOdhBHRtnV93Vq9svwgKyGwPM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17732863731591012.488573869377; Wed, 11 Mar 2026 20:32:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Wme-0007Jw-OB; Wed, 11 Mar 2026 23:32:24 -0400 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 1w0Wma-0007Fb-Oc for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:20 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w0WmY-00066W-JW for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:20 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-485345e1013so12290495e9.1 for ; Wed, 11 Mar 2026 20:32:18 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4854b5f6bb4sm94807735e9.4.2026.03.11.20.32.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 20:32:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1773286337; x=1773891137; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ou9B4i7N9WVBHQU4lFuCxr1TRlnBVHCFmOECesKkzXU=; b=L7CTqbylBOpiuYEI5TkYXHFoIv8Lni6s3GxTzdZ2FcBQoc9qLpbZEwDIOtovo2O6bN IgICVMBcUupkn5qDjbVsYPwciFdVsx6gA8sV9glfhxPkAEYeZSWI2Q8liZPMB9hnznXT YnGWbz/I6dw6aR48mVKLw/+Rwanmj3tqk3VV18NUguqC218uKYH+mciADyQJ1ukNx0Ig QyFe4q03aa2HRvw+YJoA/ixvNa2j4POYRpCLWhFAy3tRFci1zjjzWxBpSAdz2rk5kh2Q 0yDBzfaVVb925XGQakubiU7sbHvBprMHVCUmEN8wMa4FHS2o0tBpyrtyun6YQslRGuw0 ob0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773286337; x=1773891137; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Ou9B4i7N9WVBHQU4lFuCxr1TRlnBVHCFmOECesKkzXU=; b=D5VQs8RKVblHuBHyZkjjfkj9AMJPLmkG0jMzmBldc+szEqMdSxTJBWD7ID6QDmqq+0 yhXwDMWrU2PopzS0BliaOBTRDGqcXnCbQM84uxbVLCDdiLrA/r250S3Y5mHuBt6M4pLT f+SJL0+PhfVb5XlZOvlZQQv21gXLqBNNPVnlhxXyibbJbIFQQhgLLWrY1RkNHNjWDpfU /AjCPHeK8BS2D/gWGmXDuzaF+u/LuOsenfIGl0XlXTtuRuGWvQ/9N9wI4mhHM/KGVcf2 Y6OfU7WRVP807XkDND/VcW3blsbEFP7xfsCcYleeIHzM3P8Lm/CxP91hWUgaxfO75iBZ oMtQ== X-Gm-Message-State: AOJu0YxoHp695v96kk9QCSEotOvIXwT9TUjz6MndABr8jb0kxsoLbNy2 LogcAX3/Nw7u7xAJ5w7aAy6jsnDQ77ZpEpzI/1ZI1tl1RwuzPAeTyzTne898lsHHlmHx0PlvKDI 86ADOCP+Q8veDDTymCxnMc3Q5UitcfFKDZRhGSMGl6gVp2oVCRcTMFODdSOBqrV38R6EPMBNh49 2GnCQIJgaLpyictBLRRI+MC7FweepEIk6C9wT7U6glUlyYXA== X-Gm-Gg: ATEYQzz19XyGAFA28Lyg6HnDtR4pPbDpz0X6X5Lnfmg2gp99EPSCGhDT07qWYcG/GPt v5glbirXtHadnZhM8KYAEYs7F4P7gVR9ITA8J/5TOgg0DVd5GufWYT//ymx4kty736dQQldnx7x DEv7PsLT3lUwgnubZjUNp78Huf/WVE3yUyuG4u96SaEFp7c6xYjNctwfSbbDntbKIf83Su+k5rj ATbSRZh0j+/CT70Q/L0djDt2JhiFIqqGz7SQEQyechva9uY7M0mFYJpylbiOIYMV8yoeUNE/dvI JKIZ7qQJwyBm7qQdn+VewHp/NXHDJVifWF2c4nfFC323+xhkMC5Z1dylBFhjBUr7ND84CxVHvYl kLIKjqJSrdluh5dJ8tZPC2v+QAnn7SrxAMktoZCYHWVb2epJR8dpeUxnMRtwzHnXgLkD2RguJp3 XrVC4lEQvB1zseFP9up13L+fQG1CVAFQjldX7sgpO7I/mV7Is3OQ== X-Received: by 2002:a05:600c:4e8e:b0:485:3f58:da2 with SMTP id 5b1f17b1804b1-4854f59f546mr28300595e9.16.1773286336846; Wed, 11 Mar 2026 20:32:16 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang Subject: [PATCH v3 1/4] hw/char: sifive_uart: Implement txctrl.txen and rxctrl.rxen Date: Thu, 12 Mar 2026 11:31:58 +0800 Message-ID: <20260312033201.1619554-2-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260312033201.1619554-1-frank.chang@sifive.com> References: <20260312033201.1619554-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x330.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1773286374495158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang Implement txctrl.txen and rxctrl.rxen as follows: * txctrl.txen The txen bit controls whether the Tx channel is active. When cleared, transmission of Tx FIFO contents is suppressed, and the txd pin is driven high. * rxctrl.rxen: The rxen bit controls whether the Rx channel is active. When cleared, the state of the rxd pin is ignored, and no characters will be enqueued into the Rx FIFO. Therefore, the Tx FIFO should not be dequeued when txctrl.txen is cleared, and the Rx FIFO should not be enqueued when rxctrl.rxen is cleared. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Reviewed-by: Chao Liu --- hw/char/sifive_uart.c | 27 ++++++++++++++++++++------- include/hw/char/sifive_uart.h | 2 ++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index af17cf9a6ce..3ce6a4ee76a 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -78,6 +78,11 @@ static gboolean sifive_uart_xmit(void *do_not_use, GIOCo= ndition cond, return G_SOURCE_REMOVE; } =20 + /* Don't pop the FIFO if transmit is disabled. */ + if (!SIFIVE_UART_TXEN(s->txctrl)) { + return G_SOURCE_REMOVE; + } + /* Don't pop the FIFO in case the write fails */ characters =3D fifo8_peek_bufptr(&s->tx_fifo, fifo8_num_used(&s->tx_fifo), &numptr); @@ -106,11 +111,19 @@ static gboolean sifive_uart_xmit(void *do_not_use, GI= OCondition cond, return G_SOURCE_REMOVE; } =20 -static void sifive_uart_write_tx_fifo(SiFiveUARTState *s, const uint8_t *b= uf, - int size) +static void sifive_uart_trigger_tx_fifo(SiFiveUARTState *s) { uint64_t current_time =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); =20 + if (!timer_pending(s->fifo_trigger_handle)) { + timer_mod(s->fifo_trigger_handle, current_time + + TX_INTERRUPT_TRIGGER_DELAY_NS); + } +} + +static void sifive_uart_write_tx_fifo(SiFiveUARTState *s, const uint8_t *b= uf, + int size) +{ if (size > fifo8_num_free(&s->tx_fifo)) { size =3D fifo8_num_free(&s->tx_fifo); qemu_log_mask(LOG_GUEST_ERROR, "sifive_uart: TX FIFO overflow.\n"); @@ -124,10 +137,7 @@ static void sifive_uart_write_tx_fifo(SiFiveUARTState = *s, const uint8_t *buf, s->txfifo |=3D SIFIVE_UART_TXFIFO_FULL; } =20 - if (!timer_pending(s->fifo_trigger_handle)) { - timer_mod(s->fifo_trigger_handle, current_time + - TX_INTERRUPT_TRIGGER_DELAY_NS); - } + sifive_uart_trigger_tx_fifo(s); } =20 static uint64_t @@ -184,6 +194,9 @@ sifive_uart_write(void *opaque, hwaddr addr, return; case SIFIVE_UART_TXCTRL: s->txctrl =3D val64; + if (SIFIVE_UART_TXEN(s->txctrl) && !fifo8_is_empty(&s->tx_fifo)) { + sifive_uart_trigger_tx_fifo(s); + } return; case SIFIVE_UART_RXCTRL: s->rxctrl =3D val64; @@ -231,7 +244,7 @@ static int sifive_uart_can_rx(void *opaque) { SiFiveUARTState *s =3D opaque; =20 - return s->rx_fifo_len < sizeof(s->rx_fifo); + return SIFIVE_UART_RXEN(s->rxctrl) && (s->rx_fifo_len < sizeof(s->rx_f= ifo)); } =20 static void sifive_uart_event(void *opaque, QEMUChrEvent event) diff --git a/include/hw/char/sifive_uart.h b/include/hw/char/sifive_uart.h index 414564b0266..c78d9bd1fc6 100644 --- a/include/hw/char/sifive_uart.h +++ b/include/hw/char/sifive_uart.h @@ -51,6 +51,8 @@ enum { =20 #define SIFIVE_UART_TXFIFO_FULL 0x80000000 =20 +#define SIFIVE_UART_TXEN(txctrl) (txctrl & 0x1) +#define SIFIVE_UART_RXEN(rxctrl) (rxctrl & 0x1) #define SIFIVE_UART_GET_TXCNT(txctrl) ((txctrl >> 16) & 0x7) #define SIFIVE_UART_GET_RXCNT(rxctrl) ((rxctrl >> 16) & 0x7) =20 --=20 2.43.0 From nobody Tue Apr 7 18:36:27 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1773286365; cv=none; d=zohomail.com; s=zohoarc; b=AW6jP2CNCN0bolEzJAsoVU1jWfq/TcFfEQeQnG7asIRCQa1Zi3PL2tQSUpr4VM3sTWLQFx7cMxQg4j2okqo+U+Adyx/7xGb62zEt6BuUIYecwKfConC0fA41m2Genlopdx2rVy/u/GZ++8espUZgjaEubXXI9xJM2oyDOKBlnNI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773286365; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=29BufEZag21u7qldVD3ZzkUQ+ni7OCRy2fvs7jAv70U=; b=CBPyvC12+3XmFaGdxf8mOHB4lh60loewGN+glMPCiomc3P+DMdmQ/O3yuiet9JbMXNjBnpC0+/RAJqreYUG3EbAAwKqfDBPHJXVsN4fG6vaaOUUHFEKnnZuFF5HLbTVkAEP4Qv2ZoADxLNCSXDK9r1iaKSYbsaq6vV5FR7q8psw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773286365632681.3622719223085; Wed, 11 Mar 2026 20:32:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Wmk-0007Ov-Q8; Wed, 11 Mar 2026 23:32:30 -0400 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 1w0Wmd-0007JC-Iz for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:24 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w0Wmb-00067A-Ph for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:23 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-48534b59cf3so4310445e9.2 for ; Wed, 11 Mar 2026 20:32:21 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4854b5f6bb4sm94807735e9.4.2026.03.11.20.32.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 20:32:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1773286340; x=1773891140; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=29BufEZag21u7qldVD3ZzkUQ+ni7OCRy2fvs7jAv70U=; b=nHQZ0j6neGU0ALr2znSHi8fnmE5wyTPDnrZxHXgWx5XsnlvFjrEfIbea77xB28fY8N d9Dlyfx5p6HldhAaa7T+dBJrQaRkhbkOoBftZ4ZeejcC2ABh0xW+Db3qz2VkZl+fVwCp B65l5BfSJhUgS/l/OhCZE66AX0P6WPedf0rNAedKWLFibUDv2f8imJjitr8h07LHjIgk gVbumX43W7FiS6BQY6QPl0Ry+FYcHDsHnRVnMqaR35PWQv//NVRo8Z1SarXy+UI1fnMo ZeQto/rMEqz6xAKLGGPZzRMNXP6558a4AjriqG1UMR/ru1of4coUXvwAidUjtFyiTU97 GVlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773286340; x=1773891140; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=29BufEZag21u7qldVD3ZzkUQ+ni7OCRy2fvs7jAv70U=; b=HlHIk7g722GoP0lWfgScc6wTm1ahFR457EXzM/crvV+yAzt/AnXYmLmS1celc9E4NN lG4G6VkBSmoO/GtKCM+JrU2leGNOsbNm9OAabQwezJ0Ad2xgNX9rZwAI+xLlELF1GdlD MwZABtBcL7XHLf6as3nyEQvcp4GnDAFxm704J2k5ted5It3OklG9ydXRXGrJ7fvyunCu hNNZ02GJ35avkBMeCSOP3ojJ/NAhq76eTk1gocMvPRnrf93Wy/TFo9yc77jeOWXf+Tfe YQBr3tPvtidUXtREbXYe5C2RwxMx+BYmx7TZq7XQZZwZGizJDw0EjoMT0N/XVpuwCFLs VgvQ== X-Gm-Message-State: AOJu0Yw4eawfsWJ4kcpFqO4kk52FkeENeJ9yVe5LX10zRDa04rdWAAzH v5hR7oxcBEr40O/5Imfgc73AhbLp4IKdBOSjaLQ4KlYHKcsSxz6o8VaVE9iZDpQcfzlYUChs1yh bFQr96xzsr6XmUCkArGaevFaAgd6oBB/lgplRHsiVqxRpWxcY3mbjwC9IvQSS3JgYlwUZLLsgtn BQmk+2eYZ1pQkEXiHMq7Enuy2WMeFMMUL4lBx8Ja6oTJJlyQ== X-Gm-Gg: ATEYQzy5Kt8qz9et2HGmQ5w3+8y/V79nPSQVKJoIcEpheF6yTxMbayrlFZqS7sl0F7p h5DwruAWPwbM/pVQBarqyRiSOKgrEZLOqbl8C8uO7VZMoqIEsQUUMLnvMvNhENRrlo+2dXiB/xV JTOT8jU6cYXOheA6A02SJsGfhZ9bEWdPbYeTbDzcD6/alNa+c5z/5Q7GUEUyYVPfvObLekn1i9V ZAVz06Pa+ViZFZli2A4E3J5KwBVGuFT3MUpfLV009Ajd/523MUa6oVpIuAGebvs7lr/TQ9+60TD kFc5L6SpdNwWYGS36yS77Ig7jm0Gwioo6RQEvbwjvd446kP/rxRNDJHyrUwbhZhbmKtHWp/VlQO L55tbOh0Nk+NqBm2QK8C7O0poNy+9YfIdx/teSb/UMcEvxh6+l2/U84x4xrN1GZWEt5nbCB6bu3 Rtj663PcFPj+NBD062+9PyKndjl8p2fl1xItWQsokJdB+uuIRodw== X-Received: by 2002:a05:600c:c0c9:b0:485:3fa9:358c with SMTP id 5b1f17b1804b1-4854b100b5bmr61157025e9.17.1773286339874; Wed, 11 Mar 2026 20:32:19 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang Subject: [PATCH v3 2/4] hw/char: sifive_uart: Sync txwm interrupt pending status after TX FIFO enqueue Date: Thu, 12 Mar 2026 11:31:59 +0800 Message-ID: <20260312033201.1619554-3-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260312033201.1619554-1-frank.chang@sifive.com> References: <20260312033201.1619554-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x330.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1773286368337154100 Content-Type: text/plain; charset="utf-8" From: Frank Chang Currently, the txwm interrupt pending status is only updated when the asynchronous transmit handler runs. This can cause the txwm interrupt state to become unsynchronized between the SiFive UART and the interrupt controller. For example, when a txwm interrupt is raised, the corresponding APLIC pending bit is also set. However, if software later enqueues additional characters into the TX FIFO exceeding the transmit watermark, the APLIC pending bit may remain set because the txwm interrupt pending status is not updated at enqueue time. This issue has been observed on resource-constrained machines, where Linux reports spurious IRQ errors. In these cases, the asynchronous transmit handler is unable to drain the TX FIFO quickly enough to update the txwm pending status before software reads the ip register, which derives the txwm pending state directly from the actual number of characters in the TX FIFO. This commit fixes the issue by updating the txwm interrupt pending status immediately after enqueuing data into the TX FIFO, ensuring that the interrupt pending status between the SiFive UART and the interrupt controller remains synchronized. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Reviewed-by: Chao Liu --- hw/char/sifive_uart.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index 3ce6a4ee76a..ae71a15a2a4 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -124,12 +124,20 @@ static void sifive_uart_trigger_tx_fifo(SiFiveUARTSta= te *s) static void sifive_uart_write_tx_fifo(SiFiveUARTState *s, const uint8_t *b= uf, int size) { + uint32_t txcnt =3D SIFIVE_UART_GET_TXCNT(s->txctrl); + bool update_irq =3D false; + if (size > fifo8_num_free(&s->tx_fifo)) { size =3D fifo8_num_free(&s->tx_fifo); qemu_log_mask(LOG_GUEST_ERROR, "sifive_uart: TX FIFO overflow.\n"); } =20 if (size > 0) { + if (fifo8_num_used(&s->tx_fifo) < txcnt && + (fifo8_num_used(&s->tx_fifo) + size) >=3D txcnt) { + update_irq =3D true; + } + fifo8_push_all(&s->tx_fifo, buf, size); } =20 @@ -137,6 +145,14 @@ static void sifive_uart_write_tx_fifo(SiFiveUARTState = *s, const uint8_t *buf, s->txfifo |=3D SIFIVE_UART_TXFIFO_FULL; } =20 + /* + * Update txwm interrupt pending status when the number of entries + * in the transmit FIFO crosses or reaches the watermark. + */ + if (update_irq) { + sifive_uart_update_irq(s); + } + sifive_uart_trigger_tx_fifo(s); } =20 --=20 2.43.0 From nobody Tue Apr 7 18:36:27 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1773286380; cv=none; d=zohomail.com; s=zohoarc; b=FVlsnIfylRr5akDtMBxopKZhjV7ygdS85aL/mkS8mvTkCKT6h/H75zBrbrq5Y1vB6zmzcJN7qvAtfpMCRv0NlOZdpKVr/LaE30KVYRICkXsXR2qRJtD0GQFYc4O+/1S/YkARknzgJP6yU4fz/PO5Bvj9LThySg/psI4AkflRFpM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773286380; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Y1iQco9MhVEGD8RsBT+zhv9hoHQwgfldsI5gxB7iE48=; b=eqPAzqxT2XE/KfDB2k9l3c1X3howoF4S0cpXrl9itwNbQaAiuwHu2n+hf9mqDsTm4G+cUGh9YWSSXv8K4dlpCa6olxNa/BQ6X5uJ+EqtiEyzv8Iyx0xBCVPR9TGUtP99vS6BQd5+qicmDRujt7SXNPKyAIndoiq8XR8vKJ4BCRg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177328638049379.53860469065557; Wed, 11 Mar 2026 20:33:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Wmy-0007jj-W9; Wed, 11 Mar 2026 23:32:46 -0400 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 1w0Wmg-0007L1-Bw for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:29 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w0Wme-00067X-RL for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:26 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4852c9b4158so3938675e9.0 for ; Wed, 11 Mar 2026 20:32:24 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4854b5f6bb4sm94807735e9.4.2026.03.11.20.32.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 20:32:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1773286343; x=1773891143; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Y1iQco9MhVEGD8RsBT+zhv9hoHQwgfldsI5gxB7iE48=; b=WnaHajupk1L6Bq6X4hRp+gMBsViVgPKPFd3gXycJtqrZjNU3IUuvhinnO5+ADijIUk Y0f6ljoR8d7XyreJNtVIY+SC8xRw6glCvuYCB2+Lj/KOm3dtHy8xF4EOBLyOeTMnZhF0 NzHvIRWmQR+yh0N5fzftudv1Q4PQnLQZs2uBL2Ic2Fw0P6n4XkMUkVYPePEwBYoOLrM9 66rwmWtjlQ26Sm3Ux/R9diaa98g1ufgfqUvx47CVtDp98e4lVIaj96S4PWlLiVcgpgXY f2PugdK5r9IewEA14DAQefxz8aSNgwvWEqDQam5A+kGthC4qfgxWlZXKfpXfFCrIV6+c 3cmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773286343; x=1773891143; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Y1iQco9MhVEGD8RsBT+zhv9hoHQwgfldsI5gxB7iE48=; b=DSjNMJ2N9F31eV80HGpsDH/1D1uL3iT8cm/v9sOaVI5rrQQEa1FlvZb691uH7EyYfc Ma/hYZ6jrMt5y3lmAVRmnZe7kkdvXd9RmxxwFECknE3KJxCgz4pW9rV21L9Cz6PZCgCH R1DEiOWnV2lAl3fS1bWaZoEM9oDxp311/RZ5YPrGTubBlG35U9VimPS/mVTEmU5qtmim FcggEOOf8yr/mjULLIAnl3fHaKNvWsW/34osREkkmohFeLD6Ordtx2HRMRFoC5StU/Px 67l0ccIGfXRiQVV4R18S47BJKFN1ur7asvDtYY+7rJmO46mv0JZzLK1wM+X58TEyVpjn WFxA== X-Gm-Message-State: AOJu0YzHmm6jHQiiVDS/iClcs6UPgyFzGFocYUOa7rtLX7I6PW1R9Kp+ URGLjaS/ZBJ2EWnFjwNo8v1ywVxrAonoqmh/lSh6A35yBpKmmYuJkGTV9lSm3rDtmObvNA6fsmZ di98iNVCqMB9UJAQOqZA/l8VX25SMgaO7Hl9/HzSPX5jBWx3eT1coJBb5bC1I3KajbfWhvy7Arn zC4noOTVGlVEoTrSAoNNaXupOnS2joYfsZmtoB5fbm+uM5yw== X-Gm-Gg: ATEYQzxJ9RNdEMo2A2FpM8pSkrbJNgHvrAZ/AqX2xGcXgEFRfqNA49mOxw/akfxZMbd n+Za0rZEwCXNj+IdpeFpQWvtx7/4PNSTT0ocx3XIQvrqqI2YFDI8iiNmX9j/fdldl76Wh0hwUyI aPNquC8mbfSKYTEH9MoQFHemE1tGIKa2qYGtcjo4UuHrKa132qW38B4amokxPuzBFQDUUeuYEqk rS0M36uXeJhTGO+EwllOyzfidNppYr9M428wieqQGdW9JIzwFm0w6VY1c03hNvmuMwpwf0UfDC/ pGL1WoJBawU7iCltrF39cW4rNIqoJErV0h3m4xUwIErExm7QXTTKWxcj6/Ff8cex6uri1ssYx7h okTDpmxxmjpb5uunpPIbWzJD2kRTOs2GnsBJox/oaYaU/N4aUU+9n8mhHQZ7dvFDR/DN8wrt9yS /QGw6SBOPP1VAAzPjKzrvORFMO//gcvCCCpZnSHSeJpx61OD/QOA== X-Received: by 2002:a05:600c:19d4:b0:485:3ae3:b394 with SMTP id 5b1f17b1804b1-4854b158082mr86503415e9.31.1773286342940; Wed, 11 Mar 2026 20:32:22 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang Subject: [PATCH v3 3/4] hw/char: sifive_uart: Update IRQ when rxctrl is written Date: Thu, 12 Mar 2026 11:32:00 +0800 Message-ID: <20260312033201.1619554-4-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260312033201.1619554-1-frank.chang@sifive.com> References: <20260312033201.1619554-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x335.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1773286382478158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang When rxctl is updated, we also need to check whether the IRQ should be raised, as the user may activate the Rx channel or change the Rx FIFO watermark level. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Reviewed-by: Chao Liu --- hw/char/sifive_uart.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index ae71a15a2a4..f255cca960d 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -216,6 +216,7 @@ sifive_uart_write(void *opaque, hwaddr addr, return; case SIFIVE_UART_RXCTRL: s->rxctrl =3D val64; + sifive_uart_update_irq(s); return; case SIFIVE_UART_DIV: s->div =3D val64; --=20 2.43.0 From nobody Tue Apr 7 18:36:27 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1773286388; cv=none; d=zohomail.com; s=zohoarc; b=IbvVkJmJ1/3ExBv+mGlEPAp3Mh6UDfKmaMmpTL5N4GHCMYqoFJV4hsuZrdCrB5tKTbvFgSITQXsYL3IxlQW/CUxWV1ftRtlF0AzdPwLC7aOfvcd5iGkztQTSmG41jogA23nvAtxHxujlc/rCHKsfdthLQ4VhkCD14o3wn2TRkps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773286388; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=p/ir3+XQEQ4fiVwZaFm9CIl150MgD4MJ0b3dRmPSWCw=; b=k96sUYrCb0Q8Wyhp1mF4IRhBzHLh6Ji6RMyQDAawIUFjaltegcId1arnMoQh7HUut3+a4repEscX8oMUkzO5mU6xqTD7LMrdEAnCTi9c4P+1xjgHskMEwCoiee2+lYyZk8OU4HLzTnIJE89rr9nXy70EFgO22W5GEndGy44ZWRE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773286388841263.07302510008606; Wed, 11 Mar 2026 20:33:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w0Wmy-0007id-QI; Wed, 11 Mar 2026 23:32:44 -0400 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 1w0Wmk-0007Qb-Vt for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:34 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w0Wmi-000680-Hr for qemu-devel@nongnu.org; Wed, 11 Mar 2026 23:32:29 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4852e09e23dso3841975e9.0 for ; Wed, 11 Mar 2026 20:32:27 -0700 (PDT) Received: from hsinchu16.internal.sifive.com ([210.176.154.34]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4854b5f6bb4sm94807735e9.4.2026.03.11.20.32.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 20:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1773286346; x=1773891146; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=p/ir3+XQEQ4fiVwZaFm9CIl150MgD4MJ0b3dRmPSWCw=; b=UkmklrU+1OoV15EWMMB54fmjgpHLPXt2CpkT9LdjAjDX5SNdNfG96sg4xyuxG8vOUV CTV8bPIQnn1evG/IlwMuuoZ791HlF/CSs2eZgBzNFRssCBh4yJ0YWe9vFZ56iOXmjizl atgQD3w0MEtHZWa9PdDxHd8irjZZ4MfFvRx9m8ZGN3NnrjaIPN2pIG8yvhW0mU5ClDJa eqsDNn3AdPaUTYkGAlBQ9ctr4BeJkh/xFytxbgTVanQUrzQq5ZVbs8heh7ibhz7AYyBc 4LeDtjoUOAZPACoM1UK2/LQx+ojtCIl/2io5Gf+AAga+Kw9Q8sbqI7J1U6uRxVokUZeo GECA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773286346; x=1773891146; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=p/ir3+XQEQ4fiVwZaFm9CIl150MgD4MJ0b3dRmPSWCw=; b=P4MCUkTuYdfv5AQJA74fdBht0A2nrIxfwrMuBQh2y4BaPhV1riQ9fcmJxZm9iEx6ij G26+Y9yuERZztDRV7dSR1dxMKm3eo/rDpTBhPdspMA3iiXQGRL7l2pPbA5Y3Wr/YKK/B 6WoStIM0O27Svs7QLIFHZJPnkNZ2JXX+icUOA8ZHC6kluQ6lF+vjgJt+XO7c9Uvmwoi4 rCg6WnXeLnEbzT4HVqTO6oIYEI92uafNIMnWQ+zvGwOMmTm4Y+3VBseysfB8D6n7VuTf 048Nh2mgdFVkauC35UOzUzqe2bCUp/shCUmvzZfgZZJnzsvYFbpMYsIqA0a9DRl4bE0p YfGg== X-Gm-Message-State: AOJu0YyFn2nCSl4VzaI8tFM7CTtNewM3wHu3YjutJtXvstfzywRpPLZf kg0kXLBosMBUSCZQp2nWbqYt2FCgGDVEr3Yp3nWsUQwHxdzrPlH+bleaxbya/vhMe12KAcoM83S FR01N0d1gpeXP3awQSgkYM6RGgtklP1J+0xEqSFzOSMnnwdnLonYNoIdWm/i+XZZuGuneEzXWm2 bijDyT8r/1fymHA8T9Ml6ZcPGw0+m2Fy0mY7AP5IeA4XQkhw== X-Gm-Gg: ATEYQzzSJwWMqYf1HoNj5dhxkOk2l+CeNNbOaeHXBanxy9b0LeI1DpQUL5el3FhsxNn i0YFsrj1mTQ8rorNYuuSVgUHmaMZtzLAz2O9pS+bep47YhPx7J1y6YlBn2OYVgvkb/oF9gGayE6 bFTn4XiN0PJlulah9qpfQcxFPCsrhq6p33xKW5JOZXt0Oic/fsKMRzEkymxSMjNQcDLf1RyF01L 3BuDN2zoJIRh9AmZoZxwgTrecCm1dQ7JmQ80F5DD3XIIqwVwP6ieD6Y31NbXcZo5ZljroNC42oR WFDHid3QG63D7QdoEU3T6cgnleQk63S7E0u0vpIO/3WW+BzTRajy5v2NwmkfADf8TSbK//LABwr 3KqthYp9vhmIk/fbKR7Jf4yJCXbXPqm4PAdc8g7zxSAuFiEdYSJ2m28jbXW6/mQKEqwmO9SeFCV 8d9ona5io/4cfkGnOzndvt2EYq7fijDTCbEw9fMXqXW0rqOW0evQ== X-Received: by 2002:a05:600c:1d16:b0:483:1403:c47f with SMTP id 5b1f17b1804b1-4854b0a6fcamr81807555e9.6.1773286346013; Wed, 11 Mar 2026 20:32:26 -0700 (PDT) From: frank.chang@sifive.com To: qemu-devel@nongnu.org Cc: Alistair Francis , Palmer Dabbelt , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , qemu-riscv@nongnu.org (open list:SiFive Machines), Frank Chang Subject: [PATCH v3 4/4] hw/char: sifive_uart: Remove ip variable Date: Thu, 12 Mar 2026 11:32:01 +0800 Message-ID: <20260312033201.1619554-5-frank.chang@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260312033201.1619554-1-frank.chang@sifive.com> References: <20260312033201.1619554-1-frank.chang@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=frank.chang@sifive.com; helo=mail-wm1-x335.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1773286390503158500 Content-Type: text/plain; charset="utf-8" From: Frank Chang The ip variable is no longer used in the code. Remove it from the codebase. Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Reviewed-by: Chao Liu --- hw/char/sifive_uart.c | 6 ++---- include/hw/char/sifive_uart.h | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index f255cca960d..4c30fbf5685 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -285,7 +285,6 @@ static void sifive_uart_reset_enter(Object *obj, ResetT= ype type) =20 s->txfifo =3D 0; s->ie =3D 0; - s->ip =3D 0; s->txctrl =3D 0; s->rxctrl =3D 0; s->div =3D 0; @@ -343,14 +342,13 @@ static void sifive_uart_reset_hold(Object *obj, Reset= Type type) =20 static const VMStateDescription vmstate_sifive_uart =3D { .name =3D TYPE_SIFIVE_UART, - .version_id =3D 2, - .minimum_version_id =3D 2, + .version_id =3D 3, + .minimum_version_id =3D 3, .fields =3D (const VMStateField[]) { VMSTATE_UINT8_ARRAY(rx_fifo, SiFiveUARTState, SIFIVE_UART_RX_FIFO_SIZE), VMSTATE_UINT8(rx_fifo_len, SiFiveUARTState), VMSTATE_UINT32(ie, SiFiveUARTState), - VMSTATE_UINT32(ip, SiFiveUARTState), VMSTATE_UINT32(txctrl, SiFiveUARTState), VMSTATE_UINT32(rxctrl, SiFiveUARTState), VMSTATE_UINT32(div, SiFiveUARTState), diff --git a/include/hw/char/sifive_uart.h b/include/hw/char/sifive_uart.h index c78d9bd1fc6..5f3b1327de0 100644 --- a/include/hw/char/sifive_uart.h +++ b/include/hw/char/sifive_uart.h @@ -73,7 +73,6 @@ struct SiFiveUARTState { =20 uint32_t txfifo; uint32_t ie; - uint32_t ip; uint32_t txctrl; uint32_t rxctrl; uint32_t div; --=20 2.43.0