[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