From patchwork Thu Sep 8 20:08:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lucas De Marchi X-Patchwork-Id: 12994631 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 33854C6FA86 for ; Thu, 8 Sep 2022 20:14:57 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 132BE10E649; Thu, 8 Sep 2022 20:14:56 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE5DA10E649 for ; Thu, 8 Sep 2022 20:14:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662668090; x=1694204090; h=resent-from:resent-date:resent-message-id:resent-to:from: to:cc:subject:date:message-id:in-reply-to:references: content-transfer-encoding:mime-version; bh=wer7WlJsZkOlZg1NBaSZBeP9f7FzEjwqK1McwRdzGJA=; b=FNtg8L91hxpV36zG+i5S4QDQl0z21EJD2XEbMH/UdUKvTfCA/IAtlTpJ s2akMoKdyyvhNaeHBXX9NP8OKlNoAy2En//gqtiDA66FZxmgNK/lpri2J LGZ69+yWGecWhgevwvv4dFK/2wYEtyV5yFCu/46alChmx0XNHVfyD3WAJ YghHl/k+yKvbeAgpaxY1yEiUfTxo/cUXRXvYjVvzz0SPiqNwd65pqX9By 7r+e+yr4Uz1zSbo4t2xdJrrAkkdrWOE906sH0NPtGh/XiBnUqbSOb41IE 75HFgqaQuWGcMeVP4KKFWHLWb0E0cMuAS41WITK/MEHckOYF3U3qmPvZa g==; X-IronPort-AV: E=McAfee;i="6500,9779,10464"; a="277048457" X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="277048457" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2022 13:14:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="615024875" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga002.jf.intel.com with ESMTP; 08 Sep 2022 13:14:49 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 8 Sep 2022 13:14:49 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2375.31; Thu, 8 Sep 2022 13:14:48 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.2375.31 via Frontend Transport; Thu, 8 Sep 2022 13:14:48 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 8 Sep 2022 13:14:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HKd5VETKeadpGt+oUzay9OdRNLQ0PBVPECKL3tER49iEvf30dthTuiV5AzRmtmDHR/X/dy5Z77/lqnf7k6nIvSkIcc78B7cD9+wQHYQf74Oo8yJaq4iTXJhNcjpgYMZRveBL9/5hz5Elfb/I6EkNgif0K4CM9SmHYmt12R2MgElCkcBfUtCYgQw/eTyitQcD2ok19l+fHmu+LNoBYr7I059LpgJ6+INO/A6iAVBvh7f3zotZ7Bh/aJzhEF9P9vjPNsdITONfBmUWkxx0rTs1+oWW3AzhfgfRTgKFAGoxFzzkE9kVJ2CjXOz2ime+HK2X3WcHXFw/kFlZWkNMap8ibQ== 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=3l8PsCNbtDHthtk5Gm+Wpc6aCkNG98qM9Z/tkTak1Nk=; b=mYG6qYYhZfowPMk1Yahuz4xIvjn7A+m+/6vOn6otRMt6+l63H16yLRCKzYviUqTUjiS6duP4KhiRkCbZWfZXuVHsbOKuWZ8KmojXWeM07K9yjKuCQ0obuBWZ7Ozi2zSwNYNJuSaT5q35U26d+ThBtO2L8njqKND8WJT6q1h7vq1a29Ur3owsoeOLMBC/5yJ8woNwDpTLEGid8YooyctMJmGDT12FinD7M5UK1F6pwcD1k88xXI5yEAFNDqrgYNFdpiO0TIMkE8zBpevNaSzbrzy2patRj5mOShUJqcVjqvRdYPDApaL+wy6M9XXChYaRa2a3Z2W1zT1bzt9LOXokPw== 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 CY5PR11MB6139.namprd11.prod.outlook.com (2603:10b6:930:29::17) by CY8PR11MB6985.namprd11.prod.outlook.com (2603:10b6:930:57::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Thu, 8 Sep 2022 20:14:47 +0000 Received: from CY5PR11MB6139.namprd11.prod.outlook.com ([fe80::211b:a022:39b6:5d2]) by CY5PR11MB6139.namprd11.prod.outlook.com ([fe80::211b:a022:39b6:5d2%5]) with mapi id 15.20.5588.018; Thu, 8 Sep 2022 20:14:47 +0000 Resent-From: Lucas De Marchi Resent-Date: Thu, 8 Sep 2022 13:14:45 -0700 Resent-Message-ID: <20220908201445.bnylscth33wjb3ih@ldmartin-desk2.lan> Resent-To: Authentication-Results: spf=fail (sender IP is 192.55.55.68) smtp.mailfrom=intel.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=intel.com; X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="718702459" From: Lucas De Marchi To: Subject: [PATCH v1 1/3] drm/i915: Invert if/else ladder for frequency read Date: Thu, 8 Sep 2022 13:08:14 -0700 Message-ID: <20220908-if-ladder-v1-1-9949a713ca08@intel.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220908-if-ladder-v1-0-9949a713ca08@intel.com> References: <20220908-if-ladder-v1-0-9949a713ca08@intel.com> X-Mailer: b4 0.10.0-dev-df873 X-OrganizationHeadersPreserved: fmsmsx603.amr.corp.intel.com X-EOPAttributedMessage: 0 X-CrossPremisesHeadersPromoted: BN1NAM02FT015.eop-nam02.prod.protection.outlook.com X-CrossPremisesHeadersFiltered: BN1NAM02FT015.eop-nam02.prod.protection.outlook.com X-MS-TrafficTypeDiagnostic: BN1NAM02FT015:EE_|DM6PR11MB4345:EE_|CY5PR11MB6139:EE_|CY8PR11MB6985:EE_ X-MS-Office365-Filtering-Correlation-Id: 67cb714c-3aa9-4998-1b88-08da91d6c6ee X-Microsoft-Antispam: BCL:0; X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY5PR11MB6139.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(39860400002)(346002)(396003)(366004)(136003)(376002)(38100700002)(316002)(82960400001)(36756003)(41300700001)(54906003)(37630700001)(4326008)(478600001)(66946007)(83380400001)(66556008)(26005)(8676002)(6486002)(66476007)(2616005)(86362001)(8936002)(6862004)(186003)(6506007)(6666004)(2906002)(6512007)(5660300002)(107886003); DIR:OUT; SFP:1102; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 20:10:20.8141 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b0f344ba-2b85-4a3c-1f05-08da91d62842 X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=46c98d88-e344-4ed4-8496-4ed7712e255d; Ip=[192.55.55.68]; Helo=[edgegateway.intel.com] X-MS-Exchange-CrossTenant-AuthSource: fmsmsx607.amr.corp.intel.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4345 X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.6809255 X-MS-Exchange-Processed-By-BccFoldering: 15.20.5588.018 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0; jmr:0; auth:0; dest:I; ENG:(910001)(944506478)(944626604)(920097)(425001)(930097); X-Microsoft-Antispam-Message-Info: zo1Lnv6eplI6G88/PsMG7qRTiIYglI87YRkrMSGQq+e5SD1EOENjnyIC4TK2df36TxuER/L9YAvSTT9B6Ped+7bGzzg2C+K4hWY5TqdDZXfVk6h8WhKh3IFBvHS3YqlrHOQzH2/sKJVRvzbQEviFxnZYM/2qovQ8l86KZ4O+kVy0kMzXutl3As0e+sxS1qy64odYZdS3cd2SpJHmP7xxdEr4E943Rr9iKTsQCYLgZf5QCyrtYJquTnTzeYjhlSUhiN3WO5x5ffORBJeQYxwbzbD3Sols50wq2f1/pXMAVlisEovIVMI3+p9cwDo22VpooTd7GqgnFKxDicOCEFOhyL5tuQVtzcyyGkWXRDuzZzAViWvtv9UtMI/Q2owOeSvD8iVseE2uWsh6odyitsvVTzTnckjGFh61H1NaTK4UCDsBWMjeGipIm07KOqWsAFMs8jfSxieESfih2jpkhFUmaN0BhG/3pS8X2IpSlQ+kXwNywLsdb+n44xEDWQpfrU30vTS+TpnvUT1qph3B0ExwiqaPvZWtwrufPyvSFltc+0vlPf3N2ojfsixLqKRg8PrOVSgjBTDpTKGeU79M4msU/mDyGqTG0hjucKmrH9EW8U18XOKad34tauPxn8h5KB+BGHX1fzVMYn0aRoIuDPa18nU6Grf/CD5N4LRqv/KRh0G+TwzvWRzRXBpI1lGKxM2aJuAwALjTYzW/aLF3BP0Lhg== X-TUID: xi44ppWRCmh3 X-ClientProxiedBy: MW4PR04CA0121.namprd04.prod.outlook.com (2603:10b6:303:84::6) To CY5PR11MB6139.namprd11.prod.outlook.com (2603:10b6:930:29::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b0f344ba-2b85-4a3c-1f05-08da91d62842 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?JYz8zMlHhj2rPYySdFLtbA5bCXmZ?= =?utf-8?q?NbL61Pk6gvAGznXfifnOZuhKBHMKD0JONiRuyxFHGNPqx7Okz56JC2Qe2iKDcXjEX?= =?utf-8?q?qi+rRctw+1O5gO8QXwSQF1+Cp0jbEovB/tN2m6VhjaJUxFMOXnE0z3am9/nF50WLi?= =?utf-8?q?9GwcWE329Iakl1EvZ0+9Qp/dNI5ghpR4NPgWtfzHBoQzHKMWF48NVlFWiR22BPJCY?= =?utf-8?q?EggzFmcnSq3qtCHdZYfGRlCBEa8ES1ewJ374sWor4DKGRgbPb+osWb3HnIT0v6QsA?= =?utf-8?q?ABJq3WFoh/P0O9jSFAY5KMfwKuboqmi6qYxESvMmyY7a/q8piG2Tkgvq3vHPvjJvG?= =?utf-8?q?ZNZFxHAw1lL3c77zlhJbrJ9TvTeOv3VMbwf2g1IMtGTgCylnjlqBP56N7alcvIaBz?= =?utf-8?q?FfV9nq/7ACPl5J7zjNl4YejKmCrUDi+izlgSCGBMGUcUQzbQ+fbPAlMAdbg7CU8c1?= =?utf-8?q?IBd4PtYf1PJRLwmvaPrzcXLglfpTvvDV10J4wuXvD4TStNGoWVhjuD3RCGJVNCIHK?= =?utf-8?q?y5CyDa41cfOGcRB11kN+rMBmqReFPRTbguff2EYQknO2/nyK/VE/0rnf9IyQfv92L?= =?utf-8?q?5AXvhyG6ANt8MhZ9mCABIPbyJKGAmxe1LP31xe32j4YH1+Ceg0jOQlQJhmRnyomTu?= =?utf-8?q?o5Fh0VUmzdsgPnfLn3DqdijSKnZi2gUx0Xq/CvYNFurUme69Cv6E8ny2an0fCKl8k?= =?utf-8?q?sYtS3FgRu0QFmX0YPOvRCKm3EImT4x9mbZ00CDRwdiYSMngvbMxfFwsIjChC1HN0q?= =?utf-8?q?YkTH4K2CMkPqtW3PVk1pzRmvMUG+jCwLfaaG35U363YlPBSAJtTX1Kz0IHcgGYqge?= =?utf-8?q?+0+O13DCA+4QIHI0VPECmQFIxh2MLiJWrz+bmYeoNYrXZlfT66LC9Y1BUgWJIxSTl?= =?utf-8?q?G8StwFPuQoggZzBYIoz2B9mAHbzNio5BT4e67P8TXsnSnEBQWH8Wes8Dv9lKO+QZE?= =?utf-8?q?CRSnJ0UhQ0vrD2HhDtylvJrTby+5ajN7FnEiW6Sia1w1bK2ulcrBkgTaMfoURH+rb?= =?utf-8?q?uUGdoMCJSwmCsADNxiIPPCde0bx1J6sklvdRDihqVdFg3BRtOMBctVThR7TfOlvB9?= =?utf-8?q?LWLbaj95F3f1JfrYfMr1s6q9BxgN5xZcZ48oC/MSKj1wd+9++E/jDq93W6/A03tq2?= =?utf-8?q?AcFWmaR3KUK3wZsVjy8Tx+SLWa2joF62StJvPKDcTJk1lp/RA6oBPAhTFqE1VbrpV?= =?utf-8?q?rMuCBpaCMigDTP2quYJDhcd+HgFvD56+igrzxKh7TucYyZcGhmUoLRmuKoAdH/NHS?= =?utf-8?q?JIkGeLOiiY09IHMF3RaZWi5Dd6dOce7pkGkZ2hz90rpFcj9Qi6m+6aIKIrWzFewD7?= =?utf-8?q?GEHLwjUUvfk+g+QwStJylget/SIkOHkuGB8RTUBYJfsAbFUZ6pcCBrP8TDjOATvAS?= =?utf-8?q?Aa4wfhGDWrK11uD8MZ14ku2A6z1w2pid7qJpWJucxJJVL42llXbKciwqs7/mOT9eB?= =?utf-8?q?hUpd+kwNaVtI176bV2QYx2lX1QedP9EpcJw7XBRv7Llj6m/oOzrgsCbx0eyAnQY10?= =?utf-8?q?PpPgZhwA4IFl7gRcKOaKAsw1aQPsCWKtYw=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 67cb714c-3aa9-4998-1b88-08da91d6c6ee X-MS-Exchange-CrossTenant-AuthSource: CY5PR11MB6139.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 20:14:47.4118 (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: fo8EgiHLdDUUAxKR9ZZAB1kxnzx8TqRTrF+H6KOcdH9oPOPr6DUs2ySVsGxjYrDOad72vy57BiJXi6rRzVNgEbhtDQDu9wPNbT6N31RO2eM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6985 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lucas De Marchi Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Continue converting the driver to the convention of last version first, extending it to the future platforms. Now, any GRAPHICS_VER >= 11 will be handled by the first branch. With the new ranges it's easier to see what platform a branch started to be taken. Besides the >= 11 change, the branch taken for GRAPHICS_VER == 10 is also different, but currently there is no such platform in i915. Signed-off-by: Lucas De Marchi Reviewed-by: Matt Roper diff --git a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c index d5d1b04dbcad..93608c9349fd 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c @@ -78,77 +78,74 @@ static u32 read_clock_frequency(struct intel_uncore *uncore) u32 f19_2_mhz = 19200000; u32 f24_mhz = 24000000; - if (GRAPHICS_VER(uncore->i915) <= 4) { - /* - * PRMs say: - * - * "The value in this register increments once every 16 - * hclks." (through the “Clocking Configuration” - * (“CLKCFG”) MCHBAR register) - */ - return RUNTIME_INFO(uncore->i915)->rawclk_freq * 1000 / 16; - } else if (GRAPHICS_VER(uncore->i915) <= 8) { - /* - * PRMs say: - * - * "The PCU TSC counts 10ns increments; this timestamp - * reflects bits 38:3 of the TSC (i.e. 80ns granularity, - * rolling over every 1.5 hours). - */ - return f12_5_mhz; - } else if (GRAPHICS_VER(uncore->i915) <= 9) { + if (GRAPHICS_VER(uncore->i915) >= 11) { u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); u32 freq = 0; + /* + * First figure out the reference frequency. There are 2 ways + * we can compute the frequency, either through the + * TIMESTAMP_OVERRIDE register or through RPM_CONFIG. CTC_MODE + * tells us which one we should use. + */ if ((ctc_reg & CTC_SOURCE_PARAMETER_MASK) == CTC_SOURCE_DIVIDE_LOGIC) { freq = read_reference_ts_freq(uncore); } else { - freq = IS_GEN9_LP(uncore->i915) ? f19_2_mhz : f24_mhz; + u32 c0 = intel_uncore_read(uncore, RPM_CONFIG0); + + if (GRAPHICS_VER(uncore->i915) >= 11) + freq = gen11_get_crystal_clock_freq(uncore, c0); + else + freq = gen9_get_crystal_clock_freq(uncore, c0); /* * Now figure out how the command stream's timestamp * register increments from this frequency (it might * increment only every few clock cycle). */ - freq >>= 3 - ((ctc_reg & CTC_SHIFT_PARAMETER_MASK) >> - CTC_SHIFT_PARAMETER_SHIFT); + freq >>= 3 - ((c0 & GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK) >> + GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT); } return freq; - } else if (GRAPHICS_VER(uncore->i915) <= 12) { + } else if (GRAPHICS_VER(uncore->i915) >= 9) { u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); u32 freq = 0; - /* - * First figure out the reference frequency. There are 2 ways - * we can compute the frequency, either through the - * TIMESTAMP_OVERRIDE register or through RPM_CONFIG. CTC_MODE - * tells us which one we should use. - */ if ((ctc_reg & CTC_SOURCE_PARAMETER_MASK) == CTC_SOURCE_DIVIDE_LOGIC) { freq = read_reference_ts_freq(uncore); } else { - u32 c0 = intel_uncore_read(uncore, RPM_CONFIG0); - - if (GRAPHICS_VER(uncore->i915) >= 11) - freq = gen11_get_crystal_clock_freq(uncore, c0); - else - freq = gen9_get_crystal_clock_freq(uncore, c0); + freq = IS_GEN9_LP(uncore->i915) ? f19_2_mhz : f24_mhz; /* * Now figure out how the command stream's timestamp * register increments from this frequency (it might * increment only every few clock cycle). */ - freq >>= 3 - ((c0 & GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK) >> - GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT); + freq >>= 3 - ((ctc_reg & CTC_SHIFT_PARAMETER_MASK) >> + CTC_SHIFT_PARAMETER_SHIFT); } return freq; + } else if (GRAPHICS_VER(uncore->i915) >= 5) { + /* + * PRMs say: + * + * "The PCU TSC counts 10ns increments; this timestamp + * reflects bits 38:3 of the TSC (i.e. 80ns granularity, + * rolling over every 1.5 hours). + */ + return f12_5_mhz; + } else { + /* + * PRMs say: + * + * "The value in this register increments once every 16 + * hclks." (through the “Clocking Configuration” + * (“CLKCFG”) MCHBAR register) + */ + return RUNTIME_INFO(uncore->i915)->rawclk_freq * 1000 / 16; } - - MISSING_CASE("Unknown gen, unable to read command streamer timestamp frequency\n"); - return 0; } void intel_gt_init_clock_frequency(struct intel_gt *gt) From patchwork Thu Sep 8 20:08:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lucas De Marchi X-Patchwork-Id: 12994633 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 2D4CCC38145 for ; Thu, 8 Sep 2022 20:15:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2D60110E64A; Thu, 8 Sep 2022 20:15:15 +0000 (UTC) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 68DC610E64A for ; Thu, 8 Sep 2022 20:15: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=1662668111; x=1694204111; h=resent-from:resent-date:resent-message-id:resent-to:from: to:cc:subject:date:message-id:in-reply-to:references: content-transfer-encoding:mime-version; bh=t8wCCMiFwl7USCWDWehRwnhKkCQ1vLO8M5eiL/Y+sXw=; b=Hsqc0OvbPgehl8n24582BwRBUFGoQqGND3hEj/e2hvRyxDKuyyW6WDC4 6lPglI7CBidw2wRzMxMKrOYgK/sD2CYKElk+Adaih9c2VlX2p76CHn58j +52E6dww2Qe9QHBIugqCReYiSoow4pK8OcBjqVFOhtSl3Y+gywwowNw0e dqcYbH0pjPoyBUrHSoNA77j86J3cBU5sYp5SABHWhuv5Ohgmi2A27zn7p OZ8IZ8hGDiPuJF17w6/7TM1ISUQMjFbxxZvwxKKzR9jUXWq198ZgFi6Cp hZ65zNbsVHLE7h9w8LDf+ZI2jDjybKH/EYfkumI9K6Map9btOmBIGKepA w==; X-IronPort-AV: E=McAfee;i="6500,9779,10464"; a="359043609" X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="359043609" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2022 13:15:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="757349732" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 08 Sep 2022 13:15:08 -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.2375.31; Thu, 8 Sep 2022 13:15:07 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2375.31; Thu, 8 Sep 2022 13:15:07 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2375.31 via Frontend Transport; Thu, 8 Sep 2022 13:15:07 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.43) 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.2375.31; Thu, 8 Sep 2022 13:15:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hFhOpIqIKe+ZMcUqmc4PS2RkxYLFDlsFFX1lEpK0mDKIjKPanEsmPnO4QuUV0Cz+F9ePUgntyQachGygrxVODHBXSfjkprWIljaaHwqrM24JVrGL5pG1Rgifde0H+d5yU22kDb7XqRVDUoCn/ulP/CyoP5Ww9GG8ukzCifYvLLL4CWckK1LKs58ueATV18k/qpj3pOvmNs4BGSkNXKrBLS0eIsCbc/VM80yKd6TzqsQy1jzB92L/qjt2nCtqcBNsMLEii24vLszydES3tEZKf3fCh7t+KIWvsEE29LJJ4YwYVGUBFgbJIKhIBn9v5ReE4OKWGK7sA9aXCk2T8R5EdQ== 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=XmQ4gkM462uH5o+jhfS49wr5xLcJfra5F/u9t9+0kIU=; b=hwOgZz/5l0aVh+un/F1AXYlYiiI64KU0L9cOg/qsXdDkr1GEbEAWp2vGmUArVL9cKijKrNOgQiq+RZgeWfq3QC9VP58J3DW379VguRLJIpgH9/u58V4/mITnPsyl8MZw/uAINQwh7Wkrt+GX/bUY9WLnfLbe8Kua/zBXpMcu93nBVkLsv4EdI4m6D8ycebC/nTJ+3bYJDLlo3A4aKHR2fPEfNpqC5/9CurvEt/vSuc6uohTVgrR8uV62L5J5tqXxJRUdBTcrqACkBST1IDu/7OWONO+x9TW2IBdlhphHsPoB1cen3E4zl4FcoGo/dpcfH9Go5cL57y8EcegY623/uA== 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 CY5PR11MB6139.namprd11.prod.outlook.com (2603:10b6:930:29::17) by CY8PR11MB6985.namprd11.prod.outlook.com (2603:10b6:930:57::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Thu, 8 Sep 2022 20:15:05 +0000 Received: from CY5PR11MB6139.namprd11.prod.outlook.com ([fe80::211b:a022:39b6:5d2]) by CY5PR11MB6139.namprd11.prod.outlook.com ([fe80::211b:a022:39b6:5d2%5]) with mapi id 15.20.5588.018; Thu, 8 Sep 2022 20:15:05 +0000 Resent-From: Lucas De Marchi Resent-Date: Thu, 8 Sep 2022 13:15:04 -0700 Resent-Message-ID: <20220908201504.uvxu5yiaounjswcg@ldmartin-desk2.lan> Resent-To: Authentication-Results: spf=fail (sender IP is 134.134.137.102) smtp.mailfrom=intel.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=intel.com; X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="718702462" From: Lucas De Marchi To: Subject: [PATCH v1 2/3] drm/i915/gt: Extract per-platform function for frequency read Date: Thu, 8 Sep 2022 13:08:15 -0700 Message-ID: <20220908-if-ladder-v1-2-9949a713ca08@intel.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220908-if-ladder-v1-0-9949a713ca08@intel.com> References: <20220908-if-ladder-v1-0-9949a713ca08@intel.com> X-Mailer: b4 0.10.0-dev-df873 X-OrganizationHeadersPreserved: ORSMSX608.amr.corp.intel.com X-EOPAttributedMessage: 0 X-CrossPremisesHeadersPromoted: DM3NAM02FT046.eop-nam02.prod.protection.outlook.com X-CrossPremisesHeadersFiltered: DM3NAM02FT046.eop-nam02.prod.protection.outlook.com X-MS-TrafficTypeDiagnostic: DM3NAM02FT046:EE_|BL3PR11MB5697:EE_|CY5PR11MB6139:EE_|CY8PR11MB6985:EE_ X-MS-Office365-Filtering-Correlation-Id: b24062a1-efaf-475f-ee5a-08da91d6d1a4 X-Microsoft-Antispam: BCL:0; X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY5PR11MB6139.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(39860400002)(346002)(396003)(366004)(136003)(376002)(38100700002)(316002)(82960400001)(36756003)(41300700001)(54906003)(37630700001)(4326008)(478600001)(66946007)(83380400001)(66556008)(26005)(8676002)(6486002)(66476007)(2616005)(86362001)(8936002)(6862004)(186003)(6506007)(6666004)(2906002)(6512007)(5660300002)(107886003); DIR:OUT; SFP:1102; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 20:10:16.5760 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bcb6b936-eadc-4757-c0ea-08da91d625aa X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=46c98d88-e344-4ed4-8496-4ed7712e255d; Ip=[134.134.137.102]; Helo=[edgegateway.intel.com] X-MS-Exchange-CrossTenant-AuthSource: ORSMSX607.amr.corp.intel.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5697 X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.3397706 X-MS-Exchange-Processed-By-BccFoldering: 15.20.5588.018 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0; jmr:0; auth:0; dest:I; ENG:(910001)(944506478)(944626604)(920097)(425001)(930097); X-Microsoft-Antispam-Message-Info: yW563SU8Doam/tro5wpd/NGGiMtfNCgvIynRoM5rUCFctnprZ1zjiAzPCSPrGntQ7dWAo/gghUN4NdKA3D6w3//acCtpLmr9d24X/MmLm3fGZHic6zTNVE7GeyZGp5qLCcMIQqFi1TIzSCyk9eOlx7cg2KzSO9F7VWD4YZFfBO6zKymFdBKnmT66fohWjNwaEMgwFox9F4gyEwyzuUEugnmPI9iKhmFZGYLQxfi3XZbmne6k2Zbw50g53xHANMmqmTQtUrIVCept55VR6re9g8Od7PJZUkby2hUBXqa4KKVzPhU8Tyf9Ts8LCK0gkoznqGdxt2wId7f8wibmOfsSIpyJ0NuQ4woYiuHVlEWT5TcCjBZAug9vEvL2LHtIMUzIG2t2KiHFbs+iF/J0/8/nN59TerrHg2ESf0FUH8PXxLy0IKX5W9QI1yNVJNVRvZfXRAGXy1Mrwr92axVgIzO4Rpul1FEcdCdqzIzZtWv5jrLFaaFJ5NiBch7ucUXUF3oMGZahaaD5xZmRA4M5IDCezJ3o4xc01a5N3gH6POJseyWJc1SUAnFqBz+th0WCFLYeFm12dNKWXKswgsZUbsSbCDW+f0O6kQULXp7TvqzP3NKnGhVFaVq5xoLqiQ1cl90ELsPPcYTM0e4J6qXDpMutF1x52nhVsEDowH+AOZGQwNjqp6T7G7WwN1Z4NebQ0ofOQ8w+HdOj+A/2CnBk1AV3oQ== X-TUID: oCqBhoQg9pDX X-ClientProxiedBy: BY3PR10CA0009.namprd10.prod.outlook.com (2603:10b6:a03:255::14) To CY5PR11MB6139.namprd11.prod.outlook.com (2603:10b6:930:29::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: bcb6b936-eadc-4757-c0ea-08da91d625aa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?gBGVIvkEbmJ71P3s/Y5xd4RpTjCz?= =?utf-8?q?TJPybW1U21kB7I3p3P9GPvwWcLH4Nwf+tTjvuf6+XlV/7mY/gjFe7aIy0+wV3khmX?= =?utf-8?q?LEDsr+aExLbPfBjPZ9CRju4NX3p75Ezm4dp331ZeB/6/+xrrbEFZi6g4ENpg4g33s?= =?utf-8?q?jtWo7mZfFBAgeG00nO8YXORoYLpBM6y0F/e+sWqQBZ6KYOWHgCGBITjMd3jU5Yi09?= =?utf-8?q?1FVQ7jchtGqnn4odVdIvWXKBbIEdN4AqGFTrfgjw1wLTZ6j9kDnGv6P62iuGq3sKn?= =?utf-8?q?3Yk5aCLO9R1TNd4UIhzoSU3LldiQ7g5NHtoMR4QU71QAovRZrHgexbvahKdByY4n9?= =?utf-8?q?Ps+Qz/ctlOG2mgxNQmy6N6iqIAFVxeTJPEdP5qKQWonbQU7rZq7CSfzRfjMmHqJFC?= =?utf-8?q?4rnqQXGLVgFopcx0mwbTY763SUb1FAQtwWUOtH3pE2hCo5vMDLtkXMYKqz072bYcu?= =?utf-8?q?lqa9VIVAojTT5XuxMQDqekqDD6wUX+XPRsTTrHQzFAnk26IHLOwVTaWn+H7sJjIrj?= =?utf-8?q?5CwWVekoWp9Q7hXx4vInvDn/eSSB+JHYECbn/a4fT+///r61jjmrZraS6dceWeTcE?= =?utf-8?q?63UZzZHV2SvLBz2ZGY6uR6Xi0MCu9WcMUnxCMDLhg+VhvJJCc3jFl960ALCb5miw7?= =?utf-8?q?QyjZHga/Z0Xr/5IoV1C9BtNObbdVriioiY9VhS/ycpHaPBTZf1vgxLRbUnFsARNFL?= =?utf-8?q?hnWCdyTpNPXjwqcfsZcfUezaCIVh7jlTPJWsONMkJhXq/4Jebeyib2Fz/S2Jh9+pr?= =?utf-8?q?eOJ5uqlrFhbUHIaslFr1WV/K7pW3WJ6SspMAPoX15hKQ43qcLpWg8LGPemayIMrNU?= =?utf-8?q?FV32adt6VPX0MnPYv7I9IBtZmUVC2AM8fzjQRFG+6W/7uHMV417VVFVxfSb9FXuqM?= =?utf-8?q?GrtAuuDOv5QbvB4lbS3/5BrNgYJzE84WkS+wBNQfB2BhKdQcc0qdiduI0HsSoLnTU?= =?utf-8?q?Iguo8Yyh9SnrMLyauLYNar42syqbcoiQ8FNQemwPsjd/5OR38aBZ6HJH8Eitv3uBR?= =?utf-8?q?9/TIDacDMNmFfebuZdPdL3vHR+d0Fa8LuTAH2I50vtS79N17F9EaRj9l+y07W4R/H?= =?utf-8?q?P2MkoDt5GCZkIMvOPYixx4Mn8afBH9A+mFH3vQXXdBrIxDpjRCIfBnkq3oX0DaI0v?= =?utf-8?q?eJKcZq3Hlg+vYTm9YPShmS/73DV86e6yS8xOpstqPrlqwdf8p11XvSpMoTRmr3MwD?= =?utf-8?q?4cHix86QEpU8Z5/ZUhz47iqzDMblvq5vDBinqLfpJXJru2Tc2Ad7iKWYeZolIQ7yw?= =?utf-8?q?BrAFUrvyziG1svXlaWe4N3yiuxcuS261EZQnZnDcoXIIApgVRE0ptBinkzsf41/JC?= =?utf-8?q?P+yTjMhGtraLMo01fXiL26mVOmCViGVZcErDI86uOlLFBd+6vzWjyCXmD9Bg2UlSS?= =?utf-8?q?z8U4JnKFgwkbPH7adPjf20RYBHM1LpystSDL6huKPT30uYyOmfI3lEZCnwxYZe45c?= =?utf-8?q?mahtmsBlkfSMz6aJjDpBMX4O6ZMgF/YKWX2R1uEzlHecG0sywxr45ZBhXbggxGR7j?= =?utf-8?q?9nHQ4bkRjW2Xk75GpR7LJZJXQ0QvCKLPEg=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: b24062a1-efaf-475f-ee5a-08da91d6d1a4 X-MS-Exchange-CrossTenant-AuthSource: CY5PR11MB6139.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 20:15:05.3715 (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: DQBhhYuBLhwoZembdaZ0QIKaK4YWSoZazuWuaZIigRCxT+9e2++QQZjWxRD/zMBOQz0dzZDa2IVYE3X4fZo0ou5QP1bKFEek9tLWYwM+agc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6985 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lucas De Marchi Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Instead of calling read_clock_frequency() to walk the if/else ladder per platform, move the ladder to intel_gt_init_clock_frequency() and use one function per branch. With the new logic, it's now clear the call to gen9_get_crystal_clock_freq() was just dead code, as gen9 is handled by another function and there is no version 10. Remove that function and the caller. Cc: Ville Syrjälä Signed-off-by: Lucas De Marchi diff --git a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c index 93608c9349fd..ebddbf7542bc 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c @@ -26,26 +26,6 @@ static u32 read_reference_ts_freq(struct intel_uncore *uncore) return base_freq + frac_freq; } -static u32 gen9_get_crystal_clock_freq(struct intel_uncore *uncore, - u32 rpm_config_reg) -{ - u32 f19_2_mhz = 19200000; - u32 f24_mhz = 24000000; - u32 crystal_clock = - (rpm_config_reg & GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK) >> - GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT; - - switch (crystal_clock) { - case GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_19_2_MHZ: - return f19_2_mhz; - case GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_24_MHZ: - return f24_mhz; - default: - MISSING_CASE(crystal_clock); - return 0; - } -} - static u32 gen11_get_crystal_clock_freq(struct intel_uncore *uncore, u32 rpm_config_reg) { @@ -72,95 +52,101 @@ static u32 gen11_get_crystal_clock_freq(struct intel_uncore *uncore, } } -static u32 read_clock_frequency(struct intel_uncore *uncore) +static u32 gen11_read_clock_frequency(struct intel_uncore *uncore) { - u32 f12_5_mhz = 12500000; - u32 f19_2_mhz = 19200000; - u32 f24_mhz = 24000000; + u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); + u32 freq = 0; - if (GRAPHICS_VER(uncore->i915) >= 11) { - u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); - u32 freq = 0; + /* + * Note that on gen11+, the clock frequency may be reconfigured. + * We do not, and we assume nobody else does. + * + * First figure out the reference frequency. There are 2 ways + * we can compute the frequency, either through the + * TIMESTAMP_OVERRIDE register or through RPM_CONFIG. CTC_MODE + * tells us which one we should use. + */ + if ((ctc_reg & CTC_SOURCE_PARAMETER_MASK) == CTC_SOURCE_DIVIDE_LOGIC) { + freq = read_reference_ts_freq(uncore); + } else { + u32 c0 = intel_uncore_read(uncore, RPM_CONFIG0); + + freq = gen11_get_crystal_clock_freq(uncore, c0); /* - * First figure out the reference frequency. There are 2 ways - * we can compute the frequency, either through the - * TIMESTAMP_OVERRIDE register or through RPM_CONFIG. CTC_MODE - * tells us which one we should use. - */ - if ((ctc_reg & CTC_SOURCE_PARAMETER_MASK) == CTC_SOURCE_DIVIDE_LOGIC) { - freq = read_reference_ts_freq(uncore); - } else { - u32 c0 = intel_uncore_read(uncore, RPM_CONFIG0); - - if (GRAPHICS_VER(uncore->i915) >= 11) - freq = gen11_get_crystal_clock_freq(uncore, c0); - else - freq = gen9_get_crystal_clock_freq(uncore, c0); - - /* - * Now figure out how the command stream's timestamp - * register increments from this frequency (it might - * increment only every few clock cycle). - */ - freq >>= 3 - ((c0 & GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK) >> - GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT); - } - - return freq; - } else if (GRAPHICS_VER(uncore->i915) >= 9) { - u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); - u32 freq = 0; - - if ((ctc_reg & CTC_SOURCE_PARAMETER_MASK) == CTC_SOURCE_DIVIDE_LOGIC) { - freq = read_reference_ts_freq(uncore); - } else { - freq = IS_GEN9_LP(uncore->i915) ? f19_2_mhz : f24_mhz; - - /* - * Now figure out how the command stream's timestamp - * register increments from this frequency (it might - * increment only every few clock cycle). - */ - freq >>= 3 - ((ctc_reg & CTC_SHIFT_PARAMETER_MASK) >> - CTC_SHIFT_PARAMETER_SHIFT); - } - - return freq; - } else if (GRAPHICS_VER(uncore->i915) >= 5) { - /* - * PRMs say: - * - * "The PCU TSC counts 10ns increments; this timestamp - * reflects bits 38:3 of the TSC (i.e. 80ns granularity, - * rolling over every 1.5 hours). + * Now figure out how the command stream's timestamp + * register increments from this frequency (it might + * increment only every few clock cycle). */ - return f12_5_mhz; + freq >>= 3 - ((c0 & GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK) >> + GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT); + } + + return freq; +} + +static u32 gen9_read_clock_frequency(struct intel_uncore *uncore) +{ + u32 ctc_reg = intel_uncore_read(uncore, CTC_MODE); + u32 freq = 0; + + if ((ctc_reg & CTC_SOURCE_PARAMETER_MASK) == CTC_SOURCE_DIVIDE_LOGIC) { + freq = read_reference_ts_freq(uncore); } else { + freq = IS_GEN9_LP(uncore->i915) ? 19200000 : 24000000; + /* - * PRMs say: - * - * "The value in this register increments once every 16 - * hclks." (through the “Clocking Configuration” - * (“CLKCFG”) MCHBAR register) + * Now figure out how the command stream's timestamp + * register increments from this frequency (it might + * increment only every few clock cycle). */ - return RUNTIME_INFO(uncore->i915)->rawclk_freq * 1000 / 16; + freq >>= 3 - ((ctc_reg & CTC_SHIFT_PARAMETER_MASK) >> + CTC_SHIFT_PARAMETER_SHIFT); } + + return freq; } -void intel_gt_init_clock_frequency(struct intel_gt *gt) +static u32 gen5_read_clock_frequency(struct intel_uncore *uncore) { /* - * Note that on gen11+, the clock frequency may be reconfigured. - * We do not, and we assume nobody else does. + * PRMs say: + * + * "The PCU TSC counts 10ns increments; this timestamp + * reflects bits 38:3 of the TSC (i.e. 80ns granularity, + * rolling over every 1.5 hours). */ - gt->clock_frequency = read_clock_frequency(gt->uncore); - if (gt->clock_frequency) - gt->clock_period_ns = intel_gt_clock_interval_to_ns(gt, 1); + return 12500000; +} + +static u32 read_clock_frequency(struct intel_uncore *uncore) +{ + /* + * PRMs say: + * + * "The value in this register increments once every 16 + * hclks." (through the “Clocking Configuration” + * (“CLKCFG”) MCHBAR register) + */ + return RUNTIME_INFO(uncore->i915)->rawclk_freq * 1000 / 16; +} + +void intel_gt_init_clock_frequency(struct intel_gt *gt) +{ + if (GRAPHICS_VER(gt->i915) >= 11) + gt->clock_frequency = gen11_read_clock_frequency(gt->uncore); + else if (GRAPHICS_VER(gt->i915) >= 9) + gt->clock_frequency = gen9_read_clock_frequency(gt->uncore); + else if (GRAPHICS_VER(gt->i915) >= 5) + gt->clock_frequency = gen5_read_clock_frequency(gt->uncore); + else + gt->clock_frequency = read_clock_frequency(gt->uncore); /* Icelake appears to use another fixed frequency for CTX_TIMESTAMP */ if (GRAPHICS_VER(gt->i915) == 11) gt->clock_period_ns = NSEC_PER_SEC / 13750000; + else if (gt->clock_frequency) + gt->clock_period_ns = intel_gt_clock_interval_to_ns(gt, 1); GT_TRACE(gt, "Using clock frequency: %dkHz, period: %dns, wrap: %lldms\n", From patchwork Thu Sep 8 20:08:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lucas De Marchi X-Patchwork-Id: 12994632 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 2111BC54EE9 for ; Thu, 8 Sep 2022 20:15:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0A02310E64C; Thu, 8 Sep 2022 20:15:05 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 36C6910E64C for ; Thu, 8 Sep 2022 20:14:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662668099; x=1694204099; h=resent-from:resent-date:resent-message-id:resent-to:from: to:cc:subject:date:message-id:in-reply-to:references: content-transfer-encoding:mime-version; bh=f08VbAxGacBCvmTEcNRE1FJeO9G5L7cRaWW6PYa6YYs=; b=VAhjyoLL0Zhml5BmiYQaN02Ugi5/7fPphFLrPDbt7HvRxkiYps4mMidK 64uIC+ED4tdYvwi8zu2UUL1u8qX2oKMNTYDcBHJUHCOW9z3zA5xDLVloT KzpQdlP/p/tBsPNuXMnTbO2fW8fjpiGM9ubdVFyd72pUR7Wdb7aJJOovL MkyPOX9FlanJu+tWqcT/puPOFIbfAgwFdyBOzBKZ3iORiRclPVuq5qVd/ 16kc+3rABnq4f9hozedsPaissw3I1fmg+qTNkgf3yHWvT6DER7NT4n3zq URDdjYGAjfhRXQVInvOuSZIadbxQvi4pH6o+zoVTULrE/Ian+UfTw3vlS Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10464"; a="323514552" X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="323514552" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2022 13:14:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="617604060" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga007.fm.intel.com with ESMTP; 08 Sep 2022 13:14:58 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) 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.2375.31; Thu, 8 Sep 2022 13:14:58 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 8 Sep 2022 13:14:58 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 8 Sep 2022 13:14:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BgfMXC0fuzcDOWQdEki+yuXVCt78CZJVd9xHgdSnfY1kdDEzQpet0GvJPjIzMaRLr9g0/PyDJwYm+gSj94DutfHdQXr4OczSGezvXjOfmWyCaCbD9qLt3Ud5aMoCWY26hc8yy2sR6ShvukiDav0EOOcqsoCDlrr6kC4RU6f5D/04pIHT+fBw0HxeR0TMbdOiuhKz7JdTT0YYD3unC3tZfrQ5dqScI/jiMV6KEvWLmRfW5GbJWscTecPRxLO6dt5BYA3cQJVFHi8F0ydjAEOoJWLYsT+WohrTVJjBc2HHNNNfQB75GzLEWGovqRuTFlGQPJhiAyYLZs6pQklrzrdJGA== 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=kXU2OJh4lza0YrY425P+aQhBz2RQxq6aZ8vg3SV0QdA=; b=Y3M/b7dEcOyKqp+QGgSM2xBMc623JaCRpbQjDfS6uRm46wHnULi8SMWNkXKtAExDYe3KvIT/dQtYRzu/317TV08uMsrE0qBBlWQ+O3543mGhtzuPEI6X0Kzf5C4lEi0SALAmzNUBDr0jL95Q4B7uEi4wmc/M76TB0JIi74s737jOwMjv88cV3DnEqHJSd3L3UuBti2Ay/fPqvG9EuY6W9IHxxU0frQIJnx7To/vfRw0aELcAgHUZ0SE76L8G5rY2Lfd7hXETqS3wV2JJMkzwbcE8792v0TMKCzHHe9TBMkVCW5GokgtpCoxH712jVRMvWKv6eyYzzft4h/Bbz7CNHA== 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 CY5PR11MB6139.namprd11.prod.outlook.com (2603:10b6:930:29::17) by CY8PR11MB6985.namprd11.prod.outlook.com (2603:10b6:930:57::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Thu, 8 Sep 2022 20:14:57 +0000 Received: from CY5PR11MB6139.namprd11.prod.outlook.com ([fe80::211b:a022:39b6:5d2]) by CY5PR11MB6139.namprd11.prod.outlook.com ([fe80::211b:a022:39b6:5d2%5]) with mapi id 15.20.5588.018; Thu, 8 Sep 2022 20:14:57 +0000 Resent-From: Lucas De Marchi Resent-Date: Thu, 8 Sep 2022 13:14:55 -0700 Resent-Message-ID: <20220908201455.5l6kwte636zohgdf@ldmartin-desk2.lan> Resent-To: Authentication-Results: spf=fail (sender IP is 192.55.55.70) smtp.mailfrom=intel.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=intel.com; X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="718702466" From: Lucas De Marchi To: Subject: [PATCH v1 3/3] drm/i915: Invert if/else ladder for stolen init Date: Thu, 8 Sep 2022 13:08:16 -0700 Message-ID: <20220908-if-ladder-v1-3-9949a713ca08@intel.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220908-if-ladder-v1-0-9949a713ca08@intel.com> References: <20220908-if-ladder-v1-0-9949a713ca08@intel.com> X-Mailer: b4 0.10.0-dev-df873 X-OrganizationHeadersPreserved: fmsmsx601.amr.corp.intel.com X-EOPAttributedMessage: 0 X-CrossPremisesHeadersPromoted: BN1NAM02FT051.eop-nam02.prod.protection.outlook.com X-CrossPremisesHeadersFiltered: BN1NAM02FT051.eop-nam02.prod.protection.outlook.com X-MS-TrafficTypeDiagnostic: BN1NAM02FT051:EE_|SN6PR11MB3311:EE_|CY5PR11MB6139:EE_|CY8PR11MB6985:EE_ X-MS-Office365-Filtering-Correlation-Id: 21cfa982-4e15-41aa-6972-08da91d6cccc X-Microsoft-Antispam: BCL:0; X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY5PR11MB6139.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(39860400002)(346002)(396003)(366004)(136003)(376002)(38100700002)(316002)(82960400001)(36756003)(41300700001)(37630700001)(4326008)(478600001)(66946007)(66556008)(26005)(8676002)(6486002)(66476007)(2616005)(86362001)(8936002)(6862004)(186003)(6506007)(6666004)(2906002)(6512007)(5660300002)(107886003); DIR:OUT; SFP:1102; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 20:10:19.4886 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e9d48f7e-e0c6-4753-f375-08da91d6276b X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=46c98d88-e344-4ed4-8496-4ed7712e255d; Ip=[192.55.55.70]; Helo=[edgegateway.intel.com] X-MS-Exchange-CrossTenant-AuthSource: fmsmsx607.amr.corp.intel.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3311 X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.1467159 X-MS-Exchange-Processed-By-BccFoldering: 15.20.5588.018 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0; jmr:0; auth:0; dest:I; ENG:(910001)(944506478)(944626604)(920097)(425001)(930097); X-Microsoft-Antispam-Message-Info: cD0eeWsWl7XStIx1kgeAMbuZXN3rFkIAjEc4Xxdl8iTvv36tKlmlTO2FSfwsJttEkKbsV/lUCgLVCysuftMEXxp5ZVU1U9y97rIic239XNEuNZvhHfDaVxbW2MQy+T2M029X9o7q7griv5ux4un8zh0kbY2Ej+qFf2zvBj+i8cYQR10Wf4YekwlwlJvHe3UdcI9dZiPjiq3/WbF7WT3yqUUbEXl9a7Z2Am+2UMHq9E570pFLTMWD/jYm2cAVWP2+l8KEfyLPu5AXASoV0uhg849N3AHqAWOgE/gCcEOnqwNe+mQ/XMc7J202pPEtwetlHt/Tc+LgDEJmH5USMzY169eSP5r1OM9/t2OaN4DzmypUmYGw9RA+yYi38oKEhsQhM45fHKNknj9sG60nDwGZyIGmuw6qXPxAqtC3e6qEaCckIGPNi6ULWPSg0mHZcrgNoxLuB5hZMmJiD9SMQPZH33EDqke725GuC3HvzYJb1bWGiv4GIHH0mnY2U89bm6N3IRZFrkoTGvsCFJjMRf0zZ44p9dLWar5RnqieDkHtXw5zmI8qcPkBgiHvYi2D96P+VYpCR0s7ZVKb1gX6LtyjpGvm1Tq2DTgr57fOq4EY/IfRNs0urisAKhag9UPAGrMepk4VN50U+OwXDHGtE93i3pP2+tp5xsNUz6gYF3zJqiGuSMEFcLDwHFgDFcc5bJYStEwy04Q3X54pp1y+u+t9Pg== X-TUID: JEj1VZUopVMV X-ClientProxiedBy: MW4P222CA0014.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::19) To CY5PR11MB6139.namprd11.prod.outlook.com (2603:10b6:930:29::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e9d48f7e-e0c6-4753-f375-08da91d6276b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?sCWStnOfoI+tLWv3x5Ehn7EhKuFe?= =?utf-8?q?Br1xpGmW6n96FVyC1BOhzfcb0JaG/YbbfcLsRwbhq1hk0IKbjx0DrSJTY6gZVi7jd?= =?utf-8?q?86DOFTpUAQmJDow2qR74Tdfk7LELkoWP1Dw1t+qlRJxCtGYtfFEcKJsgZvTTasf1+?= =?utf-8?q?mI8TBcwwgyKMJamkojYoSmxK1YrUl+sKOeF4Butoto8f4tAYxLwaPK1DWfSg9kH0Y?= =?utf-8?q?HaCNWMckcgUfT5OGEicsd04Gli//uEtfzfNrvStOA8mjbXEHiiiRFcIuFQUfKywc4?= =?utf-8?q?Qxsi9EV62Ky5fBn351raVOrq3iyW23TcLrv73ENEZ1q3Q5cqC1MtPvE13+4y4bnk6?= =?utf-8?q?LNg7wLJY0djMQJ7JSGcu/wBif99RsmTGcA+f4NwukLt9D9+6oAkxm5lYPfOnQ3vRW?= =?utf-8?q?r5+CLsFb3buNyALUaXX1t5kz40qm7e2CrzmKg1L8BipWJpj0dAdNe9MtRibPilLMS?= =?utf-8?q?P+vcmHTh8FeiWf5yX4bDAGLT3rwREabExHrMeuZArhGhfaCswtw1ghSi8ygDLqZhi?= =?utf-8?q?lRnIYcHyXJWn49YlZkibIPi8yQdFaGXdFM/WM1Gohj7xbhVBUTnwm0J3hNiQ66OHq?= =?utf-8?q?rLkU51uVhAspM/XLpgHWVEDG/YDymA5HOa25NxPLUsm7f0eMmUwbcQ69u9BmRBo1Y?= =?utf-8?q?BPxW1Om6yiedqDu6zIkkwSZoIOMcLcRwfRadG4w1wDz1Zx6ex07v3qCqMLOe9C1WE?= =?utf-8?q?sQf+AlKyWX/AMtNbvfmcFRCj38/o3hnJqlajw+bKk6weGWEeC+8OiVTDBzLMc1jJp?= =?utf-8?q?jKwgvEpR29zJzN0bYLzNyJ5ZIzSU/cRUODfQj6HwhcCdv/qb0YYQkV1R0lRhb7TOI?= =?utf-8?q?CNGC1hy61UPSvCUwX6VI5XRSo+vgcJPJfCiMQFR0bstNT3MBEYNjNOHPknOmtlUEI?= =?utf-8?q?ByRCoeiuxBdXpFBIjpBHJ4CzSKJscNo/pXiCgIxe4posATm/g5EA709Dbv/qPbeaS?= =?utf-8?q?m8rGkl4ORPmk0H/HEyMP9LljJqZ2/jnjVAS5KbmMD5gcpskEv7eaTBJz9vKQ90mOr?= =?utf-8?q?Nc5Xyiln0ak6TOpX+TxaxB/8el2cZEmTXl3Dy6YbcWNhNvZOf5vwLKfsL/bLDVlSd?= =?utf-8?q?jrtPnhHhPejVs5zT7xl9LHJ1Z2/vXeZIWQjrLESYBSwSH/ruDgbID4jRVz+HKLnD+?= =?utf-8?q?nS790/pScSRdOeUoKwSdutsvax1H8z6dHgSOUe3YPZjhBDffopsIgvhn+vVh7CsQc?= =?utf-8?q?9rwCzngQfA0ayNI/gRaT5zLLSlrkbfJIcmvDwseIOx87aj7a+u/YWQovmSlr0x0oq?= =?utf-8?q?h+CblvBCtjhiG0CcnlXcCsqZO0V2fif8EAuAnnJy6ZNhJjk5BE9RFrMva4CiZ4R8U?= =?utf-8?q?0SIqi6qbwKf+UKdbPofK4WOC/k57wnujQQC4BxNuTFy6/0z9O2fx0S4QSjn98ELa4?= =?utf-8?q?iwc6h53wPqoq49TJY/Oy8T2C6R2thR0j2sOCFwCQPucIWIj97ZHIn16fZnwrWMuzV?= =?utf-8?q?w5gknA+4+6jD7m1R+HWduOYpHcyugAUkBWwPDZhWOnq/ajCJP7oKRjmpLQgFMnRVt?= =?utf-8?q?vJwbTTRdreoHjM9Dw6rZIIgs3tnCdkKsYA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 21cfa982-4e15-41aa-6972-08da91d6cccc X-MS-Exchange-CrossTenant-AuthSource: CY5PR11MB6139.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 20:14:57.2417 (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: jJWxQnss5GV1M6U6saNTT/YjZvrkm28+tq6zBVwOQB3r92SYjc40oA1qF4r228JIcaybJ3h9SZ8NWLIg0IXSey6vbsnbiK9DJEZGMFzzl/I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6985 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lucas De Marchi Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Continue converting the driver to the convention of last version first, extending it to the future platforms. Now, any GRAPHICS_VER >= 11 will be handled by the first branch. Signed-off-by: Lucas De Marchi diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c index 4f4c9461a23b..acc561c0f0aa 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c @@ -430,48 +430,29 @@ static int i915_gem_init_stolen(struct intel_memory_region *mem) reserved_base = stolen_top; reserved_size = 0; - switch (GRAPHICS_VER(i915)) { - case 2: - case 3: - break; - case 4: - if (!IS_G4X(i915)) - break; - fallthrough; - case 5: - g4x_get_stolen_reserved(i915, uncore, + if (GRAPHICS_VER(i915) >= 11) { + icl_get_stolen_reserved(i915, uncore, &reserved_base, &reserved_size); - break; - case 6: - gen6_get_stolen_reserved(i915, uncore, - &reserved_base, &reserved_size); - break; - case 7: - if (IS_VALLEYVIEW(i915)) - vlv_get_stolen_reserved(i915, uncore, - &reserved_base, &reserved_size); - else - gen7_get_stolen_reserved(i915, uncore, - &reserved_base, &reserved_size); - break; - case 8: - case 9: + } else if (GRAPHICS_VER(i915) >= 8) { if (IS_LP(i915)) chv_get_stolen_reserved(i915, uncore, &reserved_base, &reserved_size); else bdw_get_stolen_reserved(i915, uncore, &reserved_base, &reserved_size); - break; - default: - MISSING_CASE(GRAPHICS_VER(i915)); - fallthrough; - case 11: - case 12: - icl_get_stolen_reserved(i915, uncore, - &reserved_base, - &reserved_size); - break; + } else if (GRAPHICS_VER(i915) >= 7) { + if (IS_VALLEYVIEW(i915)) + vlv_get_stolen_reserved(i915, uncore, + &reserved_base, &reserved_size); + else + gen7_get_stolen_reserved(i915, uncore, + &reserved_base, &reserved_size); + } else if (GRAPHICS_VER(i915) >= 6) { + gen6_get_stolen_reserved(i915, uncore, + &reserved_base, &reserved_size); + } else if (GRAPHICS_VER(i915) >= 5 || IS_G4X(i915)) { + g4x_get_stolen_reserved(i915, uncore, + &reserved_base, &reserved_size); } /*