From 2aa3dc83399a16588ba06ec1718ed709f55bb8d9 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 29 Jun 2016 12:11:28 +0100 Subject: intel_chipset: Replace lookup of GT size with computation Instead of a large if-chain for matching devid to GT, we can just compute it directly from the encoded devid. Signed-off-by: Chris Wilson --- lib/intel_device_info.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib/intel_device_info.c') diff --git a/lib/intel_device_info.c b/lib/intel_device_info.c index 9e194945..12bce7ea 100644 --- a/lib/intel_device_info.c +++ b/lib/intel_device_info.c @@ -286,3 +286,26 @@ unsigned intel_gen(uint16_t devid) { return ffs(intel_device_info(devid)->gen); } + +/** + * intel_gt: + * @devid: pci device id + * + * Computes the Intel GFX GT size for the given device id. + * + * Returns: + * The GT size. + */ +unsigned intel_gt(uint16_t devid) +{ + unsigned mask = intel_gen(devid); + + if (mask >= 8) + mask = 0xf; + else if (mask >= 6) + mask = 0x3; + else + mask = 0; + + return (devid >> 4) & mask; +} -- cgit v1.2.3