From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 14BECC47258 for ; Wed, 31 Jan 2024 05:32:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 35D9410EDC2; Wed, 31 Jan 2024 05:32:49 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6CE1910EDC2 for ; Wed, 31 Jan 2024 05:32:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1706679167; x=1738215167; h=message-id:date:subject:to:references:from:in-reply-to: mime-version; bh=Iv8sP8nPLKU/b+Xx+TzbtQk1RMAnLlVQVji7zrKHTe4=; b=kS9mWIMzJ/wE89CWwzCq3jwhowwyLOZ6qSGeKs1/hAiE9qHghM7FnkhT KeiRf9UYcSVtYBI2l4P2UMuB2Wp688t7nPM//hUdYJjcw7uTLZZLB9f1x CzW1wMr7FPm8zKWWvqoqbpUsJ4HkRiNjfloAGi4VceYlyT5iYttFh4V0/ jJpMs85yrAapXRMEl3msPPkVlqQY1TozVpkL0g7oz05s18NVlLmiuaI28 uDF8ga1Hi9PedfxrGXcCm61o/DAGO8DrmhnxSWPBtE7I/mNzS+tuJQG8A q0pwvefffZ81o6vhIjLpBiaoUKdPhcB+3zz9Gj1PdW55+T/Iog8VqIAJI g==; X-IronPort-AV: E=McAfee;i="6600,9927,10969"; a="434665036" X-IronPort-AV: E=Sophos;i="6.05,231,1701158400"; d="scan'208,217";a="434665036" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jan 2024 21:32:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,231,1701158400"; d="scan'208,217";a="30123438" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Jan 2024 21:32:47 -0800 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; Tue, 30 Jan 2024 21:32:45 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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; Tue, 30 Jan 2024 21:32:45 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 30 Jan 2024 21:32:44 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 30 Jan 2024 21:32:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NducViy1443WFmTZgEdgm+LlEs1AJT+BUR3p0iIz8ch1uXPu6GcPdNrfRG7b3QAvtc2sH+CCpByYcpYxQeiTlBMG4O4IqB6z1YVwPEbXOSTN5ICvMrHoYYmdpp8uax2aXHKU/f1Lu9wNEqD3WxOsVMl1sTJt0vk+DVmXAuNlNc7AdrGxC6wl0w7wZbUotGTWtK4FOX+o+CRUXQeo3GD/Cysqyex9e/hkPGkhv4tO+SrszAyXF//T4dV6ub4C3Z2USmhMeRsSD3MQdwMsp6N6g08PpMUr6jgjGmzR8kr2AQBTSz30CQwFwkwooyds4q6vVBXihqfmXsqvve5qdJYCzg== 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=SFC4NogCZnn4LHdbZ3QJgMitFMyq1qwxLKGxUVkhF84=; b=kCeoB1XZemCv+jscWvDtoEnRPgc/ez5zjwI0ND9WCEUSlA6vBoafUZ0u9Zw7GQslIJJJ6yA2MPalOCy82jDEaNacOeChs9IuD9m0rCyQIrl214YPAt/Sfs2WModfTHJxkd9IOjmDwrFPRN2CDIAx+3zygDrBMXOOtWiSoXKAaA2oyU0U9JXFMV31joC8H3zMW/8KzTuiQt70nnilwKoa4jiYkjKTQsPgjFn5rffkBAtmesKART+gD9WSbM18nW8qNXs5/uoDE72mU8J1kOP3/v6oMMWzy7C/OJyzw3ZsVkdS3Ksg0Hs62C25Uwo+g+5lu6WlLcOx7IhU2D9+n0VTDA== 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 MW4PR11MB7056.namprd11.prod.outlook.com (2603:10b6:303:21a::12) by CY5PR11MB6114.namprd11.prod.outlook.com (2603:10b6:930:2d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Wed, 31 Jan 2024 05:32:42 +0000 Received: from MW4PR11MB7056.namprd11.prod.outlook.com ([fe80::f3c8:b435:76a3:b957]) by MW4PR11MB7056.namprd11.prod.outlook.com ([fe80::f3c8:b435:76a3:b957%5]) with mapi id 15.20.7228.029; Wed, 31 Jan 2024 05:32:42 +0000 Content-Type: multipart/alternative; boundary="------------OK0vNDjxGye9zNdGSe4aR83c" Message-ID: Date: Wed, 31 Jan 2024 11:02:36 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/4] drm/xe/pat: annotate pat index table with compression info To: References: <20240130193652.374270-1-juhapekka.heikkila@gmail.com> <20240130193652.374270-2-juhapekka.heikkila@gmail.com> Content-Language: en-US From: "Ghimiray, Himal Prasad" In-Reply-To: <20240130193652.374270-2-juhapekka.heikkila@gmail.com> X-ClientProxiedBy: PN2PR01CA0252.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:21a::11) To MW4PR11MB7056.namprd11.prod.outlook.com (2603:10b6:303:21a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW4PR11MB7056:EE_|CY5PR11MB6114:EE_ X-MS-Office365-Filtering-Correlation-Id: 99958365-234f-40dd-af4f-08dc221e0bac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C/CGFdavPOHIcdFJ25p3sfI/KjxZrRoaumSQyK0eUeEZYgJaNqlabH3ZV5mdpF3kYcT53cgSLf/Pau6eVtxJUvuQ8B6/YmRq8CcBHxChyiNquBsSntFw1sibVy7WTqYbh5cGpqbk42w2vomH9OU6Evsew9qaYKtzDVDNgOFRL+IjRjldULMmohF0+CWagf989f9NvrvL+ltHzyV1vzAPzwTbu3v/UxLTy153+xKOeMQxv9W07U9sAa1mP1F1rTRQYEHxdNSLQjWofzuCGivtnUjgV8Lat3qjooqN6ENVbOAS1Yu0XF8cnlCSjZWouBXXCCifQvrnXXafULi2gzF0mdYPUCS9pWF2CAm0IeQAwx4DtdzA5okcMkI/lEblnbZ8wZmWFBYrvVsuhK94zRVaBe2d3O9eJqlFYeC9dtz1RT8Dae/a7NxKH46ePLBPieIXkps8gjf/M8tpwqqMfIAdKEUjGW77g/5CU9dg//DDY09WduRNKRHfMWrZ52VWIEjM1YQZuZ0fIEl5iaePJGnLzjHugYyq472EYuJZBj/gflkPnu+SII42iahujzPvcS5vrwExdFBpi6sEaUXyEub3WCQXmhaBMe1OMN6RjrNDApaKRzFOrSJMPtzFry9u47h3ZpNjrg+eJKEkej1zrzAudQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW4PR11MB7056.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(346002)(376002)(136003)(39860400002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(41300700001)(8676002)(8936002)(2906002)(5660300002)(31696002)(86362001)(66946007)(66556008)(66476007)(6916009)(316002)(36756003)(38100700002)(82960400001)(53546011)(33964004)(6506007)(6512007)(478600001)(6486002)(6666004)(83380400001)(26005)(2616005)(31686004)(45980500001)(43740500002)(579004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UHUxWnFvNkd6M3lmbEpPbll5RmJUdG9Bd0lsR0Fpa3ZyNVZwRHoyTGNmdVBn?= =?utf-8?B?QWJzY2JESWhNUGdDY0RHSnRJdy9MdjdvdXlPY0F3TEZlZjcwVitkQ1JqWFND?= =?utf-8?B?TXdzN1AxSk1jeVZJQTg0bmtISU40anQxNHF1N1ExRysyR3Z1ZGppSUlGVC9n?= =?utf-8?B?amNLM20xVVNuS0F5NkJKbk1UNFIxTzdlalZpMXNVRHRLMHlTNDlRWTRUbXhv?= =?utf-8?B?NGNmNGpTcjFPUjJ6MjZnTDZROWk4eHdQM01WZWxGSUl4djRvTXJjbldmeDZD?= =?utf-8?B?YU9GbDQ5enlyMnIvcm9LMjMvSlQrMGtWUXEyUVlSaTRaZ0lBbWp1d0pYUllm?= =?utf-8?B?WXlyQzVVNEhRV2tscUFFZm9KRVptVnM5cHh6dk53YVJCcDNSVlc1OFFzeEdM?= =?utf-8?B?OEM5cDRPWEdZb1ZlWFJORzFYMUgrRkE0bzN3azVBNk5YYU9zZDYxZm5pUEpq?= =?utf-8?B?bHN2Nml2NEg2Y1VjdTJHY0ZNZUVvSGt4L2pzT0JHbGxFMWhEcnZyOG5xSy9x?= =?utf-8?B?ME8xQngxZHFOOUpTa0dwbS93bG96Z05GdGhMbnQ1OWUxajNWNGEyRWF4Rnpm?= =?utf-8?B?dFZZVE9DK3EyaEs5YWFNdVBLUVF6QnQ3RmZrY3F1d090RmVvQm9rbnh4QW56?= =?utf-8?B?OVNkb2kxQ0QzV3dSQUI2MzNVUjBNeURFUUtJMHk4YitETjNGR0RkVXVtMlFz?= =?utf-8?B?d25GdFlZdUtZT1NtcjVmWi9GMXJ2QWx4Q3U1V0wyR0pvRmpSUHE4akpnMld2?= =?utf-8?B?cUY0d0ZpaVJnZU12V3RnM1RJay8xYkJEZDZYSnljWm1rZjAyTnUvUm94MXVs?= =?utf-8?B?bU51N3lOMG1pdW53SCt6a2FMdEwxTnIwbHVJbEd5SmN5bm9LQXVVUTdIM3Vn?= =?utf-8?B?TzNIdERrbUtBcGxQbUpkVEwveTlpREs2c0o2MnJJY3VtVloxZ0RmUDJBSkhV?= =?utf-8?B?WFBGTXZJdkNmYzJRaGlweGU2bHRianNUdFRlaXpUSS96ckJzRHJuU05hQ3dn?= =?utf-8?B?VUhJdURMMm1VaGMvQWdDbThZT3hVNlhkUm1RNUJPWTAwN2ZxMnJnNWhpdjF0?= =?utf-8?B?Q25YV2FETTlQQVlvTS9na0poaE5ITTczZkhDSjB6cjVRcWxxSzIycDBIZE1U?= =?utf-8?B?ZmxYeUxxQ1NVMG1sbFJkbUdoOXdMZWZNcGpKNW5IbWRoS0VQdXF6bnlpN0ZD?= =?utf-8?B?V2h6TW1PWElwY3RiNmpvMld2N1RINk9CZ0VRbkI1dlM1R1kybE9vdWx0SXBZ?= =?utf-8?B?R2ZXa3phQXpPQklzV2VHRWVBTm4waVI3Vnl4Z1dZU2htRnBlT3NuTEp1WW9Y?= =?utf-8?B?ZDl0NzJJbDMya3B5MU05aU5FdHF5d2hrUDROWEg3cUR3TFRLNmN1UEdSNDlF?= =?utf-8?B?TVhoSGF4QzdJMnRBT1NIemlVcUFZZHJXTldKYjZKUThmSFVuL2lza3Y3K01i?= =?utf-8?B?blROVVh3MkFJQUt0SjFIYU9nVFQrS0xuL2daQ1BxK0puNVdqVTc5V1pPS0M1?= =?utf-8?B?SHlPelZZTUExT09QRlpwZ2M3Qm5uVkc3K3JoUHcwYzdDdElpVEw4UHl2NDdX?= =?utf-8?B?REhkYlRBVklzeHdPblpsS1hMajVrKzNweVVVYXNHWTdOM0JPcTA0MDI4eE1r?= =?utf-8?B?eFdXNEVMV3F5dzV5a2dJVHl4OFRoZmZyUXdaNWpqeGJvNlZkeWM1cGtHa2Qr?= =?utf-8?B?THdvZlMwYlBmYjlSUFRmUHdEYkdDajRlSTZqUjRZYlVaRHNzbVFsVmtBQTBn?= =?utf-8?B?em1qTVVTak5yWjI4bXZlWWJGaTliTjJXSDhTSkxNenR5SFZXUVZBeTczUllO?= =?utf-8?B?TXU3M09vQ05zZXc3cXNIV1daN0JBcWJtZXc4WkxnNERPTGVUY1IrNUx0ak9o?= =?utf-8?B?dUlnUllwdEhqWVNoWndXLzVncXdpb21OK2FubzJvclVnRzR5WTUvMnVESWJO?= =?utf-8?B?T2hOeXdvOUlHRytQRURVMUNrQnJGN0NkR3hiOWRCcTlXL1grOWFybmJpdmhQ?= =?utf-8?B?K3JZMGhRM1pPUGtpaERBTFdBajNtcnlxdGV3NGgwV2JQd2lNaUhpdWZxbUJR?= =?utf-8?B?R1ZNUnE4NU9JVWVvTlBWd1ZReWdjaTFKNUNnNURoZ20xWWkrUGVYeUh4ckRR?= =?utf-8?B?Y3NUSHNnUThWclQwVk5qcnhuMUI5SDhqOEpBWHl2ckJJQnUweVVtZHBlTWp4?= =?utf-8?Q?Vt5zFIdSB1OEMg5+eVtkYeg=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 99958365-234f-40dd-af4f-08dc221e0bac X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB7056.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2024 05:32:42.3019 (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: H5oBxVcsbgEDXIbaqPPQxJNAa53v5B385jwpah+ngXTt1U1CIIXacpI4BguIGMGFIgWdxpnf5n8ewr3Ii937vSRp99Iszwh+HqEkrptwYzM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6114 X-OriginatorOrg: intel.com X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" --------------OK0vNDjxGye9zNdGSe4aR83c Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit On 31-01-2024 01:06, Juha-Pekka Heikkila wrote: > From: Matthew Auld > > In a future patch we need to be able to determine if a given pat_index > enables compression on xe2. Simplest is to annotate the PAT index table > with this information. > > Signed-off-by: Matthew Auld > Reviewed-by: Juha-Pekka Heikkila > Signed-off-by: Juha-Pekka Heikkila > --- > drivers/gpu/drm/xe/xe_pat.c | 9 ++++++++- > drivers/gpu/drm/xe/xe_pat.h | 14 ++++++++++++++ > 2 files changed, 22 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/xe/xe_pat.c b/drivers/gpu/drm/xe/xe_pat.c > index 1ff6bc79e7d4..c3cc6e90b068 100644 > --- a/drivers/gpu/drm/xe/xe_pat.c > +++ b/drivers/gpu/drm/xe/xe_pat.c > @@ -104,7 +104,8 @@ static const struct xe_pat_table_entry xelpg_pat_table[] = { > REG_FIELD_PREP(XE2_L3_POLICY, l3_policy) | \ > REG_FIELD_PREP(XE2_L4_POLICY, l4_policy) | \ > REG_FIELD_PREP(XE2_COH_MODE, __coh_mode), \ > - .coh_mode = __coh_mode ? XE_COH_AT_LEAST_1WAY : XE_COH_NONE \ > + .coh_mode = __coh_mode ? XE_COH_AT_LEAST_1WAY : XE_COH_NONE, \ > + .compressed = comp_en \ > } > > static const struct xe_pat_table_entry xe2_pat_table[] = { > @@ -148,6 +149,12 @@ u16 xe_pat_index_get_coh_mode(struct xe_device *xe, u16 pat_index) > return xe->pat.table[pat_index].coh_mode; > } > > +bool xe_pat_index_has_compression(struct xe_device *xe, u16 pat_index) > +{ > + WARN_ON(pat_index >= xe->pat.n_entries); > + return xe->pat.table[pat_index].compressed; > +} > + > static void program_pat(struct xe_gt *gt, const struct xe_pat_table_entry table[], > int n_entries) > { > diff --git a/drivers/gpu/drm/xe/xe_pat.h b/drivers/gpu/drm/xe/xe_pat.h > index fa0dfbe525cd..8c0fc68e844f 100644 > --- a/drivers/gpu/drm/xe/xe_pat.h > +++ b/drivers/gpu/drm/xe/xe_pat.h > @@ -29,6 +29,10 @@ struct xe_pat_table_entry { > #define XE_COH_NONE 1 > #define XE_COH_AT_LEAST_1WAY 2 > u16 coh_mode; > + /** > + * @compressed: Whether compression is enabled or not with @value. > + */ > + bool compressed; > }; > > /** > @@ -58,4 +62,14 @@ void xe_pat_dump(struct xe_gt *gt, struct drm_printer *p); > */ > u16 xe_pat_index_get_coh_mode(struct xe_device *xe, u16 pat_index); > > +/** > + * xe_pat_index_has_compression - Check if the given pat_index enables > + * compression. > + * @xe: xe device > + * @pat_index: The pat_index to query > + * > + * Note: Only applicable to xe2+, where compression is part of the PAT index. > + */ > +bool xe_pat_index_has_compression(struct xe_device *xe, u16 pat_index); > + > #endif Looks good. Reviewed-by: Himal Prasad Ghimiray --------------OK0vNDjxGye9zNdGSe4aR83c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 7bit


On 31-01-2024 01:06, Juha-Pekka Heikkila wrote:
From: Matthew Auld <matthew.auld@intel.com>

In a future patch we need to be able to determine if a given pat_index
enables compression on xe2. Simplest is to annotate the PAT index table
with this information.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 drivers/gpu/drm/xe/xe_pat.c |  9 ++++++++-
 drivers/gpu/drm/xe/xe_pat.h | 14 ++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_pat.c b/drivers/gpu/drm/xe/xe_pat.c
index 1ff6bc79e7d4..c3cc6e90b068 100644
--- a/drivers/gpu/drm/xe/xe_pat.c
+++ b/drivers/gpu/drm/xe/xe_pat.c
@@ -104,7 +104,8 @@ static const struct xe_pat_table_entry xelpg_pat_table[] = {
 			REG_FIELD_PREP(XE2_L3_POLICY, l3_policy) | \
 			REG_FIELD_PREP(XE2_L4_POLICY, l4_policy) | \
 			REG_FIELD_PREP(XE2_COH_MODE, __coh_mode), \
-		.coh_mode = __coh_mode ? XE_COH_AT_LEAST_1WAY : XE_COH_NONE \
+		.coh_mode = __coh_mode ? XE_COH_AT_LEAST_1WAY : XE_COH_NONE, \
+		.compressed = comp_en \
 	}
 
 static const struct xe_pat_table_entry xe2_pat_table[] = {
@@ -148,6 +149,12 @@ u16 xe_pat_index_get_coh_mode(struct xe_device *xe, u16 pat_index)
 	return xe->pat.table[pat_index].coh_mode;
 }
 
+bool xe_pat_index_has_compression(struct xe_device *xe, u16 pat_index)
+{
+	WARN_ON(pat_index >= xe->pat.n_entries);
+	return xe->pat.table[pat_index].compressed;
+}
+
 static void program_pat(struct xe_gt *gt, const struct xe_pat_table_entry table[],
 			int n_entries)
 {
diff --git a/drivers/gpu/drm/xe/xe_pat.h b/drivers/gpu/drm/xe/xe_pat.h
index fa0dfbe525cd..8c0fc68e844f 100644
--- a/drivers/gpu/drm/xe/xe_pat.h
+++ b/drivers/gpu/drm/xe/xe_pat.h
@@ -29,6 +29,10 @@ struct xe_pat_table_entry {
 #define XE_COH_NONE          1
 #define XE_COH_AT_LEAST_1WAY 2
 	u16 coh_mode;
+	/**
+	 * @compressed: Whether compression is enabled or not with @value.
+	 */
+	bool compressed;
 };
 
 /**
@@ -58,4 +62,14 @@ void xe_pat_dump(struct xe_gt *gt, struct drm_printer *p);
  */
 u16 xe_pat_index_get_coh_mode(struct xe_device *xe, u16 pat_index);
 
+/**
+ * xe_pat_index_has_compression - Check if the given pat_index enables
+ * compression.
+ * @xe: xe device
+ * @pat_index: The pat_index to query
+ *
+ * Note: Only applicable to xe2+, where compression is part of the PAT index.
+ */
+bool xe_pat_index_has_compression(struct xe_device *xe, u16 pat_index);
+
 #endif

Looks good.

Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>


    
--------------OK0vNDjxGye9zNdGSe4aR83c--