Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp931199imm; Thu, 13 Sep 2018 09:52:41 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYNCkRCGnQgaygwLTd1OK6QOybVhOQ3o5OL31v//NSvdg/ZSAl2HwdTpOuSiKCORb2IiLxu X-Received: by 2002:a63:a053:: with SMTP id u19-v6mr8017355pgn.394.1536857561558; Thu, 13 Sep 2018 09:52:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536857561; cv=none; d=google.com; s=arc-20160816; b=wvip2+elXWge2+H+Ax0NaaSqWqImh6fUB5JDB6tZat9gMHbbsntDG0y2Im7WsaZ+dK 8yZVYnOHsSCcfbRiJnBWiJW6vwVi/E6prIQO6Ivrxa1MSXjXKUYcI9IZvr+vlon6ysEv XIhWDMDUkyo7vuFb5Gll/JLfMMErIJX/znlO458etEMan7apQMbnQNVNqDJjhZYluUNZ UjrPxurYg1WXZ9PrWnk9lQvjq8o9a/X2E2yV3M7OKZBKiH46rN56JlCQeJmvGEP9KDvd Y4VTznYRryqGaqcbj9KedGFGTExvwR+5tREe3XrA5TLzT7EYDeo3ah3aOgqc9Bsd2WwP T7Sg== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=OtB7ZjdVbv0lNwv2AI/DQ3zfqx6MYnYhmNfRnVqBU7o=; b=UOLcEzQ8LDEzyfIsaA3WGVS70ZuwMLwwT7IJ3N154IrzklZN0Yo7myK25DY+a7M6rU DSUGbyKQvCfVrOwC7PlOzqj0vvYXLihoj7XtgOit9O9TEQ/JfQT0YjeltWcFceE18JNT QggO+IUFUdIk2LbkpBG+PnDmgoSRlmUPXjMfYA8C9Q1um2z40vhRYMfx6/TWGMTI1N/Z QEj9FnA3n/R0x58LNodpwZWi+yvzvBTs5O3SFUAXJH78CFc62coEBySVDA+4g1LF/Jfc F5zxpIySqI2KMypK0tpa37lcWM+EtDGXXFLVNC28vYFi7/ae7p8Vo8jZgimfh9gXGKrm qUSA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n2-v6si4797789pgu.103.2018.09.13.09.52.25; Thu, 13 Sep 2018 09:52:41 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727995AbeIMWBz (ORCPT + 99 others); Thu, 13 Sep 2018 18:01:55 -0400 Received: from 10.mo179.mail-out.ovh.net ([46.105.79.46]:59204 "EHLO 10.mo179.mail-out.ovh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726835AbeIMWBz (ORCPT ); Thu, 13 Sep 2018 18:01:55 -0400 X-Greylist: delayed 943 seconds by postgrey-1.27 at vger.kernel.org; Thu, 13 Sep 2018 18:01:54 EDT Received: from player714.ha.ovh.net (unknown [10.109.160.153]) by mo179.mail-out.ovh.net (Postfix) with ESMTP id 9064DFA166 for ; Thu, 13 Sep 2018 18:35:55 +0200 (CEST) Received: from zorba.kaod.org (LFbn-1-10605-110.w90-89.abo.wanadoo.fr [90.89.196.110]) (Authenticated sender: postmaster@kaod.org) by player714.ha.ovh.net (Postfix) with ESMTPSA id E79843C00AA; Thu, 13 Sep 2018 18:35:38 +0200 (CEST) Subject: Re: [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events properly To: Guenter Roeck Cc: Jae Hyun Yoo , Joel Stanley , linux-aspeed@lists.ozlabs.org, Vernon Mauery , OpenBMC Maillist , Brendan Higgins , Linux Kernel Mailing List , linux-i2c@vger.kernel.org, jarkko.nikula@linux.intel.com, Linux ARM , James Feist References: <20180911233302.GA18799@roeck-us.net> <5698ca34-14c9-8d05-c4e6-5acf85ff9d14@linux.intel.com> <20180912013449.GA12612@roeck-us.net> <7fd98646-fb5a-be4d-ce37-84b74e0fa8b3@linux.intel.com> <20180912195844.GA6893@roeck-us.net> <20180912203059.GA18201@roeck-us.net> <3f86e75f-1502-eae8-0633-d087937111c8@roeck-us.net> <20180913155703.GA22605@roeck-us.net> From: =?UTF-8?Q?C=c3=a9dric_Le_Goater?= Message-ID: <2c481986-7ee0-4887-5c9b-64e2cd9d8c04@kaod.org> Date: Thu, 13 Sep 2018 18:35:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180913155703.GA22605@roeck-us.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 10514497755225951104 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtjedrjeeigddutddtucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddm Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/13/2018 05:57 PM, Guenter Roeck wrote: > On Thu, Sep 13, 2018 at 05:48:59PM +0200, Cédric Le Goater wrote: >> On 09/13/2018 03:33 PM, Guenter Roeck wrote: > [ ... ] >>>>>   /* >>>>>    * The state machine needs some refinement. It is only used to track >>>>>    * invalid STOP commands for the moment. >>>>> @@ -188,7 +215,7 @@ static void aspeed_i2c_bus_handle_cmd(AspeedI2CBus *bus, uint64_t value) >>>>>   { >>>>>       bus->cmd &= ~0xFFFF; >>>>>       bus->cmd |= value & 0xFFFF; >>>>> -    bus->intr_status = 0;> +    bus->intr_status &= I2CD_INTR_RX_DONE; >>>> >>>> it deserves a comment to understand which scenario we are trying to handle. >>>>    >>> >>> Ok. FWIW, I wonder if intr_status should be touched here in the first place, >>> but I neither have the hardware nor a datasheet, so I don't know if any bits >>> are auto-cleared. >> >> I just pushed a patch on my branch with some more explanation : >> >> https://github.com/legoater/qemu/commits/aspeed-3.1 >> > That seems to suggest that none of the status bits auto-clears, and that > the above code clearing intr_status should be removed entirely. > Am I missing something ? You are right. I just pushed another version of the previous patch with this new hunk : @@ -188,7 +200,6 @@ static void aspeed_i2c_bus_handle_cmd(As { bus->cmd &= ~0xFFFF; bus->cmd |= value & 0xFFFF; - bus->intr_status = 0; if (bus->cmd & I2CD_M_START_CMD) { uint8_t state = aspeed_i2c_get_state(bus) & I2CD_MACTIVE ? The QEMU palmetto and witherspoon machines seem to behave fine. Can you give it a try ? Thanks, C.