summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDhaval Patel <pdhaval@codeaurora.org>2016-10-11 22:24:29 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-10-11 22:24:29 -0700
commit42ddcec53f7d4aa60b14b3f3b4e5e347e28529d8 (patch)
treea44a18ee26436796c6a7aebcf0ed7606165182a7 /drivers/gpu
parent74b9a89af13ae475c07f01ff950c7bec410bc623 (diff)
parentefb9164320865a14ce9fdbe3a563b1aa3bb2b89f (diff)
Merge "drm/msm/sde: update proper error message for rm failure" into dev/msm-4.4-drm_kms
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/msm/sde/sde_rm.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_rm.c b/drivers/gpu/drm/msm/sde/sde_rm.c
index 37db9eec8dc9..b17ac828d110 100644
--- a/drivers/gpu/drm/msm/sde/sde_rm.c
+++ b/drivers/gpu/drm/msm/sde/sde_rm.c
@@ -342,6 +342,7 @@ int sde_rm_init(struct sde_rm *rm,
if (IS_ERR_OR_NULL(rm->hw_mdp)) {
rc = PTR_ERR(rm->hw_mdp);
rm->hw_mdp = NULL;
+ SDE_ERROR("failed: mdp hw not available\n");
goto fail;
}
@@ -356,8 +357,10 @@ int sde_rm_init(struct sde_rm *rm,
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_LM,
cat->mixer[i].id, &cat->mixer[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: lm hw not available\n");
goto fail;
+ }
if (!rm->lm_max_width) {
rm->lm_max_width = lm->sblk->maxwidth;
@@ -375,15 +378,19 @@ int sde_rm_init(struct sde_rm *rm,
for (i = 0; i < cat->dspp_count; i++) {
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_DSPP,
cat->dspp[i].id, &cat->dspp[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: dspp hw not available\n");
goto fail;
+ }
}
for (i = 0; i < cat->pingpong_count; i++) {
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_PINGPONG,
cat->pingpong[i].id, &cat->pingpong[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: pp hw not available\n");
goto fail;
+ }
}
for (i = 0; i < cat->intf_count; i++) {
@@ -394,35 +401,42 @@ int sde_rm_init(struct sde_rm *rm,
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_INTF,
cat->intf[i].id, &cat->intf[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: intf hw not available\n");
goto fail;
+ }
}
for (i = 0; i < cat->wb_count; i++) {
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_WB,
cat->wb[i].id, &cat->wb[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: wb hw not available\n");
goto fail;
+ }
}
for (i = 0; i < cat->ctl_count; i++) {
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_CTL,
cat->ctl[i].id, &cat->ctl[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: ctl hw not available\n");
goto fail;
+ }
}
for (i = 0; i < cat->cdm_count; i++) {
rc = _sde_rm_hw_blk_create(rm, cat, mmio, SDE_HW_BLK_CDM,
cat->cdm[i].id, &cat->cdm[i]);
- if (rc)
+ if (rc) {
+ SDE_ERROR("failed: cdm hw not available\n");
goto fail;
+ }
}
return 0;
fail:
- SDE_ERROR("failed to init sde kms resources\n");
sde_rm_destroy(rm);
return rc;