From patchwork Fri Dec 14 06:28:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shubhrajyoti Datta X-Patchwork-Id: 1013359 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=none (p=none dis=none) header.from=xilinx.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="rYGrFpm5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43GLH31MY2z9sBZ for ; Fri, 14 Dec 2018 17:29:03 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726554AbeLNG3B (ORCPT ); Fri, 14 Dec 2018 01:29:01 -0500 Received: from mail-eopbgr710043.outbound.protection.outlook.com ([40.107.71.43]:30256 "EHLO NAM05-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726609AbeLNG3A (ORCPT ); Fri, 14 Dec 2018 01:29:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LmfuxURTLvm96NHdo4+SBnY9WNtgyv7breWLC7aMSXs=; b=rYGrFpm5AiDvMAS9DGMst5z512xYZ3SUsGUjDZYIfmce9c1YmgBUmnfkMV0WhnNm0PihUK6F6+OBQYmcmE6UUwHjWz1Eg0kFTYtNmUs3BRdvZwBTHdEEk8mbNtTr+7ktDOOk98U8vlwotDiF4rZyqAhSiEMZ4L6YN8BeGMSwXTs= Received: from CY4PR02CA0028.namprd02.prod.outlook.com (2603:10b6:903:117::14) by BN7PR02MB5218.namprd02.prod.outlook.com (2603:10b6:408:2a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.21; Fri, 14 Dec 2018 06:28:56 +0000 Received: from CY1NAM02FT061.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::209) by CY4PR02CA0028.outlook.office365.com (2603:10b6:903:117::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1425.18 via Frontend Transport; Fri, 14 Dec 2018 06:28:56 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; ni.com; dkim=none (message not signed) header.d=none; ni.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT061.mail.protection.outlook.com (10.152.75.30) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1425.16 via Frontend Transport; Fri, 14 Dec 2018 06:28:55 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1gXgxy-000366-OT; Thu, 13 Dec 2018 22:28:54 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1gXgxt-0007Ld-Kp; Thu, 13 Dec 2018 22:28:49 -0800 Received: from xsj-pvapsmtp01 (mailhost.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id wBE6SfMV019752; Thu, 13 Dec 2018 22:28:41 -0800 Received: from [172.23.37.106] (helo=xhdshubhraj40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1gXgxk-0007IW-LB; Thu, 13 Dec 2018 22:28:41 -0800 From: Shubhrajyoti Datta To: CC: , , Shubhrajyoti Datta Subject: [PATCH] i2c: cadence: Fix the hold bit setting Date: Fri, 14 Dec 2018 11:58:37 +0530 Message-ID: <1544768917-8951-1-git-send-email-shubhrajyoti.datta@xilinx.com> X-Mailer: git-send-email 2.1.1 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(396003)(136003)(346002)(376002)(2980300002)(199004)(189003)(8746002)(575784001)(316002)(48376002)(6916009)(54906003)(478600001)(107886003)(8936002)(14444005)(8676002)(36756003)(81156014)(5024004)(26005)(81166006)(36386004)(47776003)(51416003)(186003)(9786002)(305945005)(426003)(63266004)(336012)(486006)(2351001)(50466002)(2616005)(77096007)(4326008)(5660300001)(6666004)(126002)(7696005)(106466001)(106002)(476003)(44832011)(356004)(50226002)(2906002)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR02MB5218; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT061; 1:5Ht+ayx4mYflL6lGlISf4yb3KqCiMhezXxUPRgWiJcMIwbKJ5DRAIRibxPrVI7GmQcH/6Y80Q4F9gGtxwa16EZeGw+rJMJLthw3WenDDoFu3tG8E3j+YJWr/M8G/aBy+ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7cc8b306-fbad-48eb-a26a-08d6618d6ccd X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4608076)(2017052603328)(7153060); SRVR:BN7PR02MB5218; X-Microsoft-Exchange-Diagnostics: 1; BN7PR02MB5218; 3:02h/7gVLdISL+4/ubEBA+Hau7I+9vXVXRauKksFSV1LuwiJuigXZw1aToMcZbhT2MJ81x/MaAurBESB/k0+R0SLcBaG1BwSEbOtrJnw9MqS2u73j5yoHJzvViCGJYlqreAFhen5Bqqypa/UHe1tJqqkLoPTDp2SSqTVAWSGNXUdUJqbONq+2vS0Cjfym/iYKFsSleguo4USuhjjmM492AHwAtWAineAFlqJ930Vcu4rCBo6qerSeke1QbNqUFilXDztGvy2r7hqy70tXJw+MOTOGL2sc6DZH31kSXRywqVJT38NGiqrw/AEe/0k4+rmvVivmzs/Hb1LL5ue+IaQQIpFzGbwHzMu1za1DaONxzRI=; 25:fvl9YqyeSjOL6A4LdAaK9prPonBgW+zoGDE9+m5SsH5rb7n8tudsaaJnJGOJBLBpRGDADh7OeTjjdo64KuhwCnVJtfyhII9zc4XytIkQ+dTiOyqZP4fDbjXE2csfC1aEcV/uHKV+oc6J+M7rcO6JnLWZr5FT8lu+5xdrOrrEeDYlfQuKhCcH4i2OulkTJnKAUgHpR1OteaY4VseGBH5V/wfZi5qUQXPmh8eQJ3Nxib1GZ0w3/3dTi0bBFFWtqt8exwyhU/iDXEyEDhxE5J9Qps5Z2bmfz7wrYU0wlI7cCXulkUTzmWZ8xi7SeEwkv7TaU+fOvnnL9qLVJjZYPa3seQ== X-MS-TrafficTypeDiagnostic: BN7PR02MB5218: X-Microsoft-Exchange-Diagnostics: 1; BN7PR02MB5218; 31:5qfmlIJ7CibnwOwf5EcfgRaezWD4HkRYOmXDLrHS6mJgQUUmDq0ZbXNVZKtSfYNcIpRsFuByTtQI6nNIZG0RO2jrJbwJ/e3DKNPsLnhOpIXmywHQsZSQr+ruF///xa5hWrmnxdzS5W+XwiF/H7Hx/hFQcsVH8yDXRmfxkr0KpDXPd0w25AzbeFbYNfO7ft4qKYw2PuGHK6smdJIc4TVblXptkKPz8ndKwYc8TCerxNs=; 20:dwdUQbr+NULUrIsxXUs4m+7pjoWy5zjSDTpGtq1+edBMVmS3HapUFU7AudmLY5sVh12rGVt55nVSR3Vdhq+ki6GandttY3hjsNbblzLcrU6nkcuIEfOtY/bZGUm8miNUYulaanb9RDoK40Ncn8FzqEdf4isWgMyVfj/mAAi8aGlwRIBiL35zhkyN4/yoO2EIvgVtg5qgT1CzGlGSV4R/0bsEe+Xc4gAmc7u6eGm7S6pYJJbmvChCkcDqVP4xdn4a+8aWKIoGH+478vSa1QmoRjcqiyOM7NC6SV5PKe3I1i5i+BtkRk/IYwZctK5a23SI85FAveo09LgCSOQtvvfkFe8ILnj0zgexpxrwpkblZutTbGOOhrdn9ZksZINePjjJPhW321TA77uuifNlHrTNi0gT3cSahuTy3Yt8RR8POtrUuvxiRC+bP+L8KVL8OBzUNumL0I7IloxQq/L3yVaPpVmQjZohs/zLg5M1uAHNW0i0evj+Syz3ImMxrM9un110 X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(999002)(6040522)(2401047)(5005006)(8121501046)(93006095)(93004095)(10201501046)(3231475)(944501520)(52105112)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(201708071742011)(7699051)(76991095); SRVR:BN7PR02MB5218; BCL:0; PCL:0; RULEID:; SRVR:BN7PR02MB5218; X-Microsoft-Exchange-Diagnostics: 1; BN7PR02MB5218; 4:nEd75s3L+qQpvUrVaJU+c9akF3j8HZ2Rnno5WYvEy69Xw+wFR01XeWsVF+sgXaVfWqGEKldHkhxOd7Lax87wijA+ym/seXr3yAM3E3KMJn62rZZaGN4nbfEu59U+EM+BDFTTZHWiEXaYjstmz6tanEFd6MUgqVM+snpV4gSWTmhwTo9r1YhQkc3ycCsrHaGzpKW+z7lItcOGWn/glROkjt0bZuReUlXsjdRm4UuT1CkWZKP+Gx6VnLmlznPUNB+OU8HpmFDXtpBDjJ4ch7chxQ== X-Forefront-PRVS: 08864C38AC X-Microsoft-Exchange-Diagnostics: 1; BN7PR02MB5218; 23:TXOgpRKnNp1RXGvVthUWs/DJWiLls+e4/hKw433JksWbAJWbzdyfsnNSgPShatYlFgDU5bfVhphRW0GQbNewZs7ixjXVG0zTqaN2OSEBwEWLMobhDq2+geethY3rF+zwCLmsWMOTvh4XdkUPkxNPJUmC+bFhm2Is/7jY3ZuF4VPDAotuOWSF/ZC7yzgJcwlcWmQ/oxVFOgSiJZTIMJben9UFKG7QtQ/DBjMfe5fQEnVOSsDOUPJskCcblcAeE9Y6fpmAIcYHWZ8PxAstqaJ0uWQ5gQc95AtlVn/10L/qyds+U3Hx7KNZsUc4QiwbpHF8EyYv9rcWk8TZLb/ZiO9d0MxCo7/+mNQ+BL3KiJcDU3ulrZQMgTHDFMWGcEJiRJz9VT3SmN4AW3Ik0vl7ySJDtuDOMsZFWUz+sayxnSwqlEy87x+nf5VXWewGijkQXUmaWQOOy7HQYyd+KOrkDrnMnz6aMzclyQOJI2nXHpR1Md054UrHyvdxLVrzU2bVaOLsSQQb/d+NtOekDby0NRU2V7bC4I3c49Sst1NnDk2cVHVdJ+HPQoDGYc/LSIcE8KQfbFH208QjQ41D9Xtv7rROz5BWcwGePUuf74LQcoNjbXBm5PSZdQoByopGGDO8cnmOSk4iUwX0KHRE+kAXiUoIAhmS8Ya5ZIYJGQc42HNXsbUK/Ift24LN2muPjARxvXjanAA/xgRDKdxO2AdEg5SEaP97d76IOGM66yw4gzB4X4krZCo2U4Fp27CyEXA+xVXABovz3TnCI6EOOjwW7pOygLNYHbv5oRl0icS9i6ZsDpu+l6NOhWA19RioBXqWgLbz+mT8yHwTvUkLsiFezOyDCfwpaJi3PibdmyXG3jI7G03p4uKtAbUsq6+xQPEeSkWoLEsX/v6s6Z929ZC2FqfEF88lTXWCe3yJF/xxaxTG5T+p3oKYsCzo31XcbhUK2ipnH+mpzhTVNDniFgsPSUXYl/WpOyNBCYPZT53i8oDMYMmwkEliduE6KqhrIQFZuNhHUv7C7fL61RWBwsxbnjPVaZGVQiIeEuoiL+4zvLpqNGhYIGjGrdAbzxPYuBlvATn/okQZApiUco++fBHB7tsi66zlw4YTAU85WLRC/kcxghfgdAjL3Cs1ilM2qfiSJIRZ X-Microsoft-Antispam-Message-Info: xB7MnG+AkRu2+PyJTWflFpwocAbvHwvWmSE9ARqkqT1uZraBSOkChicmUPT1iWe7JMxOaYZsXofJd6HbWrG9ITnJuQXuc9YfwFHBXGD4PJV2XrOo5y9g3SKiauDeLBWU4LufOJ8so95iN3S2+ydWN81P+42IYlN9HXrYeM5jpUp+5vT3VfLvq80JGOcKvb3m17sPpUXay6SiHoqM6WbSFRqJBso+qP1DXCCN/q/Jp3Dgdd4B02q7PCfl4yPvp73kBiCJHXIDgOGF03M4rCtKQVBRRD65DOYG7Ivs5jH66WK+teUy/gterufWWFrNxv+x X-Microsoft-Exchange-Diagnostics: 1; BN7PR02MB5218; 6:gM4YsFvOOHXp8aLgbVdNvGjD00+7McKi+p6B/Z2nJDPLxy7nvpgtUN9SRB4o8zV+miWIdebKaxCsOzYetug7gveP6iqr8Fl49VmelCcqbC7GVZNAQPEws2qhaj6A5F8j16yG8OjIVA2GfU+X2hw7PjS2el77hu74qBOIYO6D2IuUA7HMwKuqVRkDtWHctlrmOoyERPK/4M+iZmzCNnvNJUvCNPdxv1mD1eesQz+vTldQGmKa2UQTUK5JE6FrICB9YxlIRVNRhfAbpABPLQNyrJ4sMmqP8tZKdOaEFrIEsLGM4nzeWoXnC1N27WJ2gbdMlGPYkAvFJo8TUvu5B8NKA3RFahjCgSyqY7l9QSjbFCPltI1l9HNMCapuUVovLZAihfBqFtbZ3bAeAxYi4iRNnjftVkCKq4G4P7fcll0lEzmDGGCzBQQiObsKMBnp/PXDuwAewAqXL1dr+UW6Z235UQ==; 5:EPUgJrj+gIfJ3QjkX/Lhzpooa9fVmHCvU1X++kdt3Oy1IcazJiiI8DDT74xZJ5jrWGjt7hj+1FnSr5G2n5LGJwdqsKfhpwasmmXXar0hVZIM65G7tW9N5e47jd5mcDWne2u0qsyuynVVQHLqU1IIvFlSSgq/38VUWc+SlAsi3Zk=; 7:Iz54TzCukK46MhXk6d3ALcXLt8NsxxVrjAkyU5le1qsanxY4Bmxz/5nRh/cINvLnH/C3uR2Dm0/kVeMgRVMPNeFdc2ldckFWizkRJqHbWDbfuwwf2bPdS6EqhLWbSK7T02mJqqEnYrVxQAYtmjy1ug== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2018 06:28:55.5077 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7cc8b306-fbad-48eb-a26a-08d6618d6ccd X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR02MB5218 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org In case the hold bit is not needed we are carrying the old values fix the same by resetting the bit when receive count is less than the fifo depth. Signed-off-by: Shubhrajyoti Datta Tested-by: Kyle Roeschley --- drivers/i2c/busses/i2c-cadence.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.1.1 This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately. diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c index b136057..b0e284d 100644 --- a/drivers/i2c/busses/i2c-cadence.c +++ b/drivers/i2c/busses/i2c-cadence.c @@ -384,6 +384,8 @@ static void cdns_i2c_mrecv(struct cdns_i2c *id) */ if (id->recv_count > CDNS_I2C_FIFO_DEPTH) ctrl_reg |= CDNS_I2C_CR_HOLD; + else + ctrl_reg = ctrl_reg & ~CDNS_I2C_CR_HOLD; cdns_i2c_writereg(ctrl_reg, CDNS_I2C_CR_OFFSET); @@ -442,6 +444,9 @@ static void cdns_i2c_msend(struct cdns_i2c *id) */ if (id->send_count > CDNS_I2C_FIFO_DEPTH) ctrl_reg |= CDNS_I2C_CR_HOLD; + else + ctrl_reg = ctrl_reg & ~CDNS_I2C_CR_HOLD; + cdns_i2c_writereg(ctrl_reg, CDNS_I2C_CR_OFFSET); /* Clear the interrupts in interrupt status register. */