Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp318741pxb; Thu, 23 Sep 2021 00:09:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwzvTEss0Lb3bO26eWaEGIy7uUyvZyGzUUJROo10lteYvvC6sW5Z9R/l0p5vs+NEBvEZA9Z X-Received: by 2002:a50:eac4:: with SMTP id u4mr3688177edp.259.1632380961836; Thu, 23 Sep 2021 00:09:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632380961; cv=none; d=google.com; s=arc-20160816; b=m2vpelpVjDtPtC8auzo0HPDp3omZ8XAhbaYoefSqaMrXDBmg/sHT1AY+gMuK2GqjgP MD6QgDpkqpqAZtlSNJKbHfE6cq1qCt8vdkGga00Afch5gXonNxm3Qy/Wc80gEfNaQ4eL 39iEqhx+LQiv4BRfwl+qgi205eWCCwoG2i8Iv6Gd/ftJlIClswvMinfRqNtlJSrK1Fv7 cKbM8NC/JVjBNe2Y2Hu9a5zRnpZzFUn3w6Ll3It107qDlThPeijT2L7qyR6wHeYqRBkT 0x15cpaPrjx6Ump16tIOrM2EX2TzLaqaiEbQmssWAj7Bs73toY7PD1D7Qt14DYW0jtDm Ph+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=5GWAsl4l64TQBtsmcfug9p1yGttFyM9Ke67LZF01xVU=; b=njVWLGLEmhl129g6fWNMTZWZhUiqDUd5/F3TGhBIsZPwIUC7auShRLE8FQ/fmWrJBr xP2RtZJj/Tzr7XLx0hEqUd27O13BS8Swco3hPTBLQtGgrRR/UlcC0HgLxpaE2kEx0hA3 qN+rwsp53FHkZ+ls/90+4mXt0xzhqz2Usw4KA12lgn7S3i7Yg9RT6obttLYq4sk6aERz tnKhxKlseP4oKh59uXyLJmEKeiUpkDz64K6J5mwjB72HWdTRYBa4JNYmC4xccmdCN+2g j95bg9nXF+5LMghel49ild7yxWHxWBAlHw4oJ1kDeRC+NTMogJXAUeCyFJgOXuaettF4 Jfdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20210112.gappssmtp.com header.s=20210112 header.b=d9BuzkQ4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 17si5222106ejx.425.2021.09.23.00.08.54; Thu, 23 Sep 2021 00:09:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20210112.gappssmtp.com header.s=20210112 header.b=d9BuzkQ4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239559AbhIWHIj (ORCPT + 99 others); Thu, 23 Sep 2021 03:08:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57978 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239380AbhIWHIg (ORCPT ); Thu, 23 Sep 2021 03:08:36 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CE21C061574 for ; Thu, 23 Sep 2021 00:07:05 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id u18so14194591wrg.5 for ; Thu, 23 Sep 2021 00:07:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5GWAsl4l64TQBtsmcfug9p1yGttFyM9Ke67LZF01xVU=; b=d9BuzkQ4r4tP5eRWDOMRiIPSIfhlfsoyCCF+cNGUvGn07I1BwTOcpGUCMrCVzi/TEW eludHV8OstE6OBnKI4OyMUuhifZDSLAvY465HQBx38ydDMB1y1+JBn9+xqqvowRE8qN/ 7Rgss8Pts8eUU6DuMYkj6ZSFRND3sDk21e9ppIu7Eo3gQ57XfSdyPQip2/Us8qrQInEV NGVzPYy4OyyNzLm2CBtpZE7vSVGo4XleSk7sBiCtsCzC70jBPoFO1ThEDBQfkADjdO/+ /FODRtwF3tMr1PxxskKxcZW9cV6MrYW8nKaW2WY17DtzDrwa9JiJ1XB+g+Fg1GA/fT8w 0wEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5GWAsl4l64TQBtsmcfug9p1yGttFyM9Ke67LZF01xVU=; b=LIhUwpQ9XdPaFscW5q6dODV9RHrRsWu2yMtsG0XgnJYToAQOl404uksewmeBdnZzvI /ip02DJAYuSvMUUlg9xUp3mdKsfhkqGClRc/lVQ/JilvwpEbr8YBd8JAuvz2li11mtqx GgFSPp46cXhnNsllvJZRC6aNunVuaTPLYdguWZGUbpyuv5+Brq0DA7cxMN34eaZkSm/9 8qJee+XJbNS1HCfyUpFuMZUtP3uI8K6MtATg3lBxad926EQeKNr/p6c1TFRs/PNHJChn t5pfybStrc4pJpjbeIy1cL4vQ2MSSXErtUP9Q21u5WUWrY14gYGf52DaYJFcikNdo8Ey SbHw== X-Gm-Message-State: AOAM533D8R4+e2qEvQI/5+yT/L3d99PJF7mgxsT9fvneOTvA4uTUhuig LnDFcKHRBSLJPDUsZgKCyiGfp//NgBlQnBiE X-Received: by 2002:adf:ec4b:: with SMTP id w11mr3091248wrn.389.1632380823641; Thu, 23 Sep 2021 00:07:03 -0700 (PDT) Received: from localhost.localdomain ([2001:861:44c0:66c0:74cf:b054:76f4:7692]) by smtp.gmail.com with ESMTPSA id d2sm4380357wrc.32.2021.09.23.00.07.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Sep 2021 00:07:03 -0700 (PDT) From: Neil Armstrong To: tomba@kernel.org Cc: linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, khilman@baylibre.com, Neil Armstrong Subject: [PATCH v5 0/8] drm/omap: Add virtual-planes support Date: Thu, 23 Sep 2021 09:06:53 +0200 Message-Id: <20210923070701.145377-1-narmstrong@baylibre.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2183; h=from:subject; bh=yOy5rWZ5ENlqECjbFwkSYwKDX6hpYWcemiBYkbWEeNs=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBhTCceglpcB1dj9PYGpYa5ZkCO0lTrijPyuaDPsRyi x8nXJ6iJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCYUwnHgAKCRB33NvayMhJ0W26D/ 42qZZtIUkKfXE+zeZeenqKivzrk/RLby68iBMhBX+Uth+xSa9ZmVyrn6dDEIEIPQnh/Hd+UjyU/1Hv XoBm2eatKhFoKW72clHIuNuocTEXGqTW6B42PQyENIwYD3TMxhDi+FM/mAe85U9v0S9eBITQMiEm8K 0U1q76x06HrR09+i0sEmBtsDVhYe7lvAdOoDFerkToRbHpf8KT6r3aaxZ/CCNBm75VhpNipSBbCo4J ikYm/woKxBlcjxDqwjd93mmlwnY7ug4dbJosf4JqTurmWzgyPMe3zKs6u8uAVTENn2inKLDdYAeU90 mjmZf7OAzxXnLV2Bjz8pmcjDdk5qYirz4YjncdarFbjU1GAdLdNbMXVJJQVlYYP4LLU9t+FYRNDTZ9 vyEVtt3KLK1JIR4LakD5LpEjx1vtU79pXjK0giIRxewOK4d4McH5l+BahcfbQpDrWLJVUd+w+Bqoys 7+Rh+tzTHTEgOlrE5X+cTlhos63WcGXR6Op3PoNHRYg9LUuOeVMYN1mBTnnnWMUf/hIRgtzvLerMgM P/hiKmJEG9iKPdmDYxhKp5fTQONdM1obR8QaPKZnWQ98vE3QNxPAn2/kF0U6ns3H/su2P20cncPB18 /hehqOaHi29JbDFWZU24zyXMpyQRfPNpCiHIi3TTh+UomFFxBlM9vvhMnp7Q== X-Developer-Key: i=narmstrong@baylibre.com; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset is the follow-up the v4 patchset from Benoit Parrot at [1]. This patch series adds virtual-plane support to omapdrm driver to allow the use of display wider than 2048 pixels. In order to do so we introduce the concept of hw_overlay which can then be dynamically allocated to a plane. When the requested output width exceed what be supported by one overlay a second is then allocated if possible to handle display wider then 2048. This series replaces an earlier series which was DT based and using statically allocated resources. This implementation is inspired from the work done in msm/disp/mdp5 driver. Changes since v4 at [1]: - rebased on v5.15-rc2 - adapted to drm_atomic_get_new/old_plane_state() - tested on Beagle-x15 - checked for non-regression on Beagle-x15 - removed unused "state" variable in omap_global_state [1] https://lore.kernel.org/all/20181012201703.29065-1-bparrot@ti.com/ Benoit Parrot (8): drm/omap: Add ability to check if requested plane modes can be supported drm/omap: Add ovl checking funcs to dispc_ops drm/omap: introduce omap_hw_overlay drm/omap: omap_plane: subclass drm_plane_state drm/omap: Add global state as a private atomic object drm/omap: dynamically assign hw overlays to planes drm/omap: add plane_atomic_print_state support drm/omap: Add a 'right overlay' to plane state drivers/gpu/drm/omapdrm/Makefile | 1 + drivers/gpu/drm/omapdrm/dss/dispc.c | 31 +- drivers/gpu/drm/omapdrm/dss/dss.h | 5 + drivers/gpu/drm/omapdrm/omap_drv.c | 189 ++++++++++++- drivers/gpu/drm/omapdrm/omap_drv.h | 28 ++ drivers/gpu/drm/omapdrm/omap_fb.c | 33 ++- drivers/gpu/drm/omapdrm/omap_fb.h | 4 +- drivers/gpu/drm/omapdrm/omap_overlay.c | 254 +++++++++++++++++ drivers/gpu/drm/omapdrm/omap_overlay.h | 41 +++ drivers/gpu/drm/omapdrm/omap_plane.c | 375 +++++++++++++++++++++---- drivers/gpu/drm/omapdrm/omap_plane.h | 1 + 11 files changed, 903 insertions(+), 59 deletions(-) create mode 100644 drivers/gpu/drm/omapdrm/omap_overlay.c create mode 100644 drivers/gpu/drm/omapdrm/omap_overlay.h -- 2.25.1