Commit 2ead8f16 authored by Lionel Landwerlin's avatar Lionel Landwerlin

anv: query CS timestamp frequency from the kernel

The reference value in gen_device_info isn't going to be acurate on
Gen10+. We should query it from the kernel, which reads a couple of
register to compute the actual value.
Signed-off-by: Lionel Landwerlin's avatarLionel Landwerlin <>
Reviewed-by: Rafael Antognolli's avatarRafael Antognolli <>
parent b66e4b51
......@@ -371,6 +371,19 @@ anv_physical_device_init(struct anv_physical_device *device,
bool swizzled = anv_gem_get_bit6_swizzle(fd, I915_TILING_X);
/* Starting with Gen10, the timestamp frequency of the command streamer may
* vary from one part to another. We can query the value from the kernel.
if (device->info.gen >= 10) {
int timestamp_frequency =
anv_gem_get_param(fd, I915_PARAM_CS_TIMESTAMP_FREQUENCY);
if (timestamp_frequency < 0)
intel_logw("Kernel 4.16-rc1+ required to properly query CS timestamp frequency");
device->info.timestamp_frequency = timestamp_frequency;
/* GENs prior to 8 do not support EU/Subslice info */
if (device->info.gen >= 8) {
device->subslice_total = anv_gem_get_param(fd, I915_PARAM_SUBSLICE_TOTAL);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment