From patchwork Tue Mar 4 13:09:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikolaj Wasiak X-Patchwork-Id: 14000719 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 4EFBCC021B8 for ; Tue, 4 Mar 2025 13:09:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D067210E5BE; Tue, 4 Mar 2025 13:09:27 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="Ep2CxBfg"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2BA8810E5CE for ; Tue, 4 Mar 2025 13:09:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741093767; x=1772629767; h=date:from:to:cc:subject:message-id:mime-version; bh=WpLxZMzj+T4INxtLmxj7na85bVT3HUnMPfQHNg+WB4A=; b=Ep2CxBfgeTipz9DyJtcIzxdmrwSJyjRiQMrTp9yF23wVryklw7I8eneV 550+DQVxoaESX7UGrBDQu4f2GjyQQqzD40/Zu2KSg5+KIZvGTu0XIvksZ egnmz/7hjFFwkL5yev2CJjy+9SLlwJNoaRbqAwWa5tGa5nSce0fqfjTa9 9DJMMuNt79jKDhuoQBUKYSRdRKzG66+qryBATs3IUYpd336TsPcei76sW UBGjBdbABLtCa5QXlTctpC6xfE6VtDg3gLk37tuVOCxlR+njdrp6zadcj gvWud8k0Fa2NTlYdgzFufQ2LiL9zC3KL9+WEcdcl4+BpStu0Vw3forjyJ w==; X-CSE-ConnectionGUID: Pja/82FpTtGGp6VMpn248A== X-CSE-MsgGUID: Vy404tcDRBOefAftqoZexQ== X-IronPort-AV: E=McAfee;i="6700,10204,11363"; a="42132768" X-IronPort-AV: E=Sophos;i="6.13,331,1732608000"; d="scan'208";a="42132768" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2025 05:09:26 -0800 X-CSE-ConnectionGUID: eyB63ly8SEaaHLfPcYx9tA== X-CSE-MsgGUID: YXXNx15ZQIKpkP6I8XFlmA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,331,1732608000"; d="scan'208";a="123372359" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2025 05:09:25 -0800 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 4 Mar 2025 05:09:19 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend Transport; Tue, 4 Mar 2025 05:09:19 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Tue, 4 Mar 2025 05:09:18 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hUGZo0t4rVpx3NBjusgvgQ10U4T8aaX2BpbIfUibfj+Etbz8GOnJszkTtx+7BPdEjRsalv1Zn87ODXHNSEz6LUSLY07EmQS9gwoF5URtP7g+ZXZEK6O/uToARlOfHA9QeO7Nsh0xVYpV39BWQglwEn7ro+Y0AmnPu4YgHTlvrqtXgCF9nQbeSXe/cPr5/48hSE4iCvhYQppVMoZw6M6r3+tXB/F0HrJ8WVrlTcrbjeuIEJwCH2Uo8d9dlsAdi0T5/RIb+ZF1xr9EMkXFUxmoa419pF8nrij35oPNy2iKpOSeqeRmC0vHmUhmQGXlWnxCxDNL2jU3Ey3vpPSwb8UV4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7Zgizbuv4aseCfbdtpF81bkB8fUX9To2Nr91xWUgm+I=; b=zKsPnrZyGo4DRkTum69z9OJeBKSpaUX3caDZJSs31zDYx1Japmo690rQ/GbJyUkbcCjSwqjhiABViQCERaZHHZ4l16wSabxJh1CAjDrjx7IrxrIN9xrGbkGJIL4O7UqpMNkBQ71S4XK8b4usuRoUXM0XEzDO4RZjX79ixyhM6Jo/X9SRTcUj9yGE6EkxsfpggPHK8XfhEpqPfauFPMsCN515vlx42er1vbJscl4z6YjrFREWrsLwSTg4I7Fvo6zSmuN/NVldfyiV067dBKVPpbd728OBqFyXuQPYwXXMhs09Fkcj8kCFoIggeL1WkJeKWFV8DPOhVz5DaJRSSyqSzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from BL3PR11MB6409.namprd11.prod.outlook.com (2603:10b6:208:3b8::18) by SA1PR11MB5897.namprd11.prod.outlook.com (2603:10b6:806:228::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.27; Tue, 4 Mar 2025 13:09:16 +0000 Received: from BL3PR11MB6409.namprd11.prod.outlook.com ([fe80::74e:6abd:bab0:3d0b]) by BL3PR11MB6409.namprd11.prod.outlook.com ([fe80::74e:6abd:bab0:3d0b%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 13:09:16 +0000 Date: Tue, 4 Mar 2025 14:09:07 +0100 From: Mikolaj Wasiak To: CC: Andi Shyti , Krzysztof Karas , Subject: [PATCH] i915/gt/selftest_lrc: Remove timestamp test Message-ID: Content-Disposition: inline X-ClientProxiedBy: VI1PR07CA0288.eurprd07.prod.outlook.com (2603:10a6:800:130::16) To BL3PR11MB6409.namprd11.prod.outlook.com (2603:10b6:208:3b8::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL3PR11MB6409:EE_|SA1PR11MB5897:EE_ X-MS-Office365-Filtering-Correlation-Id: 0281df76-30f5-4e38-a5a4-08dd5b1dc442 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|27256017; X-Microsoft-Antispam-Message-Info: =?utf-8?q?DseMKNI8FSfLujQMGtxi79t9nDUtzw5?= =?utf-8?q?zMlUmEX27nrJoFbA9ugBmPKb3noU0xMmQFgLcV61q7DL9YDN9mjrB37uWsGo3TO/M?= =?utf-8?q?qGxwa/bjlHxQ7N7cegcAiL6auHtLDsYnD3b6unVBqCreVk1QH4dv4xHWpEmI/amMg?= =?utf-8?q?i6yt2Gh1BRUzFbP/z1/wcirA1q+dTpH0Kn7d6zayTFcNtJXtlQWzI60DZ+lpALlAx?= =?utf-8?q?LM4V+JWfVPZyqxK7vz33zwFfOFtXEBjU8CeYw+BPkp5BoYviMaEhWJSOPFDJhaCG9?= =?utf-8?q?HZ+wgQtceLuHX3UOBs9oj1HArZiodgNijre4er0ERfVBL4u6eKkhEYzsLvCig/M0m?= =?utf-8?q?v0qPxDikCX1T06wNnEJikE6183qjDnYgiw/jxwSs2MiU9QzX53gl6ol5JveMgnY0a?= =?utf-8?q?0z1Y79fXzGyckyLRESSGsP+q7RBjJnKMaC3nQtYOdTFHaWyPudWgeN1IVoz3ayEXa?= =?utf-8?q?dA3tIP1PyEHZ4X17PD412EojBmxboj82HW9PaCJc273kOn05Tylc9X3+a4px9SZlu?= =?utf-8?q?UTMWVTlXC1bXFPS0RpSs/LgkNEmFF7sNzdGNAWq0Irj3Fa9StF/FaUZZAXxYLw0PL?= =?utf-8?q?ASrH9hKY8ALyMsWgRL84kPtadaQRLyDrB8qmYWFn4zR3SIM+/JB6t8mChRV8VPYdH?= =?utf-8?q?c25iJhsQuXz7YfuYqBJNHqVmZidRbG48x0p1dOQTYEMG4aB+0/nLowBgvN0kSlHLX?= =?utf-8?q?ns296oTKhZUEXBpvZGZYRP3BL8qFk1SbLTYXQ7sqDrasqyHCmTgQdiENQZiLTFekv?= =?utf-8?q?PTLzN7mxWFoq80zT4HOnuPy4BKULXyRQe2ysGHJZgDnm5IRYKm0egmfHtjJyZv/YC?= =?utf-8?q?B/vq+SxIyzBnG8agXZ+xp3S2Odx2L3ihdUn314cy1awxpbenpdUr1yRw7d7HFLlCG?= =?utf-8?q?hNAMRbEuNunbCzErxJmDM9luG7i9ZdtG6miKBeOgT3Qr71lQhTm3KY9RT06bYiU4z?= =?utf-8?q?GYfQqenYn6gjm9gGsHNxeDd0GwRMqG+kKzr4sPkP5rQ/88jyw9GKCCHek+Q05raCS?= =?utf-8?q?71ZIF/1AqMsNpKIxXmXQcFqE9XzdtAwi0OFDN6JNMY/+7dS4CvAJqi1jAPd0prVvv?= =?utf-8?q?oiVmC5rZKedYJqJZ3HB7GqicmYPrPtA1zWiL5YiWOojGnhlmOFjgiIfUIlZEGjm3H?= =?utf-8?q?wDJWQZM1rcDy8wptafjkgk1TxThH5gHM85wHysuGWDIrC4JlzlYqEVmM8IgaAvkTL?= =?utf-8?q?vJ295skoww84jIWqsGLHHIYCBSq/S7kQAyFuQIZjM+ulYFFvRYFlqOLz2umusb3fn?= =?utf-8?q?P+h4W1rk4izIBRgkGkLdlWcwAakSJC4LnpHZaki3+kFFhjoDT6xOX4j/ENiZnyIQO?= =?utf-8?q?yR5cdNYZtq5SHlI5tdFqBRXwoTB9NsPNohfedO+eVb0mEygBNXyV4Ag=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL3PR11MB6409.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(27256017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?DpRiiDrBt52/WkznSQymHR1X+Qbz?= =?utf-8?q?QxMmfzyk36db6tphcATt/PZqeePW4Oo42+aHwJcKbJCAooUMsIYyvWob2sEkfTfz5?= =?utf-8?q?VVRVOcFBh6XaBaZzxy7gpFFk9Rymwtyn0lDAO2kwkZ1ACzHysZ8yqESlpGVNUt6V7?= =?utf-8?q?DupUFkes90MSgY1cMqa+zr9b9j9RZ/GgmxXXvQ0qISCqJwJXfBKS/vxCdfO29Je+T?= =?utf-8?q?xP8EhYjyFM0mbsF90vPFkMulxZp0ZjZ6MDE9yVCg/n89dp0HFkWkcYPw1LyeKjT7A?= =?utf-8?q?tJOmtpQOkcYUfnKm329NkU9x3p6/2Pf5+QHC84EjDMiFHPoyFUBuZ1c37m+j7PHMj?= =?utf-8?q?vIGAT4itociaGNbBeU+av6esqOLD4FCmIKVnsPROZyQ57ZATOLnmbm536fnBFPqI5?= =?utf-8?q?DaZhW82FAyWwdClBiT5e2oIK74lGaaO9C3jq6egE/GQDiYlYPObmD7PwHYNDUoHyd?= =?utf-8?q?JqJnu3fh+Yv83i0S16ErHFN/YYDnEj5fJrlw61mOH41CXH9NCdmcYNYmGGD4nhYft?= =?utf-8?q?LdRzl2zcNzEGjYQV3XOloCYdvrskx5oVC3ck2eeiO6yf+cd/QaJBJC1SoZlqbTzCZ?= =?utf-8?q?kqp/G4SAmIj0w0eDRItO95fEHqA3hqeib1sNdZGon6x+UvwuAaLhRlhxWD2B5uweM?= =?utf-8?q?xy23xrEBhzQltoYSaaASAXeDm6DlILqyxHazYOoRUJj3UCpcWH9vaOYgKJ272xVDh?= =?utf-8?q?3XDje/EifzERICJntMFHF8wsuexOekNRMLOab2jJLjBO0JC68Oj2cCbEQ0/iJM3j4?= =?utf-8?q?Gfz4bQ9mRPq2vkyBGc2l9v22eiufCTE68b4Ggo85f2wx90G12DgU43lJe+F5stVdz?= =?utf-8?q?Fb2C716vgcyT1qZy5N6SEAdEg33BgnKsPgH1JotFLNxRRAupajRLP5SUZMIAb2Pm8?= =?utf-8?q?xKqt/dE7Ur2ywq6Mc4N0PlozmQv7PXtvx0IQ8M3ncM5Hu8d9GRTGEnq+B6algCnJH?= =?utf-8?q?nEnIoa/qKtfBSfVynJKO1WScO5PBFcu8hGIRiKPrBJiqjUnGLFRchSu2u6Up6l3pD?= =?utf-8?q?c7QLS3ycCH0L+u5cSGlEGW94lpcIrTMG/m/ETTGWTUF17e54m4D2FPvV1Alx5pNM9?= =?utf-8?q?pH3sjHCvfAddvhFTtFRhBLjpVy+3m0eBxv5FA3t+n/HAhRFz8gT3HQCP5jGyM80Ei?= =?utf-8?q?Vckl6dQyU0UWkYN3BgDp5g56631gPQFtv/IgXz+GGZCslVxpu3h/1EzBueyk//v4h?= =?utf-8?q?nSCeKKMEwcbOf09u1DgwBNn96xdrWrobO8HzArfrUkwj5SuKQgdJ4pyd/Ko5gxA39?= =?utf-8?q?+yuxJud6XqAci3qTg1vBWx9VO6cdPAdIwMySWBmCYtkI39FahRnQj2qCIsBBKzoKj?= =?utf-8?q?nP2LgsyKRkhrSr7hJnrBU+z4lCLnyuw1HREytWm6kTxp5o7J4nghfGxvR6HuA/bTD?= =?utf-8?q?3kqvzkU1SeFOzw/D5xYAiI+zYL5DezPoVdjIQlbQaALawmT3kxgfjjP/MVgkgIyql?= =?utf-8?q?AWCsV74qfPe96QnZ8y3o9i1uI21oEW5VnE5npjNd2rwX45e3MWxeWNcrvyXIWCKHa?= =?utf-8?q?CT4jO8aP56YiaX+DQ/25BC6MbHrpj6YRqg=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 0281df76-30f5-4e38-a5a4-08dd5b1dc442 X-MS-Exchange-CrossTenant-AuthSource: BL3PR11MB6409.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 13:09:16.2610 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eCwY+bUzm2U/KOPxqpJu9Qcn1Zrsr5qq+VuCTEs8/7jrDLQvzmLavDNgM9acVpDuYJKRXVFUNwlAkdzgHxhqTo9wpbvw0ppGfXNf8yZyJz4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB5897 X-OriginatorOrg: intel.com 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 test exposes bug in tigerlake hardware which prevents it from succeeding. Since the tested feature is only available on bugged hardware and we won't support any new hardware, this test is obsolete and should be removed. Signed-off-by: Mikolaj Wasiak --- drivers/gpu/drm/i915/gt/selftest_lrc.c | 215 ------------------------- 1 file changed, 215 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c index 22e750108c5f..aa9b8af61ba6 100644 --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c @@ -105,32 +105,6 @@ static int emit_semaphore_signal(struct intel_context *ce, void *slot) return 0; } -static int context_flush(struct intel_context *ce, long timeout) -{ - struct i915_request *rq; - struct dma_fence *fence; - int err = 0; - - rq = intel_engine_create_kernel_request(ce->engine); - if (IS_ERR(rq)) - return PTR_ERR(rq); - - fence = i915_active_fence_get(&ce->timeline->last_request); - if (fence) { - i915_request_await_dma_fence(rq, fence); - dma_fence_put(fence); - } - - rq = i915_request_get(rq); - i915_request_add(rq); - if (i915_request_wait(rq, 0, timeout) < 0) - err = -ETIME; - i915_request_put(rq); - - rmb(); /* We know the request is written, make sure all state is too! */ - return err; -} - static int get_lri_mask(struct intel_engine_cs *engine, u32 lri) { if ((lri & MI_LRI_LRM_CS_MMIO) == 0) @@ -733,194 +707,6 @@ static int live_lrc_gpr(void *arg) return err; } -static struct i915_request * -create_timestamp(struct intel_context *ce, void *slot, int idx) -{ - const u32 offset = - i915_ggtt_offset(ce->engine->status_page.vma) + - offset_in_page(slot); - struct i915_request *rq; - u32 *cs; - int err; - - rq = intel_context_create_request(ce); - if (IS_ERR(rq)) - return rq; - - cs = intel_ring_begin(rq, 10); - if (IS_ERR(cs)) { - err = PTR_ERR(cs); - goto err; - } - - *cs++ = MI_ARB_ON_OFF | MI_ARB_ENABLE; - *cs++ = MI_NOOP; - - *cs++ = MI_SEMAPHORE_WAIT | - MI_SEMAPHORE_GLOBAL_GTT | - MI_SEMAPHORE_POLL | - MI_SEMAPHORE_SAD_NEQ_SDD; - *cs++ = 0; - *cs++ = offset; - *cs++ = 0; - - *cs++ = MI_STORE_REGISTER_MEM_GEN8 | MI_USE_GGTT; - *cs++ = i915_mmio_reg_offset(RING_CTX_TIMESTAMP(rq->engine->mmio_base)); - *cs++ = offset + idx * sizeof(u32); - *cs++ = 0; - - intel_ring_advance(rq, cs); - - err = 0; -err: - i915_request_get(rq); - i915_request_add(rq); - if (err) { - i915_request_put(rq); - return ERR_PTR(err); - } - - return rq; -} - -struct lrc_timestamp { - struct intel_engine_cs *engine; - struct intel_context *ce[2]; - u32 poison; -}; - -static bool timestamp_advanced(u32 start, u32 end) -{ - return (s32)(end - start) > 0; -} - -static int __lrc_timestamp(const struct lrc_timestamp *arg, bool preempt) -{ - u32 *slot = memset32(arg->engine->status_page.addr + 1000, 0, 4); - struct i915_request *rq; - u32 timestamp; - int err = 0; - - arg->ce[0]->lrc_reg_state[CTX_TIMESTAMP] = arg->poison; - rq = create_timestamp(arg->ce[0], slot, 1); - if (IS_ERR(rq)) - return PTR_ERR(rq); - - err = wait_for_submit(rq->engine, rq, HZ / 2); - if (err) - goto err; - - if (preempt) { - arg->ce[1]->lrc_reg_state[CTX_TIMESTAMP] = 0xdeadbeef; - err = emit_semaphore_signal(arg->ce[1], slot); - if (err) - goto err; - } else { - slot[0] = 1; - wmb(); - } - - /* And wait for switch to kernel (to save our context to memory) */ - err = context_flush(arg->ce[0], HZ / 2); - if (err) - goto err; - - if (!timestamp_advanced(arg->poison, slot[1])) { - pr_err("%s(%s): invalid timestamp on restore, context:%x, request:%x\n", - arg->engine->name, preempt ? "preempt" : "simple", - arg->poison, slot[1]); - err = -EINVAL; - } - - timestamp = READ_ONCE(arg->ce[0]->lrc_reg_state[CTX_TIMESTAMP]); - if (!timestamp_advanced(slot[1], timestamp)) { - pr_err("%s(%s): invalid timestamp on save, request:%x, context:%x\n", - arg->engine->name, preempt ? "preempt" : "simple", - slot[1], timestamp); - err = -EINVAL; - } - -err: - memset32(slot, -1, 4); - i915_request_put(rq); - return err; -} - -static int live_lrc_timestamp(void *arg) -{ - struct lrc_timestamp data = {}; - struct intel_gt *gt = arg; - enum intel_engine_id id; - const u32 poison[] = { - 0, - S32_MAX, - (u32)S32_MAX + 1, - U32_MAX, - }; - - /* - * We want to verify that the timestamp is saved and restore across - * context switches and is monotonic. - * - * So we do this with a little bit of LRC poisoning to check various - * boundary conditions, and see what happens if we preempt the context - * with a second request (carrying more poison into the timestamp). - */ - - for_each_engine(data.engine, gt, id) { - int i, err = 0; - - st_engine_heartbeat_disable(data.engine); - - for (i = 0; i < ARRAY_SIZE(data.ce); i++) { - struct intel_context *tmp; - - tmp = intel_context_create(data.engine); - if (IS_ERR(tmp)) { - err = PTR_ERR(tmp); - goto err; - } - - err = intel_context_pin(tmp); - if (err) { - intel_context_put(tmp); - goto err; - } - - data.ce[i] = tmp; - } - - for (i = 0; i < ARRAY_SIZE(poison); i++) { - data.poison = poison[i]; - - err = __lrc_timestamp(&data, false); - if (err) - break; - - err = __lrc_timestamp(&data, true); - if (err) - break; - } - -err: - st_engine_heartbeat_enable(data.engine); - for (i = 0; i < ARRAY_SIZE(data.ce); i++) { - if (!data.ce[i]) - break; - - intel_context_unpin(data.ce[i]); - intel_context_put(data.ce[i]); - } - - if (igt_flush_test(gt->i915)) - err = -EIO; - if (err) - return err; - } - - return 0; -} - static struct i915_vma * create_user_vma(struct i915_address_space *vm, unsigned long size) { @@ -1971,7 +1757,6 @@ int intel_lrc_live_selftests(struct drm_i915_private *i915) SUBTEST(live_lrc_state), SUBTEST(live_lrc_gpr), SUBTEST(live_lrc_isolation), - SUBTEST(live_lrc_timestamp), SUBTEST(live_lrc_garbage), SUBTEST(live_pphwsp_runtime), SUBTEST(live_lrc_indirect_ctx_bb),