From patchwork Wed Feb 28 16:50:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liviu Dudau X-Patchwork-Id: 130013 Delivered-To: patch@linaro.org Received: by 10.80.172.228 with SMTP id x91csp1754550edc; Wed, 28 Feb 2018 08:51:15 -0800 (PST) X-Google-Smtp-Source: AH8x2262rpnTZp9SKQLRh5QJZhgBAHF+s3G3ZfYx4gftwZZ7XCSwAmaUO4lB+0H01cZCr1x/wf6s X-Received: by 10.98.160.90 with SMTP id r87mr18135430pfe.151.1519836675050; Wed, 28 Feb 2018 08:51:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519836675; cv=none; d=google.com; s=arc-20160816; b=mUnx4trcoKanQXVg9rDfFY7JgDYGs6bexxlJ1mEpmuOH2C1NuHlvfoDS2Zf477dyHF FNzvR+pOc/Ivw2L4Xj0D/JbCX+1O4nDVKKMJVDrDvqZffPWx1Cxf1P7M/jRJe4pU6phJ Ha6lXUmdqpUy3r8XFx20Z8sjKSKX9FGzpRjfR+R7yfUw6vL3/IeLRJ9LmAFJqCU4zf/W 42UY9pztjd3us/ZxqI9Xf3AlnMa++FlwG3Ysvimj9C0Cu9nNdU9xcsK98tzaoLsWcHeR iI0O1KbmbyLvMkSav9i8RO2+3I2g13kGaO89eqIfJ7F+GPskIE7VCMd2DlimPC7nERZZ hMZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:message-id:date:subject:to:from:delivered-to :arc-authentication-results; bh=obf1mRx/Z47HXDSiYdXBJWXkSwLhyU/Rq7Z1+rELnmw=; b=qGs5eLE1Opjgl5c+HvR5y3Z/wMoZRM+guVzvrUQLjM7h/htQQQedqU15oxAEGYPGxy OF/0y54IbWB9EGABJg0kOJYxuIseEfxFjVdNJuelB/nS9IwfjWjWIwreDajDJOwz1fF8 mY1ye9tW1sTe5Z1YPatVLbZk0k5dKG5DYGWsSDqMnfJgukfZ9Bn+yCEcLh4soQhI7/vT blroU9DBqilMjoHO4WBYOC8+AfRuiJaeWZhRfwjHevM6VXK6EQ9OES+feH4TNry7WgzQ pjQ5wICN1dfLfYt42EZzKB8LmaTURXqrp0RCVCWkY6EUyxm5wZqQJQJeK688w89t4qgR 5twQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Return-Path: Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTPS id k9si1245402pgc.628.2018.02.28.08.51.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Feb 2018 08:51:15 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 116C16EAD0; Wed, 28 Feb 2018 16:51:11 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0DBB86EAD0 for ; Wed, 28 Feb 2018 16:51:07 +0000 (UTC) Received: from e110455-lin.cambridge.arm.com (e110455-lin.cambridge.arm.com [10.2.131.15]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w1SGovZC010975; Wed, 28 Feb 2018 16:50:57 GMT From: Liviu Dudau To: DRI-devel Subject: [PATCH v6 0/3] drm: Introduce writeback connectors Date: Wed, 28 Feb 2018 16:50:54 +0000 Message-Id: <20180228165057.26856-1-Liviu.Dudau@arm.com> X-Mailer: git-send-email 2.16.2 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: David Airlie , Daniel Vetter , LKML , Boris Brezillon , Mali DP Maintainers MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi, This is v6 of the writeback connector series. Based on renewed interest in the feature and recent efforts from Rob Clark I'm refreshing the series to address some comments and feedback. Main changes are to incorporate Rob Clark's atomic_commit() vfunc for the connector helper funcs, change the signature of the create_writeback_properties() function to return the error code rather than a boolean false and making sure that the writeback job doesn't get freed in the cleanup_work() function but when the connector state gets discarded. Additionally, based on Sean Paul's comments, I'm providing the 3rd patch in the series that adds a client cap for exposing the writeback connectors to userspace. The idea was initially considered unnecessary by Daniel Vetter here [1] but Sean thinks it is useful. Note that the patch depends on the cleanup patch [2] sent earlier. Comments are welcome on the suitability of this series. Best regards, Liviu [1] https://lists.freedesktop.org/archives/dri-devel/2016-October/120519.html [2] https://lists.freedesktop.org/archives/dri-devel/2018-February/167677.html Brian Starkey (2): drm: Add writeback connector type drm: writeback: Add out-fences for writeback connectors Liviu Dudau (1): drm: writeback: Add client capability for exposing writeback connectors Documentation/gpu/drm-kms.rst | 9 + drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/drm_atomic.c | 227 ++++++++++++++++++- drivers/gpu/drm/drm_atomic_helper.c | 30 +++ drivers/gpu/drm/drm_connector.c | 4 +- drivers/gpu/drm/drm_ioctl.c | 5 + drivers/gpu/drm/drm_mode_config.c | 5 + drivers/gpu/drm/drm_writeback.c | 360 +++++++++++++++++++++++++++++++ include/drm/drm_atomic.h | 11 + include/drm/drm_connector.h | 13 ++ include/drm/drm_file.h | 7 + include/drm/drm_mode_config.h | 23 ++ include/drm/drm_modeset_helper_vtables.h | 11 + include/drm/drm_writeback.h | 129 +++++++++++ include/uapi/drm/drm.h | 9 + include/uapi/drm/drm_mode.h | 1 + 16 files changed, 835 insertions(+), 11 deletions(-) create mode 100644 drivers/gpu/drm/drm_writeback.c create mode 100644 include/drm/drm_writeback.h