[PATCH 1/2] drm/xe: Always setup GT MMIO adjustment data

Michal Wajdeczko michal.wajdeczko at intel.com
Thu Nov 14 19:36:46 UTC 2024



On 14.11.2024 20:23, Lucas De Marchi wrote:
> On Thu, Nov 14, 2024 at 06:59:54PM +0100, Michal Wajdeczko wrote:
>> While we believed that xe_gt_mmio_init() will be called just once
>> per GT, this might not be a case due to some tweaks that need to
>> performed by the VF driver during early probe.  To avoid leaving
> 
> can you be explicit where this is being set on the VF case? 

it will be used in read_gmdid(), see next patch

> Shouldn't VF
> itself deal with fixing up what it did?

in read_gmdid() we already said

516      /*
517       * Only undo xe_gt.info here, the remaining changes made above
518       * will be overwritten as part of the regular initialization.
519       */

and it looks that xe_gt_mmio_init() is not overwriting everything as we
would expect

> 
>> any stale data in case of the re-run, reset the GT MMIO adjustment
>> data for the non-media GT case.
> 
> 
> Lucas De Marchi
> 
>>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>> Cc: Matt Roper <matthew.d.roper at intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_gt.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
>> index d6744be01a68..d45d2cecc4dc 100644
>> --- a/drivers/gpu/drm/xe/xe_gt.c
>> +++ b/drivers/gpu/drm/xe/xe_gt.c
>> @@ -643,6 +643,9 @@ void xe_gt_mmio_init(struct xe_gt *gt)
>>     if (gt->info.type == XE_GT_TYPE_MEDIA) {
>>         gt->mmio.adj_offset = MEDIA_GT_GSI_OFFSET;
>>         gt->mmio.adj_limit = MEDIA_GT_GSI_LENGTH;
>> +    } else {
>> +        gt->mmio.adj_offset = 0;
>> +        gt->mmio.adj_limit = 0;
>>     }
>>
>>     if (IS_SRIOV_VF(gt_to_xe(gt)))
>> -- 
>> 2.43.0
>>



More information about the Intel-xe mailing list