Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3226925ybi; Mon, 17 Jun 2019 19:43:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqxx5EkeF+/nyZ6xTzlgH7WZoBab6ZGPdHNyGEBWg606FF7r13u1GQq9sxyH8Ly7rERusmcU X-Received: by 2002:a65:40cb:: with SMTP id u11mr468704pgp.333.1560825783449; Mon, 17 Jun 2019 19:43:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560825783; cv=none; d=google.com; s=arc-20160816; b=wHmy83qob0X2d4XxqdKqbhOW6YbqfkoxZvvq2vLKUqtsk1BUFuR45s+VLATPENCMFt M89O9AMZX0ugDSyp+8SjkBLz4C8neuoSnqWw0UjTGaP5JUgk+jOHUonf7+e8syBZVR+s YA9W3kul3ffgEiyN4B1ZxnZ//lbZTYBaKpVCz9EIh+xIybmxa5T9BWpsfRK48HBSxERN 74Qh6ykIx2lj+sIKvHUSiwUk31aWEgJCAQ99CjTRYiIClJh4RxSUkNxwzCljAjk+sRuJ RI2AlSO8iTLKIrEOgo9l0kEk7ebcZR6GTIgMf2GoZxfb95kepzILadthd6kiWURC2P9N Y+Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:content-disposition :mime-version:message-id:subject:cc:to:from:date:dkim-signature; bh=IVz6BAknW6t/cZoUe0OsXuR9J6By+25KR1QWnphRfwQ=; b=rLtGnmVMVb5vjigexroMZJPQ+Te94H3QGPc/w41XX+uhvFPNG4OgZt0dCBkEL0K/To vq7t74TeQwfPus3XNrLkubVb+iC15zfAv7dIR5+PiLeamYx1R0gU83d36RAExzlFn3N0 nfUFlzuS05iLn/gMET836/vgkebyS3l4A0sfxx91LkO5oPNtA7J/OyN0yVPwPk+PBpES i0Lm4Or7UcWQfCpQkCfOZE5kMrWDmK1qhZsbUkU/mFglrI3KQl5kuxU6wmnGOlSRvNwi ouMybOKcuNcLmpHzNkQ3SB0w0Midt+bz8WIFoWkKFEQqvgmyHymkYgAepjAb5gYWzi/n tHlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="uyNS/Ggo"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q8si11321860pll.205.2019.06.17.19.42.48; Mon, 17 Jun 2019 19:43:03 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b="uyNS/Ggo"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728024AbfFRCmC (ORCPT + 99 others); Mon, 17 Jun 2019 22:42:02 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:34715 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726331AbfFRCmB (ORCPT ); Mon, 17 Jun 2019 22:42:01 -0400 Received: by mail-qt1-f196.google.com with SMTP id m29so13498036qtu.1 for ; Mon, 17 Jun 2019 19:42:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :user-agent; bh=IVz6BAknW6t/cZoUe0OsXuR9J6By+25KR1QWnphRfwQ=; b=uyNS/GgoiPmcE5pagyeBrTmsGE9qnYmNPJTsBX8mwc/tslW/kqrSuhBYGFUSP776cf 7RcDrg+2k+HBRegVEYZg9OEcra+jV5ZBehCwxdonN5aKo+n5Rw8ygsCRkFLQDbsJXncZ h9hcfuP0L/BQVpvAN8bYNyj9AcpsDpI3jrVjdb9lbJdI+OYCzSqm8FQIAyNKHEU5v2qT 59rJVJKWtZO0CubKK0FgtYUR1iBN/rCLZgU9DVvH1709zbnf/fKH9l7+jd2v3M04REqW DF8X0emOJktfBVF6ui9grAPjVfcHhrfHAzJn10KGAAAQ8jRWHid8ONlGrl3UWN9T4XMe r3jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=IVz6BAknW6t/cZoUe0OsXuR9J6By+25KR1QWnphRfwQ=; b=aRJGYQFFQRCLrq3ZJr1YcoRkOZnTZksqOzRMTFMAQcfopuDTMKRsDaRiO1G+Mhzz8U QFdVJXAJ6CwDhZe+IWJ9nOM6mmJDc1bMqGkutfrRjScq7WfW9gPoxoCDZWtDquHdlLar A1Rf9U4C1iDtJ9ZaEKU1PKxLsCUXq01w2tBF5L3knOlZYCIhtDYmkyJ6RiWam8QXq0Dz 1lG5zmyVIBdoVS4lI0iwmKnZ3yBVLytpbMlV3TopzY2do/8i4dPJ+a8TJs3f0YQBypsB uP2eA5rP1U7PnVvGE8Glkvdr1wKDjWzzQKJKnF0omJx+nTWfOJAbCMhJzVVpEXzpm9yf IbAA== X-Gm-Message-State: APjAAAWrD8siesUzwomF6W+tgsuO3TeaJgqR+qR2Wk2/XRJF5SqpB0uG O3bbVnrqVUf6HA/cwqNnIS4= X-Received: by 2002:ac8:3345:: with SMTP id u5mr99447735qta.219.1560825720545; Mon, 17 Jun 2019 19:42:00 -0700 (PDT) Received: from smtp.gmail.com ([187.121.151.146]) by smtp.gmail.com with ESMTPSA id j184sm7209111qkc.65.2019.06.17.19.41.57 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 17 Jun 2019 19:42:00 -0700 (PDT) Date: Mon, 17 Jun 2019 23:41:55 -0300 From: Rodrigo Siqueira To: Brian Starkey , Liviu Dudau , Daniel Vetter , Haneen Mohammed , Simon Ser Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH V2 0/5] drm/vkms: Introduces writeback support Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset introduces the writeback support to vkms. As a pre-work, the first set of patches separates part of the code inside vkms_crc to a new file named vkms_composer; this change allows that other parts of the vkms take advantage of composing functions. Next, there's a patch that enables the virtual encoder to be compatible with the crtc when we have multiple encoders. The final patch adds the required implementation to enable writeback in the vkms. With this patchset, vkms can successfully pass all the kms_writeback tests from IGT. Note: This patchset depends on Daniel's rework of CRC, see it at https://patchwork.freedesktop.org/series/61737/ Rodrigo Siqueira (5): drm/vkms: Move functions from vkms_crc to vkms_composer drm/vkms: Rename crc_enabled to composer_enabled drm/vkms: Rename vkms_crc_data to vkms_data drm/vkms: Use index instead of 0 in possible crtc drm/vkms: Add support for writeback drivers/gpu/drm/vkms/Makefile | 10 +- drivers/gpu/drm/vkms/vkms_composer.c | 69 +++++++++++ drivers/gpu/drm/vkms/vkms_composer.h | 12 ++ drivers/gpu/drm/vkms/vkms_crc.c | 81 ++----------- drivers/gpu/drm/vkms/vkms_crtc.c | 2 +- drivers/gpu/drm/vkms/vkms_drv.c | 9 +- drivers/gpu/drm/vkms/vkms_drv.h | 18 ++- drivers/gpu/drm/vkms/vkms_output.c | 12 +- drivers/gpu/drm/vkms/vkms_plane.c | 40 +++---- drivers/gpu/drm/vkms/vkms_writeback.c | 166 ++++++++++++++++++++++++++ 10 files changed, 315 insertions(+), 104 deletions(-) create mode 100644 drivers/gpu/drm/vkms/vkms_composer.c create mode 100644 drivers/gpu/drm/vkms/vkms_composer.h create mode 100644 drivers/gpu/drm/vkms/vkms_writeback.c -- 2.21.0