From patchwork Wed Mar 22 21:50:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 9640189 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 25A70601E9 for ; Wed, 22 Mar 2017 21:53:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 19186201A4 for ; Wed, 22 Mar 2017 21:53:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0D26227D5E; Wed, 22 Mar 2017 21:53:18 +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=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID 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 C9F8F201A4 for ; Wed, 22 Mar 2017 21:53:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C49716E9E6; Wed, 22 Mar 2017 21:51:34 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id F2BB66E9BF for ; Wed, 22 Mar 2017 21:51:25 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id 20so655130wrx.0 for ; Wed, 22 Mar 2017 14:51:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=xHiuSwkWSTO5xgjoVhhKkulI90u6ZAHrB5hlBle0qhA=; b=BKd8/Wkr/fCBPhFnQVdVlTj9IghR0ZRPhPfHhvjIjVd61EXlTel1Fl68yRjd4z3gCi 55GiWqeXMoxoE3ZXhZbWfrWqSsPDKz5++eGZXQ18rWA6/zAxLeIKXmd2gZUZd63AtmSX 2yijpz21KJYPQyMfX3cDSTlNd41PaM1Lm5hVY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=xHiuSwkWSTO5xgjoVhhKkulI90u6ZAHrB5hlBle0qhA=; b=iD9MOMw0TBpgYsfna4kBT3+te7MZiVEMJYiBIZtExM476VGs9usKYTQbGhwXZoKtD1 4LNpq+nHvyF9T0c1/L1Lo1dpIUyhjYcikplGLvJJ0lTkRSF43ny01VToPQ2jqsmi0Mnr OkIG7gfHwIXv1zDV1xM/QMcIdJTf9xGCfiAu6i+5OQIpZhUrj79zowxP0yWFiqprZrYR o143mWj3gkyT0dyeX8X9wjZ8BNMZyX3BklfUt9aOZAHGXp7lLiOcwiOzFVUbzjfV6bp2 Jamyd8VWjUQIPajU3dqxZ/4XysyYSoeN1BvYjL7RdrukBKw+okBAbuVyyj4+XamveLrN 3/Jg== X-Gm-Message-State: AFeK/H04tl7OgZY+jeZIXvgUCPE9Coj2Kw+E4r+vlTvLMARn8vi/LrafnFODwt1PdG0yGQ== X-Received: by 10.223.152.73 with SMTP id v67mr36582892wrb.78.1490219484509; Wed, 22 Mar 2017 14:51:24 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:56c9:0:decc:6e78:7e96:b452]) by smtp.gmail.com with ESMTPSA id t85sm1777070wmt.23.2017.03.22.14.51.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Mar 2017 14:51:23 -0700 (PDT) From: Daniel Vetter To: DRI Development Date: Wed, 22 Mar 2017 22:50:55 +0100 Message-Id: <20170322215058.8671-17-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170322215058.8671-1-daniel.vetter@ffwll.ch> References: <20170322215058.8671-1-daniel.vetter@ffwll.ch> Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter Subject: [Intel-gfx] [PATCH 16/19] drm: Restrict drm_mode_set_config_internal to non-atomic drivers X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP This is another case where we really can't reconstruct a acquire ctx in any useful fashion because all the callers are legacy drivers. So like drm_plane_force_disable simply restrict it to non-atomic drivers so that it's clear we're ok with passing a NULL ctx. Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_crtc.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index df1ff0b8818b..05447492483f 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -444,18 +444,7 @@ int drm_mode_getcrtc(struct drm_device *dev, return 0; } -/** - * drm_mode_set_config_internal - helper to call &drm_mode_config_funcs.set_config - * @set: modeset config to set - * - * This is a little helper to wrap internal calls to the - * &drm_mode_config_funcs.set_config driver interface. The only thing it adds is - * correct refcounting dance. - * - * Returns: - * Zero on success, negative errno on failure. - */ -int drm_mode_set_config_internal(struct drm_mode_set *set) +static int __drm_mode_set_config_internal(struct drm_mode_set *set) { struct drm_crtc *crtc = set->crtc; struct drm_framebuffer *fb; @@ -488,6 +477,25 @@ int drm_mode_set_config_internal(struct drm_mode_set *set) return ret; } +/** + * drm_mode_set_config_internal - helper to call &drm_mode_config_funcs.set_config + * @set: modeset config to set + * + * This is a little helper to wrap internal calls to the + * &drm_mode_config_funcs.set_config driver interface. The only thing it adds is + * correct refcounting dance. + * + * This should only be used by non-atomic legacy drivers. + * + * Returns: + * Zero on success, negative errno on failure. + */ +int drm_mode_set_config_internal(struct drm_mode_set *set) +{ + WARN_ON(drm_drv_uses_atomic_modeset(set->crtc->dev)); + + return __drm_mode_set_config_internal(set); +} EXPORT_SYMBOL(drm_mode_set_config_internal); /** @@ -685,7 +693,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data, set.connectors = connector_set; set.num_connectors = crtc_req->count_connectors; set.fb = fb; - ret = drm_mode_set_config_internal(&set); + ret = __drm_mode_set_config_internal(&set); out: if (fb)