From patchwork Sun Feb 4 19:52:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Borah, Chaitanya Kumar" X-Patchwork-Id: 13544772 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 92AD7C48298 for ; Sun, 4 Feb 2024 19:59:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4373F10E8FF; Sun, 4 Feb 2024 19:58:57 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="CHig8IVB"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) by gabe.freedesktop.org (Postfix) with ESMTPS id E1A2F10E898 for ; Sun, 4 Feb 2024 19:58:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1707076736; x=1738612736; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=nRBOy0syiHNpRfXIP/Q/UnwchNoV5RctH1ZZBWx1v5k=; b=CHig8IVB2+n5xxvcpBShuy/IokUGbieDtTKAVsoxen27OGFQlH/I1USd cI3prBRzhsHNK8MzVgIgnTTcZ7I76oyKtmDJ1MxW70Zdo8Rv2Ms1S6p/S siXcnO/FVEyA3lcH9+RwLDBxnh3MEZGO8y8sbZjENZA4VoNmT5P5F8imv QvPhzhtI7LiXhpvtwePTaHWjRJbj2TwD9xSr+Y4PrNdv5rGaip36jqyEk jFgsfoXGtih+ptXQ7RPo6BWGJpEXhfenRLPRAL7HEVcSVO7Zev1458Psg MYpGZHjansYuXEprp4D+Zuf0Axssw2HTdpKTwn+LvzWFHk99Sg+gyguxF Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10973"; a="311177" X-IronPort-AV: E=Sophos;i="6.05,242,1701158400"; d="scan'208";a="311177" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2024 11:58:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,242,1701158400"; d="scan'208";a="5160724" Received: from dut-2a59.iind.intel.com ([10.190.239.113]) by fmviesa005.fm.intel.com with ESMTP; 04 Feb 2024 11:58:51 -0800 From: Chaitanya Kumar Borah To: intel-gfx@lists.freedesktop.org Cc: uma.shankar@intel.com, chaitanya.kumar.borah@intel.com, maarten.lankhorst@linux.intel.com, ville.syrjala@linux.intel.com Subject: [RFC PATCH 0/5] Cursor Fault Fixes Date: Mon, 5 Feb 2024 01:22:02 +0530 Message-Id: <20240204195207.3616932-1-chaitanya.kumar.borah@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" This series is based on top of [1] floated by Maarten. To fix, regressions seen in CI following changes were made on top of the original series. 1. add a check in the plane state destroy hook to not move forward if the vblank worker is scheduled. 2. add checks before accessing frame buffer object (we are not sure yet how much this helps but we have found that this operation causes dump stacks) 3. do not defer the intel atomic cleanup into a work queue, instead execute it at the end of atomic commit tail. While this series is in noway a complete or proper solution it is meant to trigger a discussion to arrive at one. [1] https://patchwork.freedesktop.org/series/126934/ Chaitanya Kumar Borah (3): drm/i915: do not destroy plane state if cursor unpin worker is scheduled drm/i915: Add sanity checks before accessing fb buffer object drm/i915: do not defer cleanup work Maarten Lankhorst (1): drm/i915: Use the same vblank worker for atomic unpin Ville Syrjälä (1): drm/i915: Use vblank worker to unpin old legacy cursor fb safely .../gpu/drm/i915/display/intel_atomic_plane.c | 55 ++++++++++++++++++- .../gpu/drm/i915/display/intel_atomic_plane.h | 4 ++ drivers/gpu/drm/i915/display/intel_crtc.c | 27 +++++++++ drivers/gpu/drm/i915/display/intel_cursor.c | 26 ++++++++- drivers/gpu/drm/i915/display/intel_cursor.h | 3 + drivers/gpu/drm/i915/display/intel_display.c | 11 ++-- .../drm/i915/display/intel_display_types.h | 3 + 7 files changed, 120 insertions(+), 9 deletions(-)