diff options
Diffstat (limited to 'drivers/gpu/host1x/hw')
| -rw-r--r-- | drivers/gpu/host1x/hw/cdma_hw.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/host1x/hw/channel_hw.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/host1x/hw/debug_hw_1x06.c | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/host1x/hw/cdma_hw.c b/drivers/gpu/host1x/hw/cdma_hw.c index 08a3cf2b11a9..f39d70280f4a 100644 --- a/drivers/gpu/host1x/hw/cdma_hw.c +++ b/drivers/gpu/host1x/hw/cdma_hw.c @@ -253,6 +253,9 @@ static void timeout_release_mlock(struct host1x_cdma *cdma) struct host1x *host1x = cdma_to_host1x(cdma); u32 offset; + if (!host1x->common_regs) + return; + switch (ch->client->class) { case HOST1X_CLASS_VIC: offset = HOST1X_COMMON_VIC_MLOCK; diff --git a/drivers/gpu/host1x/hw/channel_hw.c b/drivers/gpu/host1x/hw/channel_hw.c index a8251ec0810c..004a4cae21dd 100644 --- a/drivers/gpu/host1x/hw/channel_hw.c +++ b/drivers/gpu/host1x/hw/channel_hw.c @@ -13,6 +13,7 @@ #include <trace/events/host1x.h> #include "../channel.h" +#include "../context.h" #include "../dev.h" #include "../intr.h" #include "../job.h" @@ -89,7 +90,7 @@ static void submit_setclass(struct host1x_job *job, u32 next_class) * firmware stream ID. */ if (job->memory_context) - stream_id = job->memory_context->stream_id; + stream_id = job->memory_context->hw->stream_id; else stream_id = job->engine_fallback_streamid; diff --git a/drivers/gpu/host1x/hw/debug_hw_1x06.c b/drivers/gpu/host1x/hw/debug_hw_1x06.c index 9d0667879a19..324e76436f7b 100644 --- a/drivers/gpu/host1x/hw/debug_hw_1x06.c +++ b/drivers/gpu/host1x/hw/debug_hw_1x06.c @@ -87,6 +87,9 @@ static void host1x_debug_show_channel_fifo(struct host1x *host, host1x_debug_output(o, "CMDFIFO_RDATA %08x\n", val); #if HOST1X_HW <= 6 + if (!host->hv_regs) + return; + /* Peek pointer values are invalid during SLCG, so disable it */ host1x_hypervisor_writel(host, 0x1, HOST1X_HV_ICG_EN_OVERRIDE); |
