From nobody Tue Apr 7 18:08:36 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7379C3F6B0 for ; Thu, 25 Aug 2022 13:18:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240532AbiHYNSG (ORCPT ); Thu, 25 Aug 2022 09:18:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241790AbiHYNSA (ORCPT ); Thu, 25 Aug 2022 09:18:00 -0400 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 540C9A9255; Thu, 25 Aug 2022 06:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661433479; x=1692969479; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7Xldrfug7F3ZOc/ocWfpppxI2d2k/b5ME9FwiEpzFJw=; b=aZECd8zZRTCO79N9nJ7RYDBmRfZ0mjfaHqy7LcWoh8sm4jA3niEh1Agv peTKpr7zwI1jT5V/CWjL1MzOYkBFfH9JNiMgKdy97lnO1ELNSAoOQ8xFK 1qoueoy7ZCsfz7W7bG1RBUM0Ck0U53BDLK/mkFT3iQWCOyp57A9Qs6sMf yvfqEW4Ls17p1sVilVpvMpA+BY7LmrJbQZH0ffp2NLmV5PUkMY6Q6PGY/ nPKfuIbN3JxALQY7AzOilLqlOXYSdc3MiQwoiwq+r8tlj30CHqewV1Sjv E9090eowZINiL17lb6I7fvXAfIjUVLkNiyntrpW2R+VYLhvd1j1IDLXEr g==; X-IronPort-AV: E=McAfee;i="6500,9779,10450"; a="294234923" X-IronPort-AV: E=Sophos;i="5.93,263,1654585200"; d="scan'208";a="294234923" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2022 06:17:59 -0700 X-IronPort-AV: E=Sophos;i="5.93,263,1654585200"; d="scan'208";a="670974568" Received: from mblazque-mobl1.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.249.44.101]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2022 06:17:57 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, "Maciej W . Rozycki" , linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 1/2] serial: dz: xmit buffer is UART_XMIT_SIZE'd Date: Thu, 25 Aug 2022 16:17:45 +0300 Message-Id: <20220825131746.21257-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220825131746.21257-1-ilpo.jarvinen@linux.intel.com> References: <20220825131746.21257-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Instead of DZ_XMIT_SIZE, use the normal UART_XMIT_SIZE directly as it's the correct size of the xmit circular buffer. In theory, the Tx code would be buggy if UART_XMIT_SIZE differs from 4096 (occurs when PAGE_SIZE > 4k), however, given the lack of issue reports such configuration likely doesn't occur with any real platform with dz HW. The inconsisted sizes would cause missing characters and never-ending bogus Tx when ->head reaches the region above 4k. The issue, if it would be real, would predate git days. Signed-off-by: Ilpo J=C3=A4rvinen --- drivers/tty/serial/dz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/dz.c b/drivers/tty/serial/dz.c index 2e21acf39720..5d2588f3e6a9 100644 --- a/drivers/tty/serial/dz.c +++ b/drivers/tty/serial/dz.c @@ -279,7 +279,7 @@ static inline void dz_transmit_chars(struct dz_mux *mux) * so we go one char at a time) :-< */ tmp =3D xmit->buf[xmit->tail]; - xmit->tail =3D (xmit->tail + 1) & (DZ_XMIT_SIZE - 1); + xmit->tail =3D (xmit->tail + 1) & (UART_XMIT_SIZE - 1); dz_out(dport, DZ_TDR, tmp); dport->port.icount.tx++; =20 --=20 2.30.2 From nobody Tue Apr 7 18:08:36 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CA72C04AA5 for ; Thu, 25 Aug 2022 13:18:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242471AbiHYNSM (ORCPT ); Thu, 25 Aug 2022 09:18:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242433AbiHYNSD (ORCPT ); Thu, 25 Aug 2022 09:18:03 -0400 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4EC92201B6; Thu, 25 Aug 2022 06:18:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661433482; x=1692969482; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qNYpsD0QAUqamHJ10Nj5m4QpCERSM1jcCkSlZAiHlgU=; b=P27U3gyn1BuiY6RrTltUMI8aYZkrF1RYjSr9nCA2eaCWE18PSXfDJzBy p60vo+XqKaoKfybh1zIIO1v9kiPMXblg7HHpcOcOwnw8+vzMfGEsSCKlY h47lw3/6LpW81dS+/UHSpJoenBUw5YkcsuemHxr2Mv0wLtCnoxqZkH2Uk ShHOcKuRblkjhVU1InB8Fhpd6uPeL58Q4vfy9sMs6GB7MViAE/n04RfPl Q4CaCEkzRAfQx6trA8UIxNGHT6tfdMWDqIFtnnarqvKIY7FdhY4i/xih9 S26i/0d1dEmZ36AnrYecV+MKo7g/Ci5VQ6OUv9vzLKqhsv4OfIOZWeUUR A==; X-IronPort-AV: E=McAfee;i="6500,9779,10450"; a="294234940" X-IronPort-AV: E=Sophos;i="5.93,263,1654585200"; d="scan'208";a="294234940" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2022 06:18:02 -0700 X-IronPort-AV: E=Sophos;i="5.93,263,1654585200"; d="scan'208";a="670974585" Received: from mblazque-mobl1.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.249.44.101]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2022 06:18:00 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, "Maciej W . Rozycki" , linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH v2 2/2] serial: dz: Remove custom DZ_WAKEUP_CHARS Date: Thu, 25 Aug 2022 16:17:46 +0300 Message-Id: <20220825131746.21257-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220825131746.21257-1-ilpo.jarvinen@linux.intel.com> References: <20220825131746.21257-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Almost all serial drivers use WAKEUP_CHARS (256) from serial_core.h which also matches what n_tty_poll() uses for asserting EPOLLOUT. Signed-off-by: Ilpo J=C3=A4rvinen --- drivers/tty/serial/dz.c | 2 +- drivers/tty/serial/dz.h | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/tty/serial/dz.c b/drivers/tty/serial/dz.c index 5d2588f3e6a9..5df46f22abaa 100644 --- a/drivers/tty/serial/dz.c +++ b/drivers/tty/serial/dz.c @@ -283,7 +283,7 @@ static inline void dz_transmit_chars(struct dz_mux *mux) dz_out(dport, DZ_TDR, tmp); dport->port.icount.tx++; =20 - if (uart_circ_chars_pending(xmit) < DZ_WAKEUP_CHARS) + if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) uart_write_wakeup(&dport->port); =20 /* Are we are done. */ diff --git a/drivers/tty/serial/dz.h b/drivers/tty/serial/dz.h index 3b3e31954f24..4b502bfad560 100644 --- a/drivers/tty/serial/dz.h +++ b/drivers/tty/serial/dz.h @@ -124,7 +124,4 @@ =20 #define DZ_NB_PORT 4 =20 -#define DZ_XMIT_SIZE 4096 /* buffer size */ -#define DZ_WAKEUP_CHARS DZ_XMIT_SIZE/4 - #endif /* DZ_SERIAL_H */ --=20 2.30.2