From patchwork Tue Jun 12 13:52:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liviu Dudau X-Patchwork-Id: 138346 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp5384308lji; Tue, 12 Jun 2018 06:52:56 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIy5E//X7gP7jGaiGhFUi5IfGypMbrNAOLeDCUxYKPfhpFKv2o9/9PA4AjPau+SDsSIwX4V X-Received: by 2002:a17:902:7202:: with SMTP id ba2-v6mr515547plb.119.1528811576261; Tue, 12 Jun 2018 06:52:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528811576; cv=none; d=google.com; s=arc-20160816; b=fh2fBjPOvO12onvh7D0Rf02r5EA29z3aw58eP5UX4rn3gzz0RNp6PJ75Zg5U+0//pS g/K+DntOs1jW9BDGKMOknXmHVedwW5bVxorOqjhLxq4R5zz+HFc+rjA7LQglRwzwukk9 DR4tWwcYy5qwHlAefxgynsJwK46mtMYODXIKncPdX41K8cToTscwR51r2wqtgWJ13ctC f5FFUDoZHVdoRwbDJkX8j/f5K7zR+uaQtE0rB6Uziv2CPeeJld8Qp2PrGfMuEHcphEF0 Sy900pvXMegv1TAYC5LlEOGQ2nHw/ZRP5dRmbLCFMOyN+DjOo5Pl580I1XHJcHSAaZ6w rCjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=+OlBfG4IxdaQJI0ML9PM/YuUAHAO5H8XXan9R/7NFoE=; b=YjtAbiiCIhucAVWV+HO3WAjsnbNbx++EkQAxlwJFuTI5/LyLRdAlFnq5/x4dl25vPE 749Ja0NMAsE9+/oV+3o84/qW+twszlELhYwsz51lQ5j8ZDqO6h9R6UFUK7ThP9ieoWOC wr5Yg2ZsCYoQux/aKgbSn0aLNYCpCKAMHbI9Y/YLqmp7+9/dXfq3YaopZyKoT2d9dZQY XA2y5x+c5RU6DOM9xhlqNXqEIIJXTe1gr5GliA8/ydZeILr/1QwkPB+5ddGKiKgHWgZU 6QIdb9dBPv5khiutnalmwYtqaI9e26VyWoPWBHxi7X4jXYumFh6LkVUtOaNijJHmLIth zRHQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e12-v6si158268pgt.243.2018.06.12.06.52.55; Tue, 12 Jun 2018 06:52:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933753AbeFLNwy (ORCPT + 30 others); Tue, 12 Jun 2018 09:52:54 -0400 Received: from fw-tnat.cambridge.arm.com ([217.140.96.140]:54046 "EHLO cam-smtp0.cambridge.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933203AbeFLNww (ORCPT ); Tue, 12 Jun 2018 09:52:52 -0400 Received: from e110455-lin.cambridge.arm.com (e110455-lin.cambridge.arm.com [10.2.131.61]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w5CDqX1l016479; Tue, 12 Jun 2018 14:52:33 +0100 From: Liviu Dudau To: Gustavo Padovan Cc: Maarten Lankhorst , Sean Paul , Jonathan Corbet , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, David Airlie , Brian Starkey , Alexandru-Cosmin Gheorghe , Eric Anholt , Boris Brezillon , Maxime Ripard , Daniel Stone , Rob Clark Subject: [PATCH v10 0/3] drm: Introduce writeback connectors Date: Tue, 12 Jun 2018 14:52:30 +0100 Message-Id: <20180612135233.18575-1-Liviu.Dudau@arm.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This is v10 of the writeback connector series. Compared to v9 I've reverted to the v6 way of cleaning up the writeback job in the cleanup_work() function, where we also drop the reference to the job's framebuffer. I was trying to come up with a reference counted implementation for the job, but Sean Paul pointed out to Brian that it seems to be safe to free work_struct structures in the workqueue callback, so we are going back to the original implementation. While doing that, I've also updated the patcheset to use the latest drm_framebuffer_{put,get,assign} functions for managing the framebuffer reference that the wriback job holds. I will ask Gustavo to pull this series into drm-misc if there are no further comments. Best regards, Liviu 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 | 223 ++++++++++++++- drivers/gpu/drm/drm_atomic_helper.c | 25 ++ drivers/gpu/drm/drm_connector.c | 4 +- drivers/gpu/drm/drm_ioctl.c | 7 + drivers/gpu/drm/drm_mode_config.c | 5 + drivers/gpu/drm/drm_writeback.c | 350 +++++++++++++++++++++++ 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 | 130 +++++++++ include/uapi/drm/drm.h | 9 + include/uapi/drm/drm_mode.h | 1 + 16 files changed, 819 insertions(+), 11 deletions(-) create mode 100644 drivers/gpu/drm/drm_writeback.c create mode 100644 include/drm/drm_writeback.h -- 2.17.1