Home | History | Annotate | Download | only in i915

Lines Matching defs:sseu

2726 	intel_device_info_print_topology(&RUNTIME_INFO(dev_priv)->sseu, &p);
3664 intel_sseu_copy_subslices(const struct sseu_dev_info *sseu, int slice,
3667 int offset = slice * sseu->ss_stride;
3669 memcpy(&to_mask[offset], &sseu->subslice_mask[offset], sseu->ss_stride);
3677 struct sseu_dev_info *sseu)
3696 sseu->slice_mask = BIT(0);
3697 sseu->subslice_mask[0] |= BIT(ss);
3702 sseu->eu_total += eu_cnt;
3703 sseu->eu_per_subslice = max_t(unsigned int,
3704 sseu->eu_per_subslice, eu_cnt);
3710 struct sseu_dev_info *sseu)
3717 for (s = 0; s < info->sseu.max_slices; s++) {
3739 for (s = 0; s < info->sseu.max_slices; s++) {
3744 sseu->slice_mask |= BIT(s);
3745 intel_sseu_copy_subslices(&info->sseu, s, sseu->subslice_mask);
3747 for (ss = 0; ss < info->sseu.max_subslices; ss++) {
3750 if (info->sseu.has_subslice_pg &&
3757 sseu->eu_total += eu_cnt;
3758 sseu->eu_per_subslice = max_t(unsigned int,
3759 sseu->eu_per_subslice,
3767 struct sseu_dev_info *sseu)
3774 for (s = 0; s < info->sseu.max_slices; s++) {
3789 for (s = 0; s < info->sseu.max_slices; s++) {
3794 sseu->slice_mask |= BIT(s);
3797 intel_sseu_copy_subslices(&info->sseu, s,
3798 sseu->subslice_mask);
3800 for (ss = 0; ss < info->sseu.max_subslices; ss++) {
3802 u8 ss_idx = s * info->sseu.ss_stride +
3810 sseu->subslice_mask[ss_idx] |=
3816 sseu->eu_total += eu_cnt;
3817 sseu->eu_per_subslice = max_t(unsigned int,
3818 sseu->eu_per_subslice,
3826 struct sseu_dev_info *sseu)
3832 sseu->slice_mask = slice_info & GEN8_LSLICESTAT_MASK;
3834 if (sseu->slice_mask) {
3835 sseu->eu_per_subslice = info->sseu.eu_per_subslice;
3836 for (s = 0; s < fls(sseu->slice_mask); s++)
3837 intel_sseu_copy_subslices(&info->sseu, s,
3838 sseu->subslice_mask);
3839 sseu->eu_total = sseu->eu_per_subslice *
3840 intel_sseu_subslice_total(sseu);
3843 for (s = 0; s < fls(sseu->slice_mask); s++) {
3844 u8 subslice_7eu = info->sseu.subslice_7eu[s];
3846 sseu->eu_total -= hweight8(subslice_7eu);
3852 const struct sseu_dev_info *sseu)
3859 sseu->slice_mask);
3861 hweight8(sseu->slice_mask));
3863 intel_sseu_subslice_total(sseu));
3864 for (s = 0; s < fls(sseu->slice_mask); s++) {
3866 s, intel_sseu_subslices_per_slice(sseu, s));
3869 sseu->eu_total);
3871 sseu->eu_per_subslice);
3878 seq_printf(m, " Min EU in pool: %u\n", sseu->min_eu_in_pool);
3881 yesno(sseu->has_slice_pg));
3883 yesno(sseu->has_subslice_pg));
3885 yesno(sseu->has_eu_pg));
3892 struct sseu_dev_info sseu;
3898 seq_puts(m, "SSEU Device Info\n");
3899 i915_print_sseu_info(m, true, &info->sseu);
3901 seq_puts(m, "SSEU Device Status\n");
3902 memset(&sseu, 0, sizeof(sseu));
3903 intel_sseu_set_info(&sseu, info->sseu.max_slices,
3904 info->sseu.max_subslices,
3905 info->sseu.max_eus_per_subslice);
3909 cherryview_sseu_device_status(dev_priv, &sseu);
3911 bdw_sseu_device_status(dev_priv, &sseu);
3913 gen9_sseu_device_status(dev_priv, &sseu);
3915 gen10_sseu_device_status(dev_priv, &sseu);
3918 i915_print_sseu_info(m, false, &sseu);