Lines Matching refs:sseu
16 struct sseu_dev_info *sseu) in cherryview_sseu_device_status() argument
36 sseu->slice_mask = BIT(0); in cherryview_sseu_device_status()
37 sseu->subslice_mask.hsw[0] |= BIT(ss); in cherryview_sseu_device_status()
42 sseu->eu_total += eu_cnt; in cherryview_sseu_device_status()
43 sseu->eu_per_subslice = max_t(unsigned int, in cherryview_sseu_device_status()
44 sseu->eu_per_subslice, eu_cnt); in cherryview_sseu_device_status()
50 struct sseu_dev_info *sseu) in gen11_sseu_device_status() argument
58 for (s = 0; s < info->sseu.max_slices; s++) { in gen11_sseu_device_status()
82 for (s = 0; s < info->sseu.max_slices; s++) { in gen11_sseu_device_status()
87 sseu->slice_mask |= BIT(s); in gen11_sseu_device_status()
88 sseu->subslice_mask.hsw[s] = info->sseu.subslice_mask.hsw[s]; in gen11_sseu_device_status()
90 for (ss = 0; ss < info->sseu.max_subslices; ss++) { in gen11_sseu_device_status()
93 if (info->sseu.has_subslice_pg && in gen11_sseu_device_status()
100 sseu->eu_total += eu_cnt; in gen11_sseu_device_status()
101 sseu->eu_per_subslice = max_t(unsigned int, in gen11_sseu_device_status()
102 sseu->eu_per_subslice, in gen11_sseu_device_status()
110 struct sseu_dev_info *sseu) in gen9_sseu_device_status() argument
118 for (s = 0; s < info->sseu.max_slices; s++) { in gen9_sseu_device_status()
135 for (s = 0; s < info->sseu.max_slices; s++) { in gen9_sseu_device_status()
140 sseu->slice_mask |= BIT(s); in gen9_sseu_device_status()
143 sseu->subslice_mask.hsw[s] = info->sseu.subslice_mask.hsw[s]; in gen9_sseu_device_status()
145 for (ss = 0; ss < info->sseu.max_subslices; ss++) { in gen9_sseu_device_status()
153 sseu->subslice_mask.hsw[s] |= BIT(ss); in gen9_sseu_device_status()
159 sseu->eu_total += eu_cnt; in gen9_sseu_device_status()
160 sseu->eu_per_subslice = max_t(unsigned int, in gen9_sseu_device_status()
161 sseu->eu_per_subslice, in gen9_sseu_device_status()
169 struct sseu_dev_info *sseu) in bdw_sseu_device_status() argument
175 sseu->slice_mask = slice_info & GEN8_LSLICESTAT_MASK; in bdw_sseu_device_status()
177 if (sseu->slice_mask) { in bdw_sseu_device_status()
178 sseu->eu_per_subslice = info->sseu.eu_per_subslice; in bdw_sseu_device_status()
179 for (s = 0; s < fls(sseu->slice_mask); s++) in bdw_sseu_device_status()
180 sseu->subslice_mask.hsw[s] = info->sseu.subslice_mask.hsw[s]; in bdw_sseu_device_status()
181 sseu->eu_total = sseu->eu_per_subslice * in bdw_sseu_device_status()
182 intel_sseu_subslice_total(sseu); in bdw_sseu_device_status()
185 for (s = 0; s < fls(sseu->slice_mask); s++) { in bdw_sseu_device_status()
186 u8 subslice_7eu = info->sseu.subslice_7eu[s]; in bdw_sseu_device_status()
188 sseu->eu_total -= hweight8(subslice_7eu); in bdw_sseu_device_status()
196 const struct sseu_dev_info *sseu) in i915_print_sseu_info() argument
201 sseu->slice_mask); in i915_print_sseu_info()
203 hweight8(sseu->slice_mask)); in i915_print_sseu_info()
205 intel_sseu_subslice_total(sseu)); in i915_print_sseu_info()
206 intel_sseu_print_ss_info(type, sseu, m); in i915_print_sseu_info()
208 sseu->eu_total); in i915_print_sseu_info()
210 sseu->eu_per_subslice); in i915_print_sseu_info()
217 seq_printf(m, " Min EU in pool: %u\n", sseu->min_eu_in_pool); in i915_print_sseu_info()
220 str_yes_no(sseu->has_slice_pg)); in i915_print_sseu_info()
222 str_yes_no(sseu->has_subslice_pg)); in i915_print_sseu_info()
224 str_yes_no(sseu->has_eu_pg)); in i915_print_sseu_info()
235 struct sseu_dev_info *sseu; in intel_sseu_status() local
242 i915_print_sseu_info(m, true, HAS_POOLED_EU(i915), &info->sseu); in intel_sseu_status()
246 sseu = kzalloc(sizeof(*sseu), GFP_KERNEL); in intel_sseu_status()
247 if (!sseu) in intel_sseu_status()
250 intel_sseu_set_info(sseu, info->sseu.max_slices, in intel_sseu_status()
251 info->sseu.max_subslices, in intel_sseu_status()
252 info->sseu.max_eus_per_subslice); in intel_sseu_status()
256 cherryview_sseu_device_status(gt, sseu); in intel_sseu_status()
258 bdw_sseu_device_status(gt, sseu); in intel_sseu_status()
260 gen9_sseu_device_status(gt, sseu); in intel_sseu_status()
262 gen11_sseu_device_status(gt, sseu); in intel_sseu_status()
265 i915_print_sseu_info(m, false, HAS_POOLED_EU(i915), sseu); in intel_sseu_status()
267 kfree(sseu); in intel_sseu_status()
285 intel_sseu_print_topology(gt->i915, >->info.sseu, &p); in sseu_topology_show()