Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp2948907rdb; Tue, 12 Sep 2023 18:24:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IERRAe+KraORkbEYFlbyn5RLUpLIcI1W0xTZBAoUv9tND0AACkasibFdCARlHXaJ/RXgAn3 X-Received: by 2002:aa7:9535:0:b0:68f:be13:6c16 with SMTP id c21-20020aa79535000000b0068fbe136c16mr1468806pfp.2.1694568291592; Tue, 12 Sep 2023 18:24:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694568291; cv=none; d=google.com; s=arc-20160816; b=Rl/dKcycQGS3XN6+0GNW84S938qqL5faHFPleGma79Mv0ObDRfATSifRj5YP9CO/S8 8MimchcQ0U/LsHtCy6zbPo1omJ/baSkikXEe4c3YJQv+BxTeCVJMADdNx18X9efQrYlW OvGtMlzh8KV2oFUWWSPVdT/VhE0hVgHJEEJYzA9RRJcLMGOI3K6x9U+gvBAW2rSmGPLC mO6t1meofAkALALF4I28NWM0BWKTNVyLw8ZWjzDoqDIuLassOLZ4iWn9pW3EIW2Q7cqQ kmmfxiwU/AzrKjskRH8qD3R0b5MOBMQqCQ29nhxmPYIKf7tUeFkQ1VuZbdk2sIggUqmW xgqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=qxOPRMUOZX5skivoyvZEJtip+rXOZvLSxmu+k+glkng=; fh=9AEOr0li2JaGGZ8GrLy4PDxyCdJTgwX+YE1VTs0mVmY=; b=jxTCm/Gov092yQL3DH0QUX9MVSsUsxVjmDkDSLl/5MFbzInWf2ZCZmwvo8T5j0Rc7p gQ4yzBQITYocTaeJMwJZp4DFIKeCd1TbPGDwWRu/QxYSEeCHnReLXsERIzx9yRnwVar2 bHJs/300wcnv+wi40z6/XBlilLG8wKpvQ5JbaoK7rJGc33952Qs/GBVtLNx2xxrzwn6y TFMFe9iZx0ufB9TIlJYQAYUdpxchk2aRfiZyDAwSN1VOYCaxrHmlkzhnAG2DzbGZpxGi In1tvjJ+Ar1LXqfQ7heJDoXjAmMN34QVRuxLvoV+HNsQCJnvL7oxDqzpCLBwM0JUqVNx 8clQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=BZcCpUc5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id m1-20020a656a01000000b0051b90567f99si9715731pgu.690.2023.09.12.18.24.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 18:24:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=BZcCpUc5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id D70B883AC0C0; Mon, 11 Sep 2023 22:02:17 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.8 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230156AbjILFCO (ORCPT + 99 others); Tue, 12 Sep 2023 01:02:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40356 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232035AbjILFBw (ORCPT ); Tue, 12 Sep 2023 01:01:52 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2FFDE10F3; Mon, 11 Sep 2023 22:00:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1694494850; x=1726030850; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=gQCqTAEYQL/pkOw8sp0WLX0nuh/gNZ5sLDu8CpvEilQ=; b=BZcCpUc5C4dX5QLT8AP/Mwxqm2PqtJVimeYxugMUIZvqDXEPJdYbYh8y iGCZK4KvRPS9QGJERR8sKZzUMl4lnx9Q+GUr7HTGaCV/9mUy6wnhXmTGf SEakXS/ipHinNXObesAI9ZGoOXQvnneZqrLPMlhhI+d6zJek4u9I4E4vL +4i3DeAAAn1GpNWbyu0Noc99igV7yt1K1BIKjS0/GRevQ5zGKSh9N8XbS JwKA/2MugK5AmetstDHyMjS77fqCrhBH0gYqEjQGM8UOWzFpOyKgsiL/F BLzdUNImVsiDsJSoKiW0DZ+RiGLhi2n7DemMG+6utU2cTVV51BtzExnDL g==; X-IronPort-AV: E=McAfee;i="6600,9927,10830"; a="409230167" X-IronPort-AV: E=Sophos;i="6.02,245,1688454000"; d="scan'208";a="409230167" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Sep 2023 22:00:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10830"; a="858637789" X-IronPort-AV: E=Sophos;i="6.02,245,1688454000"; d="scan'208";a="858637789" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 11 Sep 2023 22:00:47 -0700 Received: by black.fi.intel.com (Postfix, from userid 1001) id EFC82248; Tue, 12 Sep 2023 08:00:45 +0300 (EEST) Date: Tue, 12 Sep 2023 08:00:45 +0300 From: Mika Westerberg To: Stephen Boyd Cc: Hans de Goede , Mark Gross , linux-kernel@vger.kernel.org, patches@lists.linux.dev, platform-driver-x86@vger.kernel.org, Andy Shevchenko , Kuppuswamy Sathyanarayanan , Prashant Malani Subject: Re: [PATCH v3 2/4] platform/x86: intel_scu_ipc: Check status upon timeout in ipc_wait_for_interrupt() Message-ID: <20230912050045.GA1599918@black.fi.intel.com> References: <20230911193937.302552-1-swboyd@chromium.org> <20230911193937.302552-3-swboyd@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230911193937.302552-3-swboyd@chromium.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 11 Sep 2023 22:02:18 -0700 (PDT) On Mon, Sep 11, 2023 at 12:39:34PM -0700, Stephen Boyd wrote: > It's possible for the completion in ipc_wait_for_interrupt() to timeout, > simply because the interrupt was delayed in being processed. A timeout > in itself is not an error. This driver should check the status register > upon a timeout to ensure that scheduling or interrupt processing delays > don't affect the outcome of the IPC return value. > > CPU0 SCU > ---- --- > ipc_wait_for_interrupt() > wait_for_completion_timeout(&scu->cmd_complete) > [TIMEOUT] status[IPC_STATUS_BUSY]=0 > > Fix this problem by reading the status bit in all cases, regardless of > the timeout. If the completion times out, we'll assume the problem was > that the IPC_STATUS_BUSY bit was still set, but if the status bit is > cleared in the meantime we know that we hit some scheduling delay and we > should just check the error bit. > > Cc: Prashant Malani > Reviewed-by: Kuppuswamy Sathyanarayanan > Reviewed-by: Andy Shevchenko Reviewed-by: Mika Westerberg