Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp499954imm; Mon, 1 Oct 2018 13:29:38 -0700 (PDT) X-Google-Smtp-Source: ACcGV63gokF73CVu9FKqnKaLFNgrn8phdVP7C5lgfCboNOvt2/TOq+6miNfScGvvOpiixQbHqt46 X-Received: by 2002:a63:a902:: with SMTP id u2-v6mr11603360pge.207.1538425778267; Mon, 01 Oct 2018 13:29:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538425778; cv=none; d=google.com; s=arc-20160816; b=A34b4qREH6a4qjMHHya//i6inRNNTThQa2/sgFWRINseSisV035y7Y5KZaXlees9RM YMg22dgFtk2Zl33Bxi8oIpcKLwHUewYyxqakm7ahYcH7mcGQg60d0vlTXnG3L/vmw92h l55poayEZM6Ujje4nEnD2i1iuhryY1+7Y33sC9/OySPMQ2Hd4DmPKd/9HgpJqz6iJb3p XQwZRmwAnFFES2oWEBgDRN4ocVnAlc1SQmMj8EWAKtkrVHfQbs3VTxnSSC9hQE24JoDL E32tscVeuitPUJlPOqdYyZutGlrlSiHXjNDLAljgFxyLqbSkez/2mIamHCbAFIFJXtyE v8kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=4NWpgbgveFj3VuwcZm1/BTABZi7ujwU0yQalUS0Yrws=; b=pq5Dh8tRgdVN7FiI+kbn5ixOKBVgnALUVMjGXAZbxZyt5xHrk3hiKyMbsTqExfeRIY HIlpSGt0Y1bHvTXhLaL5Os3amHVDLoV7xkZUIVEftb+sL+jgi6w5S3rdCOkjTNBCt9pd f7fNQRT8+MuQoa53xiYoyGft3yyxi9hdYk5GbK/VPY+XAJRvRsBzPkbwq/FEAxPK9OQU Z4IlMC88EVIVD5ZwvrFZfIETYEOt/iqT+wnhqUGAm3Sr5K4DOZ0T16nOXdpFB5qHEL0+ 6+9PcxUC9jcBhKkXeULnX/jLwZ6Z2Y70K2kPDc/18OFUwpRZaeis1JNXbutOe9r84mHB Fk3w== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y2-v6si13676776pli.330.2018.10.01.13.29.23; Mon, 01 Oct 2018 13:29:38 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726500AbeJBDHf (ORCPT + 99 others); Mon, 1 Oct 2018 23:07:35 -0400 Received: from mga05.intel.com ([192.55.52.43]:21290 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725936AbeJBDHf (ORCPT ); Mon, 1 Oct 2018 23:07:35 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Oct 2018 13:28:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,328,1534834800"; d="scan'208";a="79022362" Received: from maru.jf.intel.com ([10.54.51.77]) by orsmga006.jf.intel.com with ESMTP; 01 Oct 2018 13:27:49 -0700 From: Jae Hyun Yoo To: Brendan Higgins , Wolfram Sang , Benjamin Herrenschmidt , Joel Stanley , Rob Herring , Mark Rutland , Andrew Jeffery , linux-i2c@vger.kernel.org, openbmc@lists.ozlabs.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Cc: Jarkko Nikula , James Feist , Vernon Mauery , Jae Hyun Yoo Subject: [PATCH i2c-next v4 0/3] i2c: aspeed: Add bus idle waiting logic for multi-master use cases Date: Mon, 1 Oct 2018 13:27:45 -0700 Message-Id: <20181001202748.8030-1-jae.hyun.yoo@linux.intel.com> X-Mailer: git-send-email 2.19.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In multi-master environment, this driver's master cannot know exactly when peer master sends data to this driver's slave so a case can be happened that this master tries to send data through the master_xfer function but slave data from peer master is still being processed by this driver. To prevent state corruption in the case, this patch adds checking code if any slave operation is ongoing and it waits up to the timeout duration before starting a master_xfer operation. Please review this patch set. Thanks, -Jae Changes since v3: - Changed the property name to 'timeout' and made it use the default setting in i2c-core when not specified. Changes since v2: - Changed the property name to 'aspeed,timeout' and made it to update the adapter's timeout configuration. Changes since v1: - Changed define names of timeout related. Jae Hyun Yoo (3): dt-bindings: i2c: aspeed: Add 'timeout' property as an optional property i2c: aspeed: Add 'timeout' DT property reading code i2c: aspeed: Add bus idle waiting logic for multi-master use cases .../devicetree/bindings/i2c/i2c-aspeed.txt | 3 + drivers/i2c/busses/i2c-aspeed.c | 70 ++++++++++++++----- 2 files changed, 57 insertions(+), 16 deletions(-) -- 2.19.0