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=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 17218C433F2 for ; Mon, 20 Jul 2020 16:15:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DEE972176B for ; Mon, 20 Jul 2020 16:15:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261758; bh=G870sS68UfVhqjNODXsCGY+SVaWAFDuVgba/lZ2s7YA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=VbL7bXK867mCQjy7dGNtKJfokfPLoJuNuorXFso3v1M2Ifl6AT+dCHhhe9LwF1bVi y1hwGgx6rpwNdv3mo0hfwNEG4q4MRxSnGoO9BiCTXwxd6rVAV/jhfqyVPSACERKv3/ 5cTR+BULzoxOGKAz48hQGQE9fbrgjGyyEtvuSDeg= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388479AbgGTQP5 (ORCPT ); Mon, 20 Jul 2020 12:15:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:56942 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388474AbgGTQPz (ORCPT ); Mon, 20 Jul 2020 12:15:55 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D00CA2064B; Mon, 20 Jul 2020 16:15:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261755; bh=G870sS68UfVhqjNODXsCGY+SVaWAFDuVgba/lZ2s7YA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pSThBwTnYJOPiwlmU7aQeyiblJlXKRTCZUAjx7Qez1hdfSVg8eMABn7wKGbVzLUaJ WjVjvNpBDmQ3E3uBSSWAhBPS4SJUfHRx20pf+jb4CpxQwbh07/fNqaVuwxS6vG/QBC 0udAI6u5GDly7/PEGk3en7tH0xrBZb/+84gw2WMw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chris Wilson , Mika Kuoppala , Tvrtko Ursulin , Jani Nikula Subject: [PATCH 5.7 230/244] drm/i915/gt: Ignore irq enabling on the virtual engines Date: Mon, 20 Jul 2020 17:38:21 +0200 Message-Id: <20200720152836.783815437@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chris Wilson commit 858f1299fd6f7518ddef19ddd304c8398ac79fa5 upstream. We do not use the virtual engines for interrupts (they have physical components), but we do use them to decouple the fence signaling during submission. Currently, when we submit a completed request, we try to enable the interrupt handler for the virtual engine, but we never disarm it. A quick fix is then to mark the irq as enabled, and it will then remain enabled -- and this prevents us from waking the device and never letting it sleep again. Fixes: f8db4d051b5e ("drm/i915: Initialise breadcrumb lists on the virtual engine") Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Tvrtko Ursulin Cc: # v5.5+ Reviewed-by: Tvrtko Ursulin Link: https://patchwork.freedesktop.org/patch/msgid/20200711203236.12330-1-chris@chris-wilson.co.uk (cherry picked from commit 4fe6abb8f51355224808ab02a9febf65d184c40b) Signed-off-by: Jani Nikula Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/i915/gt/intel_lrc.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -5188,6 +5188,7 @@ intel_execlists_create_virtual(struct in intel_engine_init_active(&ve->base, ENGINE_VIRTUAL); intel_engine_init_breadcrumbs(&ve->base); intel_engine_init_execlists(&ve->base); + ve->base.breadcrumbs.irq_armed = true; /* fake HW, used for irq_work */ ve->base.cops = &virtual_context_ops; ve->base.request_alloc = execlists_request_alloc;