diff options
author | Lionel Landwerlin <[email protected]> | 2017-06-15 15:22:19 +0100 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2017-06-19 22:11:00 +0100 |
commit | c77d98ef32a0f9763d4c8945527d00ab98e748cc (patch) | |
tree | 551f2c24e046e091182dcb9b9326b07cfade4e56 /src/intel/common | |
parent | e5743ee014a82f228085dfcd5d653fcbd3d86fe4 (diff) |
intel: common: express timestamps units in frequency
Rather than storing the period as a double that looses some precision.
Also fixes the Gen9LP timestamp frequency which is no 19200123 but
19200000 as pointed by Ville :
https://lists.freedesktop.org/archives/intel-gfx/2017-April/125126.html
Finally add the Cannonlake timestamp frequency.
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/common')
-rw-r--r-- | src/intel/common/gen_device_info.c | 19 | ||||
-rw-r--r-- | src/intel/common/gen_device_info.h | 5 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/intel/common/gen_device_info.c b/src/intel/common/gen_device_info.c index 89a0d9e9e76..14d3761076f 100644 --- a/src/intel/common/gen_device_info.c +++ b/src/intel/common/gen_device_info.c @@ -36,7 +36,7 @@ static const struct gen_device_info gen_device_info_i965 = { .urb = { .size = 256, }, - .timebase_scale = 80, + .timestamp_frequency = 12500000, }; static const struct gen_device_info gen_device_info_g4x = { @@ -52,7 +52,7 @@ static const struct gen_device_info gen_device_info_g4x = { .urb = { .size = 384, }, - .timebase_scale = 80, + .timestamp_frequency = 12500000, }; static const struct gen_device_info gen_device_info_ilk = { @@ -67,7 +67,7 @@ static const struct gen_device_info gen_device_info_ilk = { .urb = { .size = 1024, }, - .timebase_scale = 80, + .timestamp_frequency = 12500000, }; static const struct gen_device_info gen_device_info_snb_gt1 = { @@ -92,7 +92,7 @@ static const struct gen_device_info gen_device_info_snb_gt1 = { [MESA_SHADER_GEOMETRY] = 256, }, }, - .timebase_scale = 80, + .timestamp_frequency = 12500000, }; static const struct gen_device_info gen_device_info_snb_gt2 = { @@ -117,7 +117,7 @@ static const struct gen_device_info gen_device_info_snb_gt2 = { [MESA_SHADER_GEOMETRY] = 256, }, }, - .timebase_scale = 80, + .timestamp_frequency = 12500000, }; #define GEN7_FEATURES \ @@ -127,7 +127,7 @@ static const struct gen_device_info gen_device_info_snb_gt2 = { .has_llc = true, \ .has_pln = true, \ .has_surface_tile_offset = true, \ - .timebase_scale = 80 + .timestamp_frequency = 12500000 static const struct gen_device_info gen_device_info_ivb_gt1 = { GEN7_FEATURES, .is_ivybridge = true, .gt = 1, @@ -300,7 +300,7 @@ static const struct gen_device_info gen_device_info_hsw_gt3 = { .max_tes_threads = 504, \ .max_gs_threads = 504, \ .max_wm_threads = 384, \ - .timebase_scale = 80 + .timestamp_frequency = 12500000 static const struct gen_device_info gen_device_info_bdw_gt1 = { GEN8_FEATURES, .gt = 1, @@ -398,7 +398,7 @@ static const struct gen_device_info gen_device_info_chv = { .max_tcs_threads = 336, \ .max_tes_threads = 336, \ .max_cs_threads = 56, \ - .timebase_scale = 1000000000.0 / 12000000.0, \ + .timestamp_frequency = 12000000, \ .urb = { \ .size = 384, \ .min_entries = { \ @@ -423,7 +423,7 @@ static const struct gen_device_info gen_device_info_chv = { .max_tes_threads = 112, \ .max_gs_threads = 112, \ .max_cs_threads = 6 * 6, \ - .timebase_scale = 1000000000.0 / 19200123.0, \ + .timestamp_frequency = 19200000, \ .urb = { \ .size = 192, \ .min_entries = { \ @@ -595,6 +595,7 @@ static const struct gen_device_info gen_device_info_glk_2x6 = { .max_tcs_threads = 432, \ .max_tes_threads = 624, \ .max_cs_threads = 56, \ + .timestamp_frequency = 19200000, \ .urb = { \ .size = 256, \ .min_entries = { \ diff --git a/src/intel/common/gen_device_info.h b/src/intel/common/gen_device_info.h index 4a467cca3ef..86daf6e5337 100644 --- a/src/intel/common/gen_device_info.h +++ b/src/intel/common/gen_device_info.h @@ -26,6 +26,7 @@ #define GEN_DEVICE_INFO_H #include <stdbool.h> +#include <stdint.h> /** * Intel hardware information and quirks @@ -159,7 +160,7 @@ struct gen_device_info * corresponded to 80 nanoseconds. * * Since Gen9 the numbers aren't so round, with a a frequency of 12MHz for - * SKL (or scale factor of 83.33333333) and a frequency of 19200123Hz for + * SKL (or scale factor of 83.33333333) and a frequency of 19200000Hz for * BXT. * * For simplicty to fit with the current code scaling by a single constant @@ -174,7 +175,7 @@ struct gen_device_info * E.g. with crude testing on my system using the 'correct' scale factor I'm * seeing a drift of ~2 milliseconds per second. */ - double timebase_scale; + uint64_t timestamp_frequency; /** @} */ }; |