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 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 17843C64EC4 for ; Wed, 8 Mar 2023 14:29:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8CE8510E5E7; Wed, 8 Mar 2023 14:29:52 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id DDE1B10E5D6; Wed, 8 Mar 2023 14:29:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678285789; x=1709821789; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=nodI/9eAhPIhkPyqYJ0CHRSS1IeiQDsVTeHSO1jEhEw=; b=lyd/swpiFgfYCZ94KkBvMgr5b58DdtaNI7K3DKC9Alb4k0aBjXns0zkb iOxEymfMiUJ8MaYkR2gak4ubKfuKRnF8S40A3jSzbkbLsD1c2AEtXrxb9 7vN5sug7XSbvwKxLmqZn/Jfh0RDlLh0uEWkizDwuV0OWAOmYNMfPGjrDl Q9W+Z6zhbNEHHVOhq6Ndwi9HMv54aOIHE7VhiDmpuJXKcFeHkKJPIHjZE DlVRcz/aE5LWEBnIrdiiIFAt9qT78fTbLnmH3+2Y+pNJehsR4KjSqhmd2 PjRF6xDEzaJeYGhdcLY3oIcIgPoPuNN1/ME9m/dU+Dz1avdCn7/ad/Vjj g==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="334875733" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="334875733" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 06:29:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="1006344125" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="1006344125" Received: from lcojocar-mobl.ger.corp.intel.com (HELO [10.251.219.243]) ([10.251.219.243]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 06:29:47 -0800 Message-ID: Date: Wed, 8 Mar 2023 15:29:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.8.0 Content-Language: en-US To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20230306141638.196359-1-maarten.lankhorst@linux.intel.com> <073f5ef3-523a-2997-c7e9-771cce8f4c24@linux.intel.com> From: Maarten Lankhorst In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Intel-gfx] [Intel-xe] [PATCH] drm/xe/display: Do not use i915 frontbuffer tracking implementation 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: , Cc: "dri-devel@lists.freedesktop.org" , "intel-gfx@lists.freedesktop.org" , "intel-xe@lists.freedesktop.org" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Hey, On 2023-03-08 14:36, Ville Syrjälä wrote: > On Wed, Mar 08, 2023 at 01:47:12PM +0100, Maarten Lankhorst wrote: >> On 2023-03-06 21:58, Ville Syrjälä wrote: >>> On Mon, Mar 06, 2023 at 09:23:50PM +0100, Maarten Lankhorst wrote: >>>> Hey, >>>> >>>> On 2023-03-06 16:23, Souza, Jose wrote: >>>>> On Mon, 2023-03-06 at 15:16 +0100, Maarten Lankhorst wrote: >>>>>> As a fallback if we decide not to merge the frontbuffer tracking, allow >>>>>> i915 to keep its own implementation, and do the right thing in Xe. >>>>>> >>>>>> The frontbuffer tracking for Xe is still done per-fb, while i915 can >>>>>> keep doing the weird intel_frontbuffer + i915_active thing without >>>>>> blocking Xe. >>>>> Please also disable PSR and FBC with this or at least add a way for users to disable those features. >>>>> Without frontbuffer tracker those two features will break in some cases. >>>> FBC and PSR work completely as expected. I don't remove frontbuffer >>>> tracking; I only remove the GEM parts. >>>> >>>> Explicit invalidation using pageflip or CPU rendering + DirtyFB continue >>>> to work, as I validated on my laptop with FBC. >>> Neither of which are relevant to the removal of the gem hooks. >>> >>> Like I already said ~10 times in the last meeting, we need a proper >>> testcase. Here's a rough idea what it should do: >>> >>> prepare a batch with >>> 1. spinner >>> 2. something that clobbers the fb >>> >>> Then >>> 1. grab reference crc >>> 2. execbuffer >>> 3. dirtyfb >>> 4. wait long enough for fbc to recompress >>> 5. terminate spinner >>> 6. gem_sync >>> 7. grab crc and compare with reference >>> >>> No idea what the current status of PSR+CRC is, so not sure >>> whether we can actually test PSR or not. >> This test doesn't make sense. DirtyFB should simply not return before >> execbuffer finishes. > Of course it should. It's not a blocking ioctl, and can't > be because that will make X unusable. Except it actually is. DirtyFB blocks in its default implementation, and waits for the next vblank. drm_atomic_helper_dirtyfb() blocks by default as it's a synchronous plane update. Considering every driver except i915 uses it, it works just fine. :) ~Maarten