[PATCH v3] drm/xe/xe_guc_ads: save/restore OA registers

Dixit, Ashutosh ashutosh.dixit at intel.com
Mon Oct 28 16:36:32 UTC 2024


On Wed, 23 Oct 2024 13:07:15 -0700, Jonathan Cavitt wrote:
>

Hi Umesh,

> @@ -748,6 +754,14 @@ static unsigned int guc_mmio_regset_write(struct xe_guc_ads *ads,
>		}
>	}
>
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL0, count++);
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL1, count++);
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL2, count++);
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL3, count++);
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL4, count++);
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL5, count++);
> +	guc_mmio_regset_write_one(ads, regset_map, EU_PERF_CNTL6, count++);

I am trying to understand how this works. So these registers are
saved/restored by GuC because they are not part of HW context image and
that is why GuC needs to do the save/restore? Bspec 46458/56839 do seem to
be saying that these registers are context saved/restored? If that is
indeed true (though not sure), do they need to be here?

Thanks.
--
Ashutosh


More information about the Intel-xe mailing list