From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2907CC3A5A5 for ; Thu, 5 Sep 2019 09:16:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0C3FD2173B for ; Thu, 5 Sep 2019 09:16:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732083AbfIEJQU (ORCPT ); Thu, 5 Sep 2019 05:16:20 -0400 Received: from sauhun.de ([88.99.104.3]:54110 "EHLO pokefinder.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730518AbfIEJQU (ORCPT ); Thu, 5 Sep 2019 05:16:20 -0400 Received: from localhost (p54B335F6.dip0.t-ipconnect.de [84.179.53.246]) by pokefinder.org (Postfix) with ESMTPSA id 9698D2C0509; Thu, 5 Sep 2019 11:16:17 +0200 (CEST) Date: Thu, 5 Sep 2019 11:16:17 +0200 From: Wolfram Sang To: Lee Jones Cc: Bjorn Andersson , alokc@codeaurora.org, agross@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] i2c: qcom-geni: Provide an option to select FIFO processing Message-ID: <20190905091617.GC1157@kunai> References: <20190904113613.14997-1-lee.jones@linaro.org> <20190904203548.GC580@tuxbook-pro> <20190904212337.GF23608@ninjato> <20190905071103.GX26880@dell> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="R+My9LyyhiUvIEro" Content-Disposition: inline In-Reply-To: <20190905071103.GX26880@dell> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org --R+My9LyyhiUvIEro Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Lee, > > It looks like a workaround to me. It would be interesting to hear which > > I2C client breaks with DMA and if it's driver can't be fixed somehow > > instead. But even if we agree on a workaround short term, adding a So, are there investigations running why this reboot happens? > > Is there no other way to disable DMA which is local to this driver so we > > can easily revert the workaround later? >=20 > This is the most local low-impact solution (nomenclature aside). I disagree. You could use of_machine_is_compatible() and disable DMA for that machine. Less impact because we save the workaround binding. > The beautiful thing about this approach is that, *if* the Geni SE DMA I'd say 'advantage' instead of 'beautiful' ;) > ever starts working, we can remove the C code and any old properties > left in older DTs just become NOOP. Older kernels with newer DTs > (less of a priority) *still* won't work, but they don't work now > anyway. Which is a clear disadvantage of that solution. It won't fix older kernels. My suggestion above should fix them, too. > The offending line can be found at [0]. There is no obvious bug to > fix and this code obviously works well on some of the hardware > platforms using it. But on our platform (Lenovo Yoga C630 - QCom > SMD850) that final command, which initiates the DMA transaction, ends > up rebooting the machine. Unless we know why the reboot happens on your platform, I'd be careful with saying "work obviously well" on other platforms. > With regards to the nomenclature, my original suggestion was > 'qcom,geni-se-no-dma'. Would that better suit your request? My suggestion: For 5.3, use of_machine_is_compatible() and we backport that. For later, try to find out the root cause and fix it. If that can't be done, try to set up a generic "disable-dma" property and use it. What do you think about that? Kind regards, Wolfram --R+My9LyyhiUvIEro Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAl1w0l0ACgkQFA3kzBSg KbZwIw//V6IiIveJDn0aD/OW1kfJryDVHjJc9G0mc7e95Zv5IY4F77vlM/3CreL9 Af8mavqJNEfLlkVymEEVTAt5PqfsdhPd1Ttd54GEByAk7gFtXtbHt8LpkY2Sqn6p gFdduWs32IP/JG6iQpi0Ee9CeLKhU4me95zYWcky93b2tdBA7+G7nZjD/+WL4OyB 32xbzQgElDmo0WiphV6jwpYpISbIcmpaeTTmFYSAs0UMXBbGV2aIN+Ji/mIko/Lv BtZtPegtsBK+8DyuxqsRYwI6vpyoMf6RTBe0GnkpRVYeMJpuaGxEsNAkc8YpdiF3 f7rdd/EMf0mrONo37R6ZpYmxMAP/IJ7pBUYnpDffPRNDiXEhXfBD+DruIc//UcDi GAtZXEOgpBAu9ajY0EUUqXkqgKYx6KeTdAWklCYBNt4/E9IaIvp9A+o4K0O19PI0 ArjbIhqNKKV70VytmD9DyGhzC248OYpkyY9A9emMSgeU8JoL2UsgbMzvAnykz3gc d0xVBP9b37pTrpkvaQHY6kH7Jkso/5HgSFzS81OiAqmmBt1TrazTT+1FN02brO2G KvnIbw0p1nwwbH3s4L0G6ejee2wf0Jjjki0rJi8Sy4WMN5K5pcVIHo3eTTtlhIr/ BI5zFeZg6eu8RkalM5glGaFpO1KWV27kaRx+INA1LdndZ+3RZmA= =UyFF -----END PGP SIGNATURE----- --R+My9LyyhiUvIEro-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55313C3A5AA for ; Thu, 5 Sep 2019 09:16:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2B31F2173B for ; Thu, 5 Sep 2019 09:16:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ZImXXYvV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2B31F2173B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=the-dreams.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: In-Reply-To:MIME-Version:References:Message-ID:Subject:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=dfxiFYK3kvnAlDneIKwUqVkPPNp6AEl0M9k7GyNKx0U=; b=ZImXXYvVa3JmR89Swk7ZwGoii CVf/Q//KNteM5sDsd/83z2WWH8xgVmgJtVe5jZjJtnynZ0f4J7yIn5nZXdiUJSLTq4JdQS81LVJDo VqO43zvApgOTq0VtcHHWLd4s87fd3hdkrXCskzDGFhMIXV/5CYVpDYQForp+r36E1Gl8GdvZBRxcP wwVJ+5BFTLuGzI894SzKfr56slbbbS00loYKhJtgMR8lqSGz/R1nTwCeGRfsgC6/3iQYH3GVYRSk3 RxXhDv3AuGNjqZtJ05L90X1VmMhYkekvQ2OXBvlddC+q2QwfKrpI5ywI/4icopdrrLVeuUYYFhw/4 SmS5Uruhw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i5nsX-0001V7-LP; Thu, 05 Sep 2019 09:16:33 +0000 Received: from sauhun.de ([88.99.104.3] helo=pokefinder.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i5nsJ-0001Jt-Cf for linux-arm-kernel@lists.infradead.org; Thu, 05 Sep 2019 09:16:21 +0000 Received: from localhost (p54B335F6.dip0.t-ipconnect.de [84.179.53.246]) by pokefinder.org (Postfix) with ESMTPSA id 9698D2C0509; Thu, 5 Sep 2019 11:16:17 +0200 (CEST) Date: Thu, 5 Sep 2019 11:16:17 +0200 From: Wolfram Sang To: Lee Jones Subject: Re: [PATCH 1/2] i2c: qcom-geni: Provide an option to select FIFO processing Message-ID: <20190905091617.GC1157@kunai> References: <20190904113613.14997-1-lee.jones@linaro.org> <20190904203548.GC580@tuxbook-pro> <20190904212337.GF23608@ninjato> <20190905071103.GX26880@dell> MIME-Version: 1.0 In-Reply-To: <20190905071103.GX26880@dell> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190905_021619_812725_FB0257CE X-CRM114-Status: GOOD ( 16.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, agross@kernel.org, robh+dt@kernel.org, Bjorn Andersson , alokc@codeaurora.org, linux-i2c@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: multipart/mixed; boundary="===============0698838446927595607==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org --===============0698838446927595607== Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="R+My9LyyhiUvIEro" Content-Disposition: inline --R+My9LyyhiUvIEro Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Lee, > > It looks like a workaround to me. It would be interesting to hear which > > I2C client breaks with DMA and if it's driver can't be fixed somehow > > instead. But even if we agree on a workaround short term, adding a So, are there investigations running why this reboot happens? > > Is there no other way to disable DMA which is local to this driver so we > > can easily revert the workaround later? >=20 > This is the most local low-impact solution (nomenclature aside). I disagree. You could use of_machine_is_compatible() and disable DMA for that machine. Less impact because we save the workaround binding. > The beautiful thing about this approach is that, *if* the Geni SE DMA I'd say 'advantage' instead of 'beautiful' ;) > ever starts working, we can remove the C code and any old properties > left in older DTs just become NOOP. Older kernels with newer DTs > (less of a priority) *still* won't work, but they don't work now > anyway. Which is a clear disadvantage of that solution. It won't fix older kernels. My suggestion above should fix them, too. > The offending line can be found at [0]. There is no obvious bug to > fix and this code obviously works well on some of the hardware > platforms using it. But on our platform (Lenovo Yoga C630 - QCom > SMD850) that final command, which initiates the DMA transaction, ends > up rebooting the machine. Unless we know why the reboot happens on your platform, I'd be careful with saying "work obviously well" on other platforms. > With regards to the nomenclature, my original suggestion was > 'qcom,geni-se-no-dma'. Would that better suit your request? My suggestion: For 5.3, use of_machine_is_compatible() and we backport that. For later, try to find out the root cause and fix it. If that can't be done, try to set up a generic "disable-dma" property and use it. What do you think about that? Kind regards, Wolfram --R+My9LyyhiUvIEro Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAl1w0l0ACgkQFA3kzBSg KbZwIw//V6IiIveJDn0aD/OW1kfJryDVHjJc9G0mc7e95Zv5IY4F77vlM/3CreL9 Af8mavqJNEfLlkVymEEVTAt5PqfsdhPd1Ttd54GEByAk7gFtXtbHt8LpkY2Sqn6p gFdduWs32IP/JG6iQpi0Ee9CeLKhU4me95zYWcky93b2tdBA7+G7nZjD/+WL4OyB 32xbzQgElDmo0WiphV6jwpYpISbIcmpaeTTmFYSAs0UMXBbGV2aIN+Ji/mIko/Lv BtZtPegtsBK+8DyuxqsRYwI6vpyoMf6RTBe0GnkpRVYeMJpuaGxEsNAkc8YpdiF3 f7rdd/EMf0mrONo37R6ZpYmxMAP/IJ7pBUYnpDffPRNDiXEhXfBD+DruIc//UcDi GAtZXEOgpBAu9ajY0EUUqXkqgKYx6KeTdAWklCYBNt4/E9IaIvp9A+o4K0O19PI0 ArjbIhqNKKV70VytmD9DyGhzC248OYpkyY9A9emMSgeU8JoL2UsgbMzvAnykz3gc d0xVBP9b37pTrpkvaQHY6kH7Jkso/5HgSFzS81OiAqmmBt1TrazTT+1FN02brO2G KvnIbw0p1nwwbH3s4L0G6ejee2wf0Jjjki0rJi8Sy4WMN5K5pcVIHo3eTTtlhIr/ BI5zFeZg6eu8RkalM5glGaFpO1KWV27kaRx+INA1LdndZ+3RZmA= =UyFF -----END PGP SIGNATURE----- --R+My9LyyhiUvIEro-- --===============0698838446927595607== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============0698838446927595607==--