Received: by 10.223.164.221 with SMTP id h29csp2149737wrb; Sun, 29 Oct 2017 21:46:12 -0700 (PDT) X-Google-Smtp-Source: ABhQp+QcLcViwc5A+3nBT0HJ8CtUs1CGp6+9cgRiNMJEhSWEg4ABy2VaIwTXRJPX90d2ZjXWusjt X-Received: by 10.84.149.102 with SMTP id b35mr6242057plh.331.1509338772696; Sun, 29 Oct 2017 21:46:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509338772; cv=none; d=google.com; s=arc-20160816; b=Wb/ObnmOu981Ziz3Ke7nPidLUo3r2Q58ZYwsTpcssFzp6ZQiJZFyAwSi+BauUcQSxI wuN/fP87fJvzqVvC+qhig2tfG1jTxMQQ6tsMEFU/EEtWXss+mPOBWx+SPDtrVrD0eepL W4Wx5wpBd6DHZ9T1As5diCDC29U7nbD6ZMOslOV/9Z4F51fPvRz7C9YPSjCPrZSj9Ln4 cug1KNlrMMLMxbyWf8yuSWzqEjsO5q07hR+G2g3kpyDa2Ts3mRqcxeagO7KTcqyNWKLs 0rpykcSCQ1j4t/miNQRAA34Br8D8iYMtS6IvSEsDVC4jTnDcCCZOIFYlKhWGNd+8r0UK VgYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=9es4clMr1pSx9mQQITN7FhPRpPc/QAjvuokKWitan80=; b=q8T78JuWZHss+jeaO8GIADuXtSoQZwVIzKZt5M0e89/sUHC4jKYg1dqgPnArKXkQyk cyt20xKqJ7ZX/5La11CWSvXa/E74XSkNLuSsYCF6VkfE57mgMhqlEvw8s8B8t7eZoIp8 iO+o4UN3PLR4/fUd3O/DtqwsBL8jHPIribOPjDoO8hf+rQT+PPsj0PfH17QS8gY35Vid Yymm++6LVMCSiBSWbOVcUS6sev9wP2QYAEcDc9VbCCVSialUivldwnZC6okKCWDGbSAr 4PQIj1WZmWvPPGL+hq9UcRRCme92BDLCQ2jzfDJPbmUQX5QlcFZwHzzvgaB7QTIEJ6LC rL8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UYR4O14x; 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=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 31si8497296plk.345.2017.10.29.21.45.59; Sun, 29 Oct 2017 21:46:12 -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=@linaro.org header.s=google header.b=UYR4O14x; 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=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752128AbdJ3EpW (ORCPT + 99 others); Mon, 30 Oct 2017 00:45:22 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:50796 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751199AbdJ3EpU (ORCPT ); Mon, 30 Oct 2017 00:45:20 -0400 Received: by mail-wm0-f66.google.com with SMTP id s66so13103750wmf.5 for ; Sun, 29 Oct 2017 21:45:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=9es4clMr1pSx9mQQITN7FhPRpPc/QAjvuokKWitan80=; b=UYR4O14x+zwj2OkzrFDq4xfJ/KkOVtTFcfrXEA3WMI7LNQSp+xupzz+IgVfL+AlaXF pcgWbARqllDrLa/wy3tP3y3D6yVDwWFXg2eoybPogUVu30LyHGUiMrksu4Rau9DsWxB4 ThAFQdSkBDnxvwF9h+sUzCbpBOWL8H1g5Q0No= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=9es4clMr1pSx9mQQITN7FhPRpPc/QAjvuokKWitan80=; b=PThamuwEIAPOP0m8IN9q/8JsukWtyiVsh6YrLyVKTdZvN8sMZyFp0Y5VKCbf1NjQiH C9jYH/VscUT4cw378Bds+/Mqnd49Gtk9zMv3e2E02Jd8pjbFIXP5wh45S2Gb/TXURvc9 pXtzAtg1mtMdbXJOx67BhvU+QE2xcy2u5sTnkLgjKpWcDYj0RyMTUFOR8S/YrfVOEnDe byUiUa3MutVkU14QAKJH8SaegvCCLY7dUvIWQhD7bnXpzl8wYeT3oRhoqBNqqEsNvFnD ORkdqKIcOF8gdqOh29FCighubzbMZXPJ/iNRUfelXIj5ecW5D93C+/IpRksxXtmLOqrC sTkQ== X-Gm-Message-State: AMCzsaUEBZ3Hr2aD4trJ0PCGfW1vkdqn8F8wAbUc56xxwXf26UOAFqyh EkmoevwRo6FlqPYKsCflGgEjU6GdYjc= X-Received: by 10.28.64.198 with SMTP id n189mr2347846wma.0.1509338719699; Sun, 29 Oct 2017 21:45:19 -0700 (PDT) Received: from leoy-ThinkPad-T440 (li1530-42.members.linode.com. [139.162.245.42]) by smtp.gmail.com with ESMTPSA id h66sm3637174wmd.11.2017.10.29.21.45.13 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Sun, 29 Oct 2017 21:45:18 -0700 (PDT) Date: Mon, 30 Oct 2017 12:45:06 +0800 From: Leo Yan To: Mark Rutland Cc: Kaihua Zhong , robh+dt@kernel.org, xuwei5@hisilicon.com, catalin.marinas@arm.com, will.deacon@arm.com, jassisinghbrar@gmail.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, guodong.xu@linaro.org, haojian.zhuang@linaro.org, suzhuangluan@hisilicon.com, xuezhiliang@hisilicon.com, kevin.wangtao@hisilicon.com Subject: Re: [PATCH v2 2/3] mailbox: Add support for Hi3660 mailbox Message-ID: <20171030044506.GE31478@leoy-ThinkPad-T440> References: <1509084904-2505-1-git-send-email-zhongkaihua@huawei.com> <1509084904-2505-3-git-send-email-zhongkaihua@huawei.com> <20171027104559.em5n5ogro46ethmq@salmiak> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171027104559.em5n5ogro46ethmq@salmiak> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Mark, On Fri, Oct 27, 2017 at 11:46:00AM +0100, Mark Rutland wrote: > On Fri, Oct 27, 2017 at 02:15:03PM +0800, Kaihua Zhong wrote: > > Hi3660 mailbox controller is used to send message within multiple > > processors, MCU, HIFI, etc. It supports 32 mailbox channels and every > > channel can only be used for single transferring direction. Once the > > channel is enabled, it needs to specify the destination interrupt and > > acknowledge interrupt, these two interrupt vectors are used to create > > the connection between the mailbox and interrupt controllers. > > > > The application processor (or from point of view of kernel) is not the > > only one master which can launch the data transferring, other > > processors or MCU/DSP also can kick off the data transferring. So this > > driver implements a locking mechanism to support exclusive accessing. > > ... and that locking mechanism is what precisely? > > Where is the protocol defined? > > > +static int hi3660_mbox_check_state(struct mbox_chan *chan) > > +{ > > + unsigned long ch = (unsigned long)chan->con_priv; > > + struct hi3660_mbox *mbox = to_hi3660_mbox(chan); > > + struct hi3660_mbox_dev *mdev = &mbox->mdev[ch]; > > + void __iomem *base = MBOX_BASE(mbox, ch); > > + unsigned long val; > > + unsigned int state, ret; > > + > > + /* Mailbox is idle so directly bail out */ > > + state = readl_relaxed(base + MBOX_MODE_REG); > > + if (state & MBOX_STATE_IDLE) > > + return 0; > > + > > + /* Wait for acknowledge from remote */ > > + ret = readx_poll_timeout_atomic(readl_relaxed, base + MBOX_MODE_REG, > > + val, (val & MBOX_STATE_ACK), 1000, 300000); > > + if (ret) { > > + dev_err(mbox->dev, "%s: timeout for receiving ack\n", __func__); > > + return ret; > > + } > > + > > + /* Ensure channel is released */ > > + writel_relaxed(0xffffffff, base + MBOX_IMASK_REG); > > + writel_relaxed(BIT(mdev->ack_irq), base + MBOX_SRC_REG); > > + __asm__ volatile ("sev"); > > + return 0; > > +} > > Drivers really shouldn't be using SEV directly (even if via the sev() macro)... > > This SEV isn't ordered w.r.t. anything, and it's unclear what ordering you > need, so this simply does not work. I will leave your questions for Hisilicon colleagues, essentially your questions are related with mailbox mechanism. But I'd like to firstly get clear your question for "This SEV isn't ordered w.r.t. anything". From my understanding, ARMv8 architecture natually adds DMB before SEV so all previous register writing opreations should be ensured to endpoint before SEV? [...] Thanks, Leo Yan From 1582412816069066834@xxx Fri Oct 27 12:14:20 +0000 2017 X-GM-THRID: 1582390514550393253 X-Gmail-Labels: Inbox,Category Forums