From patchwork Mon Jan 21 20:24:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= X-Patchwork-Id: 10774517 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0EEF291E for ; Mon, 21 Jan 2019 20:24:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EE1A92AA24 for ; Mon, 21 Jan 2019 20:24:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E24EE2AA31; Mon, 21 Jan 2019 20:24:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4AB7E2AA24 for ; Mon, 21 Jan 2019 20:24:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 691F46E1FB; Mon, 21 Jan 2019 20:24:35 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 118F16E1FB; Mon, 21 Jan 2019 20:24:34 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jan 2019 12:24:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,504,1539673200"; d="scan'208";a="136522656" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga002.fm.intel.com with SMTP; 21 Jan 2019 12:24:31 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 21 Jan 2019 22:24:30 +0200 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Subject: [PATCH 1/3] drm: Add debug prints for the various object lookup errors Date: Mon, 21 Jan 2019 22:24:28 +0200 Message-Id: <20190121202430.30789-1-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Ville Syrjälä Only some of the drm mode object lookups have a corresponding debug print for the lookup failure. That makes logs a bit hard to parse when you can't see where the bad object ID is being used. Add a bunch more debug prints, and unify their appearance. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/drm_atomic_uapi.c | 5 +++++ drivers/gpu/drm/drm_color_mgmt.c | 8 ++++++-- drivers/gpu/drm/drm_connector.c | 5 ++++- drivers/gpu/drm/drm_crtc.c | 12 +++++++----- drivers/gpu/drm/drm_encoder.c | 4 +++- drivers/gpu/drm/drm_framebuffer.c | 4 +++- drivers/gpu/drm/drm_mode_object.c | 17 ++++++++++++++--- drivers/gpu/drm/drm_plane.c | 13 +++++++++---- drivers/gpu/drm/drm_property.c | 12 +++++++++--- drivers/gpu/drm/drm_vblank.c | 8 ++++++-- 10 files changed, 66 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index 9a1f41adfc67..06390307e5a3 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -1321,11 +1321,14 @@ int drm_mode_atomic_ioctl(struct drm_device *dev, obj = drm_mode_object_find(dev, file_priv, obj_id, DRM_MODE_OBJECT_ANY); if (!obj) { + DRM_DEBUG_ATOMIC("Unknown object ID %d\n", obj_id); ret = -ENOENT; goto out; } if (!obj->properties) { + DRM_DEBUG_ATOMIC("Object ID %d has no properties\n", + obj_id); drm_mode_object_put(obj); ret = -ENOENT; goto out; @@ -1352,6 +1355,8 @@ int drm_mode_atomic_ioctl(struct drm_device *dev, prop = drm_mode_obj_find_prop_id(obj, prop_id); if (!prop) { + DRM_DEBUG_ATOMIC("Unknown property ID %d\n", + prop_id); drm_mode_object_put(obj); ret = -ENOENT; goto out; diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/drm/drm_color_mgmt.c index 07dcf47daafe..a99ee15b8328 100644 --- a/drivers/gpu/drm/drm_color_mgmt.c +++ b/drivers/gpu/drm/drm_color_mgmt.c @@ -245,8 +245,10 @@ int drm_mode_gamma_set_ioctl(struct drm_device *dev, return -EOPNOTSUPP; crtc = drm_crtc_find(dev, file_priv, crtc_lut->crtc_id); - if (!crtc) + if (!crtc) { + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", crtc_lut->crtc_id); return -ENOENT; + } if (crtc->funcs->gamma_set == NULL) return -ENOSYS; @@ -313,8 +315,10 @@ int drm_mode_gamma_get_ioctl(struct drm_device *dev, return -EOPNOTSUPP; crtc = drm_crtc_find(dev, file_priv, crtc_lut->crtc_id); - if (!crtc) + if (!crtc) { + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", crtc_lut->crtc_id); return -ENOENT; + } /* memcpy into gamma store */ if (crtc_lut->gamma_size != crtc->gamma_size) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 847539645558..8745eb132fd4 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1952,8 +1952,11 @@ int drm_mode_getconnector(struct drm_device *dev, void *data, memset(&u_mode, 0, sizeof(struct drm_mode_modeinfo)); connector = drm_connector_lookup(dev, file_priv, out_resp->connector_id); - if (!connector) + if (!connector) { + DRM_DEBUG_KMS("Unknown connector ID %d\n", + out_resp->connector_id); return -ENOENT; + } drm_connector_for_each_possible_encoder(connector, encoder, i) encoders_count++; diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 7dabbaf033a1..e5f234ffcd23 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -369,8 +369,10 @@ int drm_mode_getcrtc(struct drm_device *dev, return -EOPNOTSUPP; crtc = drm_crtc_find(dev, file_priv, crtc_resp->crtc_id); - if (!crtc) + if (!crtc) { + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", crtc_resp->crtc_id); return -ENOENT; + } plane = crtc->primary; @@ -586,8 +588,8 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data, } else { fb = drm_framebuffer_lookup(dev, file_priv, crtc_req->fb_id); if (!fb) { - DRM_DEBUG_KMS("Unknown FB ID%d\n", - crtc_req->fb_id); + DRM_DEBUG_KMS("Unknown FB ID %d\n", + crtc_req->fb_id); ret = -ENOENT; goto out; } @@ -682,8 +684,8 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data, connector = drm_connector_lookup(dev, file_priv, out_id); if (!connector) { - DRM_DEBUG_KMS("Connector id %d unknown\n", - out_id); + DRM_DEBUG_KMS("Unknown connector ID %d\n", + out_id); ret = -ENOENT; goto out; } diff --git a/drivers/gpu/drm/drm_encoder.c b/drivers/gpu/drm/drm_encoder.c index b694fb57eaa4..107f3fff3f3f 100644 --- a/drivers/gpu/drm/drm_encoder.c +++ b/drivers/gpu/drm/drm_encoder.c @@ -225,8 +225,10 @@ int drm_mode_getencoder(struct drm_device *dev, void *data, return -EOPNOTSUPP; encoder = drm_encoder_find(dev, file_priv, enc_resp->encoder_id); - if (!encoder) + if (!encoder) { + DRM_DEBUG_KMS("Unknown encoder ID %d\n", enc_resp->encoder_id); return -ENOENT; + } drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); crtc = drm_encoder_get_crtc(encoder); diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c index 7abcb265a108..54f36bf7631e 100644 --- a/drivers/gpu/drm/drm_framebuffer.c +++ b/drivers/gpu/drm/drm_framebuffer.c @@ -431,8 +431,10 @@ int drm_mode_rmfb(struct drm_device *dev, u32 fb_id, return -EOPNOTSUPP; fb = drm_framebuffer_lookup(dev, file_priv, fb_id); - if (!fb) + if (!fb) { + DRM_DEBUG_KMS("Unknown FB ID %d\n", fb_id); return -ENOENT; + } mutex_lock(&file_priv->fbs_lock); list_for_each_entry(fbl, &file_priv->fbs, filp_head) diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c index a9005c1c2384..e8dac94d576d 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -388,10 +388,13 @@ int drm_mode_obj_get_properties_ioctl(struct drm_device *dev, void *data, obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type); if (!obj) { + DRM_DEBUG_KMS("Unknown object ID %d (type 0x%x)\n", + arg->obj_id, arg->obj_type); ret = -ENOENT; goto out; } if (!obj->properties) { + DRM_DEBUG_KMS("Object ID %d has no properties\n", arg->obj_id); ret = -EINVAL; goto out_unref; } @@ -509,15 +512,23 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, return -EOPNOTSUPP; arg_obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type); - if (!arg_obj) + if (!arg_obj) { + DRM_DEBUG_KMS("Unknown object ID %d (type 0x%x)\n", + arg->obj_id, arg->obj_type); return -ENOENT; + } - if (!arg_obj->properties) + if (!arg_obj->properties) { + DRM_DEBUG_KMS("Object ID %d has no properties\n", + arg->prop_id); goto out_unref; + } property = drm_mode_obj_find_prop_id(arg_obj, arg->prop_id); - if (!property) + if (!property) { + DRM_DEBUG_KMS("Unknown property ID %d\n", arg->prop_id); goto out_unref; + } if (drm_drv_uses_atomic_modeset(property->dev)) ret = set_property_atomic(arg_obj, property, arg->value); diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 4cfb56893b7f..830af4c60d55 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -520,8 +520,10 @@ int drm_mode_getplane(struct drm_device *dev, void *data, return -EOPNOTSUPP; plane = drm_plane_find(dev, file_priv, plane_resp->plane_id); - if (!plane) + if (!plane) { + DRM_DEBUG_KMS("Unknown plane ID %d\n", plane_resp->plane_id); return -ENOENT; + } drm_modeset_lock(&plane->mutex, NULL); if (plane->state && plane->state->crtc && drm_lease_held(file_priv, plane->state->crtc->base.id)) @@ -813,7 +815,7 @@ int drm_mode_setplane(struct drm_device *dev, void *data, if (plane_req->fb_id) { fb = drm_framebuffer_lookup(dev, file_priv, plane_req->fb_id); if (!fb) { - DRM_DEBUG_KMS("Unknown framebuffer ID %d\n", + DRM_DEBUG_KMS("Unknown FB ID %d\n", plane_req->fb_id); return -ENOENT; } @@ -821,7 +823,7 @@ int drm_mode_setplane(struct drm_device *dev, void *data, crtc = drm_crtc_find(dev, file_priv, plane_req->crtc_id); if (!crtc) { drm_framebuffer_put(fb); - DRM_DEBUG_KMS("Unknown crtc ID %d\n", + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", plane_req->crtc_id); return -ENOENT; } @@ -1057,8 +1059,10 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev, return -EINVAL; crtc = drm_crtc_find(dev, file_priv, page_flip->crtc_id); - if (!crtc) + if (!crtc) { + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", page_flip->crtc_id); return -ENOENT; + } plane = crtc->primary; @@ -1126,6 +1130,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev, fb = drm_framebuffer_lookup(dev, file_priv, page_flip->fb_id); if (!fb) { + DRM_DEBUG_KMS("Unknown FB ID %d\n", page_flip->fb_id); ret = -ENOENT; goto out; } diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c index 79c77c3cad86..254b71493221 100644 --- a/drivers/gpu/drm/drm_property.c +++ b/drivers/gpu/drm/drm_property.c @@ -467,8 +467,10 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev, return -EOPNOTSUPP; property = drm_property_find(dev, file_priv, out_resp->prop_id); - if (!property) + if (!property) { + DRM_DEBUG_KMS("Unknwon property ID %d\n", out_resp->prop_id); return -ENOENT; + } strncpy(out_resp->name, property->name, DRM_PROP_NAME_LEN); out_resp->name[DRM_PROP_NAME_LEN-1] = 0; @@ -760,8 +762,10 @@ int drm_mode_getblob_ioctl(struct drm_device *dev, return -EOPNOTSUPP; blob = drm_property_lookup_blob(dev, out_resp->blob_id); - if (!blob) + if (!blob) { + DRM_DEBUG_KMS("Unknwon blob ID %d\n", out_resp->blob_id); return -ENOENT; + } if (out_resp->length == blob->length) { if (copy_to_user(u64_to_user_ptr(out_resp->data), @@ -826,8 +830,10 @@ int drm_mode_destroyblob_ioctl(struct drm_device *dev, return -EOPNOTSUPP; blob = drm_property_lookup_blob(dev, out_resp->blob_id); - if (!blob) + if (!blob) { + DRM_DEBUG_KMS("Unknwon blob ID %d\n", out_resp->blob_id); return -ENOENT; + } mutex_lock(&dev->mode_config.blob_lock); /* Ensure the property was actually created by this user. */ diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index cde71ee95a8f..793acfa5002e 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -1816,8 +1816,10 @@ int drm_crtc_get_sequence_ioctl(struct drm_device *dev, void *data, return -EINVAL; crtc = drm_crtc_find(dev, file_priv, get_seq->crtc_id); - if (!crtc) + if (!crtc) { + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", get_seq->crtc_id); return -ENOENT; + } pipe = drm_crtc_index(crtc); @@ -1874,8 +1876,10 @@ int drm_crtc_queue_sequence_ioctl(struct drm_device *dev, void *data, return -EINVAL; crtc = drm_crtc_find(dev, file_priv, queue_seq->crtc_id); - if (!crtc) + if (!crtc) { + DRM_DEBUG_KMS("Unknown CRTC ID %d\n", queue_seq->crtc_id); return -ENOENT; + } flags = queue_seq->flags; /* Check valid flag bits */