aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-01-13 16:58:06 -0500
committerDave Airlie <airlied@redhat.com>2016-01-13 16:58:06 -0500
commit06249e69324209b41ba017f476764eba347b1127 (patch)
tree3268b99700246c2e5ed3f832a70057dda8c110b5
parentc7753e905b510ed07efa2a2ade5a2cec0c394d66 (diff)
parentc33246d793b5bb9d8be7c67918136c310185c23d (diff)
Merge branch 'drm-etnaviv-fixes' of git://git.pengutronix.de/git/lst/linux into drm-next
etnaviv fixes. * 'drm-etnaviv-fixes' of git://git.pengutronix.de/git/lst/linux: drm/etnaviv: fix workaround for GC500 drm/etnaviv: unlock on error in etnaviv_gem_get_iova()
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem.c6
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gpu.c7
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 8d6f859f8200..9f77c3b94cc6 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -305,8 +305,10 @@ int etnaviv_gem_get_iova(struct etnaviv_gpu *gpu,
305 mapping = etnaviv_gem_get_vram_mapping(etnaviv_obj, NULL); 305 mapping = etnaviv_gem_get_vram_mapping(etnaviv_obj, NULL);
306 if (!mapping) { 306 if (!mapping) {
307 mapping = kzalloc(sizeof(*mapping), GFP_KERNEL); 307 mapping = kzalloc(sizeof(*mapping), GFP_KERNEL);
308 if (!mapping) 308 if (!mapping) {
309 return -ENOMEM; 309 ret = -ENOMEM;
310 goto out;
311 }
310 312
311 INIT_LIST_HEAD(&mapping->scan_node); 313 INIT_LIST_HEAD(&mapping->scan_node);
312 mapping->object = etnaviv_obj; 314 mapping->object = etnaviv_obj;
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index d39093dc37e6..056a72e6ed26 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -251,9 +251,12 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
251 chipIdentity = gpu_read(gpu, VIVS_HI_CHIP_IDENTITY); 251 chipIdentity = gpu_read(gpu, VIVS_HI_CHIP_IDENTITY);
252 252
253 /* Special case for older graphic cores. */ 253 /* Special case for older graphic cores. */
254 if (VIVS_HI_CHIP_IDENTITY_FAMILY(chipIdentity) == 0x01) { 254 if (((chipIdentity & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK)
255 >> VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) == 0x01) {
255 gpu->identity.model = 0x500; /* gc500 */ 256 gpu->identity.model = 0x500; /* gc500 */
256 gpu->identity.revision = VIVS_HI_CHIP_IDENTITY_REVISION(chipIdentity); 257 gpu->identity.revision =
258 (chipIdentity & VIVS_HI_CHIP_IDENTITY_REVISION__MASK)
259 >> VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT;
257 } else { 260 } else {
258 261
259 gpu->identity.model = gpu_read(gpu, VIVS_HI_CHIP_MODEL); 262 gpu->identity.model = gpu_read(gpu, VIVS_HI_CHIP_MODEL);