Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1185395imm; Fri, 12 Oct 2018 13:19:10 -0700 (PDT) X-Google-Smtp-Source: ACcGV63SYmGK0Z8+CGkXHAoL3kulrh6ogpP8EyRbZGmUP+ONJrvMtFzyVzIokq2r7RskbsiKJ4eY X-Received: by 2002:a65:4783:: with SMTP id e3-v6mr6709479pgs.12.1539375550483; Fri, 12 Oct 2018 13:19:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539375550; cv=none; d=google.com; s=arc-20160816; b=fSWdOTYanLJe4H0SadZoSFEjqGo+/8vaOA2BO0xnMKuCStG2lXKPcYmLom5i/Nv7ox TBnQfymKcg0N1gEYGOAGB5XWznvpfYJGPSKCvGISwyhQGwJLBzV9VYR2Mel0tFwvho9v uBg9PXY1JIMXEfxNDsl6k/xx+4mYZlftW6i4AioCNJd1xeNdrfheBUKAxDTQ8ExQ6unZ cqITWhG+J5rckyJ5uDUpCoYUYloM9udec4AM3MLIEu0RQy3UDVdgtzF3FhCUnh8t4CvH Vs9ND7DaXTyUyp/kRDVbMHXCTFcdtbWhVPvtG0mPCivJKX6bdpIvJh800dHCEJ+Ejwii e/hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=zuqDsbgF2rZY4WRbC1kdpxRU0rI1JyqX+nNL6qHtr3E=; b=THtNHINT/VG4F+aQZ48cDxFkIIVAw4rNd1aEQS24ZVtTrJyP8ougPGB70aw3Dod0XT jgaFOlUxFvM4mjmaBX3ClciQAUSppLMviYQ2CTkVy44ySsb0cBzhjI0eTI9sdWuza66H OhzqzYDjYY4oJSlHl3DoRt58Q7zSu4diLsyrXnWVX2UsTn007gf0BqXOlvlUW/7eNYrX QVL8pKhCoGfl9sGCNW2ZA7JozqVKsAc3VQX9Mgz8UejkFWzhJU1FPMwH5OP8hKrbJF9f jZ4r8vzrUU728BDMAx3uBzUU80/uK32bnje+HeXTH2urf7IUTVcslUKS6mAZ7IsSegGQ p7mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=afUFvTb5; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m17-v6si2289644pfe.187.2018.10.12.13.18.55; Fri, 12 Oct 2018 13:19:10 -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=@ti.com header.s=ti-com-17Q1 header.b=afUFvTb5; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727051AbeJMDvZ (ORCPT + 99 others); Fri, 12 Oct 2018 23:51:25 -0400 Received: from lelv0142.ext.ti.com ([198.47.23.249]:56574 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726697AbeJMDvZ (ORCPT ); Fri, 12 Oct 2018 23:51:25 -0400 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id w9CKHBL0031493; Fri, 12 Oct 2018 15:17:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1539375431; bh=zuqDsbgF2rZY4WRbC1kdpxRU0rI1JyqX+nNL6qHtr3E=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=afUFvTb5p0Gsx+2nafNJQSz6aA+Cw0xkrP7Wk2ejl3ARfc0gDS5E6bici8oWvF8PR gyOYDKFMeb3YvP9mRd2aAMvUhO/mgFsy9v02lRSdFhyR3ry9TXdMt9onGps3oyox5x t12AfTekk3P+OVNwgoslHUG9tkUj6ryVHyoq8bqI= Received: from DFLE107.ent.ti.com (dfle107.ent.ti.com [10.64.6.28]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id w9CKHBRP030172; Fri, 12 Oct 2018 15:17:11 -0500 Received: from DFLE111.ent.ti.com (10.64.6.32) by DFLE107.ent.ti.com (10.64.6.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Fri, 12 Oct 2018 15:17:11 -0500 Received: from dflp33.itg.ti.com (10.64.6.16) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1466.3 via Frontend Transport; Fri, 12 Oct 2018 15:17:11 -0500 Received: from uda0869644a.dhcp.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id w9CKH7EW000402; Fri, 12 Oct 2018 15:17:11 -0500 From: Benoit Parrot To: , , Laurent Pinchart , Daniel Vetter CC: Tomi Valkeinen , Peter Ujfalusi , Jyri Sarha , Benoit Parrot Subject: [Patch v4 2/8] drm/omap: Add ovl checking funcs to dispc_ops Date: Fri, 12 Oct 2018 15:16:57 -0500 Message-ID: <20181012201703.29065-3-bparrot@ti.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20181012201703.29065-1-bparrot@ti.com> References: <20181012201703.29065-1-bparrot@ti.com> MIME-Version: 1.0 Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to be able to dynamically assign overlays to planes we need to be able to asses the overlay capabilities. Add a helper function to be able to retrieve the supported capabilities of an overlay. And export the function to check if a fourcc is supported on a given overlay. Signed-off-by: Benoit Parrot --- drivers/gpu/drm/omapdrm/dss/dispc.c | 8 ++++++++ drivers/gpu/drm/omapdrm/dss/omapdss.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c index 70c3e3353947..ea8b57003620 100644 --- a/drivers/gpu/drm/omapdrm/dss/dispc.c +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c @@ -2499,6 +2499,12 @@ static int dispc_ovl_calc_scaling_44xx(struct dispc_device *dispc, return 0; } +static enum omap_overlay_caps dispc_ovl_get_caps(struct dispc_device *dispc, + enum omap_plane_id plane) +{ + return dispc->feat->overlay_caps[plane]; +} + #define DIV_FRAC(dividend, divisor) \ ((dividend) * 100 / (divisor) - ((dividend) / (divisor) * 100)) @@ -4757,6 +4763,8 @@ static const struct dispc_ops dispc_ops = { .ovl_enable = dispc_ovl_enable, .ovl_setup = dispc_ovl_setup, .ovl_get_color_modes = dispc_ovl_get_color_modes, + .ovl_color_mode_supported = dispc_ovl_color_mode_supported, + .ovl_get_caps = dispc_ovl_get_caps, .ovl_get_max_size = dispc_ovl_get_max_size, .wb_get_framedone_irq = dispc_wb_get_framedone_irq, diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 45334d5c618e..b5640e8479dc 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h @@ -632,6 +632,10 @@ struct dispc_ops { const u32 *(*ovl_get_color_modes)(struct dispc_device *dispc, enum omap_plane_id plane); + bool (*ovl_color_mode_supported)(struct dispc_device *dispc, + enum omap_plane_id plane, u32 fourcc); + enum omap_overlay_caps (*ovl_get_caps)(struct dispc_device *dispc, + enum omap_plane_id plane); void (*ovl_get_max_size)(struct dispc_device *dispc, u16 *width, u16 *height); -- 2.9.0