Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp3313171imm; Sun, 13 May 2018 08:37:18 -0700 (PDT) X-Google-Smtp-Source: AB8JxZob0qj00okAgkgrbZsydhwvuKBTxZ35wRSNk1U+J4yjMgg2X/LN0VvQvwKBc3c7LdeoO9jP X-Received: by 2002:a17:902:a586:: with SMTP id az6-v6mr6413594plb.210.1526225837981; Sun, 13 May 2018 08:37:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526225837; cv=none; d=google.com; s=arc-20160816; b=J3cEDjMol3NI9J7Drmva4yVUVOJLNpKW4m6al2lmiXNpksh6mq84AMarsRXGwx+bb2 eHwwI+dYsnqdJTaoCZBzHgfcAWZ8x8J60gvpclM6/SD2Ny9Fj3AhnQUeN8Y3dC1O17Gr urDeQE8lVDDyat/0LR4wZkYPRlkvu2rekVSjZp9WKwfrVbNfYBFd4sDH3ISvsCulmESF E/i9Svx2acyWssMbr9pDcmeOPbOHMzvdYdJ7+LCTcKhb3eydFlP9P0XFC9wRQc9ltnKd v9vnE2FiKeresdprbIxLkJbY6HBpJf6ngetr02mwaRS4J5gLrs6vlAJlVRTtGw3onBhI Dwmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=GIqLBL8GcKtWvKj5RnLvnxzkzyRZJ7k2K7aaeIOTl4A=; b=HcT54I1AwmT1CTaf4HvjhO5eCJ4mnrF/Afj+PCUxHG0bDp2GYtX8+3OuCHkzIKwDgh Mlm7H+Vfwdc+JCTeC/bX21CCIGllPqB588GK4lk3nS6bFpaNscd3a0w1yuZZ1MWDNHim XeXQ6azmrRrHiruwP14xtOl0WpYNFzX/zVYM1F9dX4i5ivFxLeLCN6obtI7JCBrutewR C8/h4i4OkRLFQU3Q2hKOwdhUG9XOf7ls1Nl96HCaxlKdnKkrKRt1PbyeHZQhY9FzhHrd o2J0MT68rXJO/3ITSnhCt+pZ7e8NIB2gjFQSSh2E069BqfaLyJnLK+9ikcY301/8MMIP C9PQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Y01T6Ecz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t127-v6si6126670pgc.519.2018.05.13.08.37.03; Sun, 13 May 2018 08:37:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Y01T6Ecz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751804AbeEMPgu (ORCPT + 99 others); Sun, 13 May 2018 11:36:50 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:34647 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751357AbeEMPgs (ORCPT ); Sun, 13 May 2018 11:36:48 -0400 Received: by mail-wm0-f67.google.com with SMTP id a137-v6so8679162wme.1; Sun, 13 May 2018 08:36:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=GIqLBL8GcKtWvKj5RnLvnxzkzyRZJ7k2K7aaeIOTl4A=; b=Y01T6EczoFBNVa+V10uUF03sKqKzRWZ1E86LYMEVkKIlyNSZM70i7GYrCzhrRAMVEj S9HSvlMzjnPHMDDFSE69a3sqHZgBoS71BCXHhXvB7s36vJcILvbVR6ke0ml4scrtosrP ZYkhbL2uUNkm/KW3LQS2dKQTpLSycHnOPNXJ9R2du2Xsl8+NOFtGj8eA9OCqyFyaPllh 2vA9vPYW8G+OvL7HXCYDxdU4dk+w4Y1rsUX/3UIE9WwHlTiiu71sQLqNxHxg8jyZCa3d CkLbxYYiFGdaKxFDvckv16DDjBcnqwWQEFs4YwAwIQu33Gtl3BdEdSAFaoSQ5A1nfvW2 03qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=GIqLBL8GcKtWvKj5RnLvnxzkzyRZJ7k2K7aaeIOTl4A=; b=jfLAMnnUcUEz3rRUMARxirmytxk740yyWKknuGxw7W1diUCN3OI39HCbx7D0hnc0i7 0KuUn9JDvJiLuvxUFZxPSHJ7KMgcoU+h4HvzyEpTHlSlOcbvxbAE19cJyn3A/ZuJJBML /pKDHFJZrccdtSCrbrNYdJBUIp7xcUKxPXZA8Q2wk5afS2niHORApviXPMXaZOUyDLCG Fp6RpLVBS5v6XKm2QoOKWGmBaLuKoxOw/mZD9D6HkgJ5XIADa1Gdi2hFMnbpwEWIEzDJ wQgf623chUI7bM/JAGOIKxfRaa+38LSfTFIFPh9KJiff9x5H+O47J0TjCy+E5xUN8NJy EcJw== X-Gm-Message-State: ALKqPwdjHguOg3jASFXT7CiniX8lvbiD5O6sWHaBzt6j6HjrsXhDshlb a+s6UUGBLCP2Z0/dB2X5oL0dRiKZx2HO5QxdpQw= X-Received: by 2002:a50:f30e:: with SMTP id p14-v6mr8440970edm.39.1526225806799; Sun, 13 May 2018 08:36:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.80.177.17 with HTTP; Sun, 13 May 2018 08:36:46 -0700 (PDT) In-Reply-To: <20180508114403.14499-7-mperttunen@nvidia.com> References: <20180508114403.14499-1-mperttunen@nvidia.com> <20180508114403.14499-7-mperttunen@nvidia.com> From: Jassi Brar Date: Sun, 13 May 2018 21:06:46 +0530 Message-ID: Subject: Re: [PATCH 6/8] serial: Add Tegra Combined UART driver To: Mikko Perttunen Cc: Rob Herring , Mark Rutland , Greg KH , Thierry Reding , Jon Hunter , araza@nvidia.com, Devicetree List , linux-serial@vger.kernel.org, linux-tegra@vger.kernel.org, ", linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, srv_heupstream" , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 8, 2018 at 5:14 PM, Mikko Perttunen wrote: .... > > +config SERIAL_TEGRA_TCU > + tristate "NVIDIA Tegra Combined UART" > + depends on ARCH_TEGRA && MAILBOX > + select SERIAL_CORE > + help > + Support for the mailbox-based TCU (Tegra Combined UART) serial port. > + TCU is a virtual serial port that allows multiplexing multiple data > + streams into a single hardware serial port. > + Maybe make it depend upon TEGRA_HSP_MBOX ? ...... > + > +static void tegra_tcu_write(const char *s, unsigned int count) > +{ > + struct tegra_tcu *tcu = tegra_tcu_uart_port.private_data; > + unsigned int written = 0, i = 0; > + bool insert_nl = false; > + uint32_t value = 0; > + > + while (i < count) { > + if (insert_nl) { > + value |= '\n' << (written++ * 8); > + insert_nl = false; > + i++; > + } else if (s[i] == '\n') { > + value |= '\r' << (written++ * 8); > + insert_nl = true; > + } else { > + value |= s[i++] << (written++ * 8); > + } > + > + if (written == 3) { > + value |= 3 << 24; > + value |= BIT(26); > + mbox_send_message(tcu->tx, &value); > How is this supposed to work? tegra_hsp_doorbell_send_data() ignores the second argument.