From patchwork Thu Nov 5 13:56:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 319533 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4D187C55179 for ; Thu, 5 Nov 2020 13:57:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CB8CA2078E for ; Thu, 5 Nov 2020 13:57:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730775AbgKEN5E (ORCPT ); Thu, 5 Nov 2020 08:57:04 -0500 Received: from new3-smtp.messagingengine.com ([66.111.4.229]:57121 "EHLO new3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726067AbgKEN5E (ORCPT ); Thu, 5 Nov 2020 08:57:04 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailnew.nyi.internal (Postfix) with ESMTP id 8C8AC58034B; Thu, 5 Nov 2020 08:57:00 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Thu, 05 Nov 2020 08:57:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h= from:to:cc:subject:date:message-id:content-type:mime-version :content-transfer-encoding; s=fm1; bh=/SUue8If/RDXoikA8wmeLjgste Ds4PEf/i891dT0R/c=; b=vQlB0JudV+keM3oRXB26O3sX44vPzM/JU70TGVs2GK WmDxJ665BZO2yY/illL8KgDILz4GjTRP8NiSShlF1ua1hTXL1UV16c9s0KFnJbJn JymybJcHH6nJ/qBRclMTeh3V0sWid0RW2Ri3EUhLXmYc/ZJ63+a6a5LBclYOnwsw LAb2E53jbuWJ9bjzHG0/3NcIn/mlnHtt5ZE3q2DwagE4xAG+WQijfp5STg1/Gixl Gph2o3OlEEyajy3vDEi+ZNLNxHwu/c+aIV0xbMRmbHhPRyQA8O+GysZACgX27jvh diSpsWkhzQkI6ItXUdz6ykou2y3yKdZZIHeqWGeh3SGQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=/SUue8 If/RDXoikA8wmeLjgsteDs4PEf/i891dT0R/c=; b=KT+K6Y5RthbYOgUM4SC+SF otWeM+YLBTTws4GM322vng6rKhnBFjHfzQo7J7cpoGAHpDGDJJ1BF8r4Ofq/Xt1c wjir1TiIKJDYl3MRjPCckxwBI9dGDVuxcQoZBu6LyXtINYJhllaTubRM+XXHWw/1 pWmo0uKW0IPt+pbMH/M0o+a70Sj/MqNzCnyUSOiPdeYPWUVsoTBxrJyS8YLehkP+ w5hZWsv45jCSh3w3Zji6MHxr/a/Q4MTE0f8HiJ6eP7vXAqAslsVd37fLn/61j+KO KoMKjit/u7f6oxvFIRgTf9VSG+VpBvw7D98NZUHET5EUHZG9KFejns+iAEtbOpBA == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedruddtjedgheelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffotggggfesthhqredtredtjeenucfhrhhomhepofgrgihimhgv ucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrghtth gvrhhnpeetieekgfffkeegkeeltdehudetteejgfekueevhffhteegudfgkedtueegfffg feenucfkphepledtrdekledrieekrdejieenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Received: from localhost (lfbn-tou-1-1502-76.w90-89.abo.wanadoo.fr [90.89.68.76]) by mail.messagingengine.com (Postfix) with ESMTPA id 76EFB3280261; Thu, 5 Nov 2020 08:56:58 -0500 (EST) From: Maxime Ripard To: Eric Anholt , Maarten Lankhorst , Thomas Zimmermann , Maxime Ripard , Daniel Vetter , David Airlie , Mark Rutland , Rob Herring , Frank Rowand Cc: Hoegeun Kwon , Dave Stevenson , Phil Elwell , linux-rpi-kernel@lists.infradead.org, Tim Gover , bcm-kernel-feedback-list@broadcom.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org Subject: [PATCH v3 0/7] drm/vc4: Rework the HVS muxing code Date: Thu, 5 Nov 2020 14:56:49 +0100 Message-Id: <20201105135656.383350-1-maxime@cerno.tech> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi, Here's a second attempt at fixing the current issues we have with the muxing code that results in a PV muxing its HVS muxing when only another CRTC is modified by a state, or vblank timeouts when trying to wait for a vblank on a single CRTC while another one is inactive but enabled. Let me know what you think, Maxime Changes from v1: - Dropped the code trying to access all the CRTCs (whether in the state or not) state - Added Hoegeun Kwon's tags - Fixed a build bisection error - Cleaned up the private state using drmm_add_action_or_reset - Rebased on current linux next Maxime Ripard (7): drm/vc4: kms: Switch to drmm_add_action_or_reset drm/vc4: kms: Remove useless define drm/vc4: kms: Rename NUM_CHANNELS drm/vc4: kms: Split the HVS muxing check in a separate function drm/vc4: kms: Document the muxing corner cases drm/vc4: kms: Store the unassigned channel list in the state drm/vc4: kms: Don't disable the muxing of an active CRTC drivers/gpu/drm/vc4/vc4_drv.h | 2 + drivers/gpu/drm/vc4/vc4_kms.c | 247 +++++++++++++++++++++++++--------- 2 files changed, 185 insertions(+), 64 deletions(-) -- 2.28.0