From patchwork Wed Apr 3 01:18:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ray Jui X-Patchwork-Id: 1075184 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="E1PpikXx"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YpCH150yz9sPS for ; Wed, 3 Apr 2019 12:19:39 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726827AbfDCBS7 (ORCPT ); Tue, 2 Apr 2019 21:18:59 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:40183 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726805AbfDCBS6 (ORCPT ); Tue, 2 Apr 2019 21:18:58 -0400 Received: by mail-pl1-f195.google.com with SMTP id b3so4170600plr.7 for ; Tue, 02 Apr 2019 18:18:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CZ2aCugsmc8waDJuDEPimClTRC9P2krhZEU6lVq0VZs=; b=E1PpikXxHNMNjnGc38TSD0hpJcMItN1CtSdVANbrhgXH1OD+ksvXNFNkl73oKt6IA7 /Hxl4EMqOk0w3Z22X9oHxUv8CTHCWwSE8gG6I40Fgx0mXlqNE4tRazSAjaU7BrxFUBag +ReE+vTi4llDkze6WkrA1ha3DhjLUehEHJlP4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=CZ2aCugsmc8waDJuDEPimClTRC9P2krhZEU6lVq0VZs=; b=a+p+iwmGns8L7Ic8uGpFJJd5HDjzXM3Sb2FVKuhx4F114COV+XiulZgmF46AVxCbWZ FlmaWCNs4aFxfYNPmiyZcJzflTmEF31Ulsjns5XoNPlhKjHHlooSFfFmiRRJsedbtmdq 7FeEV3BjbNQlBR+cObTXNaMcBFoh5O0W64km2l7wr5gKrnPfsuN6zxiuyRVWipcuhzxx KpePAKXbrRqFBmx81rnYstsdPMLffzcgGKmIuhXMXUrJ6ZwKI++u4BK76Wjl8iuoPDjR Bm63clzTsagT1YhkKL6uKYne9KBlqVdFSDZG+O9yBCNDE+Q2DQAhR2hGS49FTxJfxXe6 nzng== X-Gm-Message-State: APjAAAVBbrm5K7l0r6NQMl9el9YkqheQQBrkelBE7OSrGPpHPNMFYgPH tQMQKeWbaZbNRNsyuXhu3v8t9A== X-Google-Smtp-Source: APXvYqxYCSpyhtVwlrgQESOuG4wMefqUWVN9VSgsuupHVfqXbtK0YHpmCTl6JW+nwzeFdPvX98glpg== X-Received: by 2002:a17:902:b717:: with SMTP id d23mr54927144pls.260.1554254337761; Tue, 02 Apr 2019 18:18:57 -0700 (PDT) Received: from rj-aorus.ric.broadcom.com ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id 4sm19589046pfn.159.2019.04.02.18.18.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Apr 2019 18:18:57 -0700 (PDT) From: Ray Jui To: Wolfram Sang , Rob Herring , Mark Rutland Cc: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, Rayagonda Kokatanur , Ray Jui , Michael Cheng Subject: [PATCH v6 3/9] i2c: iproc: Add support for more master error status Date: Tue, 2 Apr 2019 18:18:24 -0700 Message-Id: <20190403011830.3254-4-ray.jui@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190403011830.3254-1-ray.jui@broadcom.com> References: <20190403011830.3254-1-ray.jui@broadcom.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Michael Cheng Add support for more master error status including FIFO underrun and RX FIFO full Signed-off-by: Michael Cheng Signed-off-by: Ray Jui --- drivers/i2c/busses/i2c-bcm-iproc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c index 915c1b5aafd8..d64876cfa11c 100644 --- a/drivers/i2c/busses/i2c-bcm-iproc.c +++ b/drivers/i2c/busses/i2c-bcm-iproc.c @@ -73,6 +73,8 @@ #define M_CMD_STATUS_NACK_ADDR 0x2 #define M_CMD_STATUS_NACK_DATA 0x3 #define M_CMD_STATUS_TIMEOUT 0x4 +#define M_CMD_STATUS_FIFO_UNDERRUN 0x5 +#define M_CMD_STATUS_RX_FIFO_FULL 0x6 #define M_CMD_PROTOCOL_SHIFT 9 #define M_CMD_PROTOCOL_MASK 0xf #define M_CMD_PROTOCOL_BLK_WR 0x7 @@ -536,6 +538,14 @@ static int bcm_iproc_i2c_check_status(struct bcm_iproc_i2c_dev *iproc_i2c, dev_dbg(iproc_i2c->device, "bus timeout\n"); return -ETIMEDOUT; + case M_CMD_STATUS_FIFO_UNDERRUN: + dev_dbg(iproc_i2c->device, "FIFO under-run\n"); + return -ENXIO; + + case M_CMD_STATUS_RX_FIFO_FULL: + dev_dbg(iproc_i2c->device, "RX FIFO full\n"); + return -ETIMEDOUT; + default: dev_dbg(iproc_i2c->device, "unknown error code=%d\n", val);