From patchwork Mon Jul 17 06:52:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 121075 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp952154vqt; Mon, 17 Jul 2023 00:12:54 -0700 (PDT) X-Google-Smtp-Source: APBJJlHQ0NiZdf9O5y0gm4xgk76JAuTd62nwNvEijTU7BGySiQUftsSUVay4RJgrVQmv8emo1igQ X-Received: by 2002:a05:6a21:329c:b0:134:2fd0:73d6 with SMTP id yt28-20020a056a21329c00b001342fd073d6mr7697277pzb.31.1689577973899; Mon, 17 Jul 2023 00:12:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689577973; cv=none; d=google.com; s=arc-20160816; b=OTtmqRDGwIY13SmfuHasowddzv/Zsl70IPVA17VJr6dtIx86NA5FnHZsCsjEhtsHRJ 9jWjE+tXs8okLUuDniUhzeEeEuEyaM8oqUfwhfZdIB4wk3su5rZ+hVYm6kt5Gmx8GtKA AN75PmjF7aGvBYuZnzFASE0b89Gpw8nf7HW/FFgMXcfWC1iH4s/bzdnmYIAUSDZsG1rm ZWMEgqS0uy9X2VXkby7E6hVjIbnCI2Bed0KR+o3RMU7gIh92nsPMoCWZdOl6t4SFNHlh Ei8wkQmSr6lM8VtTmhAGs6/kX9Yeg9gEkOTZ2kNhaMvtkMgN2FIj0R6T9TSSnNsQ+oc1 2LnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=vmkDbFhye/gm3t1jNiJde5/I2KPPVXtHTKEGXAnFt28=; fh=T5hOwDD7XRZh+34JvGzQ1H1VRIwb8W4aZBBLFoX7Ja8=; b=zmtYZCydm2/OmauEyxhtYxJoqu3q0JNJooBDZN/1U+V3e6G/yDqFcWMsdeiJL7I4Op MHktuq748fF96qefow3Anf+xf/PiMoHJTlNfBGpO2/DeYUQFhMC0XZ62lGN684CO+AKI HTTj9KCGK9mBxFD87/VdAn+9Zha45YbaqUBF/9x6xaI/S5xvSLK85Pn/ewSLfq1sxaTg 6pNAek48sbAqF9xycFa8CfeMs+wDEqnmLnDAiIHvGI13uGHSfYSgjTbmbjUL9cAuL9s9 HgOuUgOmGqtQfPqZXGgm7bX8swKlhqou5GHDD+fOge41eNfZLj4Dah1vfnGvB1VEQy+T GlDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=iZCsocr3; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id kx14-20020a170902f94e00b001b892a54d89si10870607plb.629.2023.07.17.00.12.39; Mon, 17 Jul 2023 00:12:53 -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=@collabora.com header.s=mail header.b=iZCsocr3; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229927AbjGQGxZ (ORCPT + 99 others); Mon, 17 Jul 2023 02:53:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229789AbjGQGxX (ORCPT ); Mon, 17 Jul 2023 02:53:23 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C758A1B8 for ; Sun, 16 Jul 2023 23:53:22 -0700 (PDT) Received: from workpc.. (109-252-154-2.dynamic.spd-mgts.ru [109.252.154.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dmitry.osipenko) by madras.collabora.co.uk (Postfix) with ESMTPSA id A750B6606FC8; Mon, 17 Jul 2023 07:53:20 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1689576801; bh=Qg+dZVqpBhB0tdjxJjayctf5oTh5j/Q35LZHB4aWX3g=; h=From:To:Cc:Subject:Date:From; b=iZCsocr3wv7hB+yJWmF5hTomJIme07DhhvIYvcWqMPVFNTRfCvx+YawXBboyyFpFl kV0xjtcCRFxBVRJ8XxGlq8Hiku6EAqGbr9Lke5lvFDLJu6HqIQkZvUfoGS5Fn3Mtt4 XK3kjvcWufScXyyxCNdoN/CVhwj8S177fpdX8BcCOEbUObGnXzz2jGOM3s7jPc+Sis CuuTwV4hUItmkcoFy+R5eVmp0KSao32sNs4nObbZNh8ZYO87AxOz/vB+lkl3aQ44bs o48Lk9r83tPm9gwer4C91W/rvFdz6KDngH8OFlWdrKHBZ2t6hPMqRg+9l76o9HfQI6 +RI+c4gAN6NkQ== From: Dmitry Osipenko To: Rob Herring , Steven Price , Boris Brezillon Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@collabora.com Subject: [PATCH v1] drm/panfrost: Sync IRQ by job's timeout handler Date: Mon, 17 Jul 2023 09:52:54 +0300 Message-ID: <20230717065254.1061033-1-dmitry.osipenko@collabora.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771650913944139218 X-GMAIL-MSGID: 1771650913944139218 Panfrost IRQ handler may stuck for a long time, for example this happens when there is a bad HDMI connection and HDMI handler takes a long time to finish processing, holding Panfrost. Make Panfrost's job timeout handler to sync IRQ before checking fence signal status in order to prevent spurious job timeouts due to a slow IRQ processing. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/panfrost/panfrost_job.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c index dbc597ab46fb..a356163da22d 100644 --- a/drivers/gpu/drm/panfrost/panfrost_job.c +++ b/drivers/gpu/drm/panfrost/panfrost_job.c @@ -713,6 +713,8 @@ static enum drm_gpu_sched_stat panfrost_job_timedout(struct drm_sched_job struct panfrost_device *pfdev = job->pfdev; int js = panfrost_job_get_slot(job); + synchronize_irq(pfdev->js->irq); + /* * If the GPU managed to complete this jobs fence, the timeout is * spurious. Bail out.