Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp636157iog; Fri, 17 Jun 2022 10:10:09 -0700 (PDT) X-Google-Smtp-Source: AGRyM1t5sNRXC1gt12NT93CrIDoVL/Q4gTZB3KuSapHhou5ob+h3R1asyaJm33GkHSK/UWAZczpE X-Received: by 2002:a05:6402:703:b0:42d:d347:a586 with SMTP id w3-20020a056402070300b0042dd347a586mr13633174edx.316.1655485809414; Fri, 17 Jun 2022 10:10:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655485809; cv=none; d=google.com; s=arc-20160816; b=AGGhGX9FOEZr74FZH06W/q/TVLpBWNf/e9aAHOM6HqkKglf0krWuMApZP7PXRZJpZu PDwEBQgFPHVOhNevxiEtkM7vDLzaNbCZZWyEpMV5YS4PA+fcNHdJhA56vh2dJ+S3cSWI 7kW46uxvkE66Roh6o+Jt8TeEjL+7vVm2miKfh7YjmICw2uEnPKk82++CSiHNABYCfeTO dgD0JJa6LIEjAf1cmpU9Kk8vZvOACHDvARYMLgwc4Ksm6vdJOg56zEzyif/nBWrejKsw UWqS2i20bcQFXA91zJOHzoGX9NU6f/nAm7zuz2ZTAj+5qmmeYgrAckSIyA60mQa8JQzX ag0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=k8LtE6i61YUyByRXloJhaVtIs+UXz444zUKUltc4cjc=; b=tICpzrogq16w6rZs6eAokPkJoPimb4IH717WDCfe04INa0+fYwbU2DvY0WVjiCnczr gCb9a2RMriujn4+fuwJzI5EbP1RF2hFyL+Dndy8wuqo5Pn8YRzDbVAzhTPhSqvyH9P5u 0jsWpHFzaKl4sj8bldTDFA7sx3H9ZZ0oF0jONERCZgR2mPg4NCf3wjHgvXy1mFcuZhA6 IsCO7bxvvUb/DJHQSYidvsVkAukdKd+iHCLNb+NqkpiryDcyQwhHUusioV8DvsFEtoMI p4hrwd/kmunI7tXoGjqbN1ea1MWIvkOy8OdOLoJSJnI6lqmr2GCMff3dGWVDOyr4BdBe NDng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NW7OJacW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i15-20020a05640242cf00b0043559d8c6a6si965924edc.186.2022.06.17.10.09.42; Fri, 17 Jun 2022 10:10:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NW7OJacW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1382325AbiFQQvF (ORCPT + 99 others); Fri, 17 Jun 2022 12:51:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234704AbiFQQue (ORCPT ); Fri, 17 Jun 2022 12:50:34 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D92D256779; Fri, 17 Jun 2022 09:49:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1655484594; x=1687020594; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=WMJ5d5awbKL0dMnI96913C+jxgBE/ZRcvA/34CvVE3E=; b=NW7OJacWFoymg3duGIfdRNcjgsEVANxgsiMDzt/J+fkJ2s7iZ/oWUNxr SxUgXC4NFKhD7tueIa809rj+uV/J4xvmQ+kOMMLM0z6AFp+z0GdWV3re4 3z5YlBM7uS8P89e8v0+1h6lo1Enh+DhinUrxTmg3POKfTIyOywA8WevZf nmYbW2OiwwVu+HHa2r8f5m2qXXngGhzDsHrdpk87pSqW+w1DvGa4DglBk eLsSuzh8sJ62N27mDriHVw9DcbMLe7ee/N5GYk0HcMHulbcfon2A5tFah T4SSxrvpZUPPHuDqauI670LJrnOZHDjVz/CyX/gd2S6opEf2uWMdsmhrx Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10380"; a="259938390" X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="259938390" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2022 05:59:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="675475753" Received: from mylly.fi.intel.com (HELO [10.237.72.55]) ([10.237.72.55]) by FMSMGA003.fm.intel.com with ESMTP; 17 Jun 2022 05:59:43 -0700 Message-ID: Date: Fri, 17 Jun 2022 15:59:42 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.10.0 Subject: Re: [PATCHv5 1/2] i2c: designware: introduce a custom scl recovery for SoCFPGA platforms Content-Language: en-US To: Dinh Nguyen Cc: andriy.shevchenko@linux.intel.com, mika.westerberg@linux.intel.com, robh+dt@kernel.org, krzk+dt@kernel.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org References: <20220616141230.858409-1-dinguyen@kernel.org> From: Jarkko Nikula In-Reply-To: <20220616141230.858409-1-dinguyen@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi On 6/16/22 17:12, Dinh Nguyen wrote: > The I2C pins on the SoCFPGA platforms do not go through a GPIO module, > thus cannot be recovered by the default method of by doing a GPIO access. > Only a reset of the I2C IP block can a recovery be successful. > One thing what is unclear to me how does this release the I2C slave that potentially keeps the SDA stuck low. Does platform specific reset sequence send 9 SCL pulses, toggle HW reset of the clients or cycle power of them? If recovery is only controller point of view then worth to emphasis it in the commit log and perhaps add a comment too into i2c_socfpga_scl_recovery(). Some might hit an issue that I2C client is stuck and wonder why recovery won't work. > The assignment of the recover_bus needs to get done before the call to > devm_gpiod_get_optional(), otherwise, the assignment is not taking place > because of an error after returning from devm_gpiod_get_optional(). > This sentence no longer true after v3? Otherwise code looks good to me. Jarkko