[Intel-xe] [PATCH v4 8/9] drm/xe/xe2: Modify xe_bo_test for system memory

Ghimiray, Himal Prasad himal.prasad.ghimiray at intel.com
Fri Dec 8 04:35:08 UTC 2023


On 07-12-2023 05:53, Matt Roper wrote:
> On Wed, Dec 06, 2023 at 10:01:25AM +0530, Himal Prasad Ghimiray wrote:
>> Modify test to valid ccs clear and copy during evict/restore on
>> igfx.
> As on the previous patch, what exactly does "evict/restore" refer to in
> this setting?

Evict -> Movement of bo from PL_TT to PL_SYSTEM

restore -> Movement from PL_SYSTEM to PL_TT

>
>> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>
>> ---
>>   drivers/gpu/drm/xe/tests/xe_bo.c | 23 ++++++++++++++++-------
>>   1 file changed, 16 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
>> index 549ab343de80..5e4e19a246dc 100644
>> --- a/drivers/gpu/drm/xe/tests/xe_bo.c
>> +++ b/drivers/gpu/drm/xe/tests/xe_bo.c
>> @@ -112,16 +112,21 @@ static void ccs_test_run_gt(struct xe_device *xe, struct xe_gt *gt,
>>   			    struct kunit *test)
>>   {
>>   	struct xe_bo *bo;
>> -	u32 vram_bit;
>> +	u32 mem_bit;
>>   	int ret;
>>   
>>   	/* TODO: Sanity check */
>> -	vram_bit = XE_BO_CREATE_VRAM0_BIT << gt_to_tile(gt)->id;
>> -	kunit_info(test, "Testing gt id %u vram id %u\n", gt->info.id,
>> -		   gt_to_tile(gt)->id);
>>   
>> -	bo = xe_bo_create_locked(xe, NULL, NULL, SZ_1M, ttm_bo_type_device,
>> -				 vram_bit);
>> +	mem_bit = IS_DGFX(xe) ? XE_BO_CREATE_VRAM0_BIT << gt_to_tile(gt)->id :
>> +				XE_BO_CREATE_SYSTEM_BIT;
>> +
>> +	if (IS_DGFX(xe))
>> +		kunit_info(test, "Testing gt id %u vram id %u\n", gt->info.id, gt_to_tile(gt)->id);
>> +	else
>> +		kunit_info(test, "Testing system memory\n");
>> +
>> +	bo = xe_bo_create_user(xe, NULL, NULL, SZ_1M, DRM_XE_GEM_CPU_CACHING_WC,
>> +			       ttm_bo_type_device, mem_bit);
>>   	if (IS_ERR(bo)) {
>>   		KUNIT_FAIL(test, "Failed to create bo.\n");
>>   		return;
>> @@ -160,8 +165,12 @@ static int ccs_test_run_device(struct xe_device *xe)
>>   
>>   	xe_device_mem_access_get(xe);
>>   
>> -	for_each_gt(gt, xe, id)
>> +	for_each_gt(gt, xe, id) {
>> +		/* For igfx run only for primary gt */
> Even on a dgpu why would we want to run on non-primary GTs?  Should this
> whole loop be switched to for_each_tile() instead?  There doesn't seem
> to be anything GT-centric in this whole test, so it seems like we should
> be passing around and operating on tile pointers instead of GT pointers.
Agreed. Will make the change in next version.
>
> Matt
>
>> +		if (!IS_DGFX(xe) && id > 0)
>> +			continue;
>>   		ccs_test_run_gt(xe, gt, test);
>> +	}
>>   
>>   	xe_device_mem_access_put(xe);
>>   
>> -- 
>> 2.25.1
>>


More information about the Intel-xe mailing list