drm/etnaviv: add missing quirks for GC300
[ Upstream commit cc7d3fb446a91f24978a6aa59cbb578f92e22242 ] The GC300's features register doesn't specify that a 2D pipe is available, and like the GC600, its idle register reports zero bits where modules aren't present. Signed-off-by: Doug Brown <doug@schmorgal.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
4fd3a11804
commit
6cd4865bb4
@@ -408,6 +408,12 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
|
|||||||
if (gpu->identity.model == chipModel_GC700)
|
if (gpu->identity.model == chipModel_GC700)
|
||||||
gpu->identity.features &= ~chipFeatures_FAST_CLEAR;
|
gpu->identity.features &= ~chipFeatures_FAST_CLEAR;
|
||||||
|
|
||||||
|
/* These models/revisions don't have the 2D pipe bit */
|
||||||
|
if ((gpu->identity.model == chipModel_GC500 &&
|
||||||
|
gpu->identity.revision <= 2) ||
|
||||||
|
gpu->identity.model == chipModel_GC300)
|
||||||
|
gpu->identity.features |= chipFeatures_PIPE_2D;
|
||||||
|
|
||||||
if ((gpu->identity.model == chipModel_GC500 &&
|
if ((gpu->identity.model == chipModel_GC500 &&
|
||||||
gpu->identity.revision < 2) ||
|
gpu->identity.revision < 2) ||
|
||||||
(gpu->identity.model == chipModel_GC300 &&
|
(gpu->identity.model == chipModel_GC300 &&
|
||||||
@@ -441,8 +447,9 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
|
|||||||
gpu_read(gpu, VIVS_HI_CHIP_MINOR_FEATURE_5);
|
gpu_read(gpu, VIVS_HI_CHIP_MINOR_FEATURE_5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GC600 idle register reports zero bits where modules aren't present */
|
/* GC600/300 idle register reports zero bits where modules aren't present */
|
||||||
if (gpu->identity.model == chipModel_GC600)
|
if (gpu->identity.model == chipModel_GC600 ||
|
||||||
|
gpu->identity.model == chipModel_GC300)
|
||||||
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 |
|
||||||
|
Reference in New Issue
Block a user