Received: by 10.223.164.221 with SMTP id h29csp2202524wrb; Tue, 17 Oct 2017 17:58:38 -0700 (PDT) X-Received: by 10.98.144.21 with SMTP id a21mr13192868pfe.159.1508288318181; Tue, 17 Oct 2017 17:58:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508288318; cv=none; d=google.com; s=arc-20160816; b=G3y8nv1AexqkUVnSW3xP47k9NoOiaz2Y9KE9j9fvO06r3NkZJxchSsL3tiFq3lZ607 vFh9LT23noqXDUePyI2NLBrH/fSuJgcfqBMp2K1rjy/Jp5wEuIUOXrAhUk2FNWVfPjet FnUKqDiNYeiT0mRRGNSPxXrcwV6vVF6IIdAVXRtzeyN15lC6cRUfs05UmRmbUTXlejLf ssdZZibMExHC4K9UO1CfFNC6XBxAxA9GRZnt9/tdnOYxvu6sCeNiF2ZhCxl70J/gsDOQ u8M43cQPTJUBennwBmLuTcdVn2UUp1rahJ8qj2fSlLILvCF3EIF5XAEqtHgn1eBVhsnp A4+Q== 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:cc:to:subject :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:arc-authentication-results; bh=ocvDpUhKgNwzPpsfrw6pK8+k441IHIc6XlnEs0yNQ30=; b=zVxiPjZuGvsmEn5aHdVp7RkOp0Pcm6FMeyzIBhk++9fkfwF0EzgbwHv5+oPR24oIQo NTVvKswNjnjEdPfmMN6V9AK5fCPiMn9TL8h/NxZjczO8FKw3iskEq2Lv/njSHYTKJyGQ 31rDQwA1t1YVqFMPaMjb2B9zOWvdruD3fd+qcPgpG4UqxqGR6sl/b3NV3sQtxMx35ziu Cz+0d1HJsUDKnPlzxjdaaWyGgupmtaPNB3TtoGPp1DCIi0Hjhg4f7LMNzmtFpOiFZUuP QngbosaOsYaf5qADy6pemidxIBq2C7jpbss0bfyDDKCoc1zpXg8savPG++6BDXOTtejy CWDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=trmZfatD; 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=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i192si6181174pgc.785.2017.10.17.17.58.24; Tue, 17 Oct 2017 17:58: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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=trmZfatD; 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=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762568AbdJQNvH (ORCPT + 99 others); Tue, 17 Oct 2017 09:51:07 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:49206 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762553AbdJQNvF (ORCPT ); Tue, 17 Oct 2017 09:51:05 -0400 Received: by mail-lf0-f68.google.com with SMTP id w21so2093912lfc.6; Tue, 17 Oct 2017 06:51:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ocvDpUhKgNwzPpsfrw6pK8+k441IHIc6XlnEs0yNQ30=; b=trmZfatDDq3L2SuAPmV6G81SXLhlJLimejFwTxcpMwRNEzX5eHd0ZLE/yPWioA4Z/s yAs02v4/PQ7ndkFvX7s6d2sNRCcrBqu/5Pps+d3aGNgB9tAnQpW45CWvW1HoaQ/UUTjy PDA6UmTpYYm6wbZlmGTWS4y4cThD3R8lb3l73QAvzCu3NCgZNCP3W8a7XBK06EtiRsqs +9YoFeSwVfU93CC7FmZgjpGuoKF+UCnODnOX2acR3/obPlTYgBtePaU0607x/wByxHQ6 S1ZR159ebSy1zl3GJS5UsPA17Ouz3moSRrkqmdBZEndL6wS9/aB0cVVcMWZ4a01hdvw5 Nirg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ocvDpUhKgNwzPpsfrw6pK8+k441IHIc6XlnEs0yNQ30=; b=emXSBsCUyBr8BNv4g9Z9FDHZYUkjeBfvKFDPlKdV37vXSo2TwFbV+9RUt1mQsQlL8q NON+0UuQJL5Nj0DxHvVklR2n0elLOZgEBn4Nr1pVubqSUDqxdABMnbIC6Hwx3aLPDXyu ylxsSfnZz7syP/dMmwU1QXswuK41dCJ+H71OnQB34Xc7iyX6XVY4acoe978w7YYtkZjN DbTgDtWKiS3VcqxkSCS4LlR85h6pWe6KE1Rbaa2ZxUUUyG+IK5V9wVGCgXq9K8frlURa tjVTYKX8ExHgXrNKVGBYRX5DOzKqJUSZ0fW+8WQKWHCDf/dm0h8RNN0ywrHVyV5+ZDUd kYsw== X-Gm-Message-State: AMCzsaXjMdBWbdBTDuW8PMJelvZfifUSMZND/RE6SDMRkNoKxdJK1ixI NZnkllq06iwOowwvYtPo0eRXeqMBmQ3X9FE+6Us= X-Google-Smtp-Source: ABhQp+SDURulisrWbgQ+Rehd4B4TgzTBTPOYOCh0c/8t/v56Br6dMRraunoWblQZlJhRwr4JjE2WGx2TatQIwhHIHT8= X-Received: by 10.25.115.137 with SMTP id h9mr3504729lfk.230.1508248263103; Tue, 17 Oct 2017 06:51:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.159.209 with HTTP; Tue, 17 Oct 2017 06:51:02 -0700 (PDT) In-Reply-To: <2d892fec-0496-8a6f-51c9-439b933d9975@st.com> References: <1507722788-31224-1-git-send-email-radoslaw.pietrzyk@gmail.com> <990c3275-35b3-68da-453c-d1a80e867df7@st.com> <2d892fec-0496-8a6f-51c9-439b933d9975@st.com> From: =?UTF-8?Q?Rados=C5=82aw_Pietrzyk?= Date: Tue, 17 Oct 2017 15:51:02 +0200 Message-ID: Subject: Re: [PATCH] i2c: stm32: Fixes multibyte transfer for STM32F4 I2C controller To: Pierre Yves MORDRET Cc: Wolfram Sang , Maxime Coquelin , Alexandre Torgue , "open list:I2C SUBSYSTEM" , "moderated list:ARM/STM32 ARCHITECTURE" , open list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I can try of course but it means that any IRQ delay may cause the same problem so the question is whether the driver should be vulnerable to such use cases. 2017-10-17 15:18 GMT+02:00 Pierre Yves MORDRET = : > > > On 10/12/2017 11:55 AM, Rados=C5=82aw Pietrzyk wrote: >> It looks like there is a use case when IRQ handler is delayed a bit >> and the logic in the driver does not work. What is the real root cause >> I don't know. >> > > As far as I know on this STM32 F4 platform there is some trouble with tim= er > events that may have bad influences on scheduling. Some tasks could be de= layed > for some reasons. > It would be great if the following patches below could help in your matte= r > https://patchwork.kernel.org/patch/9980961/ > https://patchwork.kernel.org/patch/9980963/ > https://patchwork.kernel.org/patch/9980965/ > https://patchwork.kernel.org/patch/9980967/ > > Would you mind to test those ? > Thanks > >> 2017-10-12 11:31 GMT+02:00 Pierre Yves MORDRET : >>> >>> >>> On 10/11/2017 01:53 PM, Radoslaw Pietrzyk wrote: >>>> Do not read data on RXNE but on BTF only due to HW >>>> synchronisation problems and NACKing read data too early. >>>> It was found during testing of stmpe811 touchscreen driver. >>>> >>> >>> Would you mind to explain what is behind "hw sync issue" you've seen ? >>> >>>> Signed-off-by: Radoslaw Pietrzyk >>>> --- >>>> drivers/i2c/busses/i2c-stm32f4.c | 11 +---------- >>>> 1 file changed, 1 insertion(+), 10 deletions(-) >>>> >>>> diff --git a/drivers/i2c/busses/i2c-stm32f4.c b/drivers/i2c/busses/i2c= -stm32f4.c >>>> index 4ec1084..86bcf4c 100644 >>>> --- a/drivers/i2c/busses/i2c-stm32f4.c >>>> +++ b/drivers/i2c/busses/i2c-stm32f4.c >>>> @@ -409,16 +409,9 @@ static void stm32f4_i2c_handle_read(struct stm32f= 4_i2c_dev *i2c_dev) >>>> * So, here we just disable buffer interrupt in order to avoid a= nother >>>> * system preemption due to RX not empty event. >>>> */ >>>> - case 2: >>>> - case 3: >>>> + default: >>>> stm32f4_i2c_clr_bits(reg, STM32F4_I2C_CR2_ITBUFEN); >>>> break; >>>> - /* >>>> - * For N byte reception with N > 3 we directly read data registe= r >>>> - * until N-2 data. >>>> - */ >>>> - default: >>>> - stm32f4_i2c_read_msg(i2c_dev); >>>> } >>>> } >>>> >>>> @@ -470,8 +463,6 @@ static void stm32f4_i2c_handle_rx_done(struct stm3= 2f4_i2c_dev *i2c_dev) >>>> */ >>>> reg =3D i2c_dev->base + STM32F4_I2C_CR1; >>>> stm32f4_i2c_clr_bits(reg, STM32F4_I2C_CR1_ACK); >>>> - stm32f4_i2c_read_msg(i2c_dev); >>>> - break; >>>> default: >>>> stm32f4_i2c_read_msg(i2c_dev); >>>> } >>>> From 1581554429293942761@xxx Wed Oct 18 00:50:39 +0000 2017 X-GM-THRID: 1580962045961710824 X-Gmail-Labels: Inbox,Category Forums