[Intel-gfx] [PATCH] drm/i915/mtl: Add support for 32 bit OAG formats in MTL

Dixit, Ashutosh ashutosh.dixit at intel.com
Wed Nov 30 01:17:13 UTC 2022


On Mon, 28 Nov 2022 17:21:46 -0800, Umesh Nerlige Ramappa wrote:
>

Hi Umesh,

Overall looks ok, just a couple of questions below. Splitting the patches
would be nice and easier to review, but I'm almost done with this one ;-)

> @@ -1876,7 +1875,13 @@ static int alloc_noa_wait(struct i915_perf_stream *stream)
>					  MI_PREDICATE_RESULT_2_ENGINE(base) :
>					  MI_PREDICATE_RESULT_1(RENDER_RING_BASE);
>
> -	bo = i915_gem_object_create_internal(i915, 4096);
> +	/*
> +	 * gt->scratch was being used to save/restore the GPR registers, but on
> +	 * MTL the scratch uses stolen lmem. An MI_SRM to this memory region
> +	 * causes an engine hang. Instead allocate an additional page here to
> +	 * save/restore GPR registers
> +	 */
> +	bo = i915_gem_object_create_internal(i915, 8192);

Do we know how much space was used in stream->noa_wait originally? Anyway
allocating an additional page is not an issue so ok to skip the question.

> @@ -4746,6 +4772,7 @@ static void oa_init_supported_formats(struct i915_perf *perf)
>		break;
>
>	case INTEL_DG2:
> +	case INTEL_METEORLAKE:
>		oa_format_add(perf, I915_OAR_FORMAT_A32u40_A4u32_B8_C8);
>		oa_format_add(perf, I915_OA_FORMAT_A24u40_A14u32_B8_C8);

Do these formats also need to be added?

		oa_format_add(perf, I915_OAR_FORMAT_A32u40_A4u32_B8_C8);
		oa_format_add(perf, I915_OA_FORMAT_A24u40_A14u32_B8_C8);
		oa_format_add(perf, I915_OAR_FORMAT_A36u64_B8_C8);
		oa_format_add(perf, I915_OA_FORMAT_A38u64_R2u64_B8_C8);

Or these are not considered OAG formats?

>		break;

Thanks.
--
Ashutosh


More information about the Intel-gfx mailing list