[igt-dev] [PATCH i-g-t 1/2] lib/intel_allocator: Fixed start offset and alignment

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Tue Dec 20 20:38:10 UTC 2022


On Tue, Dec 20, 2022 at 08:07:16AM +0100, Dominik Karol Piatkowski wrote:
> On some platforms it may be required to use non-zero start address
> that is also aligned. Allocating memory before aligned safe start offset
> may result in failures.
> 
> Signed-off-by: Dominik Karol Piatkowski <dominik.karol.piatkowski at intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> ---
>  lib/intel_allocator.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/intel_allocator.c b/lib/intel_allocator.c
> index 3004f15a..060a65ce 100644
> --- a/lib/intel_allocator.c
> +++ b/lib/intel_allocator.c
> @@ -910,6 +910,9 @@ static uint64_t __intel_allocator_open_full(int fd, uint32_t ctx,
>  	struct alloc_resp resp;
>  	uint64_t gtt_size;
>  
> +	if (!start)
> +		req.open.start = gem_detect_safe_start_offset(fd);
> +
>  	if (!end) {
>  		igt_assert_f(can_report_gtt_size(fd), "Invalid fd\n");
>  		gtt_size = gem_aperture_size(fd);
> @@ -924,6 +927,8 @@ static uint64_t __intel_allocator_open_full(int fd, uint32_t ctx,
>  	if (!default_alignment)
>  		req.open.default_alignment = gem_detect_safe_alignment(fd);
>  
> +	req.open.start = ALIGN(req.open.start, req.open.default_alignment);
> +
>  	/* Get child_tid only once at open() */
>  	if (child_tid == -1)
>  		child_tid = gettid();
> -- 
> 2.34.1
>

Now lgtm, 

Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>

--
Zbigniew 


More information about the igt-dev mailing list