diff options
author | Dave Airlie <airlied@redhat.com> | 2016-01-13 16:58:06 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-01-13 16:58:06 -0500 |
commit | 06249e69324209b41ba017f476764eba347b1127 (patch) | |
tree | 3268b99700246c2e5ed3f832a70057dda8c110b5 | |
parent | c7753e905b510ed07efa2a2ade5a2cec0c394d66 (diff) | |
parent | c33246d793b5bb9d8be7c67918136c310185c23d (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.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 7 |
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); |