From patchwork Thu Mar 14 14:10:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592468 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 60795C54E67 for ; Thu, 14 Mar 2024 14:10:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B32C510FB78; Thu, 14 Mar 2024 14:10:36 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="S2dt0QQQ"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9CA3510F91B; Thu, 14 Mar 2024 14:10:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425435; x=1741961435; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=1/ed0vB0oTZwRO7T2CLNMqd3OquAweHNu0LmXwme3Hw=; b=S2dt0QQQ9qUKwHSyVUYeZrVjedk+JoXGhs9sH6KtOkUFTWtbakkZEKzT eYPUv85yaTOlgvkCnS3fP3KsyWYc10oVqnFyS2KAZbfYxbX/g82HpSr1y ghFGzA2vNCLP8MyCVXi647yWICLx6SZnugrWSTHNHX3/2x+D9TRI+osPe NpRtXFAbo1gyUQaJje75SqWX725HTz29lGtqvMG2tDsRiduDeClnVt08E yY9eZh3UFoRCQVGviwmz2TSGZJxPmhqUarQrXzsSQUwuVxduIrwUDm7CU N7bMzmpyOTRceG4JQnZWIkuGRglXUhRsGhIrRDAMXT6eRQwgIymJ8Uhac A==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="5426844" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="5426844" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12229927" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa009.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:33 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:33 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:32 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:32 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XwgLR67pyu7UV3IHXHMMaGMK99SnDt6nDtmjemu07kk6E4GVCPQUXqjPtmhJxSGTxthJir8Ns9I7GQM3xKxhpFRl4SI36uZKnXf0+Ey27/cu/wEZoowGPrNVes7GSuPf6HuxwFLYn9cD2Aiq4l7YYqkRcHpVKOBgnLJEHoFdcM1MX0FE+oraIhIzK6nGOtN4l2D7CQ44aRXIR4dlb3dU2mwpWp7ELVN7FjDYzeLr6weO7ItrXUV6wcvYy8hTT3f84i87O2kLbt5imWCPhyUr5QMmDVn5B6XPTd3p0wiIvF3Ca6IFcYHwUNz62H0W0ZFwVBh4auWlFbDxO7fwWJtrkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=c74OYXJNyS3r64HwRhDwjnoKM0T3gmKNp4WkgImZDvc=; b=lMJxUQ20CjTMTEwDXXYmvlzfN0cU3vZ3fsLZZLFFM0BgJu8rlOQhp/QYrFMp3YY8AlD3F9IN1BqTqO0cwcakIyGpcP8N6eKW2ELj5C99TXqLUGR5/jyjuoFSWG0VAR+VPohq8HNYHwKtBFDBzsslpr0BahJjFKzS+9maXtv7F8UDit+ocYtMApCGtV7ZqUYljCgLjMSePYyCRoQw1FLP5wSDEvT6ibvKvNM50Sw++bUj1zoeZKcFyymbTLrkJ40G4QzkwZ3xUvP1Ku/faX7bvf18nhEdWouYNJMr+KbV41DwkSgNRUdBEySgjltSCC3Dj2CEHGjOv1JtwItY1V2OIQ== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:30 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:29 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 01/11] drm/xe: Introduce xe_pm_runtime_get_noresume for inner callers Date: Thu, 14 Mar 2024 10:10:11 -0400 Message-ID: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 X-ClientProxiedBy: BY3PR10CA0020.namprd10.prod.outlook.com (2603:10b6:a03:255::25) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: ac798ec6-5822-4ba5-dd72-08dc4430812f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: edUFwpTLJHbIRJ3vc+u5ZDMB2OU5i1tXRzhP6+kdt89qsO9Dj5Fct4MHtm/TBUqSJWLK3rLMB2AyYlB9Gw78fjaQBGT0TrwfoPsLOedODg+7hmjVNqUatAbCILnuz2srHh37EeQW6651He4KjUkqNflz8Chd2eo1POVnUyZxPPgRn91dI87i6rwd/X41cVHE5sKs4/UwpXf+pyQxnN6+IdwNZjdkHBBRMCtS7qUMTZ56FwucdJXFCcFo1MkMklYOtXGLpt+5/6J4xgEm2c9IFZ3TgOnvr7l5hEBGzoQpvG+fXhG8+X4NrzWkQNuN6Fil+JROptVNFBIX64GBDo69uw+OOK/gYeBSlBa+mq9vx4EN+9Fk9NoYqkkRDIlhIy1/13NXIcR6fnuhjfZDLxn1zdQH6jUMMb4bvzpDAEBYBlWedQOc2g6F6suEJObeBsgIpWvUA5OabTFQxk+xyOCZg9wic9F6SZt+QxNp15whus+CJ1nlaa7Uh0u4hXb0MhZjPRDVYRCwda0o/8arMHft0qU1Tl7pSSwNfcQjuMZlbrGYoxCLMn3qGX4i6oEvlyrLhTJZffvJ9qwgoD/pEGhapPOnIkSKBrjp3kr1mcvlyZ1sJsLcEBRR0kRmuwMCMGCtcSdsAIGWRUvJXYZad05yh6rtftc8rPdUQWqZ/0uEXWo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: b+Gyoj43hpaA9FEP95Wv5RLU1QgiU/yX4k8bGdguTVzT+2sMoqNTAIIr+glP4dMHXuzc30sLEU/mqOl9dqNk7wwlhzY+I09/Do65XTHyy4IKHIM8fEvXCMb1+M+kQMpmH4sCsDQ7f6cWJaMAmyZ/b2lsp5+nRdHa507oWa2guOuiytUEN4xLaQNwINRr9kpK5izf9gMgMJEC/3sH+HEBz5ckoNq2oHwXGnXPzxe1gfrIZUXtjbS1xyCBmMFauWAbdoqcjcVJRHTOLIs8gq/OZKkBSoTR4+SXbB4HBo09wR4RBzFyS0gcJQOdHsblqv1dM6+CnFOHDqubPO8Gks9sNxH9kW0U0YmAXwjev+zu4chg/LyR+wjJyeBZmtA7vKEkHMAhBzw99Qf+t/J6eW7bqaOcRQIhd99OfjWIHqVWfUin7NKkwXhee1v1lTo9nVK8ytp9K53MnViZOIhATCa2sMdTs+s2huEX2IdgzzodwEJbet2Xp0JW9+17AM3X7PhI2dpj2oKmzsjY6tiHylceidXDauG3AClJvVa6/1jO7tDx1erAyx7mDj890pLaXcencj0PTo5kNiWEEDGJtDgcPp/99zamgJtGoX3ZyG+uCWoTElzbGTD6vMLgbrlKO85RyVDH+FD635P7haT4DYG3jS4uCcelbfAwGEQ1y84GPpdGjcrXYGXv99EAA/kRBE0sh13Bc6bda2svSD6//I7KPfMfLAmRAAooSCYHEarh3M5v0myBlaj9O3/EI7t1jJVM3Kr3G8XNAAzDEI8u7wPyDxX+3TsGUkebZOfNksATq0Z5yHZ+0VzJF1MzpEuDAJ6dFABcND4Chck53W4qz8rv2KadMQqnvjvKfsO+xARFpKPc5TrItuCIJYDH+bZIeiHfUeMOMnqLgyUyqwKd/J52pmOe43gqMfetgtFUQ4RU8iSVw0o0DfG2bC4mYmMl5GyLw7ThE+aO5uFvuc3YvRSQAqfu8K5kpA6JtGTXGIbc10vzhAmSIrjhj6vVWwLo2i56w2QCcSsJ0qe6i2OJTtf5dWaP/EODD6jDpwP3VngjrItb04QFlioCYmHvcZ/NFdlvYzBeZi3EWqtYRuRFe/ZSbUnMNzRS+UXS7tnfn/3IwcZraOqP5Pf5GkAZENQaseZPOcTnLldGND4PBfOFDzAE/VI1PleYPJFuK0lwIn7LKO+P5KRI4Fsl7IdblsvjzegZ/BWDO+gaRsmrcMaRxZyU5DUBj9e5O9UR4j32Uyaz74f8iqYszWjjhUWbT3McAOVygM0yBTo62dcVnW7siWJQ/2DzEjEJef6DKagEjG7Wq00NDIA2f2F8I+mw+cQ6IBdG3FbEaQcIUf3Ink2+2RixMxDtaZe/ZwWTyMFFnriBJbhxhE8Sl9kk9c7EhdyUHsXm/UuqcCAMuz8HrLjyY4oIlr3Ah+SkAkYDOR9ozNLpJBdIff8z12iVUeFCgpiNHHrlDZ/kcQFoDf7uTZwa4ZhWGkwosHd3eQ10RXOKLwNNZOiLNOKiMj2IIoAsfpWO+qJsO0k2zhdGQ3RncLWg6xnlIzUg3L3BhiaE1hgMlQjgt0VpU0oKoUt15o7V6rLF2gvo X-MS-Exchange-CrossTenant-Network-Message-Id: ac798ec6-5822-4ba5-dd72-08dc4430812f X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:29.9029 (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: E/jZfhYxyD/+ubpAx/VJaFyr3RTtyyr4SMarCpFMYiLYQDuHiwUQA1CpNQe1QWj3wx/CiKmJc1p5YKdc1TjlSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" Let's ensure that we have an option for inner callers that will raise WARN if device is not active and not protected by outer callers. Make this also a void function forcing every caller to unconditionally put the reference back afterwards. This will be very important for cases where we want to hold the reference before scheduling a work in a queue. Then the work job will be responsible for putting it back. While at this, already convert a case from mem_access_ongoing where it is not checking for the reference and put it back, what would cause the underflow. v2: Fix identation. Reviewed-by: Matthew Auld Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/xe_exec_queue.c | 2 +- drivers/gpu/drm/xe/xe_pm.c | 20 ++++++++++++++++++++ drivers/gpu/drm/xe/xe_pm.h | 1 + 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c index 6a83bc57826a..f69a9c99329c 100644 --- a/drivers/gpu/drm/xe/xe_exec_queue.c +++ b/drivers/gpu/drm/xe/xe_exec_queue.c @@ -128,7 +128,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q) * already grabbed the rpm ref outside any sensitive locks. */ if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm)) - drm_WARN_ON(&xe->drm, !xe_device_mem_access_get_if_ongoing(xe)); + xe_pm_runtime_get_noresume(xe); return 0; diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c index 9fbb6f6c598a..2e1362cf8deb 100644 --- a/drivers/gpu/drm/xe/xe_pm.c +++ b/drivers/gpu/drm/xe/xe_pm.c @@ -477,6 +477,26 @@ bool xe_pm_runtime_get_if_in_use(struct xe_device *xe) return pm_runtime_get_if_in_use(xe->drm.dev) > 0; } +/** + * xe_pm_runtime_get_noresume - Bump runtime PM usage counter without resuming + * @xe: xe device instance + * + * This function should be used in inner places where it is surely already + * protected by outer-bound callers of `xe_pm_runtime_get`. + * It will warn if not protected. + * The reference should be put back after this function regardless, since it + * will always bump the usage counter, regardless. + */ +void xe_pm_runtime_get_noresume(struct xe_device *xe) +{ + bool ref; + + ref = xe_pm_runtime_get_if_in_use(xe); + + if (drm_WARN(&xe->drm, !ref, "Missing outer runtime PM protection\n")) + pm_runtime_get_noresume(xe->drm.dev); +} + /** * xe_pm_runtime_resume_and_get - Resume, then get a runtime_pm ref if awake. * @xe: xe device instance diff --git a/drivers/gpu/drm/xe/xe_pm.h b/drivers/gpu/drm/xe/xe_pm.h index 0cb38ca244fe..119b630ad1d1 100644 --- a/drivers/gpu/drm/xe/xe_pm.h +++ b/drivers/gpu/drm/xe/xe_pm.h @@ -31,6 +31,7 @@ int xe_pm_runtime_get_ioctl(struct xe_device *xe); void xe_pm_runtime_put(struct xe_device *xe); int xe_pm_runtime_get_if_active(struct xe_device *xe); bool xe_pm_runtime_get_if_in_use(struct xe_device *xe); +void xe_pm_runtime_get_noresume(struct xe_device *xe); bool xe_pm_runtime_resume_and_get(struct xe_device *xe); void xe_pm_assert_unbounded_bridge(struct xe_device *xe); int xe_pm_set_vram_threshold(struct xe_device *xe, u32 threshold); From patchwork Thu Mar 14 14:10:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592469 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 80018C54E68 for ; Thu, 14 Mar 2024 14:10:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BD64610FB7A; Thu, 14 Mar 2024 14:10:38 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="WyoiRKl2"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE9C310FB7A; Thu, 14 Mar 2024 14:10:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425438; x=1741961438; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=tEeSxNf62cFhm8ja2zZJfZDOk5pdbZDczx9DHVHtdZs=; b=WyoiRKl2x5Jd7QgGGNEAOP3IqlDeyPoj4G8qa3J4Gqh6iv5FMX+WrMv0 deV9J20pgpFsrdC8V9gIa0kwgTXVO+LfmKCKx/fFZ0falidKkKFddmsX2 1cNUDG7ZWzPnm3NAN0ZprrMpgtX6jLizSus2j6va9tQ7RIyT+bjlAp3Pm lZMeeo51qKCJiZ+XKiAopZwvHxKYg79RddNcVRybztmtiOPi0RYv0dx+I GxjrUmF72p9doXv05zywSFeeHDqxrUA3nvfsjBFAsbFmGDT5FnxExabys gwETQqTh8RxNg7XgryGbX2HePWI58zVs7z+HJJGQIiw8P3U+0W2pha4JH w==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="8182580" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="8182580" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12369223" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:37 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:36 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:36 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:36 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B8lH65G3D2DvXgiSffJ3q29W2fMUoQulgOq/JXLozuaWxtLbEAQYZXwn8FZoln5vm9u5aKh0YG4rPJNr65Gm0ap+QSuqWxXXYiLG6jXc9/p/RpcYXDi5iFNb+F1Bvwom0lLxvzIrHMVBmhW17dgnYH1mO0ZArwxLaAar3aDbqe3XKNRVpEVfsuJCkFlez5whxMyCbho4bPmd6u9PMQRWMv3decYIeB79osK6xWp/kwQv4yvKDxg+aIsOnJDF/MWlMZ1SYlQMxHisBqG6QfBW4F7EZuHOWtPTUteSu/TAmS09LEx+8Tov9OqU1XKSD8FfsyxRC/WHvDPv1U0PIjwJJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=nBfxABmQaBuz1WHyaPgVPPr1LUtBntvvGcqXee1LPeM=; b=Ddpp81cpuRxQtQ9kAkqmnoD+REKhXdN+0PDDWlFE9hEieTyfjqzN1nvwC7f83vb8HhJ5rJtIaMbr70Z6gfacWQeGjnq+Qd3Dd8RuIIRo7xGUpYkVwjw1sY/4uyZEr8H1WgOT0VD9m1/qnLnIgAQH8LCXYWBXa99oxbOBFA0LvNq4RtQorUEQdEd64CFIaIFzLLB9xF9HpZV7a7QcnXVLAOC/z1faq71/0lF+QPB4E5UQ2tWydfBEgg9JcRFnAAdyet5j+8isFVIFJn9X4n9Svm/0qMYafrkMuM1wk/MToAdYfsogXG5D1pH8o1Rahr7EuVG4TkGL37nORVKPS7tL/Q== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:33 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:33 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi Subject: [PATCH 02/11] drm/xe: Introduce intel_runtime_pm_get_noresume at compat-i915-headers for display Date: Thu, 14 Mar 2024 10:10:12 -0400 Message-ID: <20240314141021.161009-2-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: SJ0PR03CA0184.namprd03.prod.outlook.com (2603:10b6:a03:2ef::9) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 79559ff3-9ee3-43dd-8eb3-08dc44308323 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dhLWNl5JCLFYiv1xO1DimTorxLxfrJcPgHPJw1eDJGBKcyS8ooknitC4bJ6F3IuVWwWnx/s6dlO0rjJ5aGHMyR83QICtkYz4NELfaB5ich4APXu5i1cJ/5dimOC1iUUFAwe3FCsPlREd6txvmYzHTS35Wa2fX4wF3Xo+uG9j78Z0Ctsje3QtZdxHddlqLqhw30616DtAWbYmxe4T15jtW69tGWNiHzEa6bQk98wHpZICFYU78hnSUcS9QSHVhuOpBVpeS8kgTTF1jy4anPriUrVGs51t04+bFRUWuYiMcbtHI8mr7MMiUk9bteKZHoQlSjyXTIgP8OTVHElhpSQFKEcs3UGMyc6gWgjhZvOvWQZoKIDGtp0w3t/aw4+/3QltnpQ/AFeZficBQzc+EU7pPoZOSR20EA+VUU6rnZXEXHqTy9uqswGEEnMepRadLHNJZlkZS9SQFm6WKTnCMHLPGFPgvCVR1veqElHpAi2qFjKYrL0sa2Znj/Bf704VqM9vUsIH1sZhZXewrCD37eJO8qWDXYaMSqVl0qxK/HbFmWTC0KAM7Q1OID3+VvdvIUu6eqjg9HjtlJMT1oCRHm34gcsJWjIOl8j9Sp5fvMrp4cTjIOJa906BEYC+kDpwDfVLdBrK3pEGAYxMIx4x6eB9CxE/zzkZFeRXrcu/rzE++e8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cgEBEJf4RNMxgtOZqFotkG9fAgQZWpKXstcOHi+kAPGtcjg7z4kUd/9EjGxq4TCeClZ5dJlEqx0impkkddzrp03DacIiUrAgDJQm/IqYpBpOWzIDyoghXhx3G5sLDsnJKNnox5bqy17wGcU0L47u6sHuVKCg5nKrAbT0v92eNw76EG12eF0okG0r79DSeV3E88/CK6KD/8CrO4U97QbRijdk0V6RNrtJMvxT6junc+5jqEiFUvYq0vussVZ4FemW+WlglUspExSKfikwlLzUOt+U56F9eKU3t+6kgsgdQKRlU/ijv8TV48HX3wZe37O/HhJecsBEmVevDyKq0OI/WORFp9g4MpyRXlKEtaUmG7eCS0Kew6XdiZeTgi383XzTp3FP/JEH34or06S3WgnlCJdx6MwPdU97RS0eNZ2VAvVv0Y3jAXIEA6Xoo3zxjCRHyb6dUKU2mRyEAN2DwQ6JzWezOBji8f8iEwfcSPECevsw4XprPsORIRZbe4qDrUPxcRBOUTMrOBpSLdsusVsjqU5QHQ69mUU2xCw43oq5NvtqhmEKM5v+RivhKz69yr+8MS6z9cFXJdYnu8CVem0SgKLL9o+qmE89FYTQ0i3ciZpzvB9skTAbRll3WZURunhqryE5iS1dNKVvsz79wOV6ecIPlRGixzVebjJ2fmaXaOq/+RNX52d5gpK+7GgEd6oMr0vCdwJhNqHjoT7F1//qSX2p0UMhHQb1G6P7RLhgbZ2aXUQP9gLsT6I/f7CnDHIC3+2gNXwCM5weRabxS4Kskm1rJqO0/q7n0uslv7Ds5lMaPSHrgMYGbLAVgVwEnCDxFYPo/VZoAUaUm1xS08gb5qdY8BGcqiV+p/v8ql9meJLljqY1z04sFipy9QmzJk5iv8B5rHq2HBacyXiFp12VXuMoKRmdJ+iLH2qOZu6rvWZytEjzPovA/1rgd0pzRTp139VBnivSYp3qLIBV25/px60oDIV1dcfOSsxbtn9RZwr1KRnk3ViBxzsyFKPnpHvVcNv5u7EFHl+shK4XTQlC/4ApfRHsTuNc6d+odnxLidcq+5D9Jp3fObgl9wKVrxY884WMlbUuKGH+njA8TGlLUC3CPfv/I6lSA0QYUrOpJejzF949N9OOsr/jA+cZ1HFYufctELceR8zfgAwHvmEgcko1N2/eto7ipeuH9TE7F5E50DgT6Zyafr2O/38O7+VEMVe8MR6RgkMjCXxgf54/vABk3SIjXWK4c83Hd4eNsArxgxmwC4PtzdrQgovmGitmd5gaLO4JrsGxLtz6OV7gUmO7XyCRYRTa0HnPaqhXPA++JDzDrM08/xp/XFNGJIemmwOEq4WKIzNDP1q+Z1Dq4bIa9No/fMAPD2nwQLZ+3DK+FZwEwH6xDnCEoL03GAWCp2d8juoYWzSuOSOqlZ/zk/lMQyRueGi41HTlyf7bIf+SJ1NXIj7Z1aMTBuk5Z+Xm917UBgV+VVRbPXYTSNhhCwWq34o8SFw81FMcm4NsDdGLTzCzOpWBw3owAb+qhuarVaK/Bi5obtELzQBVnU7erIMH4T7FmYkZ0aKUT+d+ADQ7Gp6yoXQh1jN1oIqGuGZh7JRWHX1LCuK/MWXxnWGSfg== X-MS-Exchange-CrossTenant-Network-Message-Id: 79559ff3-9ee3-43dd-8eb3-08dc44308323 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:33.3979 (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: L8b/sJdGOGiA4ThVGWOtWJBB7zFSRRmNIpxXuaSuVJYu1iT0FESssaZ4nwVdE6Y+8T1JPSDUd+ANcmS7/cK6NA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" The i915-display will start using the intel_runtime_pm_noresume. So we need to add the compat header before it. Signed-off-by: Rodrigo Vivi Reviewed-by: Francois Dugast --- drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h index fef969112b1d..ecaaef3df4bf 100644 --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h @@ -176,6 +176,14 @@ static inline intel_wakeref_t intel_runtime_pm_get_if_in_use(struct xe_runtime_p return xe_pm_runtime_get_if_in_use(xe); } +static inline intel_wakeref_t intel_runtime_pm_get_noresume(struct xe_runtime_pm *pm) +{ + struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm); + + xe_pm_runtime_get_noresume(xe); + return true; +} + static inline void intel_runtime_pm_put_unchecked(struct xe_runtime_pm *pm) { struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm); From patchwork Thu Mar 14 14:10:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592470 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 B5BAFC54E60 for ; Thu, 14 Mar 2024 14:10:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F04610FB87; Thu, 14 Mar 2024 14:10:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="HmEtZkO8"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by gabe.freedesktop.org (Postfix) with ESMTPS id A57B510FB7C; Thu, 14 Mar 2024 14:10:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425445; x=1741961445; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=pvh51CM4dvm8/ILZyE+gMzntt2UD51B1oleZs7ZcJaM=; b=HmEtZkO8bQ0EODHpKANyMTNIT7/72WOxYxnXQXbgpzCTf50+ZLkyKpKA VmOhX+HhV2+PFqr86q9y5LbSp8WGbK+OnoAFrPncBnjxiZUb6cHK3vC5k bfa+Lszh2LY5BFu/4haYaG99yl0pxE41XWXGhK736ShR9z9iLsQPVmg/t opNdLdoIML77LUGlxgEDbvleXdyYYjKNJsN6o7g9L1xUlVjySbFNYZir4 9PPJlB9Nr/+bBgxxDXLEPKozRhvtl0oFQIZv+fEMlqEFvnEJpB/6eUF/k 8ulQWm91OeY0Rq4sQFmeHqcu/Uq13QNi5xSlFRmN6dfU+nAWLFj2/OemG A==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="8182599" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="8182599" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12369282" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:44 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:43 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:42 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:42 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DArgFBDaIJynxTqBnFWgnGsaI467pxn52ktHQK4gjFC1mhj2XLhzfnrUDXDeTWSvjYkmghELfJlokkNAVOtVNvoA8kvOq5u9cdzZkFpFBFc3mZ5yvuGzJWlyE8ACBl2h8XzaMVd5DzMXLLeLu0toeIoWH/vkN7H6Cl6fpUxmveFhdWQuAF4eZp+YfTS+qPoKLpxaPbFyR2PRIvYdN0uZXXa1KS9CTJkD93y5ugFazi0j5P1pg58Jg+rUei/Z+tk/w4HyDSE9G4izibENtuYvvY6H2WJ+1EOWnLHXnXmJThSRZi0i2InevGkMMguk3KSFDxP6jOgnAhzEO+hijkzcyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=TkU9iIsX1CFiehJF2VD0WynPvCJD7NNWHLUhH6KsJw0=; b=gqsRaFu5QtC06Pksq2laJyowpXV5e3TNVz+Gb/41CCYGnoYy2xRbvDIM3h5YWluEZ9W5xkxtaArpE28B947YpeqYOSSVh/IZgUVt9uOvZPizdv2gKW2LzkafNcHHO29qzpZpGIsQzjQzMGO37vHtAjoFAVbQYAM+9QIkWOO/0XM+gabrdhUM8X+dtxR1qXOTZnvPQmxmw1YXIvdu64W251GhlzWf8pDDaHblKoqhKbO/3fmOinQvYagL2xE1fLdoSB1rUjAJ+echV4idOnt9HXOmdgNsbi//3jlOUnxptio+F241IMZOLTdgF0CsyRu8mStCEdQib/4erXcYi3L8bg== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:39 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:37 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= , "Imre Deak" , Matthew Auld Subject: [PATCH 03/11] drm/i915/display: convert inner wakeref get towards get_if_in_use Date: Thu, 14 Mar 2024 10:10:13 -0400 Message-ID: <20240314141021.161009-3-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BY3PR04CA0005.namprd04.prod.outlook.com (2603:10b6:a03:217::10) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: b1f2aad0-4331-4de1-5ef4-08dc443085a2 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oFiP3gCPJHBUZAicoQLcpg0h7IrBNPP3XvieQ/n8pjdX5CR7bujKx0eoqhlO5IH2qaZzEZp15z1mxUMYRB21zSrhA6U78D+YFZK3asMqvgDaVSw26qpoycX6dqiSrYQ4j5U3jMuv3LBvt8qy0hcy4DAyHEvirI8EjwDzR5H8Fiw9zXqRG7Pnr54aUJSPE6rapmaa+ZHa1EMvlJ+Sk47e/+UADKTqEnd9pCAEcHxxu8Gs9TCrZSrrZI4zVEhN8Ltey1uJlHFvEBlrAVZuTwvCbBCaQNf9aabrQXTA0LW8p2n7sLQF5bOXi+zf2FaO1BTZAvDOqadDX7ySw96Ai/YSnt/lRHYDM5ycn4Ub6QoYhWECsVBbHrs5LD44SP3hY8N84jETmqB2UkfNji7ZM5T8ZMknevy6p1d/t7q+hJm0L123IfV9nYMrLaLAeDJwv1kh4GVFAnLzISMie/KgWHxn9UmTBXx6qz2zzbF9SaAx3+ua7Gv3uJhjDUvl45fe5/5gcYI5ReuZjK7S7DHDiAMqi6qjr1sozk4urPZ0AMm1BrhozW5nk/lGuwUWnpDOCoDsRBUjJnjpoVjG0cnNWFkBy9zPO/qTwSiSIIe8vr8q5Obv3vOUSQXtqgCtO5MtRJM8ZiUQf4zcg+qwWmbtrHwNhgoqQruvKOyZE1wyhS2FxMs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?PrzqxTBufAOiCrXiaiG+2EXJ1odd?= =?utf-8?q?JTQtpUOPkHAQJPQSwCGZMvwW6tch5XE4SRnbCyz4D4TAs8dtEXvGudD4f8P7PSNrH?= =?utf-8?q?nLyhSXFPhU+LqSd6ua5XqDZamuJXcEy4GwE+8ctDPRcHIjPP7/kTV64IkmuM1hgsh?= =?utf-8?q?Zas7S0o38BD3Cw4RlvtE7txii9R4UkBGELJvsw3cnLajWiZFohm0MC+mvhtAAErPk?= =?utf-8?q?mpsGPtgb39mm7tP7qGOyUbKlNECtkcbk0dl8JpIMb3/E2vuEk4nTmNBXyyBsJZg5d?= =?utf-8?q?FYmEisCFtzkx4jJ7/xY/QJG0TVTkwtzIdkEElrURmUnvFH7lJgn0EoyktL6942F6F?= =?utf-8?q?GpH03R1YqspwwhDp+B+EfWbNoL8eb+g+U427UCOaV7EsEAa03oOH4cjpK95t5gxgt?= =?utf-8?q?P0dWkS4lXr+P0db7yFwRXkKjvjncpswyKLyp8qItwLkMJ6ufmxceg/6OAhelR7S6W?= =?utf-8?q?Idu/vvrzntDLgBZgBjT/xGljZfuQY3mcEUirA5BvYfEifjmz2Mff/+tQhr/qWKVr2?= =?utf-8?q?s6RHp4pbCkqLRdWIh/J+Z5WsyPKKZbgBVkTKJO8RYueIWZ01/TXg27kOcXuBFPZ9g?= =?utf-8?q?q4svZg0KzPJA7XWwAcufhNextDZfEiur3nqCwS1Ak3KC2x/E+yy0n30PMcx9fBq5/?= =?utf-8?q?6FXv1PcIXQaBjkKXrPkfjH05rFidHbIx9vjADzt/4hM4GK8dKpPcTzmsZDDHfF1k5?= =?utf-8?q?x23MusATGopCehgQI2965jsvJojVNzNKJEteNZIy/UNzd4lmeYtqQsGQL/erwF1l1?= =?utf-8?q?QDotgCEbGYNVHrACjd/DT/7CQq/172mNwbu6osJsqk59fAoNu+kacKmdl7H57LVU3?= =?utf-8?q?xlV8ScWj7iMiX5x7d954tlHQlGC7ujuKKGxH41sgGLo8m0eVITEAfeSOnjqd7EEJP?= =?utf-8?q?9zVb9cFqWMSXvlnx+Smvsj59ofM/Q4xwgX8s+sbYZ76jjCuE1Xkif54tolCN9foUO?= =?utf-8?q?hjbrAb4JczaoMOhnKKHEX/xrDKt4/yBA6j6t/PRcha/yjK2pmjRIk+8pPntiXHIvH?= =?utf-8?q?QwLaAa84W8UUz1WWe3w0wefrGfYj/TvW4sx9y7DFG2tiT8RlPxcRulwhODwhD6i6J?= =?utf-8?q?qFrQzLMrUMb+iZDx8aEfUV98p70LESgzQu+hwfIC2QbRhXt8opOjGHW2/zCN0ZjVq?= =?utf-8?q?rXaBsOmN/NBQF2j4iBUw0rXDI2u2CFc20BVeOSDq/4V7fxQ2XBCbUHt89P1SCTa1r?= =?utf-8?q?gj4YLFS9K+ECrXkhX/TnQ2bYGA7z9HC4r1E8Zjslf/UTrOewb6tTtuVyIecDm+LII?= =?utf-8?q?Lbv5hmF5qOupTi/ntg8CmpBlIpk/uCeGOfkBISfLQaLoyz3sechN7TFay73zUaIqR?= =?utf-8?q?qw4gn77uXm7ePOFGFziUJVzDCRDxqQJ0giMdOKm3elxtdRa/yGBaxCaO6iriGk6KF?= =?utf-8?q?IrzaQi+g7mpZDHjSlW/k+/OWZOBClF5+q3L6HX65zwo1brmGVBJH/mD5J0V0rw0nU?= =?utf-8?q?QF8bP4Tutp+uIUIA3PCF8lbzgSzWnFXPofoWX1duP4yLDC4ww6yyJ2gTv+GfpPf8v?= =?utf-8?q?U+QqfT+q9Um23oHd/9zaYPgQF8zkRVs9+Q=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: b1f2aad0-4331-4de1-5ef4-08dc443085a2 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:37.3341 (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: B5eo2aIbezQ9C/SOGgktKuxtdr/3f0pxA8JkGKg9Qd1Il/qDyhT0v08KOydc0wkaSFZd53thS8aFqI6aBJ+d/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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 patch brings no functional change. Since at this point of the code we are already asserting a wakeref was held, it means that we are with runtime_pm 'in_use' and in practical terms we are only bumping the pm_runtime usage counter and moving on. However, xe driver has a lockdep annotation that warned us that if a sync resume was actually called at this point, we could have a deadlock because we are inside the power_domains->lock locked area and the resume would call the irq_reset, which would also try to get the power_domains->lock. For this reason, let's convert this call to a safer option and calm lockdep on. v2: use _noresume variant instead of get_in_use (Ville, Imre) Cc: Ville Syrjälä Acked-by: Imre Deak Cc: Matthew Auld Signed-off-by: Rodrigo Vivi Reviewed-by: Francois Dugast --- drivers/gpu/drm/i915/display/intel_display_power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c index 6fd4fa52253a..048943d0a881 100644 --- a/drivers/gpu/drm/i915/display/intel_display_power.c +++ b/drivers/gpu/drm/i915/display/intel_display_power.c @@ -646,7 +646,7 @@ release_async_put_domains(struct i915_power_domains *power_domains, * power well disabling. */ assert_rpm_raw_wakeref_held(rpm); - wakeref = intel_runtime_pm_get(rpm); + wakeref = intel_runtime_pm_get_noresume(rpm); for_each_power_domain(domain, mask) { /* Clear before put, so put's sanity check is happy. */ From patchwork Thu Mar 14 14:10:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592471 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 7B1C0C54E60 for ; Thu, 14 Mar 2024 14:10:49 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E2D0910F91B; Thu, 14 Mar 2024 14:10:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="H4rFP4WG"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by gabe.freedesktop.org (Postfix) with ESMTPS id B219B10FB85; Thu, 14 Mar 2024 14:10:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425446; x=1741961446; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=u5srOVikEvUH9Rx2C+q9Zito8xIOq4nSLicyYzabXS0=; b=H4rFP4WG9DPajZpkha7lK3oQuQbT8UwCkH5Cg1QmM13pDoWW+RiZdQfS 2Tg5ZH3Jh5nKUnQ1apfh410a1gwJEy2sCHUk7RzQ2k7wtw0O1GM6jtncT 7M7qisZJhFWWK3QVB5xJK9aS6hgaseF8GL1omZW3SCaYXgmGt9F/pvDfa QgpTYmW5Mq5RZkHiSYQMu+pdKpVPjS3OMra7DEEiORYF6jxDTyjDcBFSp eq9SNQcSH8Q71isaT3/9yBwLzY8VgEKjd5uOUmxgS+HGE2R39YVRDWRer MGAMPlzMgIJ7u/YXLrXEIXWEdV7l4xu1edaMHOO3Ju0XiLlaQStGW0CDf g==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="30682988" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="30682988" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="16963226" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:44 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:44 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:43 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:43 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GbwmzZ5g7hP/PVRnQTTsFvRsixWemmYhplbrFGXK4sCFugzAkmdeJaDCXKeiRFYTtc7gyczLW6x51i0cOZBfqg4+5lr+Wb86MErsN+7piabHL8nDR9jR1o6bMcR5DCXMnwFFJHpFUQZHunpHnCRUAMF323ugmGFSLyEnFcYxX/7UAql3N3hdzpx0NKrLsHkhcYvx5hP8/4JKUZtJKLyZnD/bNkp59Z0WRCqaXZu7jDdD8BruAigPzcCxdFH9fkwBx/rCp+fmZ/2eIx29PxDMrn9UmO8FNYEqEr10g1oxsh03Ckmu05EwOH8uUB3HLbbeS1j8fWZX/hpbOF6EE6ob5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=f+nnFG4IWsjCsld/fhF0PRIBU4m4xYgNPxEZxEDh6VE=; b=Wnm9qKs9/cXHQ/LDrbcen82hdJ6PFOwK/7qaq5XzGe33V//I9IQnE9h3Ki5mKhflr0kQ9+Lrl4GZYWQ1MhKdsRyQS05O9eDDKEGrkHi0d5FtQswag3kpkwLjgbCIc0FXxG4hF6mARk/33FNOFve6ZFbcKUi1tkLvGoxRqcbJFGf3bcY5TZ/nRSKthvI8vMavd6W49c32GnnJML/TOdFrrhq6ocaf+FKhtYxmILpenjG5sQOVx8InjNh1FN7F9LkwR3F+bnl7pjmZbz5w8l9wcYWO96Oz/w2DeyLoSQ3KHQNYbAycGNtnpX9Nb5NGKX2HY8AhIc6D7PIM9ubUw+TrXw== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:41 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:40 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 04/11] drm/xe: Move lockdep protection from mem_access to xe_pm_runtime Date: Thu, 14 Mar 2024 10:10:14 -0400 Message-ID: <20240314141021.161009-4-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BYAPR08CA0069.namprd08.prod.outlook.com (2603:10b6:a03:117::46) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: a0df7680-f9e9-4599-1cd0-08dc443087a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GQZqflAywx1kL3W4Gqy0SJv11hS+4h585OAm0RolBJXvnCKwfMm71qWEleDlsQeDwq8FZLcRMafJP12MIwac2nZ6d4iE22+IxP5GdZ0IHT6xV36NX+38v2Bi/Dt0tp8rKp/9fAazyskPORT4nJaKN567yo3vCQbATYTyJwgI7gcw6t0yP5OEQhra4kyYSnLBjib8mYWhxc1SaqwXxuQn7mFNvWSnSWd6wR/sE7PCrtz+fqZykpkW86bFO27Tkq0Nf8uI2j7lGPWsb3Ap++lyODToipY+aNk0Jb7RyMifUMV7nKL69HzDBQ60aW+B9fZle7EJ5BGmR3bE//czqRY/V1P7mEIgthpku5fiRdVhOfCZv2FO4qZJjA4gh+VRmSzC9kwg8RkbhAW3KHKcTGvOjCb5sl5jplerSNdUuvCfb+cLwypOTSCjebLXns2x5UCJLBKYnIVG4OpBToG7RjiNa8sAYzZXY2txOgkbx3R5X0Yxtg3AUr48DwRwFddJvky0DWSs3wZtdmV3UYjaoxi5SVZXQ7VoDZRH9BGbppMM6jSBmPOcA89wcyMV2Z1NCc3z4Ponqi/y1QTvCrDxVn9XXNHyzvz5B9PPDI5wE2V01naGfTeGZNtNw6ZaY5IuPEaaCWcUyV9Du0VajxB355Hg5B/tY+MryW422YQqja89Dtw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cAW8hSmniDOI9EIimjP9GHyNxD+ExTuPqjqX7q1K/gYsY0eSB0ECK9kxT8n3p2Tr73JzRqajv9h01BlCPFsxGq5Ey/+JYSkgdPtrquj2YPd57JNiGTyOqCrASToDLRVvGe587JY8bwLFVkovj2myJuAxXR9vzqlmYm4lyWg/T4s26vFFlsHSUzMd+PtYDUfUqFr30gU8NB213MnTrMZ56EsW55MSh5hqAgLEAvEnqIDEs3pkr1oVasxf5p290amoxBRlf5u56623zhD0iPYb37a+ZBYtqdqxsZ1cIcEwZK8IX2+h/QW5r7Nfsx06tGQmZY1Kfy+zWuYZUEGFGyv13e8adfLvQzJfO7eHzTHXMZBp0em+GRv26InH5UDukC2sIt/RigQYbzeDDRKiuqUv7+JiJzoDq2GNO4ZcM1/hcFG+qF3VoKAX6M2Ilxq6+ySHdPtIBlxPCaW/U5V7ncmahWNMc0AgVzIi5ScAMzOT8AHXLFWAenPUA7Ux1qGVZYID60dtIJiQ8Y61cLwJYMJXH85CHeuNvaEuaE6CSkH1iwXYbp8woJRcOpi9OL8axGLGYqzKzwTv3ck05Y38/nB279LsUZ3D9yhWxuaRdivZN54iMu26eHo7+H9/Zgeb/YnhUoByqkDNsh8XaFkYMHfccjbmZhMxk6taBZkgL4bhruezi1VCIvur9mfjVSWb5FuZZGFhYi5YnJYECBXnoOVuLOFCkcWzuBho8XIk9aWptfS4ukT+vomodJ2BoWBaGvBdpMs6UTsTkHbLJbqic6lXKx69d8ZTP/3M6KxuYutJFEA7tWFgSJNFdjN+Roe91SB86pvoZEPbwNftj0f06L8gB2GOOdCfn0YOZKmRta/1DIV5qqXyVo04uMyPSgisIlH4+DKbsimj0Yl7WDpGJKRfar1hkQiHrUu5H0XoFrfJVITQ4tJOD4UPZqZ0FX1yMsOTZyBw+TNoErHsibL3b/Mfi6IWOpIL1sY1u5zETsO+2bCFfaRQ+DfUYGp/5qeIZJTx/Xn+l7s00hiYtYFOw3bfa3eqb4mxS5kXvRaq/JfPL6ALIdp1ZpbBenLJlShfaB3SC/uaDBE9zi0xCilsKqFLJP7eaRJFaODjjgxUnoNF4+M6VP0rwE7/3TKIVT0GzEladHGc+Rx8jAyjHh6WF7U6Gybu2lZg8gClAK9zcd7U7QXlduhwBC1btcXG6I4bJxvDJweYkqiUHsXpxLzWvR2wAMRov3+IPYiQmj0d/pWKuDN9enq99ZlUW6kLBc8ZyYhX1+mmmSf2/tsQgQYqmlo9UvWOuyozlLgjSmG90KZyx/HrfXY0oC8RvrajDNLLHJ0wYNkWpMG0qTm6XOd1YwBsGAueZgWm9tHQ+RcHTIeIMI8+R12qpfzkc7aVtJ8g5sIkBEWvds+byjGCBoWKPRquuJrV94nCf9lx/KFOUBA4kFT9PGXzkewO8KDXd4HcgZIOSTFbtKTgfq13glHBqfUSc/YyWt1ZCvQvMONp7BIQXG1EDwB/0mbc+AT3ZAgqauzrojkfwIJO4dtVNhWwFFr4bSp32ANnJonC3OJb/1r7W4FqQ83bpDV1PWEUnFXnLkrAEh63H9WgC5it3TNhokJ6mg== X-MS-Exchange-CrossTenant-Network-Message-Id: a0df7680-f9e9-4599-1cd0-08dc443087a4 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:40.8181 (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: LTckQTvVw3X/H+pbyeV2zWiQgvcOgdSTvv3OEKi/uSGc2Qbl5k8+8kEq36fRWHUatO5Uzu8GtwSuUR/ayoskaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" The mem_access itself is not holding any lock, but attempting to train lockdep with possible scarring locks happening during runtime pm. We are going soon to kill the mem_access get and put helpers in favor of direct xe_pm_runtime calls, so let's just move this lock around to where it now belongs. v2: s/lockdep_training/lockdep_prime (Matt Auld) Reviewed-by: Matthew Auld Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/xe_device.c | 23 ----------------- drivers/gpu/drm/xe/xe_device.h | 4 --- drivers/gpu/drm/xe/xe_pm.c | 45 ++++++++++++++++++++++++++++------ 3 files changed, 37 insertions(+), 35 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index b0bfe75eb59f..82f686595b16 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -45,12 +45,6 @@ #include "xe_vm.h" #include "xe_wait_user_fence.h" -#ifdef CONFIG_LOCKDEP -struct lockdep_map xe_device_mem_access_lockdep_map = { - .name = "xe_device_mem_access_lockdep_map" -}; -#endif - static int xe_file_open(struct drm_device *dev, struct drm_file *file) { struct xe_device *xe = to_xe_device(dev); @@ -702,23 +696,6 @@ void xe_device_mem_access_get(struct xe_device *xe) if (xe_pm_read_callback_task(xe) == current) return; - /* - * Since the resume here is synchronous it can be quite easy to deadlock - * if we are not careful. Also in practice it might be quite timing - * sensitive to ever see the 0 -> 1 transition with the callers locks - * held, so deadlocks might exist but are hard for lockdep to ever see. - * With this in mind, help lockdep learn about the potentially scary - * stuff that can happen inside the runtime_resume callback by acquiring - * a dummy lock (it doesn't protect anything and gets compiled out on - * non-debug builds). Lockdep then only needs to see the - * mem_access_lockdep_map -> runtime_resume callback once, and then can - * hopefully validate all the (callers_locks) -> mem_access_lockdep_map. - * For example if the (callers_locks) are ever grabbed in the - * runtime_resume callback, lockdep should give us a nice splat. - */ - lock_map_acquire(&xe_device_mem_access_lockdep_map); - lock_map_release(&xe_device_mem_access_lockdep_map); - xe_pm_runtime_get(xe); ref = atomic_inc_return(&xe->mem_access.ref); diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h index 14be34d9f543..2653f53bee4e 100644 --- a/drivers/gpu/drm/xe/xe_device.h +++ b/drivers/gpu/drm/xe/xe_device.h @@ -16,10 +16,6 @@ struct xe_file; #include "xe_force_wake.h" #include "xe_macros.h" -#ifdef CONFIG_LOCKDEP -extern struct lockdep_map xe_device_mem_access_lockdep_map; -#endif - static inline struct xe_device *to_xe_device(const struct drm_device *dev) { return container_of(dev, struct xe_device, drm); diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c index 2e1362cf8deb..9d87a68ba6eb 100644 --- a/drivers/gpu/drm/xe/xe_pm.c +++ b/drivers/gpu/drm/xe/xe_pm.c @@ -68,6 +68,12 @@ * management (RPS). */ +#ifdef CONFIG_LOCKDEP +struct lockdep_map xe_pm_runtime_lockdep_map = { + .name = "xe_pm_runtime_lockdep_map" +}; +#endif + /** * xe_pm_suspend - Helper for System suspend, i.e. S0->S3 / S0->S2idle * @xe: xe device instance @@ -297,11 +303,11 @@ int xe_pm_runtime_suspend(struct xe_device *xe) xe_pm_write_callback_task(xe, current); /* - * The actual xe_device_mem_access_put() is always async underneath, so + * The actual xe_pm_runtime_put() is always async underneath, so * exactly where that is called should makes no difference to us. However * we still need to be very careful with the locks that this callback * acquires and the locks that are acquired and held by any callers of - * xe_device_mem_access_get(). We already have the matching annotation + * xe_runtime_pm_get(). We already have the matching annotation * on that side, but we also need it here. For example lockdep should be * able to tell us if the following scenario is in theory possible: * @@ -309,15 +315,15 @@ int xe_pm_runtime_suspend(struct xe_device *xe) * lock(A) | * | xe_pm_runtime_suspend() * | lock(A) - * xe_device_mem_access_get() | + * xe_pm_runtime_get() | * * This will clearly deadlock since rpm core needs to wait for * xe_pm_runtime_suspend() to complete, but here we are holding lock(A) * on CPU0 which prevents CPU1 making forward progress. With the - * annotation here and in xe_device_mem_access_get() lockdep will see + * annotation here and in xe_pm_runtime_get() lockdep will see * the potential lock inversion and give us a nice splat. */ - lock_map_acquire(&xe_device_mem_access_lockdep_map); + lock_map_acquire(&xe_pm_runtime_lockdep_map); /* * Applying lock for entire list op as xe_ttm_bo_destroy and xe_bo_move_notify @@ -343,7 +349,7 @@ int xe_pm_runtime_suspend(struct xe_device *xe) xe_irq_suspend(xe); out: - lock_map_release(&xe_device_mem_access_lockdep_map); + lock_map_release(&xe_pm_runtime_lockdep_map); xe_pm_write_callback_task(xe, NULL); return err; } @@ -363,7 +369,7 @@ int xe_pm_runtime_resume(struct xe_device *xe) /* Disable access_ongoing asserts and prevent recursive pm calls */ xe_pm_write_callback_task(xe, current); - lock_map_acquire(&xe_device_mem_access_lockdep_map); + lock_map_acquire(&xe_pm_runtime_lockdep_map); /* * It can be possible that xe has allowed d3cold but other pcie devices @@ -400,11 +406,31 @@ int xe_pm_runtime_resume(struct xe_device *xe) goto out; } out: - lock_map_release(&xe_device_mem_access_lockdep_map); + lock_map_release(&xe_pm_runtime_lockdep_map); xe_pm_write_callback_task(xe, NULL); return err; } +/* + * For places where resume is synchronous it can be quite easy to deadlock + * if we are not careful. Also in practice it might be quite timing + * sensitive to ever see the 0 -> 1 transition with the callers locks + * held, so deadlocks might exist but are hard for lockdep to ever see. + * With this in mind, help lockdep learn about the potentially scary + * stuff that can happen inside the runtime_resume callback by acquiring + * a dummy lock (it doesn't protect anything and gets compiled out on + * non-debug builds). Lockdep then only needs to see the + * xe_pm_runtime_lockdep_map -> runtime_resume callback once, and then can + * hopefully validate all the (callers_locks) -> xe_pm_runtime_lockdep_map. + * For example if the (callers_locks) are ever grabbed in the + * runtime_resume callback, lockdep should give us a nice splat. + */ +static void pm_runtime_lockdep_prime(void) +{ + lock_map_acquire(&xe_pm_runtime_lockdep_map); + lock_map_release(&xe_pm_runtime_lockdep_map); +} + /** * xe_pm_runtime_get - Get a runtime_pm reference and resume synchronously * @xe: xe device instance @@ -416,6 +442,7 @@ void xe_pm_runtime_get(struct xe_device *xe) if (xe_pm_read_callback_task(xe) == current) return; + pm_runtime_lockdep_prime(); pm_runtime_resume(xe->drm.dev); } @@ -445,6 +472,7 @@ int xe_pm_runtime_get_ioctl(struct xe_device *xe) if (WARN_ON(xe_pm_read_callback_task(xe) == current)) return -ELOOP; + pm_runtime_lockdep_prime(); return pm_runtime_get_sync(xe->drm.dev); } @@ -511,6 +539,7 @@ bool xe_pm_runtime_resume_and_get(struct xe_device *xe) return true; } + pm_runtime_lockdep_prime(); return pm_runtime_resume_and_get(xe->drm.dev) >= 0; } From patchwork Thu Mar 14 14:10:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592473 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 43DA7C54E67 for ; Thu, 14 Mar 2024 14:10:57 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 896AC10FB7F; Thu, 14 Mar 2024 14:10:56 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="erqTFITx"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by gabe.freedesktop.org (Postfix) with ESMTPS id 232FA10FB79; Thu, 14 Mar 2024 14:10: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=1710425453; x=1741961453; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=5kbhf1xbAIctSZ8eqpCnNc4Fe/rt3++0NZGwxm7kKJY=; b=erqTFITxupQw3vhx1sGTmDFl/uB/V5BthKW8qcbAs+v+tp9c+1cQltwa V3nE2BxoAib3b2n/2FaQYLfD/DeeUamvQOvbE41hJ9ymvbREG/UqN8hGx VSetoEhoFe+DRuS7qqM3M5qfvfVFs2MBiQRcbo2VrNHpxsn5iNNDP3Ck+ cFgly31Z4VAzgXC1p3nT78g/MLMXN7trqNtyElgisMbz3KWYdhtdCplLg U4SlFnDlyZhzCF22tzLZDm/KEwJRAwHOYPtRQi22G9NFhlIculppDOTDz RT8/X3rLMSlduZcEhQIIP4eH6jRVyQQvoXsJSkENcyTYxpdn0z+8GTtW+ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="8182623" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="8182623" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12369344" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:53 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:52 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:51 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:51 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D6ucT7Vctc9kgn5HwrB48aoSWDzW7/N70TF7DG3uPuPDs0qNy3UQWPbf4lYJ3e15GoNWrnVWTyBgTFDVr/b2EosKPIN7Yu883vt6UREJnKFwhbCiUOqADvAcdjvOq1+9Ep5vwmNKtTq0CjCuILgFE6Jbsd5kpy80l1CAej2A86Ls5/dx4/PwtvhM1gmpKi26+og00zYsWT9cY7DeDs9U4RH1Ie0q37y44ImQHYe/II7SxlzDfDiXqlkhcNH5qV6GybYgYknY+hcqVUTKTLqjcHOvOkDtQ4tJZ7vp8dks2Go9iS67Oo4R0MEXJ0Yg9y6VtRwo0jB5/1W+NqTPWVFRbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=eEgnDhXMzqO3WTV37HUuAMsl+sCzS5xhJh1fZhnSdyo=; b=cyl6r0hpF/KsHNZsG8hRNBcM7Tp+D/OcFoNi0eGW17JP4HM/LanOu3Aott5YdMzkKGbmpgpZJ18G3x/z8XkQXZNuTOiGe7hAMgyQGUX4+NZQtui8s1Db0b2VRoPXR67IeyrlGRAZwmXc18gaXrlqeS9hj3wkXnhHyVM1L5I450zdYYTBEnfiGDaZrMnJNLxS+b2u1IWqGBzplhfT5WzN0OYxMwpFaYntxKas7HxoxoWAwN4ggaFoK9nclhDyP6pTbYR9SXVTa/9FmpgXwDegXSv8id3Wzt/gaYCIhb/q6slOyq1uyZAOd2BJunHvR8rxNfJT4Ilt7WivTzRXcuDxLA== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:44 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:44 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi Subject: [PATCH 05/11] drm/xe: Convert GSC HDCP from mem_access to direct xe_pm_runtime calls Date: Thu, 14 Mar 2024 10:10:15 -0400 Message-ID: <20240314141021.161009-5-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BYAPR01CA0033.prod.exchangelabs.com (2603:10b6:a02:80::46) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d31e9fd-a114-4103-54e2-08dc443089ad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Qa1Mxujfg/9YyVy0LIg9jaL/1THSHtjgFg4n2LRwa6HtFCt4500+9zi2f+dErs7v86zpzjJAHQ7SP/0H9f+3S4vb0XMe88otly/3EBMCkteI4g4X0UsTNWsDOBsg6jNDN37ZIT4jXT/LQal/VSfpLuw3hTG6Z4gfUX4utT3vAuQJyWFevf5+KgD/6YJkWF13pzRVd6jdDJMZWiBNQQganlI5EEb5U7NF9pJB+7oj3Ou06y9HnxI2o5GB+otgh2slL5JBDGrZmOzVu673/b1g7gfkIj8RqEKmb3+RVuAXOuFjADJ1faw6uQUpZKWprf/VKPajrhh8EX0U0iTz8vHhcemPpHc/fjcB5LIpdk3AqLlZ1ST7fOeZP1RYqSNaVUNFPMzj7Vnui1OZu5w4wu9cxeTQxhSPehMx4YDZflH9ODZvyyToMiA7hxmRgOYTmZ5KBnEssVk0TdfJrO0/4lcTM3fE9AlApJi4nAZSp+l70PxDZrbuXATAW02xrhxssqEx0N5pfz+5Ns0GlXKKgmGgC+5iVe5jev4n9Q2BnpRDGEaLWr7NRVVc1C3euLYbw4cKukjWE5jozyTdDrNMZsSfzfuMcKvtE7zqfokBYZIRFZSlhR7DTSHfIQF1enY+3FXSvB8wMGpRPeOuTH9opdpBXJRO8dWnNbMPL7gjYQNWFGc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uiQYZVyKI8qr7vk1mw+sU6WgobYkKI6QEWkf+fxXup3oEWPkGodBXI8frMZqfBnBRplXI2XZsHFQtd4CInDO2eUl7O5CUE4OmRsB8keZcGxTE/qtjo8GUwiMMIS+rQCOgv6TX5Pmv4hzqzp/BdgelwkLsnmUeN4zVyCE/kS6P/hoIyg/sbAIt9xd5+VuP25P/MsjJzEbdI+AviAZCCdRSBWX4vLBMyJZ6RDqXN4agRzwC5zlsflgpISp2AyYBe5UA4Sc0f299MjKHsLYTf7sDy0Gc6NnvmRiKvu7zncM0paNNmhFRcyPW6BL8PBv3md/0pH8AUkXJ8bwFAgmpYshuGG9ZlM0KNDUtg7EVjq9qKRP4Ugtwrk4KU9G3uk3M0strJ/SOp5y64j9OR78UkUy/mnHloD5eZ8XYNpkFbLOQdW6XqUyNWmdAVqRHqkK03GWh5g2YTbPbrGTnj1W6XH8z/IWUbxT+yfgs9AsLvXeO7Yb0IXcDRCAu6nRLWiGNi5qScOswhr/HCS5Qz3pYdc+ERyI+OgAgXywIAm8/0g0kG+751BqRyMJcj1pN6C4w0cOsiI6NIhNQG7Vz7uIatAbkCxPyHch5OCJnvwJtdv3RuYpsevh4v0yCdsvznMg8vk55YXrwSwrfs5BCTgAOe3QZm2Z3vgBXnaYuoucbObPC4zOe26Jdiwmg6ueaf5Ag7iWRkHgz3Dd7CiUGe2+va2JmnmN4E+dFeOha37mdb/7LnCSXU4LbaVmy1oLAGGreyOORkh6U6UgWdkjXrh9k8A+iQMWtDnkK+i7XkGIkVqW2fGMsV7xKNaulSXiu+CYjgsIgP1GOWOo+oMpKAAk/KZxieGsGWIFSufwEUI/J8bgD1uLChUu+lcRu0/S1FwMARYs9BSV/31N/W2vnDCAnotAkqT/gh8hZoyCSa2+ovSwk0byVQUpT+4clRHMSE+vE0mGptFcNi2ivy3F4AYv0AFRPAnavIAnb8VYtqb9Y+rmvwS5cDywPbQjLIqOn9RuF0DVYc6ksHq6IUtjs1cLjykhIgXfaSkLNBSQGC+/TvYdOQdiP0WpxuriHc3GXvA2mvZnfoAfINrO03WDYbFsN2DySlNzXyNgkGfwUCjcGt5tx4c97c9usV9+8U4NbL7M0kCpJiduTC02k8gzOjF4FMYC0hAHGPa2sCnVthLZMsS3qIw4KaHAL1ajBghEx7Yf3iZdiLgnBa651HhYwHoOMttQpVdyfDQcxFRKtpUIjzGopEGvfFlkbuXMt33zXYTcmFIUKhWvOV65PolmI+KKkGfZwVWtUbBzJI5/mBjTAwz+3e0JRSXKV06mXtU3GfuNmqpZrUYGjuQwvMNc/e/BkHX9CL9IZq56ZH537K2VotCvOqROMgvCDRd+SNLSy4xN2BHTSKsBYqcitG966Kkm3YLv26Xrf5cOZZNrAg47bx5YW1rs1KnDO7qjNNnjU8SgmrGGFzb1dccLiDv+hgstFn3XO28+FQEehbjBgEXiFJtMwM4YnQCANnvgo/F18JgEskmkT3uQqq0OX1kEnQt/pAgFIAzYpbNCRb5Gzr3FbWAk2lCJELAQAqC4FNcmAqDHkYh5iKAZNZNXvlScwx7s1nk95A== X-MS-Exchange-CrossTenant-Network-Message-Id: 6d31e9fd-a114-4103-54e2-08dc443089ad X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:44.1267 (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: L8Mn0/65xFWZBRbD839gme2NyBrZXgF/YTYvhDNvKJE+94nnbaPjQAMSkPGbJGEt/s/95n9XWWHLRCNR0MCZyw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" We need to convert so we can continue to kill the mem_access. At this point we should be protected by the display wakerefs already, so let's use the noresume variant. Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c index 25c73602ef55..a221f0cf4bac 100644 --- a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c +++ b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c @@ -217,7 +217,7 @@ ssize_t intel_hdcp_gsc_msg_send(struct xe_device *xe, u8 *msg_in, addr_out_off = PAGE_SIZE; host_session_id = xe_gsc_create_host_session_id(); - xe_device_mem_access_get(xe); + xe_pm_runtime_get_noresume(xe); addr_in_wr_off = xe_gsc_emit_header(xe, &hdcp_message->hdcp_bo->vmap, addr_in_wr_off, HECI_MEADDRESS_HDCP, host_session_id, msg_in_len); @@ -249,6 +249,6 @@ ssize_t intel_hdcp_gsc_msg_send(struct xe_device *xe, u8 *msg_in, msg_out_len); out: - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); return ret; } From patchwork Thu Mar 14 14:10:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592472 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 C796DC54E68 for ; Thu, 14 Mar 2024 14:10:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 37B2410FB7C; Thu, 14 Mar 2024 14:10:55 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="ap7DeJ2/"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1188D10FB7B; Thu, 14 Mar 2024 14:10:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425454; x=1741961454; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=zF2bvz8u7UazFNSj2osmPrY3DiJ2B6/th2CD4ENMGoE=; b=ap7DeJ2/B1m9K2mdk66yclknn8NKtKWHrAgf4A/VnEB3NqR3y7JZEDiU afckVNBpEmz2vt1ggQLyocqSxAYQmVqXt8QBf14+BYFxJP5xszmuWOzHz wXF+Q/MOUFv/q4OHXDmp4PJi4Zoy2OG+cro0YAGe9px8O+sdeuKQKqZAi VSKodZlX6GZx4r6T3YBLbosTjNOnZSrypMQVWk+L2boQqLhA3d26A/QiB ly7YfTR1qvLHdXbDq4m+/eiHO7aiP0B3MBYWfO374N3qYwkA+m5vIZLJN PVr5XqgKQBW2cmKgKjxHeIWOS8d344VlSK9mtz7Y6oRDiSLaMT5/V59Ym w==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="30683029" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="30683029" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="16963298" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:53 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:52 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:52 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:52 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OsIB4HXDSutrvPMW7etCjAGn1mbrWxM9kmLz/f0aG3vaiPcHfwoHK5+wWX74UwMR04HnPlTgE8rzZSAim7IrQX57d2wQDsvVdvSVGdjerjez/z5GQSFsPskAMpq7GfZN+8ca1pFSHms2rJTG3iWt7Ku1dy1FP//OKibbJdwRexZpwWAOncvenYTSjGtjfYwXImmx8GcX/Oidm0hgdEKItGEoQy/Tzm9TPEfJl67KTOa7ps5CsJYfxtv2dMnisv+qnRxxg3gSUilTs9AwIWKWzLKjW8I3k+v4OAa00xvJrdzeWftTvmvIDml13ecXRn6THG8Izkh3hX8nXScoixzX/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Nmp7goPO0Hqms0y+cZmv5/e3SdOD/X20kiDS+tyZMnc=; b=gk9NZMV+ANStEwgROoNhhCCBYP75gKjRTXBMxFmeciLIOeteuIGbIwmsswlaJM2WjYtSuJ5q5T4Yah1b0xC8D0si4djx5+BgP8ljbLaMnlm01HFOePRddFeQ0tmGYT80Ew4fjIXc5YDUkGzCwH52Z2GrbRGesaXaNJISjsWZaj1FlVZAZTe0xJda52iPv/Oj7tMN8rjcBDI7M0GgOo6g2kc3nqFgpxlHPU07K8DeYSgDj3UQPKS6krfFcH1BD9cxMl3OS+MhcLxw2JAqDV8Lyue3Qx8jsotqqOS2NicPhPIHmN1ZxKgMlfpQH+neMhHkhFyTIrdw8eX8uQM/Z5lYew== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:47 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:47 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 06/11] drm/xe: Remove useless mem_access during probe Date: Thu, 14 Mar 2024 10:10:16 -0400 Message-ID: <20240314141021.161009-6-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BYAPR07CA0005.namprd07.prod.outlook.com (2603:10b6:a02:bc::18) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 7581834d-3513-456c-3478-08dc44308bc3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lhLEedTZtABgzIoQp0BUCIyr9XQfc6c/KDzZUDafJsl0Ma6KfVS2CmMlBZZd1PJQDsqg9VjZc1Wx81ydcYjs2ulNUH5jM6KN+qE429KE0YKT+WytzJQlj6vFFDcd08myYrRqAzIfuXSQqn9oCdajvc2BXdG/TK9znTzY/dUC0BX3epRqNR6GBmqOG+wCvmyGVyOLryPsGtiqNP5qqSxc0bUkMnsezxIhx3KoAYkWaREN38qvN3NkKvw+WEZw7z2z5Om336zDkDWB2M8Vg9llB3UN0AeEPwOj7lgoS0JyS+Eh5hu48DVWFWXWyHqEIFWJeu8Mnv0HljpZ/Nifr5ujV9SAFhg4G44z/eRvcAAvxfXVuxTDOwHuVjVJFeEZ8pfpCCL0SqbVDNCgtJL2KMUYJSWx1KM1v+USyd7Mxri+pQqbDCfTnBLPOAZV+p1eKVtFE2LwtCfBqPqX2+K7YzsjTH+AKC44Y2L0NA/6iphluz5rmKDZgKMblzl6TQL2nho25kW663onizgjDumn5xnI2aa0BMpRa7kSIOmzRr28c7z2Fcmt6Kxo/fPiM+WGfbL1Zl4EHZ/4aS/XZB1lhpDaEwmWl5mLI5OmslOTqQKD5euJ1P+W2LPhJuoQsYKmCE6/coCNQA9P2YvgpPP6W/cXpVmFX2lsc6nmHP+s/mvLYGA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: w0qcrRprZNzQ0FFlG88iUOLzkiwqC46BXI61ep5HIsHsyDlHA94/wbu8yfRMy9GZ/Kum3L3zZEy+aTnTbe0Lgl0KLb6+KfrDtZ4pHo6t7fpUD2OyPcd5QWapfnG55Y3lzpgfcCNI/Ga7FMp34QQdMnUdT9zIGU/6d30SRKSxr584pOqkPteikLEaOV0+u/mfc0K/A7+BcyhmKQ4MbSNA65Ini+Pc6d5sw8uF059DX+0tPMYxM+ABa6QtaUbZdwayka2ilfIwblB8aIfnxUon4/LowkVNCGfC6EQBizYRw+g0STrRHDXRKPY1aqgmnpj4aIU9BAHRZU/HiHyHbWfqLX6UNfS0OJdPkJ7sLAzsOPPu5kHx04JTq+9NQJwL6A7y68041GLoWpD4Rp64PF8m7mYo2i8sfKRT5IHtj4RJMfQFvecoUNY+frGARFyzXUjNme6lS+0Caxik5+AvwTLkgKHqqCoN8+vKsjdCA0W0pNE9TayaF314/bw/B37ctu3+RjQr3sb4T0T7cOswWrf7NLR1aNYH0x5IxAv4B2wFoW0B+B4mR1IczYUDhiHiD00w400tihMw1rYHkr1IE863R/fHq6YBv+je0/YAYdcTIOlcQwYS+I27QGvpF0w52txw5PWcQG5nNpIMvhG+9DB4VBgENSRn2n0Q+yJGLukHCnHAp/x4PX9YzpSj5E61WHLnjFtEnhktZmPmcquky3ivJ3/BWJ8YEvNssDYB/3KdrqoA5Ts6yd1xBB6AS6yMYiTaG5CzV/iMQYp3m6nfsUO1Z+Eg1rxKaQONGYDVIIqiMOcWTJzAI25J58Rlpz52P5zCeT7K/qquD7l+GvduT8IlaTu4O112tA7o+dpncEdEJ2/fcD/We0OwZsNQ/S4aGKfV+QNTDE+T0jeaLg60M+77yFMh9GAplnaPp1qmXqJNsXw6WDlpiM13dikBHKAVxLc9+x1VWVoi8ls8XYYvHS9GKad4mhY37ItHZpKsxqE5K0CHqyQUeC4gElmR6JhRZ/5o/gz7GVq+Dqru5HukwaoYHiZd+lne9NSGr9nlrYJrQ01p/P+sLS11RaHD4DYiAa67KzXj/eZbirhMeZzA9k8TKIyTLNkhA3t7x64YWSt73V5rapKKNGFZzHL24sVTi+11I2KcSYlFoZ+h9Ka3eQH3E/OvvM/9NRS4CJNKihsDjSR3f2nwkcBpvrzeckNFGa4Nhkc6xI7GlB9w6nYrArDy4+O8CMlXpbo0ErB+Q3PvR2u13TLYxD478vW1D3Fuv2LYxpH5w5jmVpx1q2PVVO1Af8fx9Wrk4btuIGd7oYPGDHFtzTr2G+Y7hmjRLSmTHPtA19+H2zKWnHJgJHbvwkdiIUHYCketLGBO275YuVGPduFc1aSgO5L4CTI9hJBwuaqu0NF762EjJM2znK4W8PNiYEfpyV0h2O847Ryv+AnPxbPiZa9l5sIoTU/m2RzbI/xF3lycz+XuUJ2xhiShA8hyZSnkm/5GxGfR74urelRMUmgO5kYHknarbFQzgO85uT1JcrWcr2nJF//OkeGL7ZHw4P8FBOXMss6CmV76KFk9zXVAruegh6pbYMzi29nag/4W6WrqWWqCpvIgKmyJ1XcbxQ== X-MS-Exchange-CrossTenant-Network-Message-Id: 7581834d-3513-456c-3478-08dc44308bc3 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:47.7125 (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: KON1S31TQtNVVNAOUwQJ8J1Sb0JPmCLp2BmH5u6YztdEkN2lLOl6HlcsEAkjefFAR0AMsfLBfy/7FjPbZcrT+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" xe_pm_init is the very last thing during the xe_pci_probe(), hence these protections are useless from the point of view of ensuring that the device is awake. Let's remove it so we continue towards the goal of killing xe_device_mem_access. v2: Adding more cases v3: Provide a separate fix for xe_tile_init_noalloc return (Matt) Adding a new case where display HDCP init calls which are also called at display probe time. Cc: Matthew Auld Reviewed-by: Matthew Auld Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 2 -- drivers/gpu/drm/xe/xe_ggtt.c | 2 -- drivers/gpu/drm/xe/xe_gt.c | 9 --------- drivers/gpu/drm/xe/xe_tile.c | 15 +++++---------- drivers/gpu/drm/xe/xe_uc.c | 11 ----------- 5 files changed, 5 insertions(+), 34 deletions(-) diff --git a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c index a221f0cf4bac..b2bd56a9b76d 100644 --- a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c +++ b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c @@ -70,7 +70,6 @@ static int intel_hdcp_gsc_initialize_message(struct xe_device *xe, int ret = 0; /* allocate object of two page for HDCP command memory and store it */ - xe_device_mem_access_get(xe); bo = xe_bo_create_pin_map(xe, xe_device_get_root_tile(xe), NULL, PAGE_SIZE * 2, ttm_bo_type_kernel, XE_BO_CREATE_SYSTEM_BIT | @@ -90,7 +89,6 @@ static int intel_hdcp_gsc_initialize_message(struct xe_device *xe, hdcp_message->hdcp_cmd_in = cmd_in; hdcp_message->hdcp_cmd_out = cmd_out; out: - xe_device_mem_access_put(xe); return ret; } diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c index 325337c38961..0f96b7db6dcc 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.c +++ b/drivers/gpu/drm/xe/xe_ggtt.c @@ -206,14 +206,12 @@ static void xe_ggtt_initial_clear(struct xe_ggtt *ggtt) u64 start, end; /* Display may have allocated inside ggtt, so be careful with clearing here */ - xe_device_mem_access_get(tile_to_xe(ggtt->tile)); mutex_lock(&ggtt->lock); drm_mm_for_each_hole(hole, &ggtt->mm, start, end) xe_ggtt_clear(ggtt, start, end - start); xe_ggtt_invalidate(ggtt); mutex_unlock(&ggtt->lock); - xe_device_mem_access_put(tile_to_xe(ggtt->tile)); } int xe_ggtt_init(struct xe_ggtt *ggtt) diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c index 85408e7a932b..063b710a8c7b 100644 --- a/drivers/gpu/drm/xe/xe_gt.c +++ b/drivers/gpu/drm/xe/xe_gt.c @@ -347,7 +347,6 @@ static int gt_fw_domain_init(struct xe_gt *gt) { int err, i; - xe_device_mem_access_get(gt_to_xe(gt)); err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT); if (err) goto err_hw_fence_irq; @@ -389,7 +388,6 @@ static int gt_fw_domain_init(struct xe_gt *gt) err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT); XE_WARN_ON(err); - xe_device_mem_access_put(gt_to_xe(gt)); return 0; @@ -399,7 +397,6 @@ static int gt_fw_domain_init(struct xe_gt *gt) err_hw_fence_irq: for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i) xe_hw_fence_irq_finish(>->fence_irq[i]); - xe_device_mem_access_put(gt_to_xe(gt)); return err; } @@ -408,7 +405,6 @@ static int all_fw_domain_init(struct xe_gt *gt) { int err, i; - xe_device_mem_access_get(gt_to_xe(gt)); err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL); if (err) goto err_hw_fence_irq; @@ -474,7 +470,6 @@ static int all_fw_domain_init(struct xe_gt *gt) err = xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL); XE_WARN_ON(err); - xe_device_mem_access_put(gt_to_xe(gt)); return 0; @@ -483,7 +478,6 @@ static int all_fw_domain_init(struct xe_gt *gt) err_hw_fence_irq: for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i) xe_hw_fence_irq_finish(>->fence_irq[i]); - xe_device_mem_access_put(gt_to_xe(gt)); return err; } @@ -496,7 +490,6 @@ int xe_gt_init_hwconfig(struct xe_gt *gt) { int err; - xe_device_mem_access_get(gt_to_xe(gt)); err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT); if (err) goto out; @@ -519,8 +512,6 @@ int xe_gt_init_hwconfig(struct xe_gt *gt) out_fw: xe_force_wake_put(gt_to_fw(gt), XE_FW_GT); out: - xe_device_mem_access_put(gt_to_xe(gt)); - return err; } diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c index 0650b2fa75ef..74ecb5f39438 100644 --- a/drivers/gpu/drm/xe/xe_tile.c +++ b/drivers/gpu/drm/xe/xe_tile.c @@ -160,24 +160,19 @@ int xe_tile_init_noalloc(struct xe_tile *tile) { int err; - xe_device_mem_access_get(tile_to_xe(tile)); - err = tile_ttm_mgr_init(tile); if (err) - goto err_mem_access; + return err; tile->mem.kernel_bb_pool = xe_sa_bo_manager_init(tile, SZ_1M, 16); - if (IS_ERR(tile->mem.kernel_bb_pool)) { - err = PTR_ERR(tile->mem.kernel_bb_pool); - goto err_mem_access; - } + if (IS_ERR(tile->mem.kernel_bb_pool)) + return PTR_ERR(tile->mem.kernel_bb_pool); + xe_wa_apply_tile_workarounds(tile); xe_tile_sysfs_init(tile); -err_mem_access: - xe_device_mem_access_put(tile_to_xe(tile)); - return err; + return 0; } void xe_tile_migrate_wait(struct xe_tile *tile) diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c index 7033f8c1b431..4feb35c95a1c 100644 --- a/drivers/gpu/drm/xe/xe_uc.c +++ b/drivers/gpu/drm/xe/xe_uc.c @@ -32,11 +32,8 @@ uc_to_xe(struct xe_uc *uc) /* Should be called once at driver load only */ int xe_uc_init(struct xe_uc *uc) { - struct xe_device *xe = uc_to_xe(uc); int ret; - xe_device_mem_access_get(xe); - /* * We call the GuC/HuC/GSC init functions even if GuC submission is off * to correctly move our tracking of the FW state to "disabled". @@ -65,16 +62,8 @@ int xe_uc_init(struct xe_uc *uc) goto err; ret = xe_guc_db_mgr_init(&uc->guc.dbm, ~0); - if (ret) - goto err; - - xe_device_mem_access_put(xe); - - return 0; err: - xe_device_mem_access_put(xe); - return ret; } From patchwork Thu Mar 14 14:10:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592474 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 123FFC54E6E for ; Thu, 14 Mar 2024 14:10:58 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B5FEA10FB84; Thu, 14 Mar 2024 14:10:56 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="fcBc7OaP"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0DADB10FB7B; Thu, 14 Mar 2024 14:10:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425455; x=1741961455; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=MhqmIeSBrgG38p2rfzSLZlHZqcysCDNgL3rgUY48OMM=; b=fcBc7OaPxj1xg6R2AhKjGozubKNLi8Ozap7bqND3Csc923uS0u5r8wSs 2pF9nYOx5zC3dlKJvE7PheBYf+bw7bIZYnaJo2HLASDm3nWrWfGbkyeLm tbymkVt0z3aACcih8v77nzgrnI818XI+Uxoojen4ev9xq4C3YnmrRqY9N Dx2K8otOwMSSKl11ooFO1Qu22YthbpC7vPBrgV7765Cd1QE0M5lWvz7QY +6kZSW79YQilFsdamVOBb8sqUW8LEmKpD5LuPEl4u0wZVVRmzu01imrua wnsUJTIRID7lJWrq0J4L9m6afr+e184E2eMUo6mobwR2TzXTcpDvKIhsL A==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="5426871" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="5426871" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12230056" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa009.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:54 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:54 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:54 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GtFe5QN5rn8nn/htAOzVUe6SpMklFx4d+Y/1SK9IxRsCGUPC7gWgWdcTjr660QGpyXlQq43zrBuUNLr3am3iFXXepZuFy5fwHJY6IsjYEHgjCgmnRth9hf6eD+b85yJk0w2pEgmahCpzTAHeF7t5cQCxVPRnlc7kjwVXiXhlb5HV0X3OOimazajswz3n0MDa0M71LnIFE095pd/FdQ7RWvh6eD3XwIgySMpjlCKzuZ/7wF3jbS4d1q1KFFWjy6RP1Qp9TC2cVswvRoCdDZXvyBRBmVUZSLmjt97pqXRqDDoRLy+x2fq0tq9NiTBYyBITTfGSFxKySqxqH11iSGkQgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=dh4lcL/6foWsdMGvl3JbTt3VUAGzne03iLvnqWlJn60=; b=T5L/bc2AQgtMlnjL+zfwY3B02JAbUP0j1A68c5uPyDU1K9CIn1DhWmYzgNVa2qVf7mjOCJZamucWJ/v2jogp76LSm7rfEqRw989jtnjhfNrZIR5G+XC52NW3HmEMwfrkr+hvMrCSiiKvXdzZOXPy10XdeowH+ycfW/qecZKImH8jS6Ak8KIVO8RbcIqhNSkH2HE3apACDly8yMOow7co2j84kj+Y0+kDlG6j1LBr3M+ZrxgcBV1wtpkiOn5Shg2EVF84limuDRyGpPiLqN6SlEJ0I+IGTvIb4bnmK8FRRasw40qVdg3p/n6nztn59T1hRgTVyIspPRy2+tu3wC/Pvg== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:51 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:51 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 07/11] drm/xe: Convert xe_gem_fault to use direct xe_pm_runtime calls Date: Thu, 14 Mar 2024 10:10:17 -0400 Message-ID: <20240314141021.161009-7-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BYAPR05CA0004.namprd05.prod.outlook.com (2603:10b6:a03:c0::17) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: adb6783f-b7c3-4e03-2ce4-08dc44308dc6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x1pbwP/EuxfXn2MLcp9O+yWhsSdmfSuMjWwFBlszOhqeloiY076w/oyzGQpXbR9216t8W7lTJ8a+dXvuh8Wen3ukUgCPVceukLIdSBlvDdguSXbTwhUSgt5/Yr64OWjpH1wpq8mK60+8M0zt3QZxSzpj0jv1UMOuvMKabvY1ijgPfeaHB/pzSiTu20VtzLXSXbMVBNFs7lF/4WYV3XV3VFlaYpzyl9tnhvbbhqvSmeguNZXvO5Fy0kdSSQaYHh8wHy91PIXWvGbWEP+fBwoHTpiVL7Q92VTe4VlbcF2ImA+qmqGGG/QJLWJRkiqltGlRnPTuE9bk3V/cMcc8qf0HeVjRKK0/c+UsG6dRyHEIk64Jg1kx3QWE4WrezuG4kiZU5r03N9UiXkQjgThYbsdSnjwlCoMMM3/q6hcXOvAplzmp4hgJGzjn2vkvF0Jk4BOjOPdxfm5vx94OPU1/W4xw42ywZE2MqRFCWOmkfBxMs1vJxcT/74RTi6lBCCkFOEEehWa7W8gfGGFc7nx2qgKud5LFgG/z9Afc0u7FEXd2Si9O0JA3K9cjsOGN7axZ20/6+lzR1R0R5A1vJ4VOc46g+nGoz6dYaj/130tl1HZqj8lkzqSF498Z0D4DxeOoBBovpn1aoSNegyDfWqUre4U3kiqQ6j0F8aETVyy0XrIJ6sM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KcTO+qXRR8SZUUTDpByUmUK+MakxcCPRwFH/hdf5WMoLftxZSpNvIN7HE6BX6p8xfgATyO0XM1z0glZZ+RkVWY8Pm9PByrkvyisvAiSfVTHhMZBJFX4MiFBXR2S+R2A76yB798rUd2iPWz9ZH77e8jkghJKEta+d2TmB38Q9gsWK7bWuqZN5TR3DJBviGQRcLPn5rTT4GyMoys5UTNqzWypIm3cvQYbTJI6MamYqGDAUbZjKo8zpvBWN5yVB74NtH/3wt9wdL0gPLVwPBrdZXFXmM9YCn6BhNbsQqIOJMU/l5zfiezOtjfpnu5eQUoEKRQL5+z338zZvLIiLZxwTzFLH1+PoNOSDGzyoe4zYXFbaBkTCNX4fDZiW3C8SlARfd1eb5ZYfEj9gmRz/ooQDuLcOz9lLhGZmm7JzyaKMyC1R6uyBePZg3Gp3s4PWhGkoIv5eUlcThomDEYZMNOIhC4mvNGQsjpk1z7xdvhu7X9cbfRdg7MUSDLulWKSl7/PK2zsJo+VRg3CQL7jBcmPcINSxcDmEr5Ja7uj2ZrNXyJsdIZY9U8RxBNqzbbDjx8aDGdt4l4xDhQqhSVUOddUaKi5ncdF49+oshJEXJyNFGGeG3nn5uHWdbwSb2IVhrPfND9VyzYLREflAHm3h6mFATsuD8agAAoL9chLbqvvqme7e/UlJ1Qhq6USqJe41u9pHTK4K2OEN8YgJ2waMQOAwY9UnrzfBxnq+C19xxd4Y7l5+vNu9/6aovFwDbUedmZTTul5N4aOo6+2IQidYsjioq6ov9WIdvYF1JkF1VIHLEBDF8ljAjls4Ln/MeXh+Cq56kx+C2g8s5Gk23IA6S4oV9Qjm7rnibbqgPUg6LWLgJzrPONLTXqv4nf2T4SQijhQ44SgwMF9sXPOwQQ9EHTLh/98ib+PbGmg9hWscngsl7T7CMgIZJiM+pcB8yVs7a1/D4B4nGrThCcMOPMRFi9n48V94zBK6PylyMzptPGbag2z9HJxOS8U5XsdE5VQ06BbuSZoXWWo2Fshhfu3Luvo2AkkO/sjfBF08HJkv6+qy9UHGOSNMADBL1V3sUMKaLoSNEJO39vCKoWa/46UggyycwGpFEjsX17luCg9T2EP1mQubpIfeq3+InOWuUPkqtbWN8IIgzk901w4xaSLDDAO2QymXkE90bdnHJz5xtDXbX3EyItZi6Th+HIWbGOiL37k717LclZyuPZEvYTxzP/ZgMmGIT/8nbH3ydgByFDdjtoZrT0mWWwS4NEEYZYpXyUKtc/MlKwM/wmXJ1qG6SOROczq1I6XLsHyIiYMhNpY03aygSDsb0gOtJ/nQ2X0Nz1yXc+lMpRbR1NbjSo9J2EFCnjgL5npFfaoRZommDxO4s2b70xagxQCywJLYjsty3kFPtQFYhdYMPipOS+pTVFUiRJzruIUg7oobvFMaOReEt7aGkERS5eW1BBt0LY34B8JUsXy37LFLzxn1drszl9/U6RBy6jLrLNBBK3uX+4YwfiMRHrS6ATc00P4LGX37J8BlSvuIgttFDtDRV1l8wsSDwt6KugHLObR1MsZI/T8Pq35+io/yuaJ5qKre2Hbq6nqNFgSd3YnL6WJZ8QuxSjOdHw== X-MS-Exchange-CrossTenant-Network-Message-Id: adb6783f-b7c3-4e03-2ce4-08dc44308dc6 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:50.9865 (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: W3npp9X3a8xfWg0PjynD5yVTqktTRQypHmGU/F+GBv+/XJYd5L3Auz6DQ57SgTmIND+yQHq6FO/HVYV8UY0L5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" The gem page fault is one of the outer bound protections where we want to ensure that the hardware is in D0 before proceeding with memory access. Let's convert it towards the xe_pm_runtime functions directly so we can then convert the mem_access to be inner protection only and then Kill it for good. Signed-off-by: Rodrigo Vivi Reviewed-by: Matthew Auld --- drivers/gpu/drm/xe/xe_bo.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c index d7e0deb1b869..7ee4406da127 100644 --- a/drivers/gpu/drm/xe/xe_bo.c +++ b/drivers/gpu/drm/xe/xe_bo.c @@ -22,6 +22,7 @@ #include "xe_gt.h" #include "xe_map.h" #include "xe_migrate.h" +#include "xe_pm.h" #include "xe_preempt_fence.h" #include "xe_res_cursor.h" #include "xe_trace.h" @@ -1107,7 +1108,7 @@ static vm_fault_t xe_gem_fault(struct vm_fault *vmf) int idx; if (needs_rpm) - xe_device_mem_access_get(xe); + xe_pm_runtime_get(xe); ret = ttm_bo_vm_reserve(tbo, vmf); if (ret) @@ -1138,7 +1139,7 @@ static vm_fault_t xe_gem_fault(struct vm_fault *vmf) dma_resv_unlock(tbo->base.resv); out: if (needs_rpm) - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); return ret; } From patchwork Thu Mar 14 14:10:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592475 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 76207C54E67 for ; Thu, 14 Mar 2024 14:11:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D245C10FB8C; Thu, 14 Mar 2024 14:11:03 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="IfMEVSDN"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id CEB0310FB88; Thu, 14 Mar 2024 14:10:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425458; x=1741961458; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=K2R13oBhvFi586sANLBbdzjDfkR0CqHh59TdmeLXw80=; b=IfMEVSDNfMiqNOyCVzESItLX+h24ua/JACjrKP8cZkJZ31czwCQ5xCCt gBReUXD3EEOgyHVeBmJIC4yujR07st+o743oW6B4grDPbEKN7E2uXcItm EpvWeBynxJ4R1WCH0uoq/k1U6ryCOpX4q0HLDzhEjEfw+EDXT9X+Xs4bb YhI9lvyc7wXaaVtrEM7hIxktBJlL/ulJSx2p5vdMcOfuXA/xo5pijj3om AUwPGik2iOk/8yegXs0kKlFWh31Ge9RyENIgwBX2CCFyRT/ZPWIw4xW1W cToumJOcyl+TM07HAoIyPN7vKeCVTJ/XTB8MF8FfW7Y+y9GtrnSqcmpPR A==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="5426878" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="5426878" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:10:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12230074" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa009.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:10:57 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:56 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:56 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) 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.35; Thu, 14 Mar 2024 07:10:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fP25EqSiLwW7KhaguwPWODY99S2adDsFUX6zYz+I26HPTyF5dv4CIvFh5gPlf/gwEAVE6RrBUwxQLZ/kaIP7kih2FKBwLIpSVsk4VgHUiOEo/pfAxpvWuCDAIJkyo6hHhoicvS92+Svv5jBl0XrkSw0JhGikQRryomdUvZaOw1NPXSbkU73wpe4QsXV/cVc/cBsjeG8n7W/R9OjF0r+nAynMfYuzvgxcePaFSkae2S+bNW2dlau2zE5f2VeynNRRTyxZmL+wPedgOV8iIAkbcEHbLSO5W9/YylBXRGcQx1DnNDEcLIK6AGpkWirPdlG7tuFg3ib+J5Cx3G5omGt1UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=IBwl6Y1V/Oc9I2KtTfHzBu9U62kkK9/Vrg1O32oAVI8=; b=W9kAdedMNyB01TrU+pNjVjBVdOvvPfTvONXwAMP7ngLjuXd+De0JlLPKx45agiKN/rtfQbVZ3PuT26+32tVnkY3DiA6YkNxH9wzpMjH6oZH6qc7RK/Q0ssJaZG9mQ1bBPgQQ8PH/KdonKBki//+8IfHstV22WBezZUZ5QZssLB2EHByKCbXtL/c2yEkhZHnaHr6i5S4ojN28R1dScPhPb3XSEgROdiKDTo3nN+8yDDsFXvtegbyRuvNTpyXUKRX7U65naM1Ks2J+HKkiFsB3stSLqSPi6uEApcv86LqhqIaaGNRZ7YLtV+tzE0NqkpcpSflBM4oFi0LGZ1qeorjApQ== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:54 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:54 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 08/11] drm/xe: Removing extra mem_access protection from runtime pm Date: Thu, 14 Mar 2024 10:10:18 -0400 Message-ID: <20240314141021.161009-8-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: SJ0PR13CA0165.namprd13.prod.outlook.com (2603:10b6:a03:2c7::20) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: b73e5298-6327-42a1-9a4b-08dc44308fe7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D+HjDH+rt4Q9IBy6w2ow1QeeOaDNgdRbzQ5bYRAKMO/A8NpWT5hlVqOlFxEcKr+hXDX+jPXeZVqtWiO+TlBmrCPUpc/I8imuXXQkNkZYHGE9r96LoBzP9zgSPd3QvSHXialom/2FdXzgip1bqEZtyzfoUpwXeOSxMJ5UsLat/OTj6vnV6ZfWYTjqbaJBQ0YgdE/xKwzmtnTWMapoYOITqbHAAjxyrkR282rZMx0otCFEv9XmIhPx6s4j4bCQqtUa8GvmcaMwW0LKTc3fhAKWDAmGXxMfJKb+24ASnx1YMejS82aDQblbtGrKfFUs35H+b0A6WQlwhVWOPFG9xjfWLrup6/C8as1m5/JY9RuSAwnkCcOEQkkeWQeXCtv/ZykrWPAlNBRVSbOrN7MbHI474EeWmJTi8V2AvJhtmHTMcWNUZnzC4EPt+2z4G6brBT5Ji6oAMFiDo2gKWz3pXk5SSbqnPfCU7du3If0RSWZVSgPXrjp9e6BTDN7s8oI/7niu2vv1128sPFZr4JBvOfWZYuGTSwP5wxp6U6gzk8iUHxh3z2vQ9Qs6r693qNixczPaUIwQ/Oduklr7vycrJ3c3rLWckglDc7XruT8ZdcClyTPRnZPTcZQ4HDyGWXbVXaCftscCGCLzYhwHyuumiKOTwAJDjmm+7sKnG7JmbargO/U= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /1BZD+YIH+vTAhvZh+2LkloxbVTwa+vgIbSycX+9WO/lXdjDWPFoKmyFmsHMgH/RFxmrtcoziO8CdlWLReBLV4HZai5kJZOctsD/XPkSaksJ4gq+82ooUGJ85xM8pIKqIQIrcmo4RQmYqpty6SWuU94+QfDGU2UlyAslbudk6SpoXEBbvmy3Cg2OnXixlRSB5Wo6i4scOCG/qwUvblqjZQlK/thasQcljWqlJIbkYLbk154tggkXzBGHEVPeeqP9rbdInxl2Aht4v91fkVbFToJPd/PBFQmWXd0T27QoYuW4tLGT/968MPiwf2X9u88Xjf+zL8eLzlFE1C5THr+Vu08Bj3lAmIIuzVgMQV4s5Xkdh/zYrEB8TJ6kGOllPDv/NCdiG/1X92YF9BJ/eiN2IgEiuQOmn8yNyLqqDXyD3LQ5CEJ0CQGGJ3odBqHpJ7pdhhsCypXYiomZyQlHWfvWJG2/yGRmqvYJPeuN9JrHWtKls3OU3dZx4MoQkc8FfVrfm5M+mQL9+izEvaeOfBO52GkKld7DakNySdlyx0AUC4eAqDR2WrEJrJxGgeUJMk/d6emcVFQOlGqbfzhQokECD3b+m+Hmzv+NMEe3DwWJ7ZkI2rQo/y8+gZvXN4Ri84hj6sM2ISu8C+hMva1NEnuJSCBCmwLpgTEf34s9bAGPUrjqmLEl4rcpvaGpx/U7DEm2oiZodbhIZh3auOh20yi76pFLhp36po6+XpwxtUEcsZMBxXhva5JjwURJWhdfvmZcQ+ZknM1qUAp1qJLsmBwWMhAVN1GCdHc7U9NDNWJz9rTWlESBNMrNxZ8ck2mwNbecgCkuFbP2x3CQ6h5HtJw99MAwX85J8zjqpk27QnJFGY+Ru23G9cnyPBCbLwgwqNuQB+J7at407JKwPxZcgHteUqSfREdIV2GiMnwcH2ulWrKJNAYm5n2aH/lsWu5iCi32WAHV6xdtSjUnekHpEhlWp0xvkJtuxnp4r6UbPIMHRWQc/hciTL0O6clcfmW0LxTw8s8YVIW5Gy9fiSljsw7t3Sp+CEJfRO5/u5E8qX+Ke7nEokxKOQXZyxxtS70F2TGX5oodKMFkbsXDpvSbp+POm9caDBidZECUnRVp4h4bviKHdyz560LsI7p1D8rjBYZnaDJrWzTZaAuseV+lJiwoHfE1Aykrm7bJkZVfGjFaKrouyI++La4rVjVw2EidCrcMF8VPDjJklGeuEYolRgJ/ulVrt6vcFKAqCB45Wm4H6rO22hJD/RM7lOZBXQsDWNtUDeYJC+xjTJJkfEI0ANWRiXP6XzuCySxQmBuExFiytIjzcK5G5C6o9T1XWfQIkyOyjVAsikNkws+QUNuB9I4suOX1aLpIxQqNip31A5Hpijlmnm63bfPEb0DPAhiXpWtVPISILRKFtblRpR7lE247XfUKKf8z80UXkzEwPBYn7mFYBOevGxzNpLAqD5o82xEQltW3QysXcYfV+EYtFQ2LUi/mePrhbCItFlws7hWmrSXLahh8AtNZC2KclYfXSCWaeAaRDRCPAmbwojMaa5rbMNdunMG8u87zKwdrWgJKugtOuykBGaB/fBfKQTOustzDQjqAWJsXrbegtax5GJbXYw== X-MS-Exchange-CrossTenant-Network-Message-Id: b73e5298-6327-42a1-9a4b-08dc44308fe7 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:54.5101 (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: yyaTRzUsjCysBE6MrSQcvf8T7WSTH2GdQBcnu8b78ppacHBtenFNS41oSg2+aPTJbHoViaXdbsRpPO5I4oWYEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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 is not needed any longer, now that we have all the protection in place with the runtime pm itself. Signed-off-by: Rodrigo Vivi Reviewed-by: Matthew Auld --- drivers/gpu/drm/xe/xe_device.c | 8 -------- drivers/gpu/drm/xe/xe_device.h | 1 - drivers/gpu/drm/xe/xe_pm.c | 3 --- 3 files changed, 12 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 82f686595b16..4754da58c112 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -639,14 +639,6 @@ u32 xe_device_ccs_bytes(struct xe_device *xe, u64 size) DIV_ROUND_UP_ULL(size, NUM_BYTES_PER_CCS_BYTE(xe)) : 0; } -bool xe_device_mem_access_ongoing(struct xe_device *xe) -{ - if (xe_pm_read_callback_task(xe) != NULL) - return true; - - return atomic_read(&xe->mem_access.ref); -} - /** * xe_device_assert_mem_access - Inspect the current runtime_pm state. * @xe: xe device instance diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h index 2653f53bee4e..2327b6c0ae6a 100644 --- a/drivers/gpu/drm/xe/xe_device.h +++ b/drivers/gpu/drm/xe/xe_device.h @@ -138,7 +138,6 @@ bool xe_device_mem_access_get_if_ongoing(struct xe_device *xe); void xe_device_mem_access_put(struct xe_device *xe); void xe_device_assert_mem_access(struct xe_device *xe); -bool xe_device_mem_access_ongoing(struct xe_device *xe); static inline bool xe_device_in_fault_mode(struct xe_device *xe) { diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c index 9d87a68ba6eb..92e159a8d52e 100644 --- a/drivers/gpu/drm/xe/xe_pm.c +++ b/drivers/gpu/drm/xe/xe_pm.c @@ -296,9 +296,6 @@ int xe_pm_runtime_suspend(struct xe_device *xe) u8 id; int err = 0; - if (xe->d3cold.allowed && xe_device_mem_access_ongoing(xe)) - return -EBUSY; - /* Disable access_ongoing asserts and prevent recursive pm calls */ xe_pm_write_callback_task(xe, current); From patchwork Thu Mar 14 14:10:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592476 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 CBA79C54E60 for ; Thu, 14 Mar 2024 14:11:05 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 37BAA10FB7B; Thu, 14 Mar 2024 14:11:05 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="ilkp0euF"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F43D10FB86; Thu, 14 Mar 2024 14:11:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425464; x=1741961464; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=t6hnniKLFnc8MiOANDdKmVvh6Rpu24RHSyWhEP3qIzs=; b=ilkp0euFvhDsO68hosHJaaVNT/fpoYrahTwE26wga1nlI75lP3y2Lr5R TqUSPBTkIh3deIJeS865zY0VUqQgurTReEk0hQYIRgBYktzuBey1axFT+ vzGuJB4Y4xvLUp3d1HSm0TGpjzcBTChGIWszDhUjaLZ7mup5hKan4atoS 8z+ob9TVmd4EIyEfADVlv+90nSupPpEH1BzW6JcWW1aIXVtkBFEyl73pW dsot2x429oRIETcY7t2Sg6xK34gmWUlOKjxvj/dgPru3Tf475+EbF3sqd AjSOHCASrxeR27KeP9SubSEHTcjkg8lj+K8sl3AYTw7xQwFMm3NfXSCyd g==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="15885152" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="15885152" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:11:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="16891863" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmviesa004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:11:00 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:00 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:59 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:10:59 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.40) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:10:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OcbyAOXI092sqQBbO2Ah2rx8knfd4C+RFAsxQoHnLgGJfq0Uo4ZuEY559DMHO0C85idvuY/7NFPu5Po5qz5U+onNBXw7YTGarZYJ42D7JUkEJr8b569Lh9Wklu4eoX12Rs/0JKJnBd1B0HTq/0nqJxYcDvL5TDVfuAmeicD3Gep1uYb5/KjcyshpsfrgdxwrtoaeLUG6of/y76p1ItHMUgZe37LczPx512jzc0sEPtfNKNXpOE8rWn+OT0Uc8Rq6C6tQfS5iJYdZAeNUht8FN0EXeeRnPRu0Q9JolzzTqQ9Ull47nAEOCc7kSWPtC7eIjvGI6IRoIfDtpdX+4elYVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Zrwu0Q/8WDj6hUAUoqbjHJHBHyz0gUEN78gUlS89aBk=; b=nk9I9az79TGR9fVhHFAG4tIHreWTTxOqBWb7ETv7IKajlEMtLeqfTId2kOFPLHTHqMv2r7jgryPGvz01rPREKCWM7deXk3/B9BbPgzpeTsc6DAnL7NJVcMx/CXTsJuJDjFolrYDtcXNm+lavpHN+z0MTFslAt4njfh+Ok84xLqsYbmt87DBZaCxhX/SdbvxCQC+D6RIjnQQ+7PvI8CeQQJfKjlV/+4AnIUJEfbdaMoIWjeZoHBIUpqGSnB7DeyitDSxmo4MzWKMR0588M8zw0xmF75Z9DUKN2si/rOiA37ZsbZWw62GgEwac+u9nMfJpMH2yqyuuhka9St5tpCakHQ== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:10:57 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:10:57 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 09/11] drm/xe: Convert mem_access_if_ongoing to direct xe_pm_runtime_get_if_active Date: Thu, 14 Mar 2024 10:10:19 -0400 Message-ID: <20240314141021.161009-9-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BYAPR04CA0015.namprd04.prod.outlook.com (2603:10b6:a03:40::28) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 045a86c9-5391-4619-58f3-08dc443091b7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: m4DFfi8KawD/UkYwK8KJCMuFeVAvix6Y2u21RP0VYTBeLCNMY1naJLSdKqkF4eg8pQb+xbHdIUEA8u4bOq4czq0lI+AQ28tTqJ+LSsV7wuEJG0V5wzF0tWwUXceZn5iJs6C+kmVX6DU7fjX0XiPkFb9qOYd3tYVajOOuN14Gj/1Yus6f4RLZ4+I9jPmDuOJAnIQ2P1QIZ/E7wmTREbzkIg6/2EJbDo80hUqwSmLxTPlIBifh2GLiKWI/U5egN2sZqAFw99saG4zYiGPWsJl+z90HVJ5SPnq27E9pdNx8qikwj252A8bTNBkLMNNkDbC7rSSZ366NwSMWxISsEnos1Z09ZNH4Lb0sqQzu8jyzl04mK+1t1Fi4jBNzZ52Q9LLkSumuXO5e3mr4mMCzJG17nD1JpcV+Th/rqXmpwB+/bymfU5tpSNXS+WYaAyMe/ukH88/UQ0vv0oRYyF1FMjuwKkT0qCz8ASPINkpRQusXdS/0hrBSacg2hlr1/YjOTVm1Ped7Mj/ebO+9sLvQp4L3IcS53rnfrXsJSabvNNMzzPSO353o9mR42klbwh4ffh29Cq+Ue5FJ5bdKwTxm5PYVJDJD/YUniE7/XEDz7RD9oUI6XpiyRVfT3mTi5kdLhbjbZMIqxBWcrah6WyFfKnUsCs4fZER1jq/0uXlQ9DJZueM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ls/B4jbaRNGkXYq1YG5hkn2zaKCNwAJTie3Ej6ZKprKsOnP2kJpvqBiMiohOJ4mNcKPMijYAmxIP9enA3lsX7+LSiyLbuNFF6yzartpr76YCpsRDbXHlXI3aibEhUhxftZcfQa/YkkBFTxNDsAFzEBcBf7MSQKGc62LTNByxSG0f9n3C2PCkQjs7BAr8zzw/E2IdEfoU2TnRqRH0JEnLC0J3vHWR6GwoS+iZeELrichus867tWEiyzWKuhV3n0RaMZPjgNgH5v3zIlZxqPByXzRZRIa6Bqqkthx6dmPW9CvwXlEPB/IXtFh3RZClD0Jya7DsGmh7oKbXplCoVaq8FyI1VeHCiWzcFLuOzTyOEN+M11Wvjc3WJUlohVRBWt+utkqXHhRgvy0tUS/OYPLHFDXG5cE+qKpwHCgCrb7c1RJN43C1t5ApqWo2/8KP9jDB/fqaldd7pSW4MKdAl6Fs2/3HqPf0udtTYdNHfLkYUdIjeuyVNgw7UAxCc26RJMH68eKcEbI9zPWc5XUFXi326MXNE/No+tlcGOJIbTPxACOydebsf2qaxKEq4GnjeoXWRVe4Nbt599nsSZEybOKnX379RcTRjMA8Cure7mHgFVZtvUJ1o4zjgKUkI2QntHpzEWSEWSKPRITqt3x7t45uU5hhySLjhvkzu7Tm6/rBtUNMlhWxuEoaAKOOx/DkEmRdyo6Y9zNRNQ6wefzMI2RUAQ27c5yBTTMfeuXlz3oktfByp/AAsDjrZlWJ7CiYLT9+LwHKoZ6lp81D+RRc3sKnhc3bOyQEEj34Pgp80Q7H9dAw3xEM+Rsn6FzJq6uMcinlzFHkh9LPPQlB9V0Z5q1V499CCKuoNX1xeKe1v78h4h+ot03KXgZxsq3EipaSehAv3Rz3CP9xfd/zIrncNU3LUuL0XWQ4tWwaSVre1YGRfQCixJIGg2Oqz19u8/Lq+L3L70JEiVBmCjAAc+1175t/NpRT+fl0+P1DTImbkNY7xEFki1el1gBASxCuWcxKSfilyQ3O37EX5/8CtdihVk6D6ru9ZGjFHznaBzCgMugTxf3cQIQ6dmiqWL7Zl2WkI5C9Hj7ETXka8tZMlCif9lGi+jNkyBRcdz4gk4gfmm4EzMOma64OxmoAnKUEgzsjcVxY+jP6ROx1dKOrgYP2kfUo2WysQuagEAhZ6B0DCZnr1lcFsWk0kBUR/kiYwcGvCG7HIApy9I7Tej/J/CFvOyT7ycdim953rMGnOSXe0bQwyzjsUpaQwzx9kMGnomjnsjStuUQxcTJ+fiYcaTfmTgNPkM8PVpXAWo/JoADhjcVoeBhh4cJ4VATDuEJlCCFVGHPsx0HF3kqsLjhlkB0vg1kZlOjbLjyntpTaRUTHBPYuMMMQPOrnkWJLdUW8ORyML9Y8Tu/DBwuKjplNLZ2P08OI+LkJgygHwHYlUWNIOFxbqFKg98w++Ri0+QxyTkKt52/zPmfnxCEj93ef4Z88JGvWwj4eZmqVnVVyYzZl2BI9vLyS4NtSmrwoBq3G0nkUR+TvJpgFTNAoZ/SGav2PWYtL6Uo6imbFFcsovQdZ7FvkErVfsDOOZWW8fmDsBMWERA1xp0QpExD0cedDfKZFox6Duw== X-MS-Exchange-CrossTenant-Network-Message-Id: 045a86c9-5391-4619-58f3-08dc443091b7 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:10:57.5385 (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: 1iYzmE0Wh9/VWyaFwzqw3TYHf6igjZQ7fz56ttY+l3neeT/eLnQK8+jOKBwwylA4BOu4Eqqj0do4TP9RmIr8YA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" Now that assert_mem_access is relying directly on the pm_runtime state instead of the counters, there's no reason why we cannot use the pm_runtime functions directly. Signed-off-by: Rodrigo Vivi Reviewed-by: Matthew Auld --- drivers/gpu/drm/xe/xe_device.c | 17 ----------------- drivers/gpu/drm/xe/xe_device.h | 1 - drivers/gpu/drm/xe/xe_guc_ct.c | 8 ++++---- 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 4754da58c112..0a51eddd264b 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -655,23 +655,6 @@ void xe_device_assert_mem_access(struct xe_device *xe) xe_assert(xe, !xe_pm_runtime_suspended(xe)); } -bool xe_device_mem_access_get_if_ongoing(struct xe_device *xe) -{ - bool active; - - if (xe_pm_read_callback_task(xe) == current) - return true; - - active = xe_pm_runtime_get_if_active(xe); - if (active) { - int ref = atomic_inc_return(&xe->mem_access.ref); - - xe_assert(xe, ref != S32_MAX); - } - - return active; -} - void xe_device_mem_access_get(struct xe_device *xe) { int ref; diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h index 2327b6c0ae6a..b45592b0bf19 100644 --- a/drivers/gpu/drm/xe/xe_device.h +++ b/drivers/gpu/drm/xe/xe_device.h @@ -134,7 +134,6 @@ static inline struct xe_force_wake *gt_to_fw(struct xe_gt *gt) } void xe_device_mem_access_get(struct xe_device *xe); -bool xe_device_mem_access_get_if_ongoing(struct xe_device *xe); void xe_device_mem_access_put(struct xe_device *xe); void xe_device_assert_mem_access(struct xe_device *xe); diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c index 355edd4d758a..8d7b1b42b2e6 100644 --- a/drivers/gpu/drm/xe/xe_guc_ct.c +++ b/drivers/gpu/drm/xe/xe_guc_ct.c @@ -1203,7 +1203,7 @@ void xe_guc_ct_fast_path(struct xe_guc_ct *ct) bool ongoing; int len; - ongoing = xe_device_mem_access_get_if_ongoing(ct_to_xe(ct)); + ongoing = xe_pm_runtime_get_if_active(ct_to_xe(ct)); if (!ongoing && xe_pm_read_callback_task(ct_to_xe(ct)) == NULL) return; @@ -1216,7 +1216,7 @@ void xe_guc_ct_fast_path(struct xe_guc_ct *ct) spin_unlock(&ct->fast_lock); if (ongoing) - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); } /* Returns less than zero on error, 0 on done, 1 on more available */ @@ -1273,7 +1273,7 @@ static void g2h_worker_func(struct work_struct *w) * responses, if the worker here is blocked on those callbacks * completing, creating a deadlock. */ - ongoing = xe_device_mem_access_get_if_ongoing(ct_to_xe(ct)); + ongoing = xe_pm_runtime_get_if_active(ct_to_xe(ct)); if (!ongoing && xe_pm_read_callback_task(ct_to_xe(ct)) == NULL) return; @@ -1292,7 +1292,7 @@ static void g2h_worker_func(struct work_struct *w) } while (ret == 1); if (ongoing) - xe_device_mem_access_put(ct_to_xe(ct)); + xe_pm_runtime_put(ct_to_xe(ct)); } static void guc_ctb_snapshot_capture(struct xe_device *xe, struct guc_ctb *ctb, From patchwork Thu Mar 14 14:10:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592477 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 5C553C54E67 for ; Thu, 14 Mar 2024 14:11:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CB73510FB88; Thu, 14 Mar 2024 14:11:07 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="BENU/8OE"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1370F10FB79; Thu, 14 Mar 2024 14:11:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425466; x=1741961466; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=s7Sv+cQbafPSw8YAV/KUNkzIdrUoIhLHlHUZc7im11o=; b=BENU/8OEP1bQRGFJB0cRLYdqz7+6LwHiTNRgag+5H9BmoE0x04HAdBrc o8Fs/G88QBhHww6/ieLGIze+y2H3VS/k95+iu/sKK6xensvo1khB8RmWH TLrzu80ezGpEzpGFvj5NvvMO3j0aOjnv0/lWyz8JXbBGiS48VB1LePfia GGrskhP6Ok7dWo6GG7RpwsL8gjfXf+SsKcp7UXJaBQBgveeAcDsbn8H5Q 2w/tOe9oIk5sj9nlFPnYxjDdx6TJDj1GS+db9vajAG7bI6y37hkI0GDmn kqWXeHhuZfjsINM79jgxeAUOq1bAVhYKKcAICo/INh2rM4bB04RpaD8pj g==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="15885175" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="15885175" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:11:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="12696148" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa006.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:11:04 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:03 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:03 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:11:03 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eEK7HLpHQFs4hdhtzj2DpskKZY2ikRaaWTwVNQf4VXyML6PQ2gAKCqdUX+UCBxrAZvVZ9omCN++N8ZSxfd2vfVmiL01yINFIohWvOswOkz23lCdGqvxYrDhXM06H89FrDEcQ2aZ7JLwhx0EbdXjKdPNIfA4qjKuaBMRKEa1XIkAj3HQuGaGdLz5HAui7JbNWR9pr9RU8hlXy9+V+QweTtHjPCrO2ifsNkbLYVX6UVhlCVoyUm+gNaMMsWV2wGfOB43xGEvjpYg8sDeJ7geAnkSE2CrXjaVW8oW5qWo0FDeU8tPvbzE/M5+rvZeVkzIKSL5iwPcFen4m4V6yFwJmrxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=4AJ+P9oE+7RCbVplDdppI9RoVP+RW4cJKt2gPY37Ptg=; b=GHJafzd1z7jiraQI8pcgehncQ4BEaF3dyqazsBr2qFXpVleyQTqjNSBEvTfxHp5k11qo77ykBO4/NC81s40va7/nw2e8lso8IeT/XZoZjmVUuz7AQeAOPNRjTH7A5uSqJBP2KfwRCHft0//ka/3hxVytulCHA6RtlWB63ZIi/uRBU8qhdlPo7P043Ylm/5ov151UjUikOkpC1FIAplp03MJ1FAQIQv9rTESYQuAK2Aruu9uMMA8fwKjPp+qkmBZkBB3NHMxN+x5yEMINxYkepkJsJJN8SGMDRQr8XmbrQwrQg+M84LtHaILqbIMzqbSfwROClywo4K1H3GYk7+NaNA== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:11:00 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:11:00 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 10/11] drm/xe: Ensure all the inner access are using the _noresume variant Date: Thu, 14 Mar 2024 10:10:20 -0400 Message-ID: <20240314141021.161009-10-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: SJ0PR03CA0125.namprd03.prod.outlook.com (2603:10b6:a03:33c::10) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ef270f3-67c3-4c93-cd92-08dc44309394 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p3qr/lOaJiALZJwMr92ROGANWbvl3ZjO4yFbc0WnPgCxPKdN6urc4S7CzHgbI007UK0PDibpE+A9lxAZKekuQQT1GtSg3Tj1s1keLBA1SKHSMg6wgSu4B8a+h1NiG2q6SlSafuu44DCKxkhYXcbYwUHyFgzsxJR6V3tekeqPKYAKq1l54ui5eytzHhSkD39mCscoqCkPSbejhGhjII/kfyAZdSd1R0Yce5NMoOTX6GKkyC+If56cKlSVIiyD2qyU/Y29sKk3mf7N4Ve/SxuBj6StqBo6X7U4svRjIzCGNN1UroMNLsVjZktX0LgKv64Na15NwxsPmvrrhfzfY84mplaVb2V87CoFnjR2ob45zScPnzSYfWcWn8EOVq29nKuk3UGmfoRakXRadNyWzzqmuZMc9/wxNOn3aCPHHg1LQBApPhvC2Q3xnkYRrh8uxiM3vhj8LY696sA8W7ALSBkEqpRnI/90hwlt8KsdpKIL18uyYSNXT6n8LyEQ5qwY7JQYWPCvfciC7I9ymO1VO6b/Lxt7job9b1REWPVgkVfKcSuei49GCYwFySzDF1t24NTUIOvlAQCrAWu0MrAhj6mgBUfhxTg1sOEJxfoksCRbTKylE9ggLgTaNhcG3PMVnN1ADQKL7vZlfbAxmIbvWX6Lxg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nLX461Mri/pfTLm23f1WxOVMzBkEYpdsUC+b18kmwpBkA5dBVP4V97Wdh0fFDw0LB9qgPrZVgXLAyRq0tE0rNSyfqTAnkFxbe6XDzR5n1j9qjFV4rq1tV2CufNpAxCqeXU7OINQtb97ll7zG3ZkeoKluHE+kxCI82CdzCJuWIQL/D0YwD6dcMUj2ez/02eEus20ZpvYpfmrG2kRn2HoNj+7+3PTY8n3mWCGsjlW+TMT2ZCh1R0u9sJ5OyWZ+z6WdDr0fyjnmtYs9YrclDNF0VA44U8mykn6AOmgyAjfWKVBJiQB0d1vsmRAmi5NsOkN73RAcqKR9A0OoUqIVZIQPTgZwtSzcR+uDyuZOCmduzHwzp0OUvSqBldzPLDgjLzJl7Qwx+PFePyuDZPBWNjL7k7tD+cCVkm4PAdjriAv/pJKcGpWHZxCil0pvkiZk37B2fDvHii4Hnu06zYw+TzZ02g1aBqsZHAlnWho09f98Rie59zdpmXQ7JGYnq9a1GErCSZLVxr2nbU8hT1nJjz0vLjRwNoz6tIaNHPYE7ZjAqd/wdk82Hp0aoX9D5yyTRWIiinF+vrD0WGVtu07HvV1qWIFSqig1qGTr60BynL9yTPRWROKlnDiyXh1Ci+hVs8+SEcg5sDKMboky0AmCVpUWo/i2atkxgKQBoCAjYPNRDd3dQmRi6YZAsyVk0uLOgGdZHTsukxa/iVaEwR0YJiypC8BjYakDmWFkns/0JZmc0T7LldfXaoAfX4LTVrg3W4fq3E8MrhdtIkLSwTLvDqiC5mskxLIJKmplumliBDmSXoqm2QJzPY0WPJkaaPqQ+P/rqBr/2EWu+lgQVVGFSA5XShyTdinclT51UWu1m3w3gak3BzhQlI0qQ7w5tM5NZ0e0KjzR4co31byxBWXZWU67ZhX1bXIQusU0YlzVdArTG+xZPbp6UThmCkPs68DrU0wyK67Sw8KMGI30BoucYlyihHdCuTn9Ino7f2zGhEMRit6BH7w2IBYcPLaf198Pn1cOChCZPlUfnRH0cAh0jGUwAck2yoQ/cN+a79gmWsjdYzcl2ZUh4z25eFYDyL/URo2zGoJ5/IRWjVVIgUHbchPnnOdUTO/uS0FyLwkl4vHZzeaBwUY2/kbNrEszUn7LzNXtETa6hj5uhKuFBpRww5pFM9L6VSFird5HnerGLp4KJ42g+WVLFsfWdAuiPnkzJm+scfOVb+gheDttPjA0HMRK5mEksTDd5zJmZ1IdzxcyAm6gD3lUpsToxSGrnelKgEjNiTyhQy0JyWP9M/hGoWuIqpKKkZYDIW/527l6hXoZP9dHJ5H9Z/H7sr6O2HbFiwdFxz8VALPnGsYj1QD2XqA6iEVE6IoXVeXnJxuprn23lGaX6kVyFlMangx65qNfWvHXMydL2bHicYDtB5AbobObdzBqjLlRVXgrto+70oRCq8oPs8RX80wgJMnXpW/ukP9ePlO3lvzbA0O0CoSNNSxxRB1H+VFnzliEj0Fdsese8R0w0h/CKhdz44e9AxHdiYED6m3pMM2sFR/McyJIGVxRHOW2+z2k/B6p/UIN73MXjpT/H6OYUMsNUKRtwjvFlFptojeorOEp3RHI7XEG/ovkLw== X-MS-Exchange-CrossTenant-Network-Message-Id: 3ef270f3-67c3-4c93-cd92-08dc44309394 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:11:00.6718 (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: odDzN5aaxj9NPiLP54XHOs2FQkZ/bo4qiydPds9qSqao/OFWgcJ7Qr7c7ML3aJNZ1XCi8YSkSUnZ9jLNn1m6Sw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" At this point mem_access references should be only used as inner points of the execution and a get with synchronous resume previously called at an outer point. So, before killing mem_acces in favor of direct accsess, let's ensure that we first convert them towards the new _noresume variant that will WARN us if no inner caller happened. Signed-off-by: Rodrigo Vivi Reviewed-by: Matthew Auld --- drivers/gpu/drm/xe/xe_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 0a51eddd264b..6ab402153242 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -671,7 +671,7 @@ void xe_device_mem_access_get(struct xe_device *xe) if (xe_pm_read_callback_task(xe) == current) return; - xe_pm_runtime_get(xe); + xe_pm_runtime_get_noresume(xe); ref = atomic_inc_return(&xe->mem_access.ref); xe_assert(xe, ref != S32_MAX); From patchwork Thu Mar 14 14:10:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13592478 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 C33C2C54E67 for ; Thu, 14 Mar 2024 14:11:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 29CF510FB79; Thu, 14 Mar 2024 14:11:13 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="jtd/xSjf"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by gabe.freedesktop.org (Postfix) with ESMTPS id A90E110FB79; Thu, 14 Mar 2024 14:11:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710425471; x=1741961471; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=pi73wvq7uj+//QINjl15d+5JJCyvgCjioSIeQXdU1vY=; b=jtd/xSjfKyV479dHV3CNPcnb4vHTeFvw2MzQxGoddDqDz/Pttu3HLoha uNQHbBCwV6DRtpiaCPA4bfwk1bGirqk2vO0ebQD9lJOSomhIbz9sDEr1e ZL2ICzvsi+vmZm8t9nK+C5bigp36iNgkB8bGgTI3o2cHGxzRssUD+Adrn 8qGRMHm8Z5VyLrltHhN6kosDVRq78Cgqculyrowycnp9Dn7VeRIwgJqNu 1cODEsmGw4oTiSGa3BJPRfXENZeekVpRONzs1fRLlSj5ulH2dsZVE+5MQ XE5ph46Lv/85jVgKIzr0qdEVZn2uP5Aw3dGSIwliOetBbcXT1AzSMuWPw g==; X-IronPort-AV: E=McAfee;i="6600,9927,11012"; a="30683128" X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="30683128" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 07:11:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,125,1708416000"; d="scan'208";a="16963444" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 07:11:10 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:09 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:09 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 14 Mar 2024 07:11:09 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.41) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 14 Mar 2024 07:11:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sr5HLKpdqg+h6jfB0hPphA5VAxz7ry6wCemBrzQQKVyfr6E1h61SHBbWj4bcVgf15hgBvRdeNSXoCmoa68n7hrLfpimhStTEiSwv0YSdtuswZ3/Zt5cHQ5SBQhQ9QKBeoDoZr+pfb5UUg/DaZxZjy51LHM37pL9VuvSW+BVjfxMe9IpyNEshFCudY3HvPQ1HKbN4QLX/1rF+H6nLndXuatM3TwvhTVCGcjDFfA5zTXdMT3HD4wVHqHbeAWyzXxKG6ojaktYeOBC3rKyn9vSV4dwI7A6xKkHVKXFBGqiFlzZztzODXV0XQ5LKSVSLXcSQG6sITKNSKydSVZd/j/mHTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ZnJbiH973vZvtRNwEIMC8SSC0rptxHEb0+YCmlfQpN4=; b=hgrpfVYGjiC7zYkBWHiw9WHwc1tFd2xGl1+5JJ0/xxQK3/SB+AlnOmTe1nMO2hf10EdhKwc5xMmJ2lfCTwJwpcM6MEl/VCwR1T1yM8jNYJAGP0dUtykO/ngd1+yMFk2nEUS9MCSQmgNM5Q2dS3jmRVGa1l5GnWNEB5ms2kRD0n37mS5Bxgz0WXXofvSsjO0ILuD/8irsj4wXf8BvDLkFwx9FF898BF6/ps5desfKoB7igB3Ja1suT3hWUvCWCjhgX/+5Xun3I65nGtuAjvIStrhnKfy4ItiGCJV3WiWx8O7dzZvw4qhzeDBfWJZ9Zrnjp5J50XXoNm4VytefdVwHmA== 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 MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by PH8PR11MB7965.namprd11.prod.outlook.com (2603:10b6:510:25c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Thu, 14 Mar 2024 14:11:05 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::7607:bd60:9638:7189%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 14:11:04 +0000 From: Rodrigo Vivi To: , CC: , Rodrigo Vivi , Matthew Auld Subject: [PATCH 11/11] drm/xe: Kill xe_device_mem_access_{get*,put} Date: Thu, 14 Mar 2024 10:10:21 -0400 Message-ID: <20240314141021.161009-11-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240314141021.161009-1-rodrigo.vivi@intel.com> References: <20240314141021.161009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BY3PR04CA0025.namprd04.prod.outlook.com (2603:10b6:a03:217::30) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|PH8PR11MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 4387687a-dcbb-4798-1d05-08dc443095e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZEa6I4pD2wuGYaxiBoj1tuhtNnkTr/NaF2wHPRdkuZQL0qjaFvKsoM972aOqF/c0IK4bxnNN32oj/qWz0VYM8z6MllIOSswvcC+ahkr/83lATjfTdS+94OFS9e3oxbxhXGDRdVIPKtVkLcY1tjTEj3gwhq7BezJDPGzZcK3ECvT0EHVso+dOaU2n/m6HRSb7Ya3UuMed5MZ1nPIYiWgt+PE3BP2OUsSCpuEW2a1O3m3mxDWIWkWdHgUvCaLhwwfZxAh/oP58hRlEHM3l8my1gnA1D9jdAfvPTg90vdD2lWHPzSXIdYXCVEPqdygCQSFsGSS7RCUtS7QKdbOanx21b5vT74MfGaZndhXU8Q5+4AtKNPNGa5ozYhcwiOYGGnjopBlPHIpoqJqjeGKFkGgEOQsVkcv+0Nb8fEF1q2l/DGuzf1f1yumTO5xuBzo9GhWWfcOCTC07ERd4pCcGj7sZWj/HGRqfVG2TLLfC0kgTMVNB2MrEDzxMTH6wSxfydbBBWHAQnPy4HB+EeXjmfG9b6iSks4rUG5N79700MYCtfXBKyaCOA4XZx6M0FY4oaMY0uDlvhSUrXyAbLH1INgSO6zFx8OtAJJr2r7ymr/roHqmj1nrMF7+1tk1aO3RlJHf+umDiQsJZvtOmM1835Hs/kGxSZ791dbTXJko+GX8rWN4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1wurhrSYqZPKEIA6Ofo7qni6aDgplMRjlTvPFTfyEvn92oqVcl36zzaCk8/BE+w+PielKVzEvo97v6QbyfbPCPsQsFOcCASfSLd9KkzV6f+dLM/1WIDzoxDHB5lpAv9iM/YMxDC5KXxjbzH9O/pwifXTVmxPjBhY47+9X3Zx+k/Ue4WjLVuqQfCaNqljQvvspQ1QpiO0/BWv/of4iOR0P6LtgoKP65rI3Np2i2QHJIcGMsLR3TNJ9yKCR/yay2At4VwiUB4Yr3pemVyDPbp10PyhbwFu9oYxCcDRQwTA7EaoAslPrsqxUqMu6pwArU+Inl0d2coXi0u99x3MWhY+a1WtecfMspZLPgMB5fZb5AFqvTLNm5k9iYjE6yJ8nHC9PwGUQUd/N/t47IhPkbtBnfyb53wyVedp5SMYUDMdWKu/uzNEpaEbtzoInwnYKdIZxtiUpc2V/Q4YVgVcbM4x5HEP7fG3I/4wJfex+PvUHPBbGhHdtnWXQJVie7DgqEG8Hx3/gBu/gOD4zrIKIGBIcOcvgLXDvIbvM2rgYqgPc6mHMbBE/mQDwT+DIj43b764vQrZVLzCaZSukwAgodroPQOTOu4ydvV6+ebpF0SZ4t0jEK1xgCS3o5O45qzfzs91t0FLZQIfMKB/mX4n4KpVRdjrcrFZLYX4YsWe7ej+/Yy3+P8AijWOWaOnsgq74R3mmjorvhFcvLmn6dO3Ry9843+sKrZf4dS3N+0vn8pot6BjQaWufl8FB5zOFSedIyS3AGLUknpEihWxw9LUypNaPunzhly1qIW5HF7IV6I548GX+xjM1iikizbyiS9SvFrCHo1geoHSO82vkhmM6l54LL/MutU8APGYRQ6K1z5bYaS6Hh6Hg60lY+6gl+SxhzHNfUow0641Kqcpl+25IPx05oMxGr+5gwVBEHkkiMkZRMaw8/LLR6YH5iwYfO6/gl/c2cpVSWmP8LvxMi2rKWU4jCEfDgq8KC/Zkr6acpO6MDfZ+tKQjjRev2q/ZGr2PjJ2+EuIK3OQZrBSZuf4L00Cctl81911OAKOU2yKCMYfh2ylTYJ4hmbwEUlEvGFNNMt3AbMIXF95BLoOxy6Lvjzd2Gr4OqcTCQkHY/XZHCw/qY+8D55UZT/VXnIpAac9/fahjPri5OzIALQdsVxb+RWg7ofE/X10qLJKdrcAFCuHUmNI5nF0Apmt4yiabcF4ny6LIkMmQx8AGgLkEDblYLw3ocpkooA0xNeuATjmr3+S4rvjLn8P8ndxFAHWxT3MMm50P/NoXmkCwF/Hgf799EqMrmH1OCk8NheukUYKMiFSsiNp3DLukQRxFZtzXNuDiFX1ezVAKrEnB+mnWVEZynsQ2ZO2I00qRLE5nXhQQbkMmrci5XnamTo9ckn+prwTWDap/xTtY/ieNPnQqWovsK674NVEJofViE9XQfmUpqTXdVF7cO6atT+auBX7/hKdRgcedfE/tmpMcYyLu/qStFFnlWJlZbOFjY/KFUEGCVbyINYhN7/gwhnCF20v7bpo9UtLWfPZA5G1/3j5v7xyB7mqJJ5pL9/6UFLHvJhmQ7G3dEClW+AwC14LKrcnAzuW91oICrS1YqzEqCu/xoYLvcGABQ== X-MS-Exchange-CrossTenant-Network-Message-Id: 4387687a-dcbb-4798-1d05-08dc443095e8 X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:11:04.8332 (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: RNAUuZ3b9glD7+mjQ3bszTMHCVcJ6BGfvT0q+oWCnXUlvNp0vkZtejLvcIUprFzw7/mGbFt3q1OG0trfLQLntw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7965 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" Let's simply convert all the current callers towards direct xe_pm_runtime access and remove this extra layer of indirection. v2: Convert all the current callers instead of a big refactor at once. Signed-off-by: Rodrigo Vivi Reviewed-by: Matthew Auld --- drivers/gpu/drm/xe/display/xe_fb_pin.c | 7 ++--- drivers/gpu/drm/xe/xe_bo.c | 8 +++--- drivers/gpu/drm/xe/xe_device.c | 36 -------------------------- drivers/gpu/drm/xe/xe_device.h | 3 --- drivers/gpu/drm/xe/xe_device_types.h | 3 --- drivers/gpu/drm/xe/xe_exec_queue.c | 6 ++--- drivers/gpu/drm/xe/xe_ggtt.c | 9 ++++--- drivers/gpu/drm/xe/xe_sched_job.c | 5 ++-- drivers/gpu/drm/xe/xe_vm.c | 6 ++--- 9 files changed, 22 insertions(+), 61 deletions(-) diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c index 722c84a56607..403ed2d42f6b 100644 --- a/drivers/gpu/drm/xe/display/xe_fb_pin.c +++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c @@ -10,6 +10,7 @@ #include "intel_fb_pin.h" #include "xe_ggtt.h" #include "xe_gt.h" +#include "xe_pm.h" #include @@ -190,7 +191,7 @@ static int __xe_pin_fb_vma_ggtt(struct intel_framebuffer *fb, /* TODO: Consider sharing framebuffer mapping? * embed i915_vma inside intel_framebuffer */ - xe_device_mem_access_get(tile_to_xe(ggtt->tile)); + xe_pm_runtime_get_noresume(tile_to_xe(ggtt->tile)); ret = mutex_lock_interruptible(&ggtt->lock); if (ret) goto out; @@ -242,7 +243,7 @@ static int __xe_pin_fb_vma_ggtt(struct intel_framebuffer *fb, out_unlock: mutex_unlock(&ggtt->lock); out: - xe_device_mem_access_put(tile_to_xe(ggtt->tile)); + xe_pm_runtime_put(tile_to_xe(ggtt->tile)); return ret; } @@ -381,4 +382,4 @@ struct i915_address_space *intel_dpt_create(struct intel_framebuffer *fb) void intel_dpt_destroy(struct i915_address_space *vm) { return; -} \ No newline at end of file +} diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c index 7ee4406da127..4c9a8ab4e840 100644 --- a/drivers/gpu/drm/xe/xe_bo.c +++ b/drivers/gpu/drm/xe/xe_bo.c @@ -716,7 +716,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict, xe_assert(xe, migrate); trace_xe_bo_move(bo, new_mem->mem_type, old_mem_type, move_lacks_source); - xe_device_mem_access_get(xe); + xe_pm_runtime_get_noresume(xe); if (xe_bo_is_pinned(bo) && !xe_bo_is_user(bo)) { /* @@ -740,7 +740,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict, if (XE_WARN_ON(new_mem->start == XE_BO_INVALID_OFFSET)) { ret = -EINVAL; - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); goto out; } @@ -758,7 +758,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict, new_mem, handle_system_ccs); if (IS_ERR(fence)) { ret = PTR_ERR(fence); - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); goto out; } if (!move_lacks_source) { @@ -783,7 +783,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict, dma_fence_put(fence); } - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); out: return ret; diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 6ab402153242..31182ebe0b89 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -655,42 +655,6 @@ void xe_device_assert_mem_access(struct xe_device *xe) xe_assert(xe, !xe_pm_runtime_suspended(xe)); } -void xe_device_mem_access_get(struct xe_device *xe) -{ - int ref; - - /* - * This looks racy, but should be fine since the pm_callback_task only - * transitions from NULL -> current (and back to NULL again), during the - * runtime_resume() or runtime_suspend() callbacks, for which there can - * only be a single one running for our device. We only need to prevent - * recursively calling the runtime_get or runtime_put from those - * callbacks, as well as preventing triggering any access_ongoing - * asserts. - */ - if (xe_pm_read_callback_task(xe) == current) - return; - - xe_pm_runtime_get_noresume(xe); - ref = atomic_inc_return(&xe->mem_access.ref); - - xe_assert(xe, ref != S32_MAX); - -} - -void xe_device_mem_access_put(struct xe_device *xe) -{ - int ref; - - if (xe_pm_read_callback_task(xe) == current) - return; - - ref = atomic_dec_return(&xe->mem_access.ref); - xe_pm_runtime_put(xe); - - xe_assert(xe, ref >= 0); -} - void xe_device_snapshot_print(struct xe_device *xe, struct drm_printer *p) { struct xe_gt *gt; diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h index b45592b0bf19..355bddfc8274 100644 --- a/drivers/gpu/drm/xe/xe_device.h +++ b/drivers/gpu/drm/xe/xe_device.h @@ -133,9 +133,6 @@ static inline struct xe_force_wake *gt_to_fw(struct xe_gt *gt) return >->mmio.fw; } -void xe_device_mem_access_get(struct xe_device *xe); -void xe_device_mem_access_put(struct xe_device *xe); - void xe_device_assert_mem_access(struct xe_device *xe); static inline bool xe_device_in_fault_mode(struct xe_device *xe) diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h index 9785eef2e5a4..4bec8b90a37c 100644 --- a/drivers/gpu/drm/xe/xe_device_types.h +++ b/drivers/gpu/drm/xe/xe_device_types.h @@ -377,9 +377,6 @@ struct xe_device { * triggering additional actions when they occur. */ struct { - /** @mem_access.ref: ref count of memory accesses */ - atomic_t ref; - /** * @mem_access.vram_userfault: Encapsulate vram_userfault * related stuff diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c index f69a9c99329c..42ddf857e9e8 100644 --- a/drivers/gpu/drm/xe/xe_exec_queue.c +++ b/drivers/gpu/drm/xe/xe_exec_queue.c @@ -217,7 +217,7 @@ void xe_exec_queue_fini(struct xe_exec_queue *q) for (i = 0; i < q->width; ++i) xe_lrc_finish(q->lrc + i); if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm)) - xe_device_mem_access_put(gt_to_xe(q->gt)); + xe_pm_runtime_put(gt_to_xe(q->gt)); __xe_exec_queue_free(q); } @@ -589,7 +589,7 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data, return -EINVAL; /* The migration vm doesn't hold rpm ref */ - xe_device_mem_access_get(xe); + xe_pm_runtime_get_noresume(xe); flags = EXEC_QUEUE_FLAG_VM | (id ? EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD : 0); @@ -598,7 +598,7 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data, args->width, hwe, flags, args->extensions); - xe_device_mem_access_put(xe); /* now held by engine */ + xe_pm_runtime_put(xe); /* now held by engine */ xe_vm_put(migrate_vm); if (IS_ERR(new)) { diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c index 0f96b7db6dcc..d73056aa2362 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.c +++ b/drivers/gpu/drm/xe/xe_ggtt.c @@ -20,6 +20,7 @@ #include "xe_gt_printk.h" #include "xe_gt_tlb_invalidation.h" #include "xe_map.h" +#include "xe_pm.h" #include "xe_sriov.h" #include "xe_wopcm.h" @@ -408,14 +409,14 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo, if (err) return err; - xe_device_mem_access_get(tile_to_xe(ggtt->tile)); + xe_pm_runtime_get_noresume(tile_to_xe(ggtt->tile)); mutex_lock(&ggtt->lock); err = drm_mm_insert_node_in_range(&ggtt->mm, &bo->ggtt_node, bo->size, alignment, 0, start, end, 0); if (!err) xe_ggtt_map_bo(ggtt, bo); mutex_unlock(&ggtt->lock); - xe_device_mem_access_put(tile_to_xe(ggtt->tile)); + xe_pm_runtime_put(tile_to_xe(ggtt->tile)); return err; } @@ -433,7 +434,7 @@ int xe_ggtt_insert_bo(struct xe_ggtt *ggtt, struct xe_bo *bo) void xe_ggtt_remove_node(struct xe_ggtt *ggtt, struct drm_mm_node *node) { - xe_device_mem_access_get(tile_to_xe(ggtt->tile)); + xe_pm_runtime_get_noresume(tile_to_xe(ggtt->tile)); mutex_lock(&ggtt->lock); xe_ggtt_clear(ggtt, node->start, node->size); @@ -443,7 +444,7 @@ void xe_ggtt_remove_node(struct xe_ggtt *ggtt, struct drm_mm_node *node) xe_ggtt_invalidate(ggtt); mutex_unlock(&ggtt->lock); - xe_device_mem_access_put(tile_to_xe(ggtt->tile)); + xe_pm_runtime_put(tile_to_xe(ggtt->tile)); } void xe_ggtt_remove_bo(struct xe_ggtt *ggtt, struct xe_bo *bo) diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c index 8151ddafb940..8ba35b1698ed 100644 --- a/drivers/gpu/drm/xe/xe_sched_job.c +++ b/drivers/gpu/drm/xe/xe_sched_job.c @@ -15,6 +15,7 @@ #include "xe_hw_fence.h" #include "xe_lrc.h" #include "xe_macros.h" +#include "xe_pm.h" #include "xe_trace.h" #include "xe_vm.h" @@ -157,7 +158,7 @@ struct xe_sched_job *xe_sched_job_create(struct xe_exec_queue *q, /* All other jobs require a VM to be open which has a ref */ if (unlikely(q->flags & EXEC_QUEUE_FLAG_KERNEL)) - xe_device_mem_access_get(job_to_xe(job)); + xe_pm_runtime_get_noresume(job_to_xe(job)); xe_device_assert_mem_access(job_to_xe(job)); trace_xe_sched_job_create(job); @@ -190,7 +191,7 @@ void xe_sched_job_destroy(struct kref *ref) container_of(ref, struct xe_sched_job, refcount); if (unlikely(job->q->flags & EXEC_QUEUE_FLAG_KERNEL)) - xe_device_mem_access_put(job_to_xe(job)); + xe_pm_runtime_put(job_to_xe(job)); xe_exec_queue_put(job->q); dma_fence_put(job->fence); drm_sched_job_cleanup(&job->drm); diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c index cbb9b8935c90..8263ae98c268 100644 --- a/drivers/gpu/drm/xe/xe_vm.c +++ b/drivers/gpu/drm/xe/xe_vm.c @@ -1341,7 +1341,7 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags) vm->pt_ops = &xelp_pt_ops; if (!(flags & XE_VM_FLAG_MIGRATION)) - xe_device_mem_access_get(xe); + xe_pm_runtime_get_noresume(xe); vm_resv_obj = drm_gpuvm_resv_object_alloc(&xe->drm); if (!vm_resv_obj) { @@ -1452,7 +1452,7 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags) xe_range_fence_tree_fini(&vm->rftree[id]); kfree(vm); if (!(flags & XE_VM_FLAG_MIGRATION)) - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); return ERR_PTR(err); } @@ -1575,7 +1575,7 @@ static void vm_destroy_work_func(struct work_struct *w) mutex_destroy(&vm->snap_mutex); if (!(vm->flags & XE_VM_FLAG_MIGRATION)) { - xe_device_mem_access_put(xe); + xe_pm_runtime_put(xe); if (xe->info.has_asid && vm->usm.asid) { mutex_lock(&xe->usm.lock);