From patchwork Tue Aug 15 13:42:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 801596 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="CtnS0Dt5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xWtvm5GGwz9s8P for ; Tue, 15 Aug 2017 23:42:44 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751095AbdHONmn (ORCPT ); Tue, 15 Aug 2017 09:42:43 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:36033 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750950AbdHONmm (ORCPT ); Tue, 15 Aug 2017 09:42:42 -0400 Received: by mail-wr0-f194.google.com with SMTP id y67so672764wrb.3 for ; Tue, 15 Aug 2017 06:42:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=mCqKKi8cI5D1rxjGcSbEcFv+fVFm/9EFAaBXnW0R1hg=; b=CtnS0Dt52hvHCtGyF114O9/NtI/QD8dCjn6XRKaCNNr1u0af6y6xjVCQABLykfn6oJ 7TqU6rL1sb1r87VnAs/VCeGuD6H0miZ2XrNsiAkNC1dsJeFsILUnujGkoaC7WKJlZauO LKJ7w7W80K3SWIVDvD3zHedS5zJ1ULbJFCr/5oWnVLwta4oZVJ06Oamz7WOg3o8bM/dF xb0S0JNAiFObgtQ5j0V5NujvnG7gYwHel+i0cFV3Lk92cNzOzMtPwhgH9k98I0eVy9c3 r8KP6/bTrH0sO8QrvCcUNwAFZtL8/tpg95ExPn0/RoKckWXrXFyRX0JDZxrThAeD7iOY IYkA== 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; bh=mCqKKi8cI5D1rxjGcSbEcFv+fVFm/9EFAaBXnW0R1hg=; b=DDt1GZ56sGoTRHnBWVYNQgJOHDBFaHtPjsa/I/U8thr9gRR+2sBwBhch+ueYbV0yHW kd2I+yqWrgyQbSaJksehoGsfQFllYaMwBi5/cOgG9jFnjIUg53vqAMAbhGsainWXBVUW feEQpZSLrMGoI6FEBmrl+WokMvIyWimTv7Ttbx+KjzKXQ1PG8zM0YOLGYhlrhBq9fRmr ZRdtK47cNau1tezc64OKkZ8BYxF2m8YKv+ZxuaOlTdgpZKH0Sss5aZlvHGR4Y917eh1h EHBcxag21PwowZygOkrzPheWG5A0DzW87JLaUCo/RRM6XPNGIYUPQpVe4gDGYsuRQ2UB 7VRQ== X-Gm-Message-State: AHYfb5jSlpUPVKplR7NgjmGDcNEHY4+ZctjPD2gJBja2Ro9n3+kuN1P2 Xw9Dw29eg9WqGA== X-Received: by 10.223.135.234 with SMTP id c39mr1105389wrc.98.1502804561517; Tue, 15 Aug 2017 06:42:41 -0700 (PDT) Received: from localhost (p200300E41BD5E00076D02BFFFE273F51.dip0.t-ipconnect.de. [2003:e4:1bd5:e000:76d0:2bff:fe27:3f51]) by smtp.gmail.com with ESMTPSA id g17sm1286383wmc.44.2017.08.15.06.42.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 15 Aug 2017 06:42:40 -0700 (PDT) From: Thierry Reding To: Thierry Reding Cc: Mikko Perttunen , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org Subject: [PATCH 1/2] drm/tegra: Support render node Date: Tue, 15 Aug 2017 15:42:39 +0200 Message-Id: <20170815134240.17770-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.13.3 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Thierry Reding None of the driver-specific IOCTLs are privileged, so mark them as such and advertise that the driver supports render nodes. Signed-off-by: Thierry Reding --- drivers/gpu/drm/tegra/drm.c | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index a75fbf6c219e..d5c8b15f5fa4 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -991,20 +991,34 @@ static int tegra_gem_get_flags(struct drm_device *drm, void *data, static const struct drm_ioctl_desc tegra_drm_ioctls[] = { #ifdef CONFIG_DRM_TEGRA_STAGING - DRM_IOCTL_DEF_DRV(TEGRA_GEM_CREATE, tegra_gem_create, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GEM_MMAP, tegra_gem_mmap, 0), - DRM_IOCTL_DEF_DRV(TEGRA_SYNCPT_READ, tegra_syncpt_read, 0), - DRM_IOCTL_DEF_DRV(TEGRA_SYNCPT_INCR, tegra_syncpt_incr, 0), - DRM_IOCTL_DEF_DRV(TEGRA_SYNCPT_WAIT, tegra_syncpt_wait, 0), - DRM_IOCTL_DEF_DRV(TEGRA_OPEN_CHANNEL, tegra_open_channel, 0), - DRM_IOCTL_DEF_DRV(TEGRA_CLOSE_CHANNEL, tegra_close_channel, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GET_SYNCPT, tegra_get_syncpt, 0), - DRM_IOCTL_DEF_DRV(TEGRA_SUBMIT, tegra_submit, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GET_SYNCPT_BASE, tegra_get_syncpt_base, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GEM_SET_TILING, tegra_gem_set_tiling, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GEM_GET_TILING, tegra_gem_get_tiling, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GEM_SET_FLAGS, tegra_gem_set_flags, 0), - DRM_IOCTL_DEF_DRV(TEGRA_GEM_GET_FLAGS, tegra_gem_get_flags, 0), + DRM_IOCTL_DEF_DRV(TEGRA_GEM_CREATE, tegra_gem_create, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GEM_MMAP, tegra_gem_mmap, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_SYNCPT_READ, tegra_syncpt_read, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_SYNCPT_INCR, tegra_syncpt_incr, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_SYNCPT_WAIT, tegra_syncpt_wait, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_OPEN_CHANNEL, tegra_open_channel, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_CLOSE_CHANNEL, tegra_close_channel, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GET_SYNCPT, tegra_get_syncpt, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_SUBMIT, tegra_submit, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GET_SYNCPT_BASE, tegra_get_syncpt_base, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GEM_SET_TILING, tegra_gem_set_tiling, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GEM_GET_TILING, tegra_gem_get_tiling, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GEM_SET_FLAGS, tegra_gem_set_flags, + DRM_UNLOCKED | DRM_RENDER_ALLOW), + DRM_IOCTL_DEF_DRV(TEGRA_GEM_GET_FLAGS, tegra_gem_get_flags, + DRM_UNLOCKED | DRM_RENDER_ALLOW), #endif }; @@ -1093,7 +1107,7 @@ static int tegra_debugfs_init(struct drm_minor *minor) static struct drm_driver tegra_drm_driver = { .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME | - DRIVER_ATOMIC, + DRIVER_ATOMIC | DRIVER_RENDER, .load = tegra_drm_load, .unload = tegra_drm_unload, .open = tegra_drm_open,