Commit 2b76f5be authored by Lucas Stach's avatar Lucas Stach

drm/etnaviv: initialize idle mask before querying the HW db

If there is a match in the HW DB, the function is left early, before
inititalizing the idle mask. Fix this by doing the init earlier, as
only old GPUs, not present in the HW DB need a different idle mask.
Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
parent fd2450a7
...@@ -365,6 +365,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu) ...@@ -365,6 +365,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
dev_info(gpu->dev, "model: GC%x, revision: %x\n", dev_info(gpu->dev, "model: GC%x, revision: %x\n",
gpu->identity.model, gpu->identity.revision); gpu->identity.model, gpu->identity.revision);
gpu->idle_mask = ~VIVS_HI_IDLE_STATE_AXI_LP;
/* /*
* If there is a match in the HWDB, we aren't interested in the * If there is a match in the HWDB, we aren't interested in the
* remaining register values, as they might be wrong. * remaining register values, as they might be wrong.
...@@ -412,7 +413,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu) ...@@ -412,7 +413,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
} }
/* GC600 idle register reports zero bits where modules aren't present */ /* GC600 idle register reports zero bits where modules aren't present */
if (gpu->identity.model == chipModel_GC600) { if (gpu->identity.model == chipModel_GC600)
gpu->idle_mask = VIVS_HI_IDLE_STATE_TX | gpu->idle_mask = VIVS_HI_IDLE_STATE_TX |
VIVS_HI_IDLE_STATE_RA | VIVS_HI_IDLE_STATE_RA |
VIVS_HI_IDLE_STATE_SE | VIVS_HI_IDLE_STATE_SE |
...@@ -421,9 +422,6 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu) ...@@ -421,9 +422,6 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
VIVS_HI_IDLE_STATE_PE | VIVS_HI_IDLE_STATE_PE |
VIVS_HI_IDLE_STATE_DE | VIVS_HI_IDLE_STATE_DE |
VIVS_HI_IDLE_STATE_FE; VIVS_HI_IDLE_STATE_FE;
} else {
gpu->idle_mask = ~VIVS_HI_IDLE_STATE_AXI_LP;
}
etnaviv_hw_specs(gpu); etnaviv_hw_specs(gpu);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment