From patchwork Fri May 7 14:03:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 12244663 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=-12.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 D8B7FC433ED for ; Fri, 7 May 2021 14:06:59 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3F3D560720 for ; Fri, 7 May 2021 14:06:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F3D560720 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=cerno.tech Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=qGnm/CXOGOtNjvejy13/FZ25RQXLb/nvd0aypAsI3sk=; b=p4htGFO0i1qgSSc5J2xYrXEg6X btcxrt2cdYBFiK2Y3w9DiNfHdjqxHwd1exfhC6jV4FTeQCcvRihegaW/4GRo9ZNCL7ZWdvL/MO8/Q MT0r8qAOehq73pT5Y6bT0sEd+ryA3HLmNu68AUwiUCG8Sb0YfZ9tKQlGyfok1Moi7qrrvVTjXpWBh Hl8TiZksCH4fSxbDfD1MiS43xN2TYqo/Q3GcHojzNGwXMcrBHwVd1+tznHcTI5nU7MqrOqC46sxdV 4SKjTUeRMuipof0HHFJz5pT4PKr2i3nzBqRc6L6H+bmVQFvDzJDw6hJt4tYVSF38h/gI3k9/mO6Tj NhlqQiGA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lf162-007FSs-LC; Fri, 07 May 2021 14:04:50 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lf15y-007FSI-Oj; Fri, 07 May 2021 14:04:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Content-Type:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-ID:Content-Description:In-Reply-To:References; bh=Vtd9BNGxnWTVrdv1sQguNv4d3wrORv5ukuxA87nXxow=; b=kNN7AnaifJOZ1NL4+QQ8nYze81 EKR/DWVN+TYNJvSLVqV4w1BlVh3YqIhp2JgD1X5lnd4xyhv8lja7P7H9HBAoRWszD0+27O11di5Zh grLY+1RjrbVNIRX6q+m47zX2sUxXQlx+2BycHKQ38kFI8ivjgl4NSgFbETSZdCnIV6ZWMhtyaRLLJ 369Pq+xcX+fSrBKAKuOOe572QrgvWEVekB11EnrXAJznjS5c9UvIJNOMWrq3PM8cGdAHdLP2Q4VDF ETgKZhILS+w/cYrb+VoV5Bzv/uHRBtRNWi4Vzh0JpN2LMruE7RIQ44wK+5Xo5D8QVcEG3tNu3ZBEm wlsELp5Q==; Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lf15v-006uU1-Qf; Fri, 07 May 2021 14:04:45 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.west.internal (Postfix) with ESMTP id 7A917FD7; Fri, 7 May 2021 10:04:38 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 07 May 2021 10:04:40 -0400 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=fm2; bh=Vtd9BNGxnWTVrdv1sQguNv4d3w rORv5ukuxA87nXxow=; b=lcuLsf1Fk/QbKv7GOAiqnZGzSJS6VzQqtd0tMX9vfl 2cmkq5e8LWKaHxZjaKeaOV8KnOaJOE/W7CazrXkXZdsRuZSxVq4brh4YCuDrXty8 wEZ1+1dVTC+J1UP/JLYimwBah7NXBWEAJl86BUenMUAIYWBcKPT77o9U4UK7iURd EiHLqgBQQX+N94OSG/DFdVuxZ7nXzaJOjAUXhnH7HM1CZQPYcaCS74RIaAGvgUy2 C24LrF5RrBbHJbfo+1DVHbNjdVXItfsL8feocLev/ei8/eIUPVCdm1khKUOINFpj 1PcLPfpTdMSDyZcyrRZQFotKfNPFS+NVHXuvC8go14JQ== 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=fm2; bh=Vtd9BN GxnWTVrdv1sQguNv4d3wrORv5ukuxA87nXxow=; b=NOzm3ELuTbOQwprurNuRlp HsFUqA9CGaHZKhxQG6LiJR6cebgZKW+gg1YiiItyfpkUVMJ0K/4HYNVdSIpWrF1Y y3oZReI8y8yhCDMNcGf/GgcpzOgZNWkdwiStAuEOa+U4rNcKpO9XGBTAA9VPNO1f NxYK1No9qQqr18rzjXQqgnICVZm7SQrxWDPFAa0F4YjxAPD5RAnjSw7p7XXB577b ZAlE0VDFs0JP5wjTP1f10uYYP+pRMRi2BvpHCHPTiPFVZnam3IMLbCRXT+OjxaPF bLxSf5gAkDY1qSol0fRcgmkFTBROxfRfsm9hgSUNzXXjLOAKbRYdfAMQlGAV4jrQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrvdegvddgjedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffotggggfesthhqredtredtjeenucfhrhhomhepofgrgihimhgv ucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrghtth gvrhhnpeetteeltddujefhffdtuefgudffleelleehjeeggeffuddvvdfgvdfhhfelgfet ffenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecukfhppeeltddrkeelrdeikedrje einecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgr gihimhgvsegtvghrnhhordhtvggthh 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; Fri, 7 May 2021 10:04:35 -0400 (EDT) From: Maxime Ripard To: Mark Brown , Takashi Iwai , Liam Girdwood , Jaroslav Kysela , dri-devel@lists.freedesktop.org, Daniel Vetter , David Airlie , Maarten Lankhorst , Thomas Zimmermann , Maxime Ripard Cc: Nicolas Saenz Julienne , Rob Herring , devicetree@vger.kernel.org, alsa-devel@alsa-project.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, Maxime Ripard , linux-kernel@vger.kernel.org, Dave Stevenson , Phil Elwell , Tim Gover , Dom Cobley , Daniel Vetter , linux-rpi-kernel@lists.infradead.org, Eric Anholt Subject: [PATCH 00/11] drm/vc4: hdmi: Enable Channel Mapping, IEC958, HBR Passthrough using hdmi-codec Date: Fri, 7 May 2021 16:03:23 +0200 Message-Id: <20210507140334.204865-1-maxime@cerno.tech> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210507_070443_904660_256B8F95 X-CRM114-Status: UNSURE ( 8.05 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, hdmi-codec allows to have a lot of HDMI-audio related infrastructure in place, it's missing a few controls to be able to provide HBR passthrough. This series adds more infrastructure for the drivers, and leverages it in the vc4 HDMI controller driver. One thing that felt a bit weird is that even though https://www.kernel.org/doc/html/latest/sound/kernel-api/writing-an-alsa-driver.html#iec958-s-pdif mentions that the iec958 mask control should be a mixer control and the default control should be a PCM one, it feels a bit weird to have two different control type for two controls so similar, and other drivers are pretty inconsistent with this. Should we update the documentation? Thanks! Maxime Dom Cobley (5): drm/vc4: hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET drm/vc4: hdmi: Set HDMI_MAI_FMT drm/vc4: hdmi: Set VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE drm/vc4: hdmi: Remove firmware logic for MAI threshold setting ARM: dts: bcm2711: Tune DMA parameters for HDMI audio Maxime Ripard (6): snd: iec958: split status creation and fill ASoC: hdmi-codec: Rework to support more controls ASoC: hdmi-codec: Add iec958 controls ASoC: hdmi-codec: Add a prepare hook drm/vc4: hdmi: Register HDMI codec drm/vc4: hdmi: Remove redundant variables arch/arm/boot/dts/bcm2711.dtsi | 4 +- drivers/gpu/drm/vc4/Kconfig | 1 + drivers/gpu/drm/vc4/vc4_hdmi.c | 322 ++++++++++++++------------------- drivers/gpu/drm/vc4/vc4_hdmi.h | 5 +- drivers/gpu/drm/vc4/vc4_regs.h | 30 +++ include/sound/hdmi-codec.h | 12 +- include/sound/pcm_iec958.h | 8 + sound/core/pcm_iec958.c | 131 +++++++++----- sound/soc/codecs/hdmi-codec.c | 219 +++++++++++++++++----- 9 files changed, 456 insertions(+), 276 deletions(-)