Received: by 10.192.165.148 with SMTP id m20csp1646275imm; Wed, 25 Apr 2018 23:29:57 -0700 (PDT) X-Google-Smtp-Source: AIpwx49MK0K0s2Vlrtv8F2Z3ZhcKposL8ezICzD0FDbPTCYTsPXz5p57H0oSAyQWVBb3RP2XxocA X-Received: by 2002:a17:902:1c7:: with SMTP id b65-v6mr30132742plb.298.1524724197603; Wed, 25 Apr 2018 23:29:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524724197; cv=none; d=google.com; s=arc-20160816; b=lwJahj80LNsaWtSsSrXL+z/hFeweITKVFk37GB7y4+1tP9JupgkcbG2wjPQuGy8CB1 ljosKlsKIdyN+aYTIs35oGweEskG+DS+Fr/aD5vNLeNpUlhA0uv4kfR5tyAfWc+eWppe 2CFOyb2GBXg1LQyTBnTOD9cqfo5J9NCnnWqcAu62YALKK1zLYAsWf20HeEyKSHtBDUbP OTrVm+WwqOPguCB1sNXdtgOmzxnoB1rmqbZ28KtlOSht5tNF2kWNZ/EE9XHrPkWB6Fdw JBTMN/ZMdLRkxFYGvXfP0OIqmn+WsHB6CN/KiCRmJivnDi6yLGKeAWlipaosFAJ24KfW 8mfw== 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=SAD3JlvIdaAT+MIMMV1wTzVpAW1ACBA8SmHDsZX1VJY=; b=alv5Pq+M1T2lqwFIbUD/NjCcpqCW80o/GApDj/L2LKSnZWa5nCZ1v+iRfsUuiweZxz G0WeeRkVCBCO0ps+d+1vZmkG3DK+GMsUZmFRaYaouwgQrkzvTxEqnySCDqbWD1z5Mc06 hkJiePhArwnvZvoDCS/urISM14KQWkNGbMNeNDjVrONMnZiT3ikRGiOrTO8zJlq9V3QJ JkzD2g5yM2LUU5qye06TS4eEelPCCry0+EQpTDAJ8LAXqIa+HunU8b1+vBs9LW3zGZBC KEc2c1VdOF69LDCl0oalr2Ms/oVG/hK4eEXkAtEd0K/1FVZAa3yuKfcHLyW6PEaVrysU /I2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jW4w6CXm; 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 x189si15361622pgb.384.2018.04.25.23.29.43; Wed, 25 Apr 2018 23:29:57 -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=jW4w6CXm; 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 S1753565AbeDZG2I (ORCPT + 99 others); Thu, 26 Apr 2018 02:28:08 -0400 Received: from mail-io0-f174.google.com ([209.85.223.174]:45273 "EHLO mail-io0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751508AbeDZG2F (ORCPT ); Thu, 26 Apr 2018 02:28:05 -0400 Received: by mail-io0-f174.google.com with SMTP id r22-v6so20653486ioc.12 for ; Wed, 25 Apr 2018 23:28:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=SAD3JlvIdaAT+MIMMV1wTzVpAW1ACBA8SmHDsZX1VJY=; b=jW4w6CXmn8E/GvEbCzR2CAv7hKhik5pvmA4G91H0QIdQDX++IxGavbHJGIV9SSdh0p MwCqpZxCtyvYB6aa4aK2XugPjgHMHxTHRqa9ZtfSx9jAGgS8T+U59kI6jNMBuJNmyX2O eFxL6dqVYP5PcnAxhsiVWbg/lIvjbzoineVO0= 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=SAD3JlvIdaAT+MIMMV1wTzVpAW1ACBA8SmHDsZX1VJY=; b=Pou1RRCLJ4x2qTqZS7scFF55c81MdfzPTsVMMsTn8AtNmO3O6bg9bCsElk3U7P1eT5 6zgYiLyNmSqhx/um6u4oRR6GoF5zhDcvFHqrIogIc9IlUZmzJPtOLRDidI59aki0Vrst AwqHQvSPvkDoU6L4wV/GNIBjL0/TF5k2dIdMOscNdEJtjTLOqCV1PfqZ3FZscdIzc4tK vXxrTxfnMmlVRlV4uDXWZQsyZCfjY+8SgMhsS4vywXfbKOfH+DBQGU9ekpiP6d3tfW+u TIH1D1etQ6XpPDWJeV9UVHncSuI8HFdRkhVpUjNTxPiAtlxta/JvfMPVSMiGuwpevw6L 7kCQ== X-Gm-Message-State: ALQs6tCXtQ5dZ5e9fhdoMneJKzHfKq/I5GvhppwX3XbrLTAYYe7IvSPy v0h+qePJ7+SqTLUeoijiYI42W767DwB2djMBrbKJZw== X-Received: by 2002:a6b:1e8f:: with SMTP id e137-v6mr541327ioe.192.1524724084852; Wed, 25 Apr 2018 23:28:04 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:952f:0:0:0:0:0 with HTTP; Wed, 25 Apr 2018 23:28:04 -0700 (PDT) In-Reply-To: <1524664417.18209.16.camel@synopsys.com> References: <20180417121130.25281-1-Eugeniy.Paltsev@synopsys.com> <1524239609.10138.47.camel@synopsys.com> <1524664417.18209.16.camel@synopsys.com> From: Ulf Hansson Date: Thu, 26 Apr 2018 08:28:04 +0200 Message-ID: Subject: Re: [RFC 0/2] dw_mmc: add multislot support To: Eugeniy Paltsev Cc: "jh80.chung@samsung.com" , "linux-kernel@vger.kernel.org" , "Alexey.Brodkin@synopsys.com" , "linux-mmc@vger.kernel.org" , "krzk@kernel.org" , "linux-snps-arc@lists.infradead.org" , "kgene@kernel.org" , "shawn.lin@rock-chips.com" , "linux-arm-kernel@lists.infradead.org" , "linux-samsung-soc@vger.kernel.org" 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 [...] > A bit remark for better understanding: > > All card settings change are serialized too. These settings are applied > after slot switch before execution of new request for this slot. > > So situations like calling any host_0 ops while another host (host_1) is active > are handled by current code. > > This is example of simultaneous ops calls for both slots: > > host (slot) 0 | host (slot) 1 > ----------------------------------- > h0->set_ios() | h1->set_ios() > h0->request() | h1->request() > h0->set_ios() | h1->set_ios() > h0->request() | h1->request() > h0->request() | > h0->request() | > h0->request() | > > How it will be serialized in the mmc driver: > > h0->set_ios() // h0 settings save > h1->set_ios() // h1 settings save > h0->request() // apply settings for h0 and do request This doesn't work as it would mean violation of the specs in some scenarios. Particular during the card initialization and card power off. > ------ slot switch to h1 ------ > h1->request() // apply settings for h1 and do request Ditto. Etc... > h0->set_ios() // h0 settings save > h1->set_ios() // h1 settings save > ------ slot switch to h0 ------ > h0->request() // apply settings for h0 and do request > ------ slot switch to h1 ------ > h1->request() // apply settings for h1 and do request > ------ slot switch to h0 ------ > h0->request() // do request (no new settings to apply) > h0->request() // do request (no new settings to apply) > h0->request() // do request (no new settings to apply) > Kind regards Uffe