Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp318950pxm; Wed, 2 Mar 2022 16:16:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJylZ6C9iG2zQBx9Pi9E4Xq8wLo7zQxZjqRIPRlM0xySSf68/aJ/KD5ey7jgVE6wxEb1LWvo X-Received: by 2002:a63:2786:0:b0:365:8a2d:327b with SMTP id n128-20020a632786000000b003658a2d327bmr27977011pgn.16.1646266577358; Wed, 02 Mar 2022 16:16:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646266576; cv=none; d=google.com; s=arc-20160816; b=zQV81BxGAaGMXH6V/ODrOS5ZijH7soS9hwdJN9ay5RDwrtMJrSHfwYSVPDGhtJwx19 pxuHxjOY2n8Tnq0cvwMXTCsRjE5CZt/LJpAw5+8MV6ZCDaXxRl6zzkKY1K9w4fKOyVyK WNOxJg3C2fqwqSSkmZjqjEAgkyneJm139cZvckV8wBGZPmruqGlX1wqz1dC8wzBbH4y1 MTIkwvrA24K2lYOIRzOkyZmLMp2trXOnbEJaiyxCamoGRIHIw0ytYQ0RfEZ9HqUGrceo P3wuGW3ESNQpohDbtIdRbxzsDFKGmOFE+iKYZ7/r5hUhb1Ku9ttwrVN+2qub73m0rShS xAbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=PqvW/Mb3KnE9g+cGLNfX7KJR06/Flo7vnw52A4Z7zOk=; b=n2HoWX8Gf0PjFpaJyNZY6cYCZ0zB74HYNO+8bhn5skyAcvXZo+aRroVuz4UWlWueRh n4D31sBATP8BFqnSurwz9BHcLDmNGHNn46PivtTQP4/p8h5H4CWp+8XWfBsAmLvoa9eL Z9No1xYj11I+wXoWp2vaqirhqKbj4brhxzAq/D61DrRxiDcJWouhQfrd1PfONH2Hepy7 s+ZuWYxwSNPhoyomxEWG+xQBMt0Q8tYq7n7QIwm1ac5kp3hXk+gaExipflhEOVJuQQMZ z3mGWWk+cE00EcrlCYOWoo2+AOgSz58ISd1J0cT1NRtE5RQJ6uo04dZvAKlN5hHqvYY1 oeyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=I2TDsTdT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id w20-20020a1709027b9400b0014d253db211si465300pll.616.2022.03.02.16.16.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 16:16:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=I2TDsTdT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5DFBF1D304C; Wed, 2 Mar 2022 15:30:25 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243348AbiCBPFW (ORCPT + 99 others); Wed, 2 Mar 2022 10:05:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239644AbiCBPFT (ORCPT ); Wed, 2 Mar 2022 10:05:19 -0500 Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9DCC427C1; Wed, 2 Mar 2022 07:04:35 -0800 (PST) Received: by mail-lf1-x12a.google.com with SMTP id m14so3314373lfu.4; Wed, 02 Mar 2022 07:04:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PqvW/Mb3KnE9g+cGLNfX7KJR06/Flo7vnw52A4Z7zOk=; b=I2TDsTdTd0t/n7WwJccRK0QUKlws/dMoPReFYNY+TJwfmf3lv1BWIf6UE8U+p2l9VY NMzhepWRFqHIenxEiMLnv1Vd7THPOmiJG4sjM1LLHQ1u5KJJH23N7LqrhyLGKS0XcSBA UPesRIVsqF9GI0v+PKHvCVUC3VLHmnzHo6ss2+F00nfyOUO7WLT+OZgM7Sqhp2kvxtAP r5enN1xbK4KYGCdJG74/l5RKLupHYKcZ9zSvYqj1LSt65LuXrymmi7mmX2ik+qiM6edx 23KBrihRpcv3oxzoBrFNSCsDmZap5pABUKO0Gh+hx/j63trlK0SEMPG9mfWMiBQXSZWG dfEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PqvW/Mb3KnE9g+cGLNfX7KJR06/Flo7vnw52A4Z7zOk=; b=ckQo4pfs8rHZk2Z1I75NaedIFamt8WD+gkpqj2xwfyb7PjFd3LO5xOWzJa/LoXmbev hc0LkN41ornuaAt7BIElgnxyEf7ZI5obICDr+aMWSLLB+6n8yG8C85pUH+mUCwmyM7AE WNi82rWUZJ+AddBUaZUb7senFSjhcRRlMLpj1clSU4D7v4JnG3JyWmsnZPJyCR4bSeq/ ATbA77kQWSVlP9jM/LWLMqdb5MPB0fWoSrwD/rJCXKRyxj8XBQi+/5XXjsQWEEY0XA69 sk8W1n2qvGkvMW1SFkM5yPZorDmzobu0Z9Gcw/epsxTlkX/4F7CcfWzocse3UtCZRJi9 ehZw== X-Gm-Message-State: AOAM530BLUWXiYo2N+KOjtuYijqQwSOfLJPrPgYhErq2g/kxYwem5BQN V9BFWFIBLc6UYXzFxw62PeQ= X-Received: by 2002:a05:6512:220a:b0:443:1140:7ffc with SMTP id h10-20020a056512220a00b0044311407ffcmr17905269lfu.566.1646233471382; Wed, 02 Mar 2022 07:04:31 -0800 (PST) Received: from localhost ([62.96.65.119]) by smtp.gmail.com with ESMTPSA id q11-20020ac24a6b000000b0044313bd60f8sm2086675lfp.292.2022.03.02.07.04.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 07:04:30 -0800 (PST) From: Thierry Reding To: Jassi Brar Cc: Jon Hunter , linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] mailbox: tegra-hsp: Flush whole channel Date: Wed, 2 Mar 2022 16:04:24 +0100 Message-Id: <20220302150424.1305301-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pekka Pessi The txdone can re-fill the mailbox. Keep polling the mailbox during the flush until all the messages have been delivered. This fixes an issue with the Tegra Combined UART (TCU) where output can get truncated under high traffic load. Signed-off-by: Pekka Pessi Tested-by: Jon Hunter Fixes: 91b1b1c3da8a ("mailbox: tegra-hsp: Add support for shared mailboxes") Cc: stable@vger.kernel.org Signed-off-by: Thierry Reding --- Changes in v2: - add Fixes: line - Cc stable drivers/mailbox/tegra-hsp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c index acd0675da681..78f7265039c6 100644 --- a/drivers/mailbox/tegra-hsp.c +++ b/drivers/mailbox/tegra-hsp.c @@ -412,6 +412,11 @@ static int tegra_hsp_mailbox_flush(struct mbox_chan *chan, value = tegra_hsp_channel_readl(ch, HSP_SM_SHRD_MBOX); if ((value & HSP_SM_SHRD_MBOX_FULL) == 0) { mbox_chan_txdone(chan, 0); + + /* Wait until channel is empty */ + if (chan->active_req != NULL) + continue; + return 0; } -- 2.35.1