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