host1x_emu: fix syncpoint 0 WAR

This patch fixes the existing WAR to not allocate
syncpoint id 0. The bug was that indexing starts
from 1, but syncpoint array starts from 0. The fix
is to start syncpoint array iteration from 1 as
well.

Bug 5064819

Change-Id: I4120d83dd33ef134d80417dcf9e1c75b55b99719
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3287523
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Raghavendra Vishnu Kumar <rvk@nvidia.com>
Tested-by: Martin Radev <mradev@nvidia.com>
Reviewed-by: Amitabh Dutta <amitabhd@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Martin Radev
2025-01-21 12:28:54 +02:00
committed by Jon Hunter
parent 123c86d0b1
commit bbf4752022

View File

@@ -340,7 +340,7 @@ HOST1X_EMU_EXPORT_DECL(struct host1x_syncpt*, host1x_syncpt_alloc(struct host1x
* dosen't effectively utilize per pool polling thread.
*/
/* FIXME: WAR to allocate syncpoint from index 1, As at client level synpt-id 0 is invalid*/
for (i = host->syncpt_base + 1; i < host->syncpt_end; i++, sp++) {
for (i = host->syncpt_base + 1, sp = sp + 1; i < host->syncpt_end; i++, sp++) {
/* Do pool verification if pool selected */
if ((pool != NULL) && (sp->pool != pool))