gpu: host1x: Don't skip assigning syncpoints to channels
authorMikko Perttunen <mperttunen@nvidia.com>
Thu, 19 Jan 2023 13:39:00 +0000 (15:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:33:16 +0000 (09:33 +0100)
[ Upstream commit eb258cc1fd458e584082be987dbc6ec42668c05e ]

The code to write the syncpoint channel assignment register
incorrectly skips the write if hypervisor registers are not available.

The register, however, is within the guest aperture so remove the
check and assign syncpoints properly even on virtualized systems.

Fixes: c3f52220f276 ("gpu: host1x: Enable Tegra186 syncpoint protection")
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/host1x/hw/syncpt_hw.c

index dd39d67..8cf35b2 100644 (file)
@@ -106,9 +106,6 @@ static void syncpt_assign_to_channel(struct host1x_syncpt *sp,
 #if HOST1X_HW >= 6
        struct host1x *host = sp->host;
 
-       if (!host->hv_regs)
-               return;
-
        host1x_sync_writel(host,
                           HOST1X_SYNC_SYNCPT_CH_APP_CH(ch ? ch->id : 0xff),
                           HOST1X_SYNC_SYNCPT_CH_APP(sp->id));