From patchwork Tue May 17 12:55:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852447 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1F51DC433EF for ; Tue, 17 May 2022 13:02:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=zMx1KvkgzxoriW6Us3RrBp+6LrtuDsn9wUjR0DSnREo=; b=aUWM2syjOXveW3 UjQWzluuVbVKoKFccNGXtnD8xFQ1XFYT3m5eJaKpuiDX314uUHJxGvkTo4gJDOrijjyUwm/mwgLkq Pib6ZZ5KKQrajBYbWkZB7ng4RUEf4rWlGMZb6ltClY9ZIuZW5w1P0ys4LgkG4t4bVx7hn58s33P5f qJe53Fk7DHlYXbC+1S75M1ikizDfiR5VVpws5ao9RPEwe/lEc+lRyyH0d0h2du5PzYRZICKh/RJ0M +0ESKh9S0YfvOtv/n8qK3X/llmOxbvgbCLBRDF2z+d+1MQjzna18E+vtKiemdAQQ9B9ivrUY+W3de GS6EeA1V11sAutQbOZPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwoZ-00DkUb-2M; Tue, 17 May 2022 13:00:40 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwli-00DiLl-2d for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:57:43 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20220517125728epoutp02e28961d409b019f38ab15c3ebac5e117~v5cskM21r1124911249epoutp02P for ; Tue, 17 May 2022 12:57:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20220517125728epoutp02e28961d409b019f38ab15c3ebac5e117~v5cskM21r1124911249epoutp02P DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792248; bh=jmWJPCoNSSdB7mc2+4CxcSUagZMW6Ixk8+JEUPm5+Lg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uOWDc96kP2XKinaNFf4BZ/icXfLyiFbFbeFOHuwxGVp0//7VnMyQnsjYANZAtBhJo MThHuoI25BmLURZS943Ri35Du1981oqKO3exDbYyzo3CfxwU1/IrgYPGYYOSs5lB81 IFptaAfOV0m99P9iLH/XrlBG9ox7+IgqhjwAf4Cw= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p2.samsung.com (KnoxPortal) with ESMTP id 20220517125728epcas5p2b0b9e9a5cdcbe466cb537c1ed912e989~v5cr-fu4a1529715297epcas5p2u; Tue, 17 May 2022 12:57:28 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.181]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bkD5CY5z4x9Pt; Tue, 17 May 2022 12:57:24 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id F9.0C.09762.4BB93826; Tue, 17 May 2022 21:57:24 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125551epcas5p42cca7f0a2db6dc1d16d0e27265c43f56~v5bRt356t2591625916epcas5p4k; Tue, 17 May 2022 12:55:51 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125551epsmtrp24559d2c789a3a94303777b6de5e95878~v5bRsmRb_0912609126epsmtrp2L; Tue, 17 May 2022 12:55:51 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-69-62839bb44b8d Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 30.36.08924.75B93826; Tue, 17 May 2022 21:55:51 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125548epsmtip16607e233d1d0cbbd00867e88a2dad971~v5bOuglUM1797117971epsmtip1C; Tue, 17 May 2022 12:55:48 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy Subject: [PATCH 01/20] MAINTAINERS: Add git repo path for MFC Date: Tue, 17 May 2022 18:25:29 +0530 Message-Id: <20220517125548.14746-2-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf0xTVxTHc997fe+VpMsLMnbF6eARskEEWi3dBel+RMaesimJmXNGxQJv lFHari3Klgg4hEzCz0ycIj8cpZtBRQSKyA8DrMLWTTaVCQl0MNhQCptIHTAluJaW7b/vOedz ftxz76Vx7zukH52qNvA6tULFkl5E67fBwaEt53ITxRPmIDRe3Uoi49J9DI0ZHQTqbTZTqGXw HI6+6e8WoBrLgABd65kg0NUHzujtszYC3a9pAGi64lcSNU3eE6C77ZUkKmw0C9Bli41CpqHb GPq6aRlDtebHFMrrslDI1tkK0Il8C/aGL3ep+hLg2mx1gBuqm8e56xU2ijN2TmNcU/1Jkhu9 10lyzXXZXN7NJwRX3FIPuALLEMk5mjZx1r8dVLxof1q0klck8zp/Xp2kSU5Vp8jZuD0J2xMi ZGJJqCQSvcr6qxXpvJyNeSc+NDZV5Tw4639EocpwuuIVej0b/lq0TpNh4P2VGr1BzvLaZJVW qg3TK9L1GeqUMDVviJKIxVsinODhNOVS8QildRCZd6wXqRxQThQAmoaMFFafyS4AXrQ30wFg yekG0m3MA2ge7fIYDgCLFqqcGcLVjOLxRdwdaAdwcWyWchsnMNiXPyNwUSSzGS48/IF0aR/m OICTnxtcEM5M4XC6+/EqtI6RQ/NyLnBpggmCvX0LlEuLmEg4fHMOc7d7CV5s7MZdwwqZKFi1 ctBVBzJzNJx91EK5mRhou2EFbr0O2vvX/H7Q8VcX6dYpcMyR62G0sCqnxVP/ddg9WLm6DJwJ hlfaw93ujbDc2rCK4MxzsOjp7x5cBNuq1zQLa3/8ztMKwl/+NAvcmoNfnizwbKgIQFPuElkK NlX83+I8APVgPa/Vp6fw+gjtVjV/9L9bS9KkN4HVxx0S1wYmxufCegFGg14AaZz1EYkzcxK9 RcmKTz7ldZoEXYaK1/eCCOf+ynC/55M0zt+hNiRIpJFiqUwmk0ZulUnYF0TMs+OJ3kyKwsCn 8byW163lYbTQLwdrTxjMLPz43VOW07vP3qrBD8StMMKAwrIRzUBA0uZdMyHR8aYvcjKfDflg 3gNb3qoKsE9mjccKv/IpsRgWlIF0HmG6cqY7+pWDWbH7+sx3gzr6rCXDj8JW5Oej+hcapRdG P1qftSFpZNsNXokxu2pDB8p37iR/sy3bKvdZ30zz3VO8OGHMj520v23fy2gdw14FnS/a/wnM zoj5oFlWWj8022A88scGle+hhwfSp3s6ntLXt/Vcy7ZfDRw5dmj5swbhctyFMt3PS4Pfl0yE W3Z7/fS+9UGoxVR6ufxW0SmwI/fofPSKtm9qcIbYcXi26GXTh9Ync+8dK9m+fzRm496a+Cmx PI8l9EqFJATX6RX/AssWOYhlBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupkkeLIzCtJLcpLzFFi42LZdlhJTjd8dnOSwbmVPBYP5m1js1j84zmT xf3Fn1ksDm3eym6x5cpsZovlxw+wWsw/co7VYvvBRywWG18AZS/OvMti8Xz+OkaLl7PusVls enyN1eLyrjlsFj0btrJarD1yl91i6fWLTBbLNv1hsli09Qu7ReveI+wWd/dsY7RoaTvC5CDm sWbeGkaPHXeXMHpcX/KJ2WPnrLvsHov3vGTy2LSqk83jzrU9bB6bl9R7tB79xeLRt2UVo0fX ketsHp83yXmc+vqZPYA3issmJTUnsyy1SN8ugSvjR99t9oLPLBWXTq1mb2CcytLFyMkhIWAi 0ffgO3MXIxeHkMAORokvi3dAJSQkVv6exAhhC0us/PecHaKoiUliw5njYAk2AR2Jb+9Ps4Ek RARaGSWur+xkAnGYBX4xSyx8dRqsSljAVmLrn2Ywm0VAVeLQsW/sIDavgKXEjaMfmCBWyEus 3nAA6A4ODk4BK4m5/2JBTCGgkqf7LSYw8i1gZFjFKJlaUJybnltsWGCUl1quV5yYW1yal66X nJ+7iREcW1paOxj3rPqgd4iRiYPxEKMEB7OSCK9BRUOSEG9KYmVValF+fFFpTmrxIUZpDhYl cd4LXSfjhQTSE0tSs1NTC1KLYLJMHJxSDUyeSxuaxCf/tuC8ecQsLHu2XbPL5i39rE/nf/+w onLBDzlp9w/fu+5bPs96p5dqynt7nUe3i6QRt/KtQK/HfxjP36+XufCSTzprQ3xn3prOPItp 76PVxOu2XJ6+6vGdr9xK2/6EvpmgLbdVOlJyk2OU6OSvX6q++2eZn6o+c+GafJbJJrtcoc1v un3XTmBfm1SkpWjUoLPBXkp+n9fb79kGzdM89h39FDg/TPoFm0Bli0zCjo43rt2dLOdDMhcc 86g8srNtumpf41rdlZdVU2w4HmZVzuZRaHxl7jLTff7B7x2Cnp//8Cm4tTU57/KZvCt0GcN7 lsw7dpf992/eofnqdGz07L1C7sInDvmoKiixFGckGmoxFxUnAgBeVZ+FHAMAAA== X-CMS-MailID: 20220517125551epcas5p42cca7f0a2db6dc1d16d0e27265c43f56 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125551epcas5p42cca7f0a2db6dc1d16d0e27265c43f56 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055742_512481_20DDEC9F X-CRM114-Status: GOOD ( 12.70 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add git repo path for MFC. Signed-off-by: Smitha T Murthy --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index fd768d43e048..e53c7333562b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2703,6 +2703,7 @@ M: Andrzej Hajda L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-media@vger.kernel.org S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git F: drivers/media/platform/samsung/s5p-mfc/ ARM/SHMOBILE ARM ARCHITECTURE From patchwork Tue May 17 12:55:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852437 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CC3B6C433EF for ; Tue, 17 May 2022 13:01:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=kSnIxBC7XlNK/lwjk9CgaiX5jc8CykD8BgKaGW3V5Mg=; b=rGmSSu25qLu5zu kyqK99JHmAAujNeYn3c7x9YV0NAIjif/UBSfolcJV5Gm/0M5WIYWAjzZZMzC3ivYrpg+AoJPXVBqV xSYqQZZg4GA13oFsxdy6SwVuBrpTORQsaxRC+jd9B2I+nDUUrl5SZbUY5rliH405m8JDZh8BCta3D qtOrNS04XDXpeYElbbTbM5dojSdYz6Ou3YU/70tY16cqGiYXCrJkoBg/+TQMCaa6cljK1cKD2DSiU 1ojdKVTAZbST/i1iMRLeYMdd3SPURbyL0d3Hz4aPrYNoxGuo/wnwAhbg/yIoQD4g00LkFYp7vBAUZ GxTcQpM+NVEjCuwbuc0A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwnP-00DjlY-PJ; Tue, 17 May 2022 12:59:28 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwlh-00DiSG-N9 for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:57:44 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20220517125735epoutp01e86a7e8d5d3d9306c93a0f799d8bba61~v5czJ6kdq2950829508epoutp01A for ; Tue, 17 May 2022 12:57:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220517125735epoutp01e86a7e8d5d3d9306c93a0f799d8bba61~v5czJ6kdq2950829508epoutp01A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792256; bh=uHqewmCaROzslLCmX960HpVstV/AWGzxsNtBNYjrViI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vWR27UmLYMM5a5qP0k75U4zYJz1jtyKbL9B9VB6rFB+zlpw/RRXbpgBTQwrdIwn0k JIHBzJtWK5qux5HI/GZuRgzG1c+diUkr7Bg/35lw83GdL9ykmgUP2yBb9d1hZT2uVV KZbr6FHLq45x1nPkFXyHVRw7yoGRf6HucjDfzc0M= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p4.samsung.com (KnoxPortal) with ESMTP id 20220517125735epcas5p40e8ecdd36014593b538562dd16454678~v5cyl5-652229322293epcas5p4m; Tue, 17 May 2022 12:57:35 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.179]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bkN0Hgyz4x9Q0; Tue, 17 May 2022 12:57:32 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id AC.0C.09762.BBB93826; Tue, 17 May 2022 21:57:31 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125554epcas5p4e87a71471525056281f1578f4f80f760~v5bU9b8EW2165121651epcas5p4K; Tue, 17 May 2022 12:55:54 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125554epsmtrp2d2750be09599dd454f51a4a2bc6e8dd4~v5bU3uLV-0914309143epsmtrp2F; Tue, 17 May 2022 12:55:54 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-77-62839bbb2e76 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 52.36.08924.A5B93826; Tue, 17 May 2022 21:55:54 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125551epsmtip19affd32baed8d8c2e966c2ae3d9c1e34~v5bRvwsVo1799817998epsmtip1K; Tue, 17 May 2022 12:55:51 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 02/20] dt-bindings: media: s5p-mfc: Convert s5p-mfc.txt to new DT schema Date: Tue, 17 May 2022 18:25:30 +0530 Message-Id: <20220517125548.14746-3-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTe0xTVxzHPfe2txcSzBVwHNlgzY1swQi0k8eFFd2iM3dhWcAuM2EPKOWO Mtrbrg/GZtCisDnURVwm8mhBQDfxVXmUDipg7cDHMmd4ObNSXhuCTjdqUXCTtbuw/ff5/X7f 3/me8zvn4GjwbSwcz2f1jJaVKUkskGe9HB0d01WzL0e0uP9lasxsxajGx9MI5W708ChHa7uA ahusQalv+nv5VJ3zRz7VcWmCR12446verHLxqOm6c4CaqR7FqJbJYT41PruTGuisxaiDlnY+ ddbpElAnRm4i1MmWvxCqof2hgCq76BRQLrsVUKWfOZFXwugz5jOAtrmaAD3SNIfS31W7BHSj fQahW5q/wOhfhu0Y3dq0hy77fpFHf9nWDOine00Cutw5gtGelkj6mtcjSF+dWSBRMLJcRitk WLk6N5/NSyXTpFlbsxISReIYcTKVRApZmYpJJbe9kR6zPV/pmwApLJQpDb5UukynI+M2S7Rq g54RKtQ6fSrJaHKVmnhNrE6m0hnYvFiW0aeIRaKXEnzC7ALFYp8F0/SJi+pqjgIjsK0vBwE4 JOLhBYeZVw4C8WCiC8CmCjvGBXMADno8KBd4AOw+NAhWWo6M3EO4QieAB1xLgAtKEXh7wsv3 qzBiI5x/cB3zcyhRAuDkfr2fUeIJCqsGI/0cQmTCpbuPfXoc5xFR0GTa4k8HEclwarQN48ye h6ctvahfEkCkQNPT9/xWkFjC4fUrt1BOsw1OHj3F4zgEzva3CTgOh577F5fXyYNuz77lA2ig ydiGcLwF9g7W8vzro0Q0PN8Zx6Uj4NfXziHcjlfDQ0+mluVB0GZeYRI2/HBl2QrCod/b+RzT 8NuF+uXBHQJw7ufT2GEQWf2/RT0AzWAdo9Gp8hhdgmYTy3z836XJ1aoW8O8j35BmAxNjf8Q6 AIIDB4A4SoYGiYqMOcFBubJPPmW06iytQcnoHCDBN74KNHytXO37Jaw+SxyfLIpPTEyMT96U KCbDgoilkpxgIk+mZwoYRsNoV/oQPCDciHzgdM9KJfxdlc8pyuJSEpjG7TOFpwLfXaU+0F1s UnZ4NlvYGxUZQw2irHnjVry1//M6zPV6beHd6IIk3vFuifstJsLacXy2YG6+bkB+Z+9Bb1TG +zsfrLO89rDY4Jg6snbY2yf/KuIYI11wfzQ02To63qO6HxdqPfnbJZshUxpQZF+aj7hcEpv7 4oJXupAkrTJIFOb2d26hC+tP7GHo7L8tpmciyKhfU2/Y1piNf+6e7myu2Phq9k+opWzs2cBO ekdX84fIC2+yj4SL6p7Cq96O7sOVNozZXe+y4jveHm8Qh92bE6EDIaWSSqHwEd8+uurqrrMZ PVGq4vNu+Rok7RjJ0ylk4g2oVif7BxlU8UhtBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsWy7bCSnG7U7OYkg+5VyhYP5m1js1j84zmT xf3Fn1ksDm3eym6x5cpsZovlxw+wWsw/co7VYvvBRywWG18AZS/OvMti8Xz+OkaLl7PusVls enyN1eLhq3CLy7vmsFn0bNjKarH2yF12i6XXLzJZLNv0h8li0dYv7Bate4+wW9zds43RoqXt CJODuMeaeWsYPXbcXcLocX3JJ2aPnbPusnss3vOSyWPTqk42jzvX9rB5bF5S79F69BeLR9+W VYwe/5rmsnt0HbnO5vF5k5zHqa+f2QP4orhsUlJzMstSi/TtErgyfh3bwFZwzLBi/uxpjA2M O1S6GDk5JARMJCZdf8MEYgsJ7GCUWPstDyIuIbHy9yRGCFtYYuW/5+xdjFxANU1MErubdjGD JNgEdCS+vT/NBpIQEWhllLi+spMJxGEWmMgiMeX6L7AqYYEIiea5W4DaOThYBFQl5s61Bwnz ClhKPLm3hQ1ig7zE6g0HmEFKOAWsJOb+iwUxhYBKnu63mMDIt4CRYRWjZGpBcW56brFhgVFe arlecWJucWleul5yfu4mRnCkaWntYNyz6oPeIUYmDsZDjBIczEoivAYVDUlCvCmJlVWpRfnx RaU5qcWHGKU5WJTEeS90nYwXEkhPLEnNTk0tSC2CyTJxcEo1MFlkXVnFcz/OZtEJ7o2BV2SO J0ZPeftGTOTlwoYmbp4qoaMbS6SOvuW9NDsxTcv32K3QK5s4ncpvruReYsk+NWgz56SKA0Jv /9+4/a1EtG1BmvsRDoeZBzpc5yTn3zosVrZaapqljvOlaVM/BWgt0ddJOL1gityX5uaYbUYN taaCG2o57aYyzp03Q1HudIXLjvZEb7kzZbdPXPGJf//qo8BXH4ara/v/+E6Ib2YoZr5ibSDS M62z2fznmXuP8qYttbLLF2st/8Q3ecqXr32bi6t9Cq7duXku8jo/8z2r6K6la9asOrdkTQvP 5xPZy50SfSc7n/WYZ8B9M7TZpick2q++zVoo6faiQCOxmbGFpUosxRmJhlrMRcWJAHWzGLAj AwAA X-CMS-MailID: 20220517125554epcas5p4e87a71471525056281f1578f4f80f760 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125554epcas5p4e87a71471525056281f1578f4f80f760 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055742_156531_7C26E81E X-CRM114-Status: GOOD ( 26.59 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Adds DT schema for s5p-mfc in yaml format. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../devicetree/bindings/media/s5p-mfc.txt | 77 +-------------- .../devicetree/bindings/media/s5p-mfc.yaml | 98 +++++++++++++++++++ 2 files changed, 99 insertions(+), 76 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/s5p-mfc.yaml diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt index aa54c8159d9f..f00241ed407f 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.txt +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt @@ -1,76 +1 @@ -* Samsung Multi Format Codec (MFC) - -Multi Format Codec (MFC) is the IP present in Samsung SoCs which -supports high resolution decoding and encoding functionalities. -The MFC device driver is a v4l2 driver which can encode/decode -video raw/elementary streams and has support for all popular -video codecs. - -Required properties: - - compatible : value should be either one among the following - (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs - (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs - (c) "samsung,mfc-v7" for MFC v7 present in Exynos5420 SoC - (d) "samsung,mfc-v8" for MFC v8 present in Exynos5800 SoC - (e) "samsung,exynos5433-mfc" for MFC v8 present in Exynos5433 SoC - (f) "samsung,mfc-v10" for MFC v10 present in Exynos7880 SoC - - - reg : Physical base address of the IP registers and length of memory - mapped region. - - - interrupts : MFC interrupt number to the CPU. - - clocks : from common clock binding: handle to mfc clock. - - clock-names : from common clock binding: must contain "mfc", - corresponding to entry in the clocks property. - -Optional properties: - - power-domains : power-domain property defined with a phandle - to respective power domain. - - memory-region : from reserved memory binding: phandles to two reserved - memory regions, first is for "left" mfc memory bus interfaces, - second if for the "right" mfc memory bus, used when no SYSMMU - support is available; used only by MFC v5 present in Exynos4 SoCs - -Obsolete properties: - - samsung,mfc-r, samsung,mfc-l : support removed, please use memory-region - property instead - - -Example: -SoC specific DT entry: - -mfc: codec@13400000 { - compatible = "samsung,mfc-v5"; - reg = <0x13400000 0x10000>; - interrupts = <0 94 0>; - power-domains = <&pd_mfc>; - clocks = <&clock 273>; - clock-names = "mfc"; -}; - -Reserved memory specific DT entry for given board (see reserved memory binding -for more information): - -reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - mfc_left: region@51000000 { - compatible = "shared-dma-pool"; - no-map; - reg = <0x51000000 0x800000>; - }; - - mfc_right: region@43000000 { - compatible = "shared-dma-pool"; - no-map; - reg = <0x43000000 0x800000>; - }; -}; - -Board specific DT entry: - -codec@13400000 { - memory-region = <&mfc_left>, <&mfc_right>; -}; +This file has moved to s5p-mfc.yaml diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.yaml b/Documentation/devicetree/bindings/media/s5p-mfc.yaml new file mode 100644 index 000000000000..fff7c7e0d575 --- /dev/null +++ b/Documentation/devicetree/bindings/media/s5p-mfc.yaml @@ -0,0 +1,98 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/s5p-mfc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung Exynos Multi Format Codec (MFC) + +maintainers: + - Mauro Carvalho Chehab + - Rob Herring + - Mark Rutland + - Smitha T Murthy + +properties: + compatible: + enum: + - samsung,mfc-v5 # Exynos4 + - samsung,mfc-v6 # Exynos5 + - samsung,mfc-v7 # Exynos5420 + - samsung,mfc-v8 # Exynos5800 + - samsung,exynos5433-mfc # Exynos5433 + - samsung,mfc-v10 # Exynos7880 + + reg: + maxItems: 1 + + clocks: + description: + Phandle to MFC IP clock. + maxItems: 1 + + clock-names: + description: + Must contain clock name (mfc) matching phandle in clocks + property. + maxItems: 1 + + interrupts: + description: + MFC interrupt number to the CPU. + maxItems: 1 + + memory-region: + description: + From reserved memory binding phandles to two reserved + memory regions, first is for "left" mfc memory bus interfaces, + second if for the "right" mfc memory bus, used when no SYSMMU + support is available; used only by MFC v5 present in Exynos4 SoCs. + minItems: 1 + maxItems: 2 + + iommus: + description: + Include the IOMMU domain MFC belong to. + maxItems: 2 + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - iommus + +additionalProperties: false + +examples: + - | + /* Reserved memory specific DT entry for given board */ + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + mfc_left: region@84000000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x84000000 0x800000>; + }; + + mfc_right: region@A9000000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0xA9000000 0x800000>; + }; + }; + + mfc_0: mfc0@12880000 { + compatible = "samsung,mfc-v12"; + reg = <0x12880000 0x10000>; + clock-names = "mfc"; + interrupts = <0 137 4>; + clocks = <&clock_mfc 1>; + memory-region = <&mfc_left>, <&mfc_right>; + /* If IOMMU is present use below instead of memory-region property */ + iommus = <&smmu_isp 0x1000 0x0>, <&smmu_isp 0x1400 0x0>; + }; From patchwork Tue May 17 12:55:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852438 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E0350C433FE for ; Tue, 17 May 2022 13:02:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=xONTMC9hBr2IhJNy6MVauI/qRWm+dqqbH9S3EofrwWU=; b=rXJumLeCGrlyjz 4/mss9yuux8i9usyTvRC3VidNS7wrm1m//yirnCdzXh0Qo0EFMHka6kFb7JchdBgjtfny1p/JafM+ jdcAGjNlu16p0arhX+DtsUeYgeGAMrexFMsHWamXDxmZD9hcdjGnYcT13RkPf8CZVURgGVlshqP+T +RN6vRrllOU4uIXVnZMB7HyxLy6wQivlTxP4SkfPqKGavL8XGuQvJZVQa0BfjcPMiCiTlJYTolNQU y0QwCK2KG1G3ad4rZ40HVDedm+xWTEZtYcPF2FPfcB2jHJS2NiazT81GTJQj0mADZac2eWXh5F35p RDC34nE2PQeIt4XkzzXg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwp2-00Dkjv-Ry; Tue, 17 May 2022 13:01:09 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwlr-00Dicg-46 for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:57:54 +0000 Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20220517125744epoutp0467433ae597a20fecfc3f2eb501cdbbde~v5c7idy441434514345epoutp04R for ; Tue, 17 May 2022 12:57:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20220517125744epoutp0467433ae597a20fecfc3f2eb501cdbbde~v5c7idy441434514345epoutp04R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792265; bh=+LuFjZ47M4iyPMAd4HutYcuH5OmT3P0Nw+AtWPJ5ZsY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eRoqvmswFvKs78NkmUEjCt+Ppy1fuW6/k1zlKj9wUde2iK8iWwiooYC75u8DeKqbb GMCN67vQ/wvOmA5MaQpGltL4hDdckreJSbyMsZm4S9TSmudvpE9bUWJouIzqPlnao+ OkfWZeygYJ2A0Xkx1kpN2Xxq6NlOTmubLa7B42jk= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20220517125744epcas5p1e62bd4e068f18010e635939916a2882f~v5c64qTW33158631586epcas5p1u; Tue, 17 May 2022 12:57:44 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.180]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4L2bkX59TLz4x9Pp; Tue, 17 May 2022 12:57:40 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id F1.1C.09762.1CB93826; Tue, 17 May 2022 21:57:37 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p2.samsung.com (KnoxPortal) with ESMTPA id 20220517125558epcas5p228cdf5f665468d3fd065d88a5d0ad157~v5bX98dSJ2182421824epcas5p2M; Tue, 17 May 2022 12:55:58 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125558epsmtrp1bd21605f5741ba1f8eb98f0478b0b45d~v5bX8vR1T3276532765epsmtrp1K; Tue, 17 May 2022 12:55:58 +0000 (GMT) X-AuditID: b6c32a4b-213ff70000002622-8a-62839bc1d604 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id D3.36.08924.D5B93826; Tue, 17 May 2022 21:55:57 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125554epsmtip1ea09529dd8a0dcabd6efa91352936b85~v5bU45N-M2352323523epsmtip1e; Tue, 17 May 2022 12:55:54 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 03/20] dt-bindings: media: s5p-mfc: Add mfcv12 variant Date: Tue, 17 May 2022 18:25:31 +0530 Message-Id: <20220517125548.14746-4-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTe0xTVxzHd+5tby8klZvixhkLjF1HFoxgy6NeiGxT0FyGc2wjE7eZroVL IZT2rrcgc2NWhY7xVBcMIA8HCAGUR3lYgS28DAYcQqwQFhiICEM0oh2TiJO1tmz/ffI73+/v 98v3nIOjoknMHU9U6xitWq4iMWdeR7+Pj2/v+VMKcU3mW9RseQdGVa0tItRMlYVH9bW2C6g2 83mUqh3s4VMVAyN86krvHI9q+dN6OlY8zaMWKxoBtVTyB0YZ747zqTv3D1G3OksxKre5nU9d HpgWUBcnxhCqxvgcoSrb/xJQmb8MCKjp7g5AZRgGkPfd6EvllwBtmq4G9ET1E5S+WjItoKu6 lxDaWP8jRk+Nd2N0a/VxOvPaMx6d31YP6BcnywR09sAERluMnvTQqkUQteXzpN0JjDyO0Xox 6lhNXKJaGUpGfioLkwVJxRJfSTC1i/RSy5OZUDL8QJTv/kSVNQHSK1WuSrGWouQcR+58d7dW k6JjvBI0nC6UZNg4FRvI+nHyZC5FrfRTM7oQiVjsH2QVfpWUMLyYj7GDWFqVYR7TAwM/Gzjh kAiEOWujWDZwxkVEF4DD+qs824GIeALgTzk+drYAuHSB3TS09j8FdkMngK1zzQ53BgIXlqsQ mwojdsC/Hw1jNt5KnADwbpbOxiixjsJis6eNXYn9sHixEbUxj/CGjVmLL1cSEsHQPJuH2qe9 CRuae6yM405ECCx7ccQ2CxIbOJxpMfHsmnC43pfl0LvC+4NtAju7w6UCg4OVcMZyCtiZhWX6 NsTO78EecynP1h8lfGBT50572QMWDjUi9pW3wLz1eYdcCE3lm0zCyhvXHe0hvP2w3ZEoDduK ann2TPIAHLlSyD8NPEv+H3EBgHrwOsNyyUqGC2ID1MzR/+4sVpNsBC/f+PZIE5ibXfHrAwgO +gDEUXKrUJymV4iEcfJvjjFajUybomK4PhBkze8M6v5qrMb6SdQ6mSQwWBwolUoDgwOkEtJN SGycUIgIpVzHJDEMy2g3fQju5K5Hth1aZ2MeZ34xeu3LYVEo7mfip+5z2VVfqTiKeh+8ERTx /Fz/G7ra+d9lue1FhZ8VpOlvHu/xP5divLjHM34q67C6+Zllga0Je2fiAw+ICAOGP1qPSF+I bvIS5/7QcivjH/OkTiGZvdnY9fH19LNLPi7z4nvRAKvYQG4bmlZyQqbMe+vOpDq7nh1Xme68 lqd48MqvYSVozMEdX9ctu7qcXHNRxLgUzDRHe3wb/vi71e/9DZ0fNjiPp8dHa5cDHqxo947u GWLxEq7wE2XRMfenvfvivfM7L0fIxpZXW123cV35D0MPpE1KK1SPiCM/l9YN0fGH3ZrGI7ve XmgQ+o8l3Isf+Y3kcQlyyXZUy8n/BVhNmQhsBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprEIsWRmVeSWpSXmKPExsWy7bCSnG7s7OYkgy9PLC0ezNvGZrH4x3Mm i/uLP7NYHNq8ld1iy5XZzBbLjx9gtZh/5ByrxfaDj1gsNr4Ayl6ceZfF4vn8dYwWL2fdY7PY 9Pgaq8XDV+EWl3fNYbPo2bCV1WLtkbvsFkuvX2SyWLbpD5PFoq1f2C1a9x5ht7i7ZxujRUvb ESYHcY8189Yweuy4u4TR4/qST8weO2fdZfdYvOclk8emVZ1sHneu7WHz2Lyk3qP16C8Wj74t qxg9/jXNZffoOnKdzePzJjmPU18/swfwRXHZpKTmZJalFunbJXBlnH7ex1ZwnK1icdsTtgbG NtYuRk4OCQETic2HvzN2MXJxCAnsYJR48nM1I0RCQmLl70lQtrDEyn/P2SGKmpgkdt9qZAFJ sAnoSHx7f5oNJCEi0MoocX1lJxOIwywwkUViyvVfzCBVwgJuEjOfrwOzWQRUJdZ1PAfbzStg KXHlQS8zxAp5idUbDgDZHBycAlYSc//FgphCQCVP91tMYORbwMiwilEytaA4Nz232LDAKC+1 XK84Mbe4NC9dLzk/dxMjONq0tHYw7ln1Qe8QIxMH4yFGCQ5mJRFeg4qGJCHelMTKqtSi/Pii 0pzU4kOM0hwsSuK8F7pOxgsJpCeWpGanphakFsFkmTg4pRqYpI8KvN548OuEtWK8y2Ze2evN vWYRx9Ktqs5d/65ttvs1/VuQ+RQZhgv8HE94ryxMsCn8/cFYM+m8ttDRX782Otf2zbxbesRJ WUL57b3lHL179PPjlF4uWvPjuuGy/6nvlKa6rVVQtN26QW3PrJ1/wrQmHw44cmn54sv7a2tm PmVsLbnQYdKjkxNdWnunqW5eJuOJl2bTrYsPzhZeuEL++kzZ/T9uCTLrO5Yks0gfkHM8wbnz stlnFT3/Dp+Axxb5mfb5fmKS9Xr/0/d9fPJOuZ6nujl/9WP7c33nglZybtKe9vD55sScX5vf p/FJpl3bI1/4wH1r73SlyB3uqicEhQ/5sG5LPQFMBnZ7635XKLEUZyQaajEXFScCAO5IFLwl AwAA X-CMS-MailID: 20220517125558epcas5p228cdf5f665468d3fd065d88a5d0ad157 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125558epcas5p228cdf5f665468d3fd065d88a5d0ad157 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055751_607409_20F11DB5 X-CRM114-Status: GOOD ( 12.27 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Adds DT schema for s5p-mfc with a new compatible string for mfcv12 variant. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- Documentation/devicetree/bindings/media/s5p-mfc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.yaml b/Documentation/devicetree/bindings/media/s5p-mfc.yaml index fff7c7e0d575..209da53f3582 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.yaml +++ b/Documentation/devicetree/bindings/media/s5p-mfc.yaml @@ -21,6 +21,7 @@ properties: - samsung,mfc-v8 # Exynos5800 - samsung,exynos5433-mfc # Exynos5433 - samsung,mfc-v10 # Exynos7880 + - samsung,mfc-v12 # Tesla FSD reg: maxItems: 1 From patchwork Tue May 17 12:55:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852448 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6C7F0C433EF for ; Tue, 17 May 2022 13:03:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=pqJH4LhHbqHOf7EnCBE1VSfbbfYwvjc5hdMNXeLmbDs=; b=RKIRQbmF4dvhgt 8nd9KdLFlug+ErLAaJkdb9vTYcDacMOl/LbP+PBPkb/0xzTfLToNk+k8EUZLuOmX8iKL4vh1nyL+P jo6ucpn7uvK6j23kpRiUO/8x7P0yeXVXlrKDOOTzJTnfyimsBEMpXq7hR6t4+r4juBcez5+9UK0mq 5hiyx/j19SAS87tK4F+y+NnYrsNsCiFlt2rG88X5MKtp6GGQLNVWpyiKrqAp+EKEJrHQXTMhEQjV3 9OlAPnBsfoXppUHZA5UcLVgnMchGCuQ+xGiSbQxxAh7qfXaJzQGhFDw2SPKEpIWzVchqmyYsBEy+L CSozm8ydgQE5inU0PACg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwpy-00Dl7u-1y; Tue, 17 May 2022 13:02:06 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwlr-00DieU-4M for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:57:54 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20220517125748epoutp04301b1ab73ef457ef6d94e273c1f70985~v5c_i8Br21510515105epoutp04q for ; Tue, 17 May 2022 12:57:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20220517125748epoutp04301b1ab73ef457ef6d94e273c1f70985~v5c_i8Br21510515105epoutp04q DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792268; bh=D+QZdhpWdN6ZoS+YwC+Jj5tOQJOml2CHInZXPoaxBok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CH3UTk7HQhG9vp7kAO9fWRdP3ZLe2Rtj+Do1u2q+BfUMl4KJDKVfYjDxOtfiAo72u Gu6oR40xm4DHK1k79ybQhWfQAqms3NYppITVg+DJVqk288BJOPbm1ol2d9fVjt8oj8 kEfSXf98Ek2Q3yi5XnAjsp5KURV0c91TJJj1WFkQ= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20220517125747epcas5p15d5fb841beab8f6fe8f622f2d00a8c07~v5c97IBe73158031580epcas5p1A; Tue, 17 May 2022 12:57:47 +0000 (GMT) Received: from epsmges5p2new.samsung.com (unknown [182.195.38.175]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bkb2zSmz4x9Q6; Tue, 17 May 2022 12:57:43 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 6B.CE.09827.7CB93826; Tue, 17 May 2022 21:57:43 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125601epcas5p47dfcac0c5e0c412eb0c335759c51c941~v5bbTQaZF2591625916epcas5p4w; Tue, 17 May 2022 12:56:01 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125601epsmtrp2389ee57055cba2a33ff5a4d40effd7de~v5bbSChwy0914309143epsmtrp2H; Tue, 17 May 2022 12:56:01 +0000 (GMT) X-AuditID: b6c32a4a-b3bff70000002663-c2-62839bc755f3 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id C5.36.08924.16B93826; Tue, 17 May 2022 21:56:01 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125558epsmtip13b54514922231292e87206ec898206a4~v5bYByPVj1800118001epsmtip1H; Tue, 17 May 2022 12:55:58 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 04/20] media: s5p-mfc: Rename IS_MFCV10 macro Date: Tue, 17 May 2022 18:25:32 +0530 Message-Id: <20220517125548.14746-5-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf1DTZRzHe77f/SSn3wPLJ+5Abh6BXsCmYz4oZDDKr9V1eGWZ1OEGXwfC friNwq67+OUgCiK9zkDYGCy4EBAHLMBRMEdwECaJQBdLfngCeoSxLEVgbXyx/nt93s/n172f 5+HgvuMsf06aUkdplNIMPsuHYb26MySs70KeTDD4tR+aNFhZqObhLIZu1bgYyN7SxkatIxdw VNfXzURGxzUm+q5nmoEuz3lOh8ucDDRrbAJovvx3FrLMjDLR1N130I3OChb6vLmNiRodTjb6 ZmwYQ7WWFQxVt/3FRme6HGzktFkBytc7sJe2kQ2GBkC2O82AHDMv4WRHuZNN1tjmMdJS/ymL nBi1scgW8yfkmd5lBlnSWg/ItdxKNlnkGGORLksgOfDAxU7YfCw9OpWSplCaIEqZrEpJU8pj +K+9mSRJihQLhGHCKLSXH6SUKqgYfvzrCWGvpGV4HOAHfSDNyPRICVKtlh/xYrRGlamjglJV Wl0Mn1KnZKhF6nCtVKHNVMrDlZRun1Ag2B3pSTyenvpF7SRDbdqbdaW/A2SDq+FFgMuBhAhW 3+kARcCH40tcATB/1cmggyUAJzpbcTpwAfhDyTK7CHDWSzquHaX1TgDnxsvYdJCPweKpiwxv XxbxAvx7cZDl5a1EDoAzhTov48RjHJaNBHrZj4iBs7824N6mDCIYrv520ivziChYeNaA0+tt hxebu9dTuMQ+WLn2vncUJPK4UN8zgNE58dBqMrFp9oN3+1o32B+6/uhi0SyHt1x5gGY1rMxu 3ag9ALtHKhje/jixE17qjKDlAPjVQBNGb7wZFj++vZHOg+2GJ8yH1T/1b4yC8OZCG5O2h4R2 YxztSDGAhf02dikILP9/QhUA9eA5Sq1VyCltpHq3kvrwvytLViksYP2J73q1HUxN3g+3A4wD 7ABycP5WniArW+bLS5Ge/ojSqJI0mRmU1g4iPe59ifs/k6zy/BGlLkkoihKIxGKxKGqPWMjf xiPcOTJfQi7VUekUpaY0T+owDtc/GxPvvycLjR/Kdf2o/17CORhSOyQoLbVquqbd9cMSx+DK 6rKk+sSe/jStVV3YW6coOJw241fFVdWAxNPOCXWpfr9KY17QJ38ca7cs76jb9KzEYouL4Lhn AmYChs4deZTr94tpu+z29Ub9yWXjQeN79xLfeiRwXEr57JS5RdQ0Xzxn8Tlf9W1I/J+Xebo4 fYHBfFRkdQWvvZy8xRBqf7rD5D4gK9ixJDfC8CMPoiffiJ3gjZ6rW/H9+e1joQurs1tuTDR2 HT5x6lBJw9lN8l7UXVkx/TxzetSkyLter8t5d9Fa0MP5J64lT/LwqVTFkJt7/KY7ITjxTlbz 1PjifXuTLdbIZ2hTpcJduEYr/ReNuSqrawQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsWy7bCSnG7i7OYkg3/35CwezNvGZrH4x3Mm i/uLP7NYHNq8ld1iy5XZzBbLjx9gtZh/5ByrxfaDj1gsNr4Ayl6ceZfF4vn8dYwWL2fdY7PY 9Pgaq8XDV+EWl3fNYbPo2bCV1WLtkbvsFkuvX2SyWLbpD5PFoq1f2C1a9x5ht7i7ZxujRUvb ESYHcY8189Yweuy4u4TR4/qST8weO2fdZfdYvOclk8emVZ1sHneu7WHz2Lyk3qP16C8Wj74t qxg9/jXNZffoOnKdzePzJjmPU18/swfwRXHZpKTmZJalFunbJXBl9C97wFKw0Lxi94mdjA2M h/W6GDk4JARMJHaei+hi5OIQEtjBKHF62iKmLkZOoLiExMrfkxghbGGJlf+es0MUNTFJXPl4 mRUkwSagI/Ht/Wk2kISIQCujxPWVnUwgDrPARBaJKdd/MYNUCQvYSjy/uYYZZB2LgKrE39tZ IGFeAUuJjknzmCE2yEus3nAArIRTwEpi7r9YEFMIqOTpfosJjHwLGBlWMUqmFhTnpucWGxYY 5aWW6xUn5haX5qXrJefnbmIER5qW1g7GPas+6B1iZOJgPMQowcGsJMJrUNGQJMSbklhZlVqU H19UmpNafIhRmoNFSZz3QtfJeCGB9MSS1OzU1ILUIpgsEwenVAOTjvAVT8H2pStLT+a8d3GK z3A+LmtwK3Hyv3O3720wypfI+jf9xWpLhucpTU9PT5xZ7xD8/MzLZ3Nlfe0nLueu33NM2PHg khJ1M6/Sfeu55/7gkzi/6MAC/uvJphvMZnw0NAswmnHx9+an8hMDRTcaddp3qums+vy33dZX 19VA4cfPfrEZ+2f1J07yO3P3ycmcuYeEzruFKCzbLVChpnYkfIrB2W2pW/4at90RVv7fN3Oq p8zNcz6C+WIlx3x0V+/byfIr53G5ufXFoE/G75v2ZP9WnSgU82lJtMJai+pliw9N0OVfGiYo t9t35fQfszwnLjkY/3L/KrFg1Zuvfi83WhMhJHs2r6AoZIGulGSnohJLcUaioRZzUXEiAPOB 6a0jAwAA X-CMS-MailID: 20220517125601epcas5p47dfcac0c5e0c412eb0c335759c51c941 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125601epcas5p47dfcac0c5e0c412eb0c335759c51c941 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055751_657144_465C821F X-CRM114-Status: GOOD ( 19.74 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Renames macro IS_MFCV10 to IS_MFCV10_PLUS so that the MFCv10 code can be resued for MFCv12 support. Since some part of MFCv10 specific code holds good for MFCv12 also. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 4 +-- .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 2 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 28 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h index 5304f42c8c72..ae266d8518d1 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h @@ -774,8 +774,8 @@ void s5p_mfc_cleanup_queue(struct list_head *lh, struct vb2_queue *vq); #define IS_MFCV6_PLUS(dev) (dev->variant->version >= 0x60 ? 1 : 0) #define IS_MFCV7_PLUS(dev) (dev->variant->version >= 0x70 ? 1 : 0) #define IS_MFCV8_PLUS(dev) (dev->variant->version >= 0x80 ? 1 : 0) -#define IS_MFCV10(dev) (dev->variant->version >= 0xA0 ? 1 : 0) -#define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10(dev)) +#define IS_MFCV10_PLUS(dev) (dev->variant->version >= 0xA0 ? 1 : 0) +#define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10_PLUS(dev)) #define MFC_V5_BIT BIT(0) #define MFC_V6_BIT BIT(1) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c index 72d70984e99a..ffe9f7e79eca 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c @@ -236,7 +236,7 @@ int s5p_mfc_init_hw(struct s5p_mfc_dev *dev) else mfc_write(dev, 0x3ff, S5P_FIMV_SW_RESET); - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_write(dev, 0x0, S5P_FIMV_MFC_CLOCK_OFF_V10); mfc_debug(2, "Will now wait for completion of firmware transfer\n"); diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 8227004f6746..728d255e65fc 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -72,9 +72,9 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->luma_size, ctx->chroma_size, ctx->mv_size); mfc_debug(2, "Totals bufs: %d\n", ctx->total_dpb_count); } else if (ctx->type == MFCINST_ENCODER) { - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) ctx->tmv_buffer_size = 0; - } else if (IS_MFCV8_PLUS(dev)) + else if (IS_MFCV8_PLUS(dev)) ctx->tmv_buffer_size = S5P_FIMV_NUM_TMV_BUFFERS_V6 * ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V8(mb_width, mb_height), S5P_FIMV_TMV_BUFFER_ALIGN_V6); @@ -82,7 +82,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->tmv_buffer_size = S5P_FIMV_NUM_TMV_BUFFERS_V6 * ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V6(mb_width, mb_height), S5P_FIMV_TMV_BUFFER_ALIGN_V6); - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { lcu_width = S5P_MFC_LCU_WIDTH(ctx->img_width); lcu_height = S5P_MFC_LCU_HEIGHT(ctx->img_height); if (ctx->codec_mode != S5P_FIMV_CODEC_HEVC_ENC) { @@ -133,7 +133,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) switch (ctx->codec_mode) { case S5P_MFC_CODEC_H264_DEC: case S5P_MFC_CODEC_H264_MVC_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else if (IS_MFCV8_PLUS(dev)) ctx->scratch_buf_size = @@ -152,7 +152,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) (ctx->mv_count * ctx->mv_size); break; case S5P_MFC_CODEC_MPEG4_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else if (IS_MFCV7_PLUS(dev)) { ctx->scratch_buf_size = @@ -172,7 +172,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) break; case S5P_MFC_CODEC_VC1RCV_DEC: case S5P_MFC_CODEC_VC1_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else ctx->scratch_buf_size = @@ -189,7 +189,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank2.size = 0; break; case S5P_MFC_CODEC_H263_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else ctx->scratch_buf_size = @@ -201,7 +201,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank1.size = ctx->scratch_buf_size; break; case S5P_MFC_CODEC_VP8_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else if (IS_MFCV8_PLUS(dev)) ctx->scratch_buf_size = @@ -230,7 +230,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) DEC_VP9_STATIC_BUFFER_SIZE; break; case S5P_MFC_CODEC_H264_ENC: - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_H264_ME_SIZE(mb_width, mb_height), 16); @@ -254,7 +254,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) break; case S5P_MFC_CODEC_MPEG4_ENC: case S5P_MFC_CODEC_H263_ENC: - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_MPEG4_ME_SIZE(mb_width, @@ -273,7 +273,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank2.size = 0; break; case S5P_MFC_CODEC_VP8_ENC: - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_VP8_ME_SIZE(mb_width, mb_height), @@ -452,7 +452,7 @@ static void s5p_mfc_dec_calc_dpb_size_v6(struct s5p_mfc_ctx *ctx) if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || ctx->codec_mode == S5P_MFC_CODEC_H264_MVC_DEC) { - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { ctx->mv_size = S5P_MFC_DEC_MV_SIZE_V10(ctx->img_width, ctx->img_height); } else { @@ -668,7 +668,7 @@ static int s5p_mfc_set_enc_ref_buffer_v6(struct s5p_mfc_ctx *ctx) mfc_debug(2, "Buf1: %p (%d)\n", (void *)buf_addr1, buf_size1); - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { /* start address of per buffer is aligned */ for (i = 0; i < ctx->pb_count; i++) { writel(buf_addr1, mfc_regs->e_luma_dpb + (4 * i)); @@ -2455,7 +2455,7 @@ const struct s5p_mfc_regs *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) R(e_h264_options, S5P_FIMV_E_H264_OPTIONS_V8); R(e_min_scratch_buffer_size, S5P_FIMV_E_MIN_SCRATCH_BUFFER_SIZE_V8); - if (!IS_MFCV10(dev)) + if (!IS_MFCV10_PLUS(dev)) goto done; /* Initialize registers used in MFC v10 only. From patchwork Tue May 17 12:55:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852449 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B25AAC433EF for ; Tue, 17 May 2022 13:04:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=qZY8u0HpMkujmIHOapAtPoKXyM5W7Gr5sbQHv43QpYg=; b=c8RPy2J2vyh86p U6GcIf1RM38BVKioyycAj+oNmFKQkaz+OIPOl6DCFUp7E8hTQDgouwWYyTxM0X8Jiwa95JUExrZ8M Jp0BuKznxo0MkIP3laOICAuG+hi9of3KYIcPXW7xnMtheiIHU9oVX1JqWVFqC5XwF8T7uHDAIAzqu zoUGkySCzG7OAmK56L0l2gO2hglvLODY8MZsBRZRIeo1DrXZ2LCWlIfJ8zFBtLdq+58ncdWCdz83y LKHuhu0x5MUz4kj5aWhfLlktbvs/RXpGVOWytbSRJiw17py/PZY0sN5fKvsTvXPRK7J7NVznMYLz1 mIB84RtATkZkeVNH66hQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwqe-00DlQz-DG; Tue, 17 May 2022 13:02:49 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwlv-00DiiW-P6 for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:00 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20220517125753epoutp0140285101dd05f857357bd43070b2a6e2~v5dDkIKQZ2950629506epoutp012 for ; Tue, 17 May 2022 12:57:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220517125753epoutp0140285101dd05f857357bd43070b2a6e2~v5dDkIKQZ2950629506epoutp012 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792273; bh=iyrNms+qcdKhc8ovREJxsoI43jh/BUr5xeiyr3fzr+Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=K7Y0l3eInckFgC1K59rUOsAUn43+OAoEF5/i9MvJTDTsve9rgeUGX1oqcVQtI2aY+ YdPMSB78M10YMNZaBTq7UW1V0g2yKSfSuiX/3FjP9/oXl0dREeXtPVTtSTo3CZdXxX FN9ckxGIDHuZ8QKnE0gLIZjO59iHfAF6pNZCQnsY= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125753epcas5p3b1ffb20bf2402d8630a95d76b83f6d20~v5dDCF0Fx0547205472epcas5p3k; Tue, 17 May 2022 12:57:53 +0000 (GMT) Received: from epsmges5p2new.samsung.com (unknown [182.195.38.181]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4L2bkh2JN4z4x9Ps; Tue, 17 May 2022 12:57:48 +0000 (GMT) Received: from epcas5p2.samsung.com ( [182.195.41.40]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 2D.CE.09827.CCB93826; Tue, 17 May 2022 21:57:48 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125605epcas5p44cbb77e6bc15ceb32a934e326fc777ef~v5bephFxT2591625916epcas5p4z; Tue, 17 May 2022 12:56:05 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125605epsmtrp2965331815c4ee528e6921e252d75c2d2~v5beocCdL0914309143epsmtrp2I; Tue, 17 May 2022 12:56:05 +0000 (GMT) X-AuditID: b6c32a4a-b3bff70000002663-c8-62839bcc00ec Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 01.AA.11276.56B93826; Tue, 17 May 2022 21:56:05 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125601epsmtip10938db560ea2547dba032f3cb9c85afa~v5bbbK1Qo1799717997epsmtip1M; Tue, 17 May 2022 12:56:01 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 05/20] media: s5p-mfc: Add initial support for MFCv12 Date: Tue, 17 May 2022 18:25:33 +0530 Message-Id: <20220517125548.14746-6-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf1DTZRzH7/nuu+/GrtEXJHmCg7ivx114/NhgjGcG/kjyvpIQmVF5FQ74 tu0Y29x3BFY6UNYZAtF5MwH5kRAWosL4mY47nBg0pc4TJMr5A70jSclYEKBAWxv13+vzft7v 5/Pc53kePsd/nAjiqzQGRq+RqylCgHdfingx6mrNoSzRjP0ZdKeum0CN85MYut3oxJGto4uH OkdqOOjUYD8X1Q/8yEU9Fydw1P6ba/ValQNHk/VnAXpQfYtAlns3uOju1Fvo+vkTBCpr6+Ki MwMOHvp67BqGmi1PMXSy6y8eMvUN8JDD2g1QyacD2OZAurWuFdC9jiZAjzXNcOjvqh08utH6 AKMtLZ8R9M0bVoLuaDLSpsuLOF3R2QLo5YO1PLp0YIygnZZQ2j7r5KX77s5NVDLyHEYfxmiy tTkqjSKJevWNzK2Z8VKROEosQwlUmEaexyRRyTvSo7ap1K4JUGEfytX5LildzrJUzMZEvTbf wIQptawhiWJ0OWqdRBfNyvPYfI0iWsMYNohFoth4l3FPrrKp4gegazMWPjVfJIrA56pS4MOH pAS2n7uPlQIB35+8AODEV3/yPMUMgKNTS8BTzAHY3HUMX410FLd6I30AlixYvJESDNrnKjC3 iyAj4dwfVwg3B5DFAN47bHAzh3zCgVUjoW5eQ74Cf2464vLz+TgZDs8cE7llISmD9vkyzNPs BXi6rZ/jtviQG2Dt8nseeYUP+4bTPJwMG3puEh5eA6cGO3keDoLO6T6vroC3nYeAh3WwtqjT u/0m2D9yAndvzyEj4LnzMR45BJrtZzHPgX1h+ZP7XrsQ9tatMgVPXh3ytoJw9FEX18M0NB+t 846nHMCqcQdeCUKr/2/RAEALeJ7RsXkKho3XxWqYgv/uLFubZwH/vvH1Kb3g7p3H0TaA8YEN QD6HChCKCouy/IU58n0fMXptpj5fzbA2EO+a3hecoOeyta5PojFkiiUykUQqlUpkcVIxFSgk V4qz/EmF3MDkMoyO0a/mML5PUBFWsJfXrEUhCSbhurS+8qjYXW+qrFy9IPf0qZ0JKxkFfrL4 4d2BpktlhEZavyXSN1hrFhlSJaPmdRnBPy0cDpfM1cbtTxosKNlnfN1y4PK4RCG3KYIVmCAo XGcqTiEDsHbQMPzJ1m8axt9xzpo2SZUT/ZMLeMza/exLx+M4D21v123bOFS4Y4UKuzI9z/tV LFq74IjcUrmzKPVL4x6jINkcAJcyKpbxRcK68HDvlGEePl7M/H3w5U71u5tz3scsE1Zl5fVd 36Zayg7IBDU9jtes2K2/W59VzbLbRx9ZfvFTqIY/9ksZSgyJ3S49Wj/2wfTxC9OFs2lLkfbq 79sP4hEUzirl4vUcPSv/B9MnWh1sBAAA X-Brightmail-Tracker: H4sIAAAAAAAAAzWRe0hTYRyG/c7OzjlKk9OyPBkaDDKMWi4sv27eqDwJgVEhWLGOelJRp22m JVG2Utq6eOnmXXOz2JxL521eKl2ToZkphStwlpXZzZLM8k5O6b+X3/Pwe/94CQ4/B3UjYiXJ rFTCxAswJ7ThqcBjE1t4KcLbosXgu5IGDKomRxD4VjWOQlNtPQ7rXhVy4ANLGxeWmnu4sLH9 PQprPi/QvnwbCkdK9QB+KRjEoOFDPxcOfQ2DL5uLMHitup4Lq8w2HFZY+xB43zCLwPL63zjM eGTGoa21AcDLmWYkwJXWlegAbbSpAW1V/+LQTQU2nFa1fkFog1aB0QP9rRhdq75AZ3RMo/SN Oi2g5+XFOK00WzF63OBBd02M46HO4U67otj42BRWutnvhFOM+kYnSKq+cGb2djuWDrJilcCR oEgfqvaiDlECJ4JPtgDqtbaTuwQoSjOTC5byCkozP4IvSXKE+padtQgwciP15+czzA5cyAxA WTWKxVccMgelblmnOXZrBbmXeq2+ugAIAiXXUVV3vO1nHrmd6pq8hiw1rKUqq9s4dsWR3EEV zx+3R/6CMvwEZgPnMuCgBavZJFlCdIJMlCSSsKlCGZMgOy2JFkYmJhjA4mobvIygUTsmNAGE ACZAERyBC8/7THoEnxfFnE1jpYli6el4VmYCawhU4MrrVXaK+WQ0k8zGsWwSK/1PEcLRLR3R ZZ2XX9cUzBqGgjKPlnaMTW8rm473VDDZK7239t1s1kddrfdkpgzc4iPMREv+3BaH3v2S94Py dEV+mDlZn1e+Ly/0s+hW8c89bUJd+C9P/WM/WzMI8ZhpOyzC8/ipQ1O7g3py9ClxrgMhzslX lj+wxP3wOpVbJhAvi4G9B4tITHtgNHuup1boLywhS9Ok0Zbl3e1x2ib3+SLxd7eP7sPBuz5V qg7lRo713FXf23tyuMJzp0Z+McD3Ie+7ThXoem6ff7AywvnY/lUpFV5wVORT8mN9WnDRX2Of pfuNQpyp7L/tu25K8Vd3qmlirtL2fMKI14ym+r44FPjBwZhpahSgshhGtIEjlTH/AFTWF64k AwAA X-CMS-MailID: 20220517125605epcas5p44cbb77e6bc15ceb32a934e326fc777ef X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125605epcas5p44cbb77e6bc15ceb32a934e326fc777ef References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055756_301930_749DA7FD X-CRM114-Status: GOOD ( 30.53 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add support for MFCv12, with a new register file and necessary hw control, decoder, encoder and structural changes. Add luma dbp, chroma dpb and mv sizes for each codec as per the UM for MFCv12, along with appropriate alignment. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 49 +++++++++++ .../media/platform/samsung/s5p-mfc/s5p_mfc.c | 30 +++++++ .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 13 ++- .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 2 +- .../platform/samsung/s5p-mfc/s5p_mfc_dec.c | 6 +- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 5 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 8 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 84 +++++++++++++++++-- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 2 + 9 files changed, 178 insertions(+), 21 deletions(-) create mode 100644 drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h diff --git a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h new file mode 100644 index 000000000000..efb77c2bf913 --- /dev/null +++ b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h @@ -0,0 +1,49 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Register definition file for Samsung MFC V12.x Interface (FIMV) driver + * + * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * http://www.samsung.com/ + */ + +#ifndef _REGS_MFC_V12_H +#define _REGS_MFC_V12_H + +#include +#include "regs-mfc-v10.h" + +/* MFCv12 Context buffer sizes */ +#define MFC_CTX_BUF_SIZE_V12 (30 * SZ_1K) +#define MFC_H264_DEC_CTX_BUF_SIZE_V12 (2 * SZ_1M) +#define MFC_OTHER_DEC_CTX_BUF_SIZE_V12 (30 * SZ_1K) +#define MFC_H264_ENC_CTX_BUF_SIZE_V12 (100 * SZ_1K) +#define MFC_HEVC_ENC_CTX_BUF_SIZE_V12 (40 * SZ_1K) +#define MFC_OTHER_ENC_CTX_BUF_SIZE_V12 (25 * SZ_1K) + +/* MFCv12 variant defines */ +#define MAX_FW_SIZE_V12 (SZ_1M) +#define MAX_CPB_SIZE_V12 (7 * SZ_1M) +#define MFC_VERSION_V12 0xC0 +#define MFC_NUM_PORTS_V12 1 + +/* Encoder buffer size for MFCv12 */ +#define ENC_V120_BASE_SIZE(x, y) \ + (((x + 3) * (y + 3) * 8) \ + + (((y * 64) + 2304) * (x + 7) / 8)) + +#define ENC_V120_H264_ME_SIZE(x, y) \ + (ENC_V120_BASE_SIZE(x, y) \ + + (DIV_ROUND_UP(x * y, 64) * 32)) + +#define ENC_V120_MPEG4_ME_SIZE(x, y) \ + (ENC_V120_BASE_SIZE(x, y) \ + + (DIV_ROUND_UP(x * y, 128) * 16)) + +#define ENC_V120_VP8_ME_SIZE(x, y) \ + ENC_V120_BASE_SIZE(x, y) + +#define ENC_V120_HEVC_ME_SIZE(x, y) \ + (((x + 3) * (y + 3) * 32) \ + + (((y * 128) + 2304) * (x + 3) / 4)) + +#endif /*_REGS_MFC_V12_H*/ diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c index 761341934925..a4e3df24b4ae 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c @@ -775,6 +775,8 @@ static int s5p_mfc_open(struct file *file) INIT_LIST_HEAD(&ctx->dst_queue); ctx->src_queue_cnt = 0; ctx->dst_queue_cnt = 0; + ctx->is_422 = 0; + ctx->is_10bit = 0; /* Get context number */ ctx->num = 0; while (dev->ctx[ctx->num]) { @@ -1638,6 +1640,31 @@ static struct s5p_mfc_variant mfc_drvdata_v10 = { .fw_name[0] = "s5p-mfc-v10.fw", }; +static struct s5p_mfc_buf_size_v6 mfc_buf_size_v12 = { + .dev_ctx = MFC_CTX_BUF_SIZE_V12, + .h264_dec_ctx = MFC_H264_DEC_CTX_BUF_SIZE_V12, + .other_dec_ctx = MFC_OTHER_DEC_CTX_BUF_SIZE_V12, + .h264_enc_ctx = MFC_H264_ENC_CTX_BUF_SIZE_V12, + .hevc_enc_ctx = MFC_HEVC_ENC_CTX_BUF_SIZE_V12, + .other_enc_ctx = MFC_OTHER_ENC_CTX_BUF_SIZE_V12, +}; + +static struct s5p_mfc_buf_size buf_size_v12 = { + .fw = MAX_FW_SIZE_V12, + .cpb = MAX_CPB_SIZE_V12, + .priv = &mfc_buf_size_v12, +}; + +static struct s5p_mfc_variant mfc_drvdata_v12 = { + .version = MFC_VERSION_V12, + .version_bit = MFC_V12_BIT, + .port_num = MFC_NUM_PORTS_V12, + .buf_size = &buf_size_v12, + .fw_name[0] = "s5p-mfc-v12.fw", + .clk_names = {"mfc"}, + .num_clocks = 1, +}; + static const struct of_device_id exynos_mfc_match[] = { { .compatible = "samsung,mfc-v5", @@ -1657,6 +1684,9 @@ static const struct of_device_id exynos_mfc_match[] = { }, { .compatible = "samsung,mfc-v10", .data = &mfc_drvdata_v10, + }, { + .compatible = "samsung,mfc-v12", + .data = &mfc_drvdata_v12, }, {}, }; diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h index ae266d8518d1..eed4d8f71a3a 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h @@ -19,7 +19,7 @@ #include #include #include "regs-mfc.h" -#include "regs-mfc-v10.h" +#include "regs-mfc-v12.h" #define S5P_MFC_NAME "s5p-mfc" @@ -720,6 +720,8 @@ struct s5p_mfc_ctx { struct v4l2_ctrl *ctrls[MFC_MAX_CTRLS]; struct v4l2_ctrl_handler ctrl_handler; size_t scratch_buf_size; + int is_10bit; + int is_422; }; /* @@ -775,6 +777,7 @@ void s5p_mfc_cleanup_queue(struct list_head *lh, struct vb2_queue *vq); #define IS_MFCV7_PLUS(dev) (dev->variant->version >= 0x70 ? 1 : 0) #define IS_MFCV8_PLUS(dev) (dev->variant->version >= 0x80 ? 1 : 0) #define IS_MFCV10_PLUS(dev) (dev->variant->version >= 0xA0 ? 1 : 0) +#define IS_MFCV12(dev) (dev->variant->version >= 0xC0 ? 1 : 0) #define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10_PLUS(dev)) #define MFC_V5_BIT BIT(0) @@ -782,11 +785,13 @@ void s5p_mfc_cleanup_queue(struct list_head *lh, struct vb2_queue *vq); #define MFC_V7_BIT BIT(2) #define MFC_V8_BIT BIT(3) #define MFC_V10_BIT BIT(5) +#define MFC_V12_BIT BIT(7) #define MFC_V5PLUS_BITS (MFC_V5_BIT | MFC_V6_BIT | MFC_V7_BIT | \ - MFC_V8_BIT | MFC_V10_BIT) + MFC_V8_BIT | MFC_V10_BIT | MFC_V12_BIT) #define MFC_V6PLUS_BITS (MFC_V6_BIT | MFC_V7_BIT | MFC_V8_BIT | \ - MFC_V10_BIT) -#define MFC_V7PLUS_BITS (MFC_V7_BIT | MFC_V8_BIT | MFC_V10_BIT) + MFC_V10_BIT | MFC_V12_BIT) +#define MFC_V7PLUS_BITS (MFC_V7_BIT | MFC_V8_BIT | MFC_V10_BIT | \ + MFC_V12_BIT) #endif /* S5P_MFC_COMMON_H_ */ diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c index ffe9f7e79eca..877e5bceb75b 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c @@ -130,7 +130,7 @@ int s5p_mfc_reset(struct s5p_mfc_dev *dev) mfc_write(dev, 0, S5P_FIMV_REG_CLEAR_BEGIN_V6 + (i*4)); /* check bus reset control before reset */ - if (dev->risc_on) + if (dev->risc_on && !IS_MFCV12(dev)) if (s5p_mfc_bus_reset(dev)) return -EIO; /* Reset diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c index 4b89df8bfd18..37f6c8a80871 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c @@ -146,7 +146,7 @@ static struct s5p_mfc_fmt formats[] = { .codec_mode = S5P_FIMV_CODEC_HEVC_DEC, .type = MFC_FMT_DEC, .num_planes = 1, - .versions = MFC_V10_BIT, + .versions = MFC_V10_BIT | MFC_V12_BIT, .flags = V4L2_FMT_FLAG_DYN_RESOLUTION | V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM, }, @@ -155,7 +155,7 @@ static struct s5p_mfc_fmt formats[] = { .codec_mode = S5P_FIMV_CODEC_VP9_DEC, .type = MFC_FMT_DEC, .num_planes = 1, - .versions = MFC_V10_BIT, + .versions = MFC_V10_BIT | MFC_V12_BIT, .flags = V4L2_FMT_FLAG_DYN_RESOLUTION, }, }; @@ -357,7 +357,7 @@ static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format *f) pix_mp->width = ctx->buf_width; pix_mp->height = ctx->buf_height; pix_mp->field = V4L2_FIELD_NONE; - pix_mp->num_planes = 2; + pix_mp->num_planes = ctx->dst_fmt->num_planes; /* Set pixelformat to the format in which MFC outputs the decoded frame */ pix_mp->pixelformat = ctx->dst_fmt->fourcc; diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index a8877d805b29..ae2c0977b24e 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -92,7 +92,7 @@ static struct s5p_mfc_fmt formats[] = { .codec_mode = S5P_FIMV_CODEC_HEVC_ENC, .type = MFC_FMT_ENC, .num_planes = 1, - .versions = MFC_V10_BIT, + .versions = MFC_V10_BIT | MFC_V12_BIT, }, }; @@ -1179,7 +1179,8 @@ static int enc_post_seq_start(struct s5p_mfc_ctx *ctx) if (FW_HAS_E_MIN_SCRATCH_BUF(dev)) { ctx->scratch_buf_size = s5p_mfc_hw_call(dev->mfc_ops, get_e_min_scratch_buf_size, dev); - ctx->bank1.size += ctx->scratch_buf_size; + if (!IS_MFCV12(dev)) + ctx->bank1.size += ctx->scratch_buf_size; } ctx->state = MFCINST_HEAD_PRODUCED; } diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h index b9831275f3ab..87ac56756a16 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h @@ -166,9 +166,9 @@ struct s5p_mfc_regs { void __iomem *d_decoded_third_addr;/* only v7 */ void __iomem *d_used_dpb_flag_upper;/* v7 and v8 */ void __iomem *d_used_dpb_flag_lower;/* v7 and v8 */ - void __iomem *d_min_scratch_buffer_size; /* v10 */ - void __iomem *d_static_buffer_addr; /* v10 */ - void __iomem *d_static_buffer_size; /* v10 */ + void __iomem *d_min_scratch_buffer_size; /* v10 and v12 */ + void __iomem *d_static_buffer_addr; /* v10 and v12 */ + void __iomem *d_static_buffer_size; /* v10 and v12 */ /* encoder registers */ void __iomem *e_frame_width; @@ -268,7 +268,7 @@ struct s5p_mfc_regs { void __iomem *e_vp8_hierarchical_qp_layer0;/* v7 and v8 */ void __iomem *e_vp8_hierarchical_qp_layer1;/* v7 and v8 */ void __iomem *e_vp8_hierarchical_qp_layer2;/* v7 and v8 */ - void __iomem *e_min_scratch_buffer_size; /* v10 */ + void __iomem *e_min_scratch_buffer_size; /* v10 and v12 */ void __iomem *e_num_t_layer; /* v10 */ void __iomem *e_hier_qp_layer0; /* v10 */ void __iomem *e_hier_bit_rate_layer0; /* v10 */ diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 728d255e65fc..98c524688b45 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -82,7 +82,53 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->tmv_buffer_size = S5P_FIMV_NUM_TMV_BUFFERS_V6 * ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V6(mb_width, mb_height), S5P_FIMV_TMV_BUFFER_ALIGN_V6); - if (IS_MFCV10_PLUS(dev)) { + if (IS_MFCV12(dev)) { + lcu_width = S5P_MFC_LCU_WIDTH(ctx->img_width); + lcu_height = S5P_MFC_LCU_HEIGHT(ctx->img_height); + if (ctx->codec_mode == S5P_FIMV_CODEC_HEVC_ENC && + ctx->is_10bit) { + ctx->luma_dpb_size = + ALIGN(ctx->img_width, 64) * + ALIGN(ctx->img_height, 32) + + ALIGN(DIV_ROUND_UP(lcu_width * 32, 4), + 16) * ALIGN(ctx->img_height, 32) + 128; + if (ctx->is_422) { + ctx->chroma_dpb_size = + ctx->luma_dpb_size; + } else { + ctx->chroma_dpb_size = + ALIGN(ctx->img_width, 64) * + ALIGN(ctx->img_height, 32) / 2 + + ALIGN(DIV_ROUND_UP(lcu_width * + 32, 4), 16) * + ALIGN(ctx->img_height, 32) / 2 + + 128; + } + } else if (ctx->codec_mode == S5P_FIMV_CODEC_VP9_ENC && + ctx->is_10bit) { + ctx->luma_dpb_size = + ALIGN(ctx->img_width * 2, 128) * + ALIGN(ctx->img_height, 32) + 64; + ctx->chroma_dpb_size = + ALIGN(ctx->img_width * 2, 128) * + (ALIGN(ctx->img_height, 32) / 2) + 64; + } else { + ctx->luma_dpb_size = + ALIGN(ctx->img_width, 64) * + ALIGN(ctx->img_height, 32) + 64; + if (ctx->is_422) { + ctx->chroma_dpb_size = + ctx->luma_dpb_size; + } else { + ctx->chroma_dpb_size = + ALIGN(ctx->img_width, 64) * + (ALIGN(ctx->img_height, 32) / 2) + + 64; + } + } + ctx->luma_dpb_size = ALIGN(ctx->luma_dpb_size + 256, SZ_2K); + ctx->chroma_dpb_size = ALIGN(ctx->chroma_dpb_size + 256, SZ_2K); + } else if (IS_MFCV10_PLUS(dev)) { lcu_width = S5P_MFC_LCU_WIDTH(ctx->img_width); lcu_height = S5P_MFC_LCU_HEIGHT(ctx->img_height); if (ctx->codec_mode != S5P_FIMV_CODEC_HEVC_ENC) { @@ -230,7 +276,12 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) DEC_VP9_STATIC_BUFFER_SIZE; break; case S5P_MFC_CODEC_H264_ENC: - if (IS_MFCV10_PLUS(dev)) { + if (IS_MFCV12(dev)) { + mfc_debug(2, "Use min scratch buffer size\n"); + ctx->me_buffer_size = + ALIGN(ENC_V120_H264_ME_SIZE(mb_width, + mb_height), 256); + } else if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_H264_ME_SIZE(mb_width, mb_height), 16); @@ -254,7 +305,12 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) break; case S5P_MFC_CODEC_MPEG4_ENC: case S5P_MFC_CODEC_H263_ENC: - if (IS_MFCV10_PLUS(dev)) { + if (IS_MFCV12(dev)) { + mfc_debug(2, "Use min scratch buffer size\n"); + ctx->me_buffer_size = + ALIGN(ENC_V120_MPEG4_ME_SIZE(mb_width, + mb_height), 256); + } else if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_MPEG4_ME_SIZE(mb_width, @@ -273,7 +329,12 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank2.size = 0; break; case S5P_MFC_CODEC_VP8_ENC: - if (IS_MFCV10_PLUS(dev)) { + if (IS_MFCV12(dev)) { + mfc_debug(2, "Use min scratch buffer size\n"); + ctx->me_buffer_size = + ALIGN(ENC_V120_VP8_ME_SIZE(mb_width, mb_height), + 256); + } else if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_VP8_ME_SIZE(mb_width, mb_height), @@ -297,9 +358,15 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank2.size = 0; break; case S5P_MFC_CODEC_HEVC_ENC: + if (IS_MFCV12(dev)) + ctx->me_buffer_size = + ALIGN(ENC_V120_HEVC_ME_SIZE(lcu_width, + lcu_height), 256); + else + ctx->me_buffer_size = + ALIGN(ENC_V100_HEVC_ME_SIZE(lcu_width, + lcu_height), 16); mfc_debug(2, "Use min scratch buffer size\n"); - ctx->me_buffer_size = - ALIGN(ENC_V100_HEVC_ME_SIZE(lcu_width, lcu_height), 16); ctx->scratch_buf_size = ALIGN(ctx->scratch_buf_size, 256); ctx->bank1.size = ctx->scratch_buf_size + ctx->tmv_buffer_size + @@ -452,7 +519,10 @@ static void s5p_mfc_dec_calc_dpb_size_v6(struct s5p_mfc_ctx *ctx) if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || ctx->codec_mode == S5P_MFC_CODEC_H264_MVC_DEC) { - if (IS_MFCV10_PLUS(dev)) { + if (IS_MFCV12(dev)) { + ctx->mv_size = S5P_MFC_DEC_MV_SIZE_V12(ctx->img_width, + ctx->img_height); + } else if (IS_MFCV10_PLUS(dev)) { ctx->mv_size = S5P_MFC_DEC_MV_SIZE_V10(ctx->img_width, ctx->img_height); } else { diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h index e4dd03c5454c..ee2018ee95cc 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h @@ -23,6 +23,8 @@ (((MB_HEIGHT(y)+1)/2)*2) * 64 + 128) #define S5P_MFC_DEC_MV_SIZE_V10(x, y) (MB_WIDTH(x) * \ (((MB_HEIGHT(y)+1)/2)*2) * 64 + 512) +#define S5P_MFC_DEC_MV_SIZE_V12(x, y) (MB_WIDTH(x) * \ + (((MB_HEIGHT(y)+1)/2)*2) * 64 + 1024) #define S5P_MFC_LCU_WIDTH(x_size) DIV_ROUND_UP(x_size, 32) #define S5P_MFC_LCU_HEIGHT(y_size) DIV_ROUND_UP(y_size, 32) From patchwork Tue May 17 12:55:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852450 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 61C1DC433FE for ; Tue, 17 May 2022 13:04:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=Fj9NxYiEi52x59Zi7ZKagRxpq3pK1unErKyTUXB+BpM=; b=aHzxrVtDNx0HaC odYE8RRYYWU6bHunIcyW+fkid1cJbfVP0ogqc2oKw34ndQaU22x7elV2Jx9kaED1Y3oj0hSW9Du+I pkIdCxUgeernL6+rFn9wwyjs6se8GlxmY8uvLPCvNro2TDPOslr6YnrwcHj7KUllW5kjQhA0ZxyWh Qb4NQn8YtlTY/Y7loqF0qWgLOmCftsw1RjPh/aB3Z9qwCGbY1HHKibP4Rk7ieSK82fH+zXb5+OvTZ 78lNQZwD+5LhXATOwdbyck6sYQQSLtj+27EhhFXjxogF3Ni7U6+t0S5gK3chzKrRVv26agQm+LpuF Pis+cKQ5wxVhfBVQFs3Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwr6-00DleG-Ep; Tue, 17 May 2022 13:03:16 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwm1-00DinI-Jp for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:03 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20220517125759epoutp03c7a3db857fb61041fe5bc8308724bb3c~v5dI-ydL_0460504605epoutp03J for ; Tue, 17 May 2022 12:57:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220517125759epoutp03c7a3db857fb61041fe5bc8308724bb3c~v5dI-ydL_0460504605epoutp03J DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792279; bh=crA0yr3cVcaZppYCAPoQL5spijojPGTodvsobyWSZ2w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UFhTAEV0ltAYW0jbP7A/UfDnF6btt5QFyxipXqgpa4XPx2LKiWSKEQAx05CAwvv7n zJ1JhP26oq6HlPRG2/JKBHGhWbUYvv5U/yGZC1Bw33hKtYgaVLe03biUksloZsbfBS eMyy/1ZsnpsDlfGkvY1Q5k4PW31ru9j5VVXiuL9I= Received: from epsnrtp4.localdomain (unknown [182.195.42.165]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125758epcas5p3fd89996c0a68e223d81c309ef3158f64~v5dIAkYlT2692026920epcas5p3E; Tue, 17 May 2022 12:57:58 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.175]) by epsnrtp4.localdomain (Postfix) with ESMTP id 4L2bkr1ZKJz4x9Pv; Tue, 17 May 2022 12:57:56 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 40.2F.10063.3DB93826; Tue, 17 May 2022 21:57:56 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125608epcas5p48b5d2f91c711e5728f993169b1d4b9a1~v5bhwXQLP2591625916epcas5p45; Tue, 17 May 2022 12:56:08 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125608epsmtrp195557ac40a9638a6ee54bd05e56b2e06~v5bhvLMeA3276532765epsmtrp1T; Tue, 17 May 2022 12:56:08 +0000 (GMT) X-AuditID: b6c32a49-4cbff7000000274f-90-62839bd322b5 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 08.36.08924.86B93826; Tue, 17 May 2022 21:56:08 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125605epsmtip1376c86dd6f2dca6e781d24857ba6534d~v5bestEzs1797117971epsmtip1E; Tue, 17 May 2022 12:56:05 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 06/20] Documention: v4l: Documentation for VP9 CIDs. Date: Tue, 17 May 2022 18:25:34 +0530 Message-Id: <20220517125548.14746-7-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf1BUVRTHve/tvl3QlTeIwwUV6DmWMAG7sKwXhFCj5qGYMORYTrQ+4LUQ y+7OviWgnEJXkGWkyCGHH/Ij2bKQFBaW30xAa4RCAxPCNLmBoRGWRYImEdiuD+q/zznne37M OfeKcffvCW9xusbA6jWMmiJcBa1f+fsHjlUak6VlQxiaqm4lUN2jGQxN1s0LUH+zVYRaxipx dHGgV4hqbN8KUVvfTwLU9IsjOlpuF6CZmssAzVb8SCDL9LgQ3bp7BH3XeZ5AZxqtQvSFzS5C n0yMYuhTyz8YumBdEKH8HpsI2btbATpVYMP2eNIN1Q2AbrebAT1hvo/THRV2EV3XPYvRlnoT Qd8c7yboZvN7dP7VvwX0+y31gF45WSWii2wTBD1v8aGvPZgXxW88mhGZxjKprN6P1aRoU9M1 qijqQKLyeWWYQioLlIWjXZSfhslko6iYuPjAF9PVjg1Qfm8x6iyHK57hOCr4uUi9NsvA+qVp OUMUxepS1Tq5LohjMrksjSpIwxoiZFJpSJhDeCwjzXKO0BllOU1zRSAPTD1TBFzEkJRDc2MD 7mR3sgvA32qzi4Crg+8DWNvYRfDGPIClv5fjaxk9MwuAD3QCaK23YrxxCoMXy+49URHks/Dh H9cJJ3uQJwCcLjQ4GSeXcFg+5uPkTWQMPD3cDJwsIHfAqut9mJMlZDj8c+SskO/mCy819jpq isUuZASsWkly9oLkYzH8/MoUwWtiYLHRJOJ5E7w70LLK3nD2g4JVVsHJeSPgWQer8lownqNh 79h5gbM+TvrDK53BvHsb/OjaZYwfeSMsXrq9KpfA9uo1puCFoW9Wy0N44551dWQaLrSO4PxO igF8aPxBUAJ8Kv5vUQtAPfBidVymiuXCdDINm/3fzVK0mRbw5I0HxLYD+9RcUD/AxKAfQDFO eUikOXnJ7pJUJvdtVq9V6rPULNcPwhz7+xD33pyidXwSjUEpk4dL5QqFQh4eqpBRnhLy8Ylk d1LFGNgMltWx+rU8TOzinYdRPyuYdfZDT3s29U8sPvL6Fb8qd1l8Y/RmRPCd7We35njvOBxd uahLP1hGlu67Mx1St3tFg+DmV80Ha97Zim3L17e/G2kbL9m59HFCgceIf0D+cnPKsXJ3ifp4 rWvh+jrgETu8QK1LyjhEmSZDDnd17Ocqdr6uPCdIqtZObXCLVsU3Fc68lBDy5eDwpQd43L6/ sLCje1GzdW/Kad9Yr1DUEfK1puWFGxvctE8d6ItLz+7x2D5Y9plvYuAMccv6cqUpbbDApy10 bP0eLrfTJ3dLAsYt22Nby0xuuxZ226e3vHZEN3e8NPGVof0nz5gHRmCJrq3ozWH5sFG9HA3t t5WwWEgJuDRGFoDrOeZfADax6WwEAAA= X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRiA+87Ozo6ryWkWfi40WmigZWoRn2ZpZXHAyKKwCLqsPE3TzbFZ WnSZTq1GdJGhTZtaWqaZ6HRqOsnLNMq8oW1Ermwmc0mlaVIqIy/073l5Ht73x0uy+PdxARkn TWLkUlGCkODitW1Cr02xeaozAbYKTzSUX0ugoj92DH0umsRRa7WBg2oG8lio5HUzGxWYutmo rsWGo6rRedunteLIXlABkCP3E4H0w2Y2+vLtKOpveEig25UGNnphsnLQE0sfhp7q5zD02DDF QRlNJg6yGmsBSs80YeHudHl+OaDrrcWAthT/YtEvc60cusjowGh92S2CHjQbCbq6+Dqd0T6D 03dqygDtTNNxaLXJQtCTei/67e9JzkHX49zQGCYh7iIj37zzNDdWn03IVIEpVeNqoARDG9TA hYTUVthknwJqwCX5VD2A3eYW1pKAsHQ2CyyxGyx12jlLURoGs+zOxYigNsLpn53EglhFZQBo Kb2FLQws6j4ONZaZxcqNioA3uqoXV+GUN9R1tmALzKOC4URvFnvpxFr4vLJ5vidJFyoE6pwn FpA/n4y8QveAayFYVgY8GJlCIpYoAmVBUibZXyGSKC5Ixf5nEyV6sPg1X996YCwb928FGAla ASRZwlW8gBTlGT4vRnTpMiNPPCW/kMAoWsEaEhe683rVb07xKbEoiYlnGBkj/28x0kWgxIpf y4aCtn1M2ONT3uiqrN41Nxyj2bXNsWO38VwEc3VAdfsk5HG1bgYjmBtsSg9/iL1/bG4X+N85 Xtrx0bxSnBv5c8XAlRHNsE9EScQ1SY2b5oW7dwzWnyqoD56ZLkyKFufIyNzM3t09f/NqYcXI xnLCdmTsneYas1/oHOixr9VK8z7QvXGe2PfzbfuSuKK9Q1PsyWiX5Ecexh+NXz23h72d0Dpa DOS0KnG97VnPiq5s17svv+zV1R3I0TpzNtE3okINY6rLyjq/5vW67I7MYzZBoNfBQ4MlGnnU jM/qhvjR8dmb75eLbKGRIevG4lLDDrH8oiYOD/9xaA4/2MLtFuKKWFGgL0uuEP0D8Nwq5SQD AAA= X-CMS-MailID: 20220517125608epcas5p48b5d2f91c711e5728f993169b1d4b9a1 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125608epcas5p48b5d2f91c711e5728f993169b1d4b9a1 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055802_081550_4756CDE1 X-CRM114-Status: GOOD ( 15.50 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Adds V4l2 controls for VP9 encoder documention. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../media/v4l/ext-ctrls-codec.rst | 167 ++++++++++++++++++ 1 file changed, 167 insertions(+) diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst index 4cd7c541fc30..1b617a08f973 100644 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst @@ -2165,6 +2165,16 @@ enum v4l2_mpeg_video_vp8_profile - * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3`` - Profile 3 +VP9 Control Reference +--------------------- + +The VP9 controls include controls for encoding parameters of VP9 video +codec. + +.. _vp9-control-id: + +VP9 Control IDs + .. _v4l2-mpeg-video-vp9-profile: ``V4L2_CID_MPEG_VIDEO_VP9_PROFILE`` @@ -2231,6 +2241,163 @@ enum v4l2_mpeg_video_vp9_level - * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2`` - Level 6.2 +``V4L2_CID_MPEG_VIDEO_VP9_I_FRAME_QP`` + Quantization parameter for an I frame for VP9. Valid range: from 1 to 255. + +``V4L2_CID_MPEG_VIDEO_VP9_P_FRAME_QP`` + Quantization parameter for an P frame for VP9. Valid range: from 1 to 255. + +``V4L2_CID_MPEG_VIDEO_VP9_MAX_QP`` + Maximum quantization parameter for VP9. Valid range: from 1 to 255. + Recommended range for MFC is from 230 to 255. + +``V4L2_CID_MPEG_VIDEO_VP9_MIN_QP`` + Minimum quantization parameter for VP9. Valid range: from 1 to 255. + Recommended range for MFC is from 1 to 24. + +``V4L2_CID_MPEG_VIDEO_VP9_RC_FRAME_RATE`` + Indicates the number of evenly spaced subintervals, called ticks, within + one second. This is a 16 bit unsigned integer and has a maximum value up to + 0xffff and a minimum value of 1. + +``V4L2_CID_MPEG_VIDEO_VP9_GF_REFRESH_PERIOD`` + Indicates the refresh period of the golden frame for VP9 encoder. + +.. _v4l2-vp9-golden-frame-sel: + +``V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL`` + (enum) + +enum v4l2_mpeg_vp9_golden_framesel - + Selects the golden frame for encoding. Valid when NUM_OF_REF is 2. + Possible values are: + +.. raw:: latex + + \footnotesize + +.. tabularcolumns:: |p{9.0cm}|p{8.0cm}| + +.. flat-table:: + :header-rows: 0 + :stub-columns: 0 + + * - ``V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_PREV`` + - Use the (n-2)th frame as a golden frame, current frame index being + 'n'. + * - ``V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_REF_PERIOD`` + - Use the previous specific frame indicated by + ``V4L2_CID_MPEG_VIDEO_VP9_GF_REFRESH_PERIOD`` as a + golden frame. + +.. raw:: latex + + \normalsize + + +``V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_QP_ENABLE`` + Allows host to specify the quantization parameter values for each + temporal layer through HIERARCHICAL_QP_LAYER. This is valid only + if HIERARCHICAL_CODING_LAYER is greater than 1. Setting the control + value to 1 enables setting of the QP values for the layers. + +.. _v4l2-vp9-ref-number-of-pframes: + +``V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES`` + (enum) + +enum v4l2_mpeg_vp9_ref_num_for_pframes - + Number of reference pictures for encoding P frames. + +.. raw:: latex + + \footnotesize + +.. tabularcolumns:: |p{9.0cm}|p{8.0cm}| + +.. flat-table:: + :header-rows: 0 + :stub-columns: 0 + + * - ``V4L2_CID_MPEG_VIDEO_VP9_1_REF_PFRAME`` + - Indicates one reference frame, last encoded frame will be searched. + * - ``V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_REF_PERIOD`` + - Indicates 2 reference frames, last encoded frame and golden frame + will be searched. + +.. raw:: latex + + \normalsize + + +``V4L2_CID_MPEG_VIDEO_VP9_HIERARCHICAL_CODING_LAYER`` + Indicates the number of hierarchial coding layer. + In normal encoding (non-hierarchial coding), it should be zero. + VP9 has upto 3 layer of encoder. + +``V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_RC_ENABLE`` + Indicates enabling of bit rate for hierarchical coding layers VP9 encoder. + +``V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_BR`` + Indicates bit rate for hierarchical coding layer 0 for VP9 encoder. + +``V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_BR`` + Indicates bit rate for hierarchical coding layer 1 for VP9 encoder. + +``V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_BR`` + Indicates bit rate for hierarchical coding layer 2 for VP9 encoder. + +``V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_QP`` + Indicates quantization parameter for hierarchical coding layer 0. + Valid range: [V4L2_CID_MPEG_VIDEO_VP9_MIN_QP, + V4L2_CID_MPEG_VIDEO_VP9_MAX_QP]. + +``V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_QP`` + Indicates quantization parameter for hierarchical coding layer 1. + Valid range: [V4L2_CID_MPEG_VIDEO_VP9_MIN_QP, + V4L2_CID_MPEG_VIDEO_VP9_MAX_QP]. + +``V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_QP`` + Indicates quantization parameter for hierarchical coding layer 2. + Valid range: [V4L2_CID_MPEG_VIDEO_VP9_MIN_QP, + V4L2_CID_MPEG_VIDEO_VP9_MAX_QP]. + +.. _v4l2-vp9-max-partition-depth: + +``V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH`` + (enum) + +enum v4l2_mpeg_vp9_num_partitions - + Indicate maximum coding unit depth. + +.. raw:: latex + + \footnotesize + +.. tabularcolumns:: |p{9.0cm}|p{8.0cm}| + +.. flat-table:: + :header-rows: 0 + :stub-columns: 0 + + * - ``V4L2_CID_MPEG_VIDEO_VP9_0_PARTITION`` + - No coding unit partition depth. + * - ``V4L2_CID_MPEG_VIDEO_VP9_1_PARTITION`` + - Allows one coding unit partition depth. + +.. raw:: latex + + \normalsize + + +``V4L2_CID_MPEG_VIDEO_VP9_DISABLE_INTRA_PU_SPLIT`` + Zero indicates enable intra NxN PU split. + One indicates disable intra NxN PU split. + +``V4L2_CID_MPEG_VIDEO_VP9_DISABLE_IVF_HEADER`` + Indicates IVF header generation. Zero indicates enable IVF format. + One indicates disable IVF format. + High Efficiency Video Coding (HEVC/H.265) Control Reference =========================================================== From patchwork Tue May 17 12:55:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852451 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4967AC433EF for ; Tue, 17 May 2022 13:05:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=1tI+eNqZgfRe9T0chtb/5hS+y5h/KWUYFuy+e7KIcQA=; b=X8GnDEvsj/5WXm 2u8j/PGP8YXxcTcKKpYlzGMM4wrIyCi45AUO73Jp9oEYFpxHA49jqcmPYrOqTafHpHnSu2TrjCItP WQL4QfN8J2CElPgh+1JKi2J/ziv0U9f4YS3Jpz9f71dV1KWYVCHiDcPGy3ha2Q3RvnlsycmnSzJrv OU9+bWtFFoH86sThcOE1NcYly6QnppXzz28D1tBeN05Xi9dCLSFUDO+bWNMS+GNZnyiWKF0+ewFD5 kRcLvgkOzS8SVePYtlmyx+XjiGHdzfCxCXkDuw9m+UghIBa51VbCf5hKMc4aFj0abYP8Vg/CHWDkC UqKTQ/irmLexff3zR7yA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwrU-00Dlml-LD; Tue, 17 May 2022 13:03:41 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwm7-00Dird-BN for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:09 +0000 Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20220517125805epoutp04bd0d64fc6af2fba432e08dbab89fd073~v5dOYF1BV1581615816epoutp04T for ; Tue, 17 May 2022 12:58:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20220517125805epoutp04bd0d64fc6af2fba432e08dbab89fd073~v5dOYF1BV1581615816epoutp04T DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792285; bh=cRQ3zk3wvBjeVEyf7E0Lw6KXkrabG1oRLGuBC+AkypY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q/TJox87WyR/fh2K7CPJVQ4CKOl15rD93+tIwQ/d941ZrkYPpawBZekWHD8eSxLvo VkHMGtEwRrU1nJquFkz34nvy1GRR23h1VfpzpnfWtqMRyDhvPrMjur7+4m7WYgyGeq ex0ygQqjPhOHM6IOOSd0zgRAvUHYoOIY3/sMtVQA= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125804epcas5p3b4884f6a2d76bc4d13efdb0e501e2b44~v5dNv0ZN42689826898epcas5p3g; Tue, 17 May 2022 12:58:04 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.175]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bkx2Fdkz4x9Q0; Tue, 17 May 2022 12:58:01 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id 73.2C.09762.9DB93826; Tue, 17 May 2022 21:58:01 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p2.samsung.com (KnoxPortal) with ESMTPA id 20220517125612epcas5p28e4cc7a208d1ac68267fa845e932ccc9~v5blBb-nJ2262022620epcas5p2m; Tue, 17 May 2022 12:56:12 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125612epsmtrp14d7701cdac06f040184f09e8dbdc5be7~v5blAP4Iq3276532765epsmtrp1Y; Tue, 17 May 2022 12:56:12 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-bc-62839bd95684 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id E9.36.08924.B6B93826; Tue, 17 May 2022 21:56:11 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125608epsmtip1236942f35aef30c11b75ce80fc86c422~v5bh1kiQF1799817998epsmtip1O; Tue, 17 May 2022 12:56:08 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 07/20] media: v4l2: Add v4l2 control IDs for VP9 encoder. Date: Tue, 17 May 2022 18:25:35 +0530 Message-Id: <20220517125548.14746-8-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTe0xTVxzHPfe2t60RvRYZR7Ih62IMCtgCracCGwlku6LZmFtm4mbwAneF 0BdtYYxksVpgymCAU5S3sww3UHCldBVQXmVs6licIBPsLCgqLs0cxdcguJaW7b/P7/X9/c7v nMPF+eNEEDdTqWM0SlouIFayLAOhm8Jv1hhShV2zPOSotxDI+Ow+hm4bXSzU397BQeaRGhyd GeplowbbMBv90DfFQt8/cEevVdlZ6H5DK0Az1X8QyHTnBhtNPtyDrnfWEqjkfAcbnbPZOeib sWsYajItYOh0xxwHFV60cZC92wJQQZENiw+kztafBZTV3gioscZZnLpQbedQxu4ZjDI1HyGo Wze6Caq98QBVOPgPi/rS3AyoxUN1HKrYNkZQLlMwdfmxi5O8em9WbAZDpzOaEEaZpkrPVMri BDvfS0lIEUuEonCRFG0ThChpBRMnSNyVHP5mpty9AUFILi3PcbuSaa1WsPX1WI0qR8eEZKi0 ujgBo06Xq6PVEVpaoc1RyiKUjG67SCiMFLsT92dljHY/xdT12/L0NdcJPRgUFgMeF5LR0GA7 wy4GK7l8sgvACec94DVmAfz1VBPuNVwAOkqsYLmk/UnZEvPJTgCPtX3kTSrA4MJEJdsTIMgw +OSvK4SH15EHAbxzWOdhnJzHYdVIsIf9yR3Q2l/E8TCL3Ajn2kqXRP1IKTw35NWB5AbYcr7X PQWXyyO3w7rFfZ5ekDTw4N2ff8S9OYlwotbkY3/4cMjM8XIQnCkr8rEM3nYZfAdQwzq9GfPy G7B3pJbl0cfJUNjWudXrfgUev9yKeUdeDUvn7/rS/aC1fpkF8PTVn3zyEI46O3wjU9Be0EN4 d1IK4NXhQnY5CK7+v8UpAJrBekatVcgYrVgdpWQ++e/S0lQKE1h65Jt3WsGU41FEP8C4oB9A Li5Y5yfM06fy/dLpT/MZjSpFkyNntP1A7N5fBR4UkKZy/xKlLkUULRVGSySSaGmURCQI9CNf HEzlkzJax2QxjJrRLNdhXF6QHvslwUnEmz+szP5st3Gw6OTXq1aVfXGxbnK6dHFT7F7Ly2/H 9EX6Z1qyjhjyVxj9Mf5o7THa+ff+E0mhagPLevTVA/f6hm3aQH5dnHhsl7PEURRmfFcW+xbz SP5VqhnSa6IQ1WV8zDF9m+9YDN1dGJD0QZqw5UFTLn6ht+RK+ZbnCYkbynPmmqfG16t5LMUO sfTzfQsVtdKwHv+0LRmVJ7JOTv45eklS1RMTKUpfUZM7tTbg0LPsYkvMparXyDXximyXRdo3 PScfeH5zDB3eM9ASkzn9/jsNcR9/l1gwlfd7xSjboB8/2lpeaZs/fsuUlORITcgrLlU6n770 4jdjsiapDBewtBm0aDOu0dL/AnqEjZxtBAAA X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRiA+87OzjkuZqdledKyXAghNS+UfZWlFMEppCIKQSs75snr5tjR tAu5ZjMcXUy6qMtLaZlTS+clleVlbgwvlfehtjJL7G6olVRITunf8/I8vO+Pl+CJMlEXIlqW wCpkTJwYE6C1rWK3jbHa1HDv0Xvb4EheLQYLZ8YR+KZwCoXGqhocVvdpebDY0syH+aYXfPi0 ZRSFlR/mbHe2DYXj+Y8B/JjzGoP6dwN8+PZTMOxtuIvBKxU1fFhusuHwgbUbgQ/1fxF4v2Ya h+pnJhzaDLUAXkozIYHOdFleGaDrbEWAthZN8uj6HBtOFxo+IrRel47RrwYMGF1VlEKrzb9R +lq1DtCzqlyc1pisGD2ld6Pbf0zhBx1DBP4RbFz0aVbhtfOEIKrf8AuR521JVmp7MSUwe2uA A0GRm6iqn9eBBggIEVkHKMundmRBUFTJn0ywwMuoktlxfCFSIVSlRYnZBUZuoH5OdGB24USq AWUtSUfsA4+8gVI3rb959moZuZeqM6bhdkZJD2r6ydX5tUJyK1Vuuc1fOLGGKq1onusJwoHc RuXOHrOjaC4Za4IZwLEALNKBlayck0ZKOR+5r4xNknCMlEuURUpOxkv1YP5tnp51wKD7LjEC hABGQBE8sZPQO1kZLhJGMGfOsor4MEViHMsZgSuBip2FXZq2MBEZySSwsSwrZxX/LUI4uCiR 4NBzuz77p3j4Ch4emhEOj/URuv2lAdoVAYu2Xmh52cjvlHpcbMxMjQZJB3LfE8ln3/UfNoPU 8JjHoWxG2+b43QlLv21QHZoZOtXh6Npe0xSe0tR59I+kc0nze99foiMyOX93ccjG0eGXivU7 ZNxEK/SqQOuX/GjSMObs4/fLE47SRTuulNwevjDTdaPbb3mH/ypLZYM7RuxZMTnmasRUp79M Z3TWXxs67Bekivl269a+S+vYr9Yg/0Bzn8P5tVMaUXFye1qoDY3OYsLU3Ov+6pHMNe6PvBaz byUjYy7Ec1DMbB/syfbhFJdz7iT1uGF3BlcPemv9ErPVoQXrswwFYpSLYnw8eQqO+Qdv+I5t JQMAAA== X-CMS-MailID: 20220517125612epcas5p28e4cc7a208d1ac68267fa845e932ccc9 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125612epcas5p28e4cc7a208d1ac68267fa845e932ccc9 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055807_828170_BBCF2CD8 X-CRM114-Status: GOOD ( 15.30 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add V4l2 controls for VP9 encoder Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- drivers/media/v4l2-core/v4l2-ctrls-defs.c | 44 +++++++++++++++++++++++ include/uapi/linux/v4l2-controls.h | 33 +++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-ctrls-defs.c b/drivers/media/v4l2-core/v4l2-ctrls-defs.c index 54ca4e6b820b..f251d63e333c 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-defs.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-defs.c @@ -572,6 +572,21 @@ const char * const *v4l2_ctrl_get_menu(u32 id) "VBV/CPB Limit", NULL, }; + static const char * const vp9_golden_framesel[] = { + "Use previous", + "Use refresh period", + NULL, + }; + static const char * const vp9_ref_num_for_pframes[] = { + "1", + "2", + NULL, + }; + static const char * const vp9_max_partition_depth[] = { + "No CU partition depth", + "Allow 1 CU partition depth", + NULL, + }; switch (id) { case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ: @@ -703,6 +718,12 @@ const char * const *v4l2_ctrl_get_menu(u32 id) return hevc_decode_mode; case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE: return hevc_start_code; + case V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL: + return vp9_golden_framesel; + case V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES: + return vp9_ref_num_for_pframes; + case V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH: + return vp9_max_partition_depth; case V4L2_CID_CAMERA_ORIENTATION: return camera_orientation; default: @@ -942,6 +963,26 @@ const char *v4l2_ctrl_get_name(u32 id) case V4L2_CID_MPEG_VIDEO_VP8_PROFILE: return "VP8 Profile"; case V4L2_CID_MPEG_VIDEO_VP9_PROFILE: return "VP9 Profile"; case V4L2_CID_MPEG_VIDEO_VP9_LEVEL: return "VP9 Level"; + case V4L2_CID_MPEG_VIDEO_VP9_I_FRAME_QP: return "VP9 I Frame QP Value"; + case V4L2_CID_MPEG_VIDEO_VP9_P_FRAME_QP: return "VP9 P Frame QP Value"; + case V4L2_CID_MPEG_VIDEO_VP9_MAX_QP: return "VP9 Frame QP MAX Value"; + case V4L2_CID_MPEG_VIDEO_VP9_MIN_QP: return "VP9 Frame QP MIN Value"; + case V4L2_CID_MPEG_VIDEO_VP9_RC_FRAME_RATE: return "VP9 Frame Rate"; + case V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL: return "VP9 Indication of Golden Frame"; + case V4L2_CID_MPEG_VIDEO_VP9_GF_REFRESH_PERIOD: return "VP9 Golden Frame Refresh Period"; + case V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_QP_ENABLE: return "VP9 Hierarchical QP Enable"; + case V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES: return "VP9 Number of Reference Pictures"; + case V4L2_CID_MPEG_VIDEO_VP9_HIERARCHICAL_CODING_LAYER: return "VP9 Num of Hierarchical Layers"; + case V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH: return "VP9 Maximum Coding Unit Depth"; + case V4L2_CID_MPEG_VIDEO_VP9_DISABLE_INTRA_PU_SPLIT: return "VP9 Disable Intra PU Split"; + case V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_RC_ENABLE: return "VP9 Hierarchical BitRate Enable"; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_BR: return "VP9 Hierarchical Layer 0 BitRate"; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_BR: return "VP9 Hierarchical Layer 1 BitRate"; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_BR: return "VP9 Hierarchical Layer 2 BitRate"; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_QP: return "VP9 Layer0 QP Value"; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_QP: return "VP9 Layer1 QP Value"; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_QP: return "VP9 Layer2 QP Value"; + case V4L2_CID_MPEG_VIDEO_VP9_DISABLE_IVF_HEADER: return "VP9 IVF header generation"; /* HEVC controls */ case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP: return "HEVC I-Frame QP Value"; @@ -1357,6 +1398,9 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE: case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE: case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE: + case V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL: + case V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES: + case V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH: case V4L2_CID_STATELESS_H264_DECODE_MODE: case V4L2_CID_STATELESS_H264_START_CODE: case V4L2_CID_CAMERA_ORIENTATION: diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index bb40129446d4..6dd82b738ef5 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -711,6 +711,38 @@ enum v4l2_mpeg_video_vp9_level { V4L2_MPEG_VIDEO_VP9_LEVEL_6_1 = 12, V4L2_MPEG_VIDEO_VP9_LEVEL_6_2 = 13, }; +#define V4L2_CID_MPEG_VIDEO_VP9_RC_FRAME_RATE (V4L2_CID_CODEC_BASE+514) +#define V4L2_CID_MPEG_VIDEO_VP9_MIN_QP (V4L2_CID_CODEC_BASE+515) +#define V4L2_CID_MPEG_VIDEO_VP9_MAX_QP (V4L2_CID_CODEC_BASE+516) +#define V4L2_CID_MPEG_VIDEO_VP9_I_FRAME_QP (V4L2_CID_CODEC_BASE+517) +#define V4L2_CID_MPEG_VIDEO_VP9_P_FRAME_QP (V4L2_CID_CODEC_BASE+518) +#define V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL (V4L2_CID_CODEC_BASE+519) +enum v4l2_mpeg_vp9_golden_framesel { + V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_PREV = 0, + V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_REF_PERIOD = 1, +}; +#define V4L2_CID_MPEG_VIDEO_VP9_GF_REFRESH_PERIOD (V4L2_CID_CODEC_BASE+520) +#define V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_QP_ENABLE (V4L2_CID_CODEC_BASE+521) +#define V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES (V4L2_CID_CODEC_BASE+522) +enum v4l2_mpeg_vp9_ref_num_for_pframes { + V4L2_CID_MPEG_VIDEO_VP9_1_REF_PFRAME = 0, + V4L2_CID_MPEG_VIDEO_VP9_2_REF_PFRAME = 1, +}; +#define V4L2_CID_MPEG_VIDEO_VP9_HIERARCHICAL_CODING_LAYER (V4L2_CID_CODEC_BASE+523) +#define V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_BR (V4L2_CID_CODEC_BASE+524) +#define V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_BR (V4L2_CID_CODEC_BASE+525) +#define V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_BR (V4L2_CID_CODEC_BASE+526) +#define V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_QP (V4L2_CID_CODEC_BASE+527) +#define V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_QP (V4L2_CID_CODEC_BASE+528) +#define V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_QP (V4L2_CID_CODEC_BASE+529) +#define V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH (V4L2_CID_CODEC_BASE+530) +enum v4l2_mpeg_vp9_num_partitions { + V4L2_CID_MPEG_VIDEO_VP9_0_PARTITION = 0, + V4L2_CID_MPEG_VIDEO_VP9_1_PARTITION = 1, +}; +#define V4L2_CID_MPEG_VIDEO_VP9_DISABLE_INTRA_PU_SPLIT (V4L2_CID_CODEC_BASE+531) +#define V4L2_CID_MPEG_VIDEO_VP9_DISABLE_IVF_HEADER (V4L2_CID_CODEC_BASE+532) +#define V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_RC_ENABLE (V4L2_CID_CODEC_BASE+533) /* CIDs for HEVC encoding. */ @@ -821,6 +853,7 @@ enum v4l2_mpeg_video_frame_skip_mode { #define V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (V4L2_CID_CODEC_BASE + 653) #define V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_BASE + 654) + /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ #define V4L2_CID_CODEC_CX2341X_BASE (V4L2_CTRL_CLASS_CODEC | 0x1000) #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+0) From patchwork Tue May 17 12:55:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852452 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 23965C433F5 for ; Tue, 17 May 2022 13:05:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=FIw8J7bdjeOjJKOSzFSr4jmEurDOWGOmhdrTm6xM80g=; b=ef20VcYcTEW4lR W49sLvFSljdNZ1zSIGbIVLx9QHcxnqwOUKBINVnvYbRwXbDmzouc6BsMGV8Z3y+VlxY96g0YMUJws tEN1FQwUm2OVsX1arn6EXvcNC9QLwpjuQvqG2Vrn643DdIRBSxrBYKy9cNAKArdFKfSWEHSxFBvLc cPvVVYlDAAwboyWCOuEmqwvAPFzFMYDKdhSRntHnZ5uJVoMyeSjxkBy9WNhmEqmSI5UtR15OUS/l4 7T4FvyzHTSUmoqpa8pks0m+YStTFc6FhhxsErTNCtLVzTihIlXJODG5FxM+DTLDE56GgkJuJ4ri+m Sk6Sx8b+Ks0bM/MuM5dQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwrv-00Dlxq-5p; Tue, 17 May 2022 13:04:07 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmE-00DiwF-IX for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:18 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20220517125812epoutp038829188168546a396ef87256f2dd53af~v5dVLJeMu0631206312epoutp03G for ; Tue, 17 May 2022 12:58:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220517125812epoutp038829188168546a396ef87256f2dd53af~v5dVLJeMu0631206312epoutp03G DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792292; bh=xWKjt9XN0qVWN3WHoBf9h9eTfyIpb1TvtS6UL/EZBGY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U64gPC1YLseVRqNSWc3G6eqnNVc4XSXIOjkNbPSPFIbRyZzCSXGMFvL9AHQA33ZzP FFUxYlT8a4ozMnja6ZIkKhnQXVKjbwJ7n/0SQqtF84YaJAs+ekGNIBYT44hCkeshCT zIVfBW0G36AqXWyK5E/hFG4tqA9jLHSCaycLcQsE= Received: from epsnrtp4.localdomain (unknown [182.195.42.165]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20220517125811epcas5p144c6c027acf250b5eb135e75bb5c6b05~v5dUSOL0a3158031580epcas5p1d; Tue, 17 May 2022 12:58:11 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.183]) by epsnrtp4.localdomain (Postfix) with ESMTP id 4L2bl41cgkz4x9Pv; Tue, 17 May 2022 12:58:08 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id DA.2C.09762.0EB93826; Tue, 17 May 2022 21:58:08 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p2.samsung.com (KnoxPortal) with ESMTPA id 20220517125615epcas5p200c1b10090dc03e430d720d1435afccf~v5boMhY9p1529715297epcas5p2G; Tue, 17 May 2022 12:56:15 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125615epsmtrp20f7f7af7d840343d6165a11dadca3748~v5boLVrfK0912609126epsmtrp2R; Tue, 17 May 2022 12:56:15 +0000 (GMT) X-AuditID: b6c32a4b-213ff70000002622-cb-62839be03cae Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id EB.36.08924.F6B93826; Tue, 17 May 2022 21:56:15 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125612epsmtip19eb44fef66ad5d8449589e3511ec8e05~v5blErxha1797117971epsmtip1G; Tue, 17 May 2022 12:56:12 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 08/20] media: s5p-mfc: Add support for VP9 encoder. Date: Tue, 17 May 2022 18:25:36 +0530 Message-Id: <20220517125548.14746-9-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTfUxTVxjGd3pvb4uj5IogRxaluQtR3IBWvg4M2BKYuRnLRiKb0UjgAnct g7Z3bRHn4kABIwyMy7ItfIMwXDoEVj6tZdSCYtBMCAjbpAIFIjZjH9QBk4prV9j++73v+5zz nDznHCHmPUn4C7OVWlatZHIpYgfeMxi0P3i2uihDMu/wQLN1PQRqWn/EQzNNdhyZO7sFqGui GkNXhk18VD/0Ix/13rDi6Psl53Ss0oKjR/VtAD2uekgg/fwkH83ZjqJxQw2Byju6+ejqkEWA vpka46EWvYOHLnc/EaCS/iEBshh7ACo+P8R7w49urWsFdJ+lGdBTzSsYfa3KIqCbjI95tF5X StDTk0aC7mwuoEtuPsXpi106QG+eqxXQZUNTBG3X76NH/rILkr2O58TKWSaLVYtZZaYqK1sp i6OSjqQlpEVESqTB0mgURYmVjIKNoxLfTg4+nJ3rTIASn2Ry85ytZEajoULjY9WqPC0rlqs0 2jiK5bJyuXAuRMMoNHlKWYiS1cZIJZJDEU5heo581Lafm7wETn1ddA4vBM35ZcBDCMlwuNje irnYm7wO4POvmDKww8krAFY7DDx3YQewcryDv73iJ+umwD0wALi68udWUcyDMxWLApeKIF+F q7/fIVzsQ54FcP6C1sUYuYHByol9ZUAo3EUmQOPiMRfiZCBsXfF1oYiMhtfnTrqtAuB3HSbM 1fYgY2DtZqrLCJLrQmj89Q5waxKhbeo87uZd0DbcJXCzP7T/1k+4WQZn7EVbeg7WFnbx3Pw6 NE3U4K79MTIIthtC3e298MuRNp77vF6wYmNhSy6CfXXbTMHLd29vWUF4f7l7Kx0afntvk+/O swJAfX/6JbCv6n+HBgB0YA/LaRQyVhPBhSnZ/P8uLFOl0IN/H/jBpD5gnf0jxAx4QmAGUIhR PiLJqcIMb1EW8/FpVq1KU+flshoziHCG9znm75upcv4QpTZNGh4tCY+MjAyPDouUUn4i8vnZ DG9SxmjZHJblWPX2Op7Qw7+Q93Nqo+Ot+jNRkpbGqxspezuDysXczQcZJeWetwYKOoyxMTXx VsNufYr4StZHOV+89+AEMxhmdFiWPf5uqSw+McB9Wvowu7lNt+I3p8iQ6wJ2LzU17Fw/9rTA GjAJ+aIDpXsWD532TBgTr4G6JEFDI2eauOXbI55OnC3RXvuMGjwa6kWuWd/pu/CBZtWTGr3h s5GwjOuPYC8LG9BML/PsbuHt8cObwfn5gcPd89kDP7wvfbE9UD5aUNu49Mxk6y3Sjgy/8OT+ u8Rxa78NvGTYWXFvLT7VrIt/UyaXvDL94UVcIefqz6QXHPhkIyVsOaqiDjNPvjbQb1oYi3H8 krZgWqZwjZyRHsTUGuYfPCjHVmkEAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnkeLIzCtJLcpLzFFi42LZdlhJTjd/dnOSwfolIhYP5m1js1j84zmT xf3Fn1ksDm3eym6x5cpsZovlxw+wWsw/co7VYvvBRywWG18AZS/OvMti8Xz+OkaLl7PusVls enyN1eLhq3CLy7vmsFn0bNjKarH2yF12i6XXLzJZLNv0h8li0dYv7Bate4+wW9zds43RoqXt CJODuMeaeWsYPXbcXcLocX3JJ2aPnbPusnss3vOSyWPTqk42jzvX9rB5bF5S79F69BeLR9+W VYwe/5rmsnt0HbnO5vF5k5zHqa+f2QP4orhsUlJzMstSi/TtErgyLrxSL7g2gbFienMTSwPj kvIuRk4OCQETiRuP/rF3MXJxCAnsYJQ4e/ksC0RCQmLl70mMELawxMp/z6GKmpgk+prusYIk 2AR0JL69P80GkhARaGWUuL6ykwnEYRaYyCIx5fov5i5GDg5hAWeJPU8jQUwWAVWJNZ9EQUxe AUuJ3Q/LIObLS6zecACsmFPASmLuv1gQUwio4ul+iwmMfAsYGVYxSqYWFOem5xYbFhjlpZbr FSfmFpfmpesl5+duYgTHmZbWDsY9qz7oHWJk4mA8xCjBwawkwmtQ0ZAkxJuSWFmVWpQfX1Sa k1p8iFGag0VJnPdC18l4IYH0xJLU7NTUgtQimCwTB6dUA5PMwb/CXofaeLeIv366IIt7Ubbs kUl5nFt53eJNlnRkGth8MjMsvvitwFZSW+bLmUvML91v7JkyeeYbjTs6P34f3RTCx/8z+5jd q7QvuVOZQ5mEVvyW8ORzu7pW8drqoq3yMt4Xt3rec/odr/N4Y+Zvw+fid7a/jb+kp9jpViti kNN2wdw3wctF8V2MRcxDh2/trj5zTpvcr+B2DD6Vueer0amKji9LEzMy7p07O7+TVV/8DMd5 LnOpdKO4ymczsiJtxQ/H/Pv16tokrsr3WV390Yv2C32TkmP4b6b55vophw0sdw+oTK1ZqzJd eT2jzKrvW/Sv37c6MaOSK9yp2zn3cnrrugnhcfXsdsbf7ZVYijMSDbWYi4oTAf9RkXMiAwAA X-CMS-MailID: 20220517125615epcas5p200c1b10090dc03e430d720d1435afccf X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125615epcas5p200c1b10090dc03e430d720d1435afccf References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055815_056044_EC719FE2 X-CRM114-Status: GOOD ( 21.86 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add VP9 encoder support and necessary registers, V4L2 CIDs, vp9 encoder parameters. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 9 + .../platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c | 3 + .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 27 +- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 272 ++++++++++++++++++ .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 2 + .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 121 ++++++++ 6 files changed, 433 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h index efb77c2bf913..1e2904ab872a 100644 --- a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h +++ b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h @@ -12,6 +12,10 @@ #include #include "regs-mfc-v10.h" +/* MFCv12 register definitions*/ +#define S5P_FIMV_E_VP9_OPTION_V12 0xFD90 +#define S5P_FIMV_E_VP9_GOLDEN_FRAME_OPTION_V12 0xFD98 + /* MFCv12 Context buffer sizes */ #define MFC_CTX_BUF_SIZE_V12 (30 * SZ_1K) #define MFC_H264_DEC_CTX_BUF_SIZE_V12 (2 * SZ_1M) @@ -25,6 +29,7 @@ #define MAX_CPB_SIZE_V12 (7 * SZ_1M) #define MFC_VERSION_V12 0xC0 #define MFC_NUM_PORTS_V12 1 +#define S5P_FIMV_CODEC_VP9_ENC 27 /* Encoder buffer size for MFCv12 */ #define ENC_V120_BASE_SIZE(x, y) \ @@ -46,4 +51,8 @@ (((x + 3) * (y + 3) * 32) \ + (((y * 128) + 2304) * (x + 3) / 4)) +#define ENC_V120_VP9_ME_SIZE(x, y) \ + ((((x * 2) + 3) * ((y * 2) + 3) * 128) \ + + (((y * 256) + 2304) * (x + 1) / 2)) + #endif /*_REGS_MFC_V12_H*/ diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c index f8588e52dfc8..d524815cd38a 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c @@ -121,6 +121,9 @@ static int s5p_mfc_open_inst_cmd_v6(struct s5p_mfc_ctx *ctx) case S5P_MFC_CODEC_HEVC_ENC: codec_type = S5P_FIMV_CODEC_HEVC_ENC; break; + case S5P_MFC_CODEC_VP9_ENC: + codec_type = S5P_FIMV_CODEC_VP9_ENC; + break; default: codec_type = S5P_FIMV_CODEC_NONE_V6; } diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h index eed4d8f71a3a..04cdfeca13d3 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h @@ -57,7 +57,7 @@ #define MFC_ENC_CAP_PLANE_COUNT 1 #define MFC_ENC_OUT_PLANE_COUNT 2 #define STUFF_BYTE 4 -#define MFC_MAX_CTRLS 128 +#define MFC_MAX_CTRLS 147 #define S5P_MFC_CODEC_NONE -1 #define S5P_MFC_CODEC_H264_DEC 0 @@ -77,6 +77,7 @@ #define S5P_MFC_CODEC_H263_ENC 23 #define S5P_MFC_CODEC_VP8_ENC 24 #define S5P_MFC_CODEC_HEVC_ENC 26 +#define S5P_MFC_CODEC_VP9_ENC 27 #define S5P_MFC_R2H_CMD_EMPTY 0 #define S5P_MFC_R2H_CMD_SYS_INIT_RET 1 @@ -483,6 +484,29 @@ struct s5p_mfc_hevc_enc_params { u8 prepend_sps_pps_to_idr; }; +/** + * struct s5p_mfc_vp9_enc_params - encoding parameters for vp9 + */ +struct s5p_mfc_vp9_enc_params { + u32 rc_framerate; + u8 vp9_profile; + u8 rc_min_qp; + u8 rc_max_qp; + u8 rc_frame_qp; + u8 rc_p_frame_qp; + u8 vp9_goldenframesel; + u8 vp9_gfrefreshperiod; + u8 hier_qp_enable; + u8 hier_qp_layer[3]; + u8 hier_rc_enable; + u32 hier_bit_layer[3]; + u8 num_refs_for_p; + u8 num_hier_layer; + u8 max_partition_depth; + u8 intra_pu_split_disable; + u8 ivf_header; +}; + /* * struct s5p_mfc_enc_params - general encoding parameters */ @@ -521,6 +545,7 @@ struct s5p_mfc_enc_params { struct s5p_mfc_mpeg4_enc_params mpeg4; struct s5p_mfc_vp8_enc_params vp8; struct s5p_mfc_hevc_enc_params hevc; + struct s5p_mfc_vp9_enc_params vp9; } codec; }; diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index ae2c0977b24e..b5f9e7bbdead 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -94,6 +94,13 @@ static struct s5p_mfc_fmt formats[] = { .num_planes = 1, .versions = MFC_V10_BIT | MFC_V12_BIT, }, + { + .fourcc = V4L2_PIX_FMT_VP9, + .codec_mode = S5P_FIMV_CODEC_VP9_ENC, + .type = MFC_FMT_ENC, + .num_planes = 1, + .versions = MFC_V12_BIT, + }, }; #define NUM_FORMATS ARRAY_SIZE(formats) @@ -1055,6 +1062,174 @@ static struct mfc_control controls[] = { .step = 1, .default_value = 0, }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_PROFILE, + .type = V4L2_CTRL_TYPE_MENU, + .minimum = V4L2_MPEG_VIDEO_VP9_PROFILE_0, + .maximum = V4L2_MPEG_VIDEO_VP9_PROFILE_2, + .step = 1, + .default_value = V4L2_MPEG_VIDEO_VP9_PROFILE_0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_I_FRAME_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 1, + .maximum = 255, + .step = 1, + .default_value = 1, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_P_FRAME_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 1, + .maximum = 255, + .step = 1, + .default_value = 1, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_MAX_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 230, + .maximum = 255, + .step = 1, + .default_value = 255, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_MIN_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 1, + .maximum = 24, + .step = 1, + .default_value = 1, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_RC_FRAME_RATE, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 1, + .maximum = (1 << 16) - 1, + .step = 1, + .default_value = 1, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL, + .type = V4L2_CTRL_TYPE_MENU, + .minimum = V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_PREV, + .maximum = V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_REF_PERIOD, + .step = 1, + .default_value = V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAME_USE_PREV, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_GF_REFRESH_PERIOD, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 0, + .maximum = ((1 << 16) - 1), + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_QP_ENABLE, + .type = V4L2_CTRL_TYPE_BOOLEAN, + .minimum = 0, + .maximum = 1, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_RC_ENABLE, + .type = V4L2_CTRL_TYPE_BOOLEAN, + .minimum = 0, + .maximum = 1, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = INT_MIN, + .maximum = INT_MAX, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = INT_MIN, + .maximum = INT_MAX, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_QP, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = INT_MIN, + .maximum = INT_MAX, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES, + .type = V4L2_CTRL_TYPE_MENU, + .minimum = V4L2_CID_MPEG_VIDEO_VP9_1_REF_PFRAME, + .maximum = V4L2_CID_MPEG_VIDEO_VP9_2_REF_PFRAME, + .step = 1, + .default_value = V4L2_CID_MPEG_VIDEO_VP9_1_REF_PFRAME, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIERARCHICAL_CODING_LAYER, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = 0, + .maximum = 2, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH, + .type = V4L2_CTRL_TYPE_MENU, + .minimum = V4L2_CID_MPEG_VIDEO_VP9_0_PARTITION, + .maximum = V4L2_CID_MPEG_VIDEO_VP9_1_PARTITION, + .step = 1, + .default_value = V4L2_CID_MPEG_VIDEO_VP9_0_PARTITION, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_DISABLE_INTRA_PU_SPLIT, + .type = V4L2_CTRL_TYPE_BOOLEAN, + .minimum = 0, + .maximum = 1, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_BR, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = INT_MIN, + .maximum = INT_MAX, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_BR, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = INT_MIN, + .maximum = INT_MAX, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_BR, + .type = V4L2_CTRL_TYPE_INTEGER, + .minimum = INT_MIN, + .maximum = INT_MAX, + .step = 1, + .default_value = 0, + }, + { + .id = V4L2_CID_MPEG_VIDEO_VP9_DISABLE_IVF_HEADER, + .type = V4L2_CTRL_TYPE_BOOLEAN, + .minimum = 0, + .maximum = 1, + .step = 1, + .default_value = 0, + }, { .id = V4L2_CID_MIN_BUFFERS_FOR_OUTPUT, .type = V4L2_CTRL_TYPE_INTEGER, @@ -1793,6 +1968,36 @@ static void __enc_update_hevc_qp_ctrls_range(struct s5p_mfc_ctx *ctx, } } +/* + * Update range of all VP9 quantization parameter controls that depend on the + * V4L2_CID_MPEG_VIDEO_VP9_MIN_QP, V4L2_CID_MPEG_VIDEO_VP9_MAX_QP controls. + */ +static void __enc_update_vp9_qp_ctrls_range(struct s5p_mfc_ctx *ctx, + int min, int max) +{ + static const int __vp9_qp_ctrls[] = { + V4L2_CID_MPEG_VIDEO_VP9_I_FRAME_QP, + V4L2_CID_MPEG_VIDEO_VP9_P_FRAME_QP, + V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_QP, + V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_QP, + V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_QP, + }; + struct v4l2_ctrl *ctrl = NULL; + int i, j; + + for (i = 0; i < ARRAY_SIZE(__vp9_qp_ctrls); i++) { + for (j = 0; j < ARRAY_SIZE(ctx->ctrls); j++) { + if (ctx->ctrls[j]->id == __vp9_qp_ctrls[i]) { + ctrl = ctx->ctrls[j]; + break; + } + } + if (WARN_ON(!ctrl)) + break; + __v4l2_ctrl_modify_range(ctrl, min, max, ctrl->step, min); + } +} + static int s5p_mfc_enc_s_ctrl(struct v4l2_ctrl *ctrl) { struct s5p_mfc_ctx *ctx = ctrl_to_ctx(ctrl); @@ -2196,6 +2401,73 @@ static int s5p_mfc_enc_s_ctrl(struct v4l2_ctrl *ctrl) case V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR: p->codec.hevc.prepend_sps_pps_to_idr = ctrl->val; break; + case V4L2_CID_MPEG_VIDEO_VP9_PROFILE: + p->codec.vp9.vp9_profile = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_RC_FRAME_RATE: + p->codec.vp9.rc_framerate = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_MIN_QP: + p->codec.vp9.rc_min_qp = ctrl->val; + __enc_update_vp9_qp_ctrls_range(ctx, ctrl->val, + p->codec.vp9.rc_max_qp); + break; + case V4L2_CID_MPEG_VIDEO_VP9_MAX_QP: + p->codec.vp9.rc_max_qp = ctrl->val; + __enc_update_vp9_qp_ctrls_range(ctx, + p->codec.vp9.rc_min_qp, ctrl->val); + break; + case V4L2_CID_MPEG_VIDEO_VP9_I_FRAME_QP: + p->codec.vp9.rc_frame_qp = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_P_FRAME_QP: + p->codec.vp9.rc_p_frame_qp = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_GOLDEN_FRAMESEL: + p->codec.vp9.vp9_goldenframesel = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_GF_REFRESH_PERIOD: + p->codec.vp9.vp9_gfrefreshperiod = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_QP_ENABLE: + p->codec.vp9.hier_qp_enable = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIERARCHY_RC_ENABLE: + p->codec.vp9.hier_rc_enable = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_QP: + p->codec.vp9.hier_qp_layer[0] = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_QP: + p->codec.vp9.hier_qp_layer[1] = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_QP: + p->codec.vp9.hier_qp_layer[2] = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L0_BR: + p->codec.vp9.hier_bit_layer[0] = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L1_BR: + p->codec.vp9.hier_bit_layer[1] = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIER_CODING_L2_BR: + p->codec.vp9.hier_bit_layer[2] = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_REF_NUMBER_FOR_PFRAMES: + p->codec.vp9.num_refs_for_p = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_HIERARCHICAL_CODING_LAYER: + p->codec.vp9.num_hier_layer = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_MAX_PARTITION_DEPTH: + p->codec.vp9.max_partition_depth = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_DISABLE_INTRA_PU_SPLIT: + p->codec.vp9.intra_pu_split_disable = ctrl->val; + break; + case V4L2_CID_MPEG_VIDEO_VP9_DISABLE_IVF_HEADER: + p->codec.vp9.ivf_header = ctrl->val; + break; default: v4l2_err(&dev->v4l2_dev, "Invalid control, id=%d, val=%d\n", ctrl->id, ctrl->val); diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h index 87ac56756a16..a005623e2daa 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h @@ -277,6 +277,8 @@ struct s5p_mfc_regs { void __iomem *e_hevc_lf_beta_offset_div2; /* v10 */ void __iomem *e_hevc_lf_tc_offset_div2; /* v10 */ void __iomem *e_hevc_nal_control; /* v10 */ + void __iomem *e_vp9_options; /* v12 */ + void __iomem *e_vp9_golden_frame_option; /* v12 */ }; struct s5p_mfc_hw_ops { diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 98c524688b45..913fe5d5a93a 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -374,6 +374,17 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->chroma_dpb_size + ctx->me_buffer_size)); ctx->bank2.size = 0; break; + case S5P_FIMV_CODEC_VP9_ENC: + mfc_debug(2, "Use min scratch buffer size\n"); + ctx->me_buffer_size = + ALIGN(ENC_V120_VP9_ME_SIZE(lcu_width, lcu_height), 16); + ctx->scratch_buf_size = ALIGN(ctx->scratch_buf_size, 256); + ctx->bank1.size = + ctx->scratch_buf_size + ctx->tmv_buffer_size + + (ctx->pb_count * (ctx->luma_dpb_size + + ctx->chroma_dpb_size + ctx->me_buffer_size)); + ctx->bank2.size = 0; + break; default: break; } @@ -429,6 +440,7 @@ static int s5p_mfc_alloc_instance_buffer_v6(struct s5p_mfc_ctx *ctx) case S5P_MFC_CODEC_MPEG4_ENC: case S5P_MFC_CODEC_H263_ENC: case S5P_MFC_CODEC_VP8_ENC: + case S5P_FIMV_CODEC_VP9_ENC: ctx->ctx.size = buf_size->other_enc_ctx; break; default: @@ -1663,6 +1675,102 @@ static int s5p_mfc_set_enc_params_hevc(struct s5p_mfc_ctx *ctx) return 0; } +int s5p_mfc_set_enc_params_vp9(struct s5p_mfc_ctx *ctx) +{ + struct s5p_mfc_dev *dev = ctx->dev; + const struct s5p_mfc_regs *mfc_regs = dev->mfc_regs; + struct s5p_mfc_enc_params *p = &ctx->enc_params; + struct s5p_mfc_vp9_enc_params *p_vp9 = &p->codec.vp9; + unsigned int reg = 0; + int i; + + mfc_debug_enter(); + + s5p_mfc_set_enc_params(ctx); + + /* profile*/ + reg = 0; + reg |= (p_vp9->vp9_profile); + writel(reg, mfc_regs->e_picture_profile); + + reg = 0; + reg |= ((p_vp9->ivf_header & 0x1) << 12); + reg |= ((p_vp9->hier_qp_enable & 0x1) << 11); + reg |= (p_vp9->max_partition_depth & 0x1) << 3; + reg |= (p_vp9->intra_pu_split_disable & 0x1) << 1; + reg |= (p_vp9->num_refs_for_p - 1) & 0x1; + writel(reg, mfc_regs->e_vp9_options); + + reg = 0; + reg |= (p_vp9->vp9_goldenframesel & 0x1); + reg |= (p_vp9->vp9_gfrefreshperiod & 0xffff) << 1; + writel(reg, mfc_regs->e_vp9_golden_frame_option); + + reg = 0; + if (p_vp9->num_hier_layer) { + reg |= p_vp9->num_hier_layer & 0x3; + writel(reg, mfc_regs->e_num_t_layer); + /* QP value for each layer */ + if (p_vp9->hier_qp_enable) { + for (i = 0; i < (p_vp9->num_hier_layer & 0x3); i++) + writel(p_vp9->hier_qp_layer[i], + mfc_regs->e_hier_qp_layer0 + + i * 4); + } + if (p_vp9->hier_rc_enable) { + for (i = 0; i < (p_vp9->num_hier_layer & 0x3); i++) + writel(p_vp9->hier_bit_layer[i], + mfc_regs->e_hier_bit_rate_layer0 + + i * 4); + } + } + /* number of coding layer should be zero when hierarchical is disable */ + reg |= p_vp9->num_hier_layer; + writel(reg, mfc_regs->e_num_t_layer); + + /* qp */ + writel(0x0, mfc_regs->e_fixed_picture_qp); + if (!p->rc_frame && !p->rc_mb) { + reg = 0; + reg &= ~(0xff << 8); + reg |= (p_vp9->rc_p_frame_qp << 8); + reg &= ~(0xff); + reg |= p_vp9->rc_frame_qp; + writel(reg, mfc_regs->e_fixed_picture_qp); + } + + /* frame rate */ + if (p->rc_frame) { + reg = 0; + reg &= ~(0xffff << 16); + reg |= ((p_vp9->rc_framerate * FRAME_DELTA_DEFAULT) << 16); + reg &= ~(0xffff); + reg |= FRAME_DELTA_DEFAULT; + writel(reg, mfc_regs->e_rc_frame_rate); + } + + /* rate control config. */ + reg = readl(mfc_regs->e_rc_config); + /** macroblock level rate control */ + reg &= ~(0x1 << 8); + reg |= ((p->rc_mb & 0x1) << 8); + writel(reg, mfc_regs->e_rc_config); + + /* max & min value of QP */ + reg = 0; + /** max QP */ + reg &= ~(0xFF << 8); + reg |= (p_vp9->rc_max_qp << 8); + /** min QP */ + reg &= ~(0xFF); + reg |= p_vp9->rc_min_qp; + writel(reg, mfc_regs->e_rc_qp_bound); + + mfc_debug_leave(); + + return 0; +} + /* Initialize decoding */ static int s5p_mfc_init_decode_v6(struct s5p_mfc_ctx *ctx) { @@ -1784,6 +1892,8 @@ static int s5p_mfc_init_encode_v6(struct s5p_mfc_ctx *ctx) s5p_mfc_set_enc_params_vp8(ctx); else if (ctx->codec_mode == S5P_FIMV_CODEC_HEVC_ENC) s5p_mfc_set_enc_params_hevc(ctx); + else if (ctx->codec_mode == S5P_FIMV_CODEC_VP9_ENC) + s5p_mfc_set_enc_params_vp9(ctx); else { mfc_err("Unknown codec for encoding (%x).\n", ctx->codec_mode); @@ -2547,6 +2657,17 @@ const struct s5p_mfc_regs *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) R(e_hevc_lf_tc_offset_div2, S5P_FIMV_E_HEVC_LF_TC_OFFSET_DIV2_V10); R(e_hevc_nal_control, S5P_FIMV_E_HEVC_NAL_CONTROL_V10); + if (!IS_MFCV12(dev)) + goto done; + + /* Initialize registers used in MFC v10 only. + * Also, over-write the registers which have + * a different offset for MFC v10. + */ + + R(e_vp9_options, S5P_FIMV_E_VP9_OPTION_V12); + R(e_vp9_golden_frame_option, S5P_FIMV_E_VP9_GOLDEN_FRAME_OPTION_V12); + done: return &mfc_regs; #undef S5P_MFC_REG_ADDR From patchwork Tue May 17 12:55:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852454 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B433DC433FE for ; Tue, 17 May 2022 13:06:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=rEVu5hwiyZyg9+2NQpyop3yoD4yBzWYLGgXKixfZDZM=; b=t7USbOTLReuIsc UDq9/buwMz7aMa4xqaU72E/CW8pd8/aHpGw473W/ecH4LcQ6s6jhLBz3QTvEmkudpZ2hDe5gkPf4K IeZn131aO75OMQr0IXYYuWo2IziCxTTNAr4IW55mN6dIwkzqcYD4Gl/7DCjS52UMMDLO6t/FT+tS5 C0ijWD00CtIuQvlCRIMg/jBBfSum18A0F61z58fwdBJK6ajS0vLxpsNohtp6CRlWgz1LEBZWCBbzH GhGfaf1MtYx0nCj/Izf42Zyq54UktP+ofXIDdxZYvUq8hE1yejj4r6fhVAuSQStbBZ6GCS+QttljG Qspn4CXQtpA5YTi3wXGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwt4-00DmP7-NL; Tue, 17 May 2022 13:05:19 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmK-00Dj2R-8C for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:30 +0000 Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20220517125818epoutp02d36419d056edc28139a7b4e024ffd0ac~v5daYymB-1344513445epoutp02K for ; Tue, 17 May 2022 12:58:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20220517125818epoutp02d36419d056edc28139a7b4e024ffd0ac~v5daYymB-1344513445epoutp02K DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792298; bh=CHH5/3R1gOoZ9qbnUhP7AKAbh7dWCrPQrlbAKxiYeIU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ALHJjq3uf0gMPwguh2CtIhLCXGkoKRiJnJ+paBP2Y7hPhQqtnoTdWnlpQPKLbI+d8 i9SFb7X0+J5JKQ1BTmrYB1L3aUOY/5CE1bUG4X5TUbQ7hDo0JrJOaDS/fbYGNucGEW fyWs1aFlV/ZgM/SruC5X3jEz41WbDNi7ArMtwrDs= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125816epcas5p35966a1ec8457cc465a61570702d5fb7a~v5dZUjp7W2689826898epcas5p3s; Tue, 17 May 2022 12:58:16 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.181]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bl93Hc2z4x9Q9; Tue, 17 May 2022 12:58:13 +0000 (GMT) Received: from epcas5p4.samsung.com ( [182.195.41.42]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id D6.3F.10063.5EB93826; Tue, 17 May 2022 21:58:13 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p2.samsung.com (KnoxPortal) with ESMTPA id 20220517125618epcas5p2e52b4a0e2895c7bd3dab3df27ae2ea1d~v5brVk8iC1529715297epcas5p2M; Tue, 17 May 2022 12:56:18 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125618epsmtrp1b551b467222ef0284333db66fce85075~v5brQNByG3276532765epsmtrp1c; Tue, 17 May 2022 12:56:18 +0000 (GMT) X-AuditID: b6c32a49-4cbff7000000274f-be-62839be52abc Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id AD.36.08924.27B93826; Tue, 17 May 2022 21:56:18 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125615epsmtip1a8547f67f3961009057634a7188d9491~v5boN6hYu1799817998epsmtip1P; Tue, 17 May 2022 12:56:15 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 09/20] media: s5p-mfc: Add YV12 and I420 multiplanar format support Date: Tue, 17 May 2022 18:25:37 +0530 Message-Id: <20220517125548.14746-10-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VTf1CTZRzved9374aGvQ2KB0TCt6MLCtgS5oMnURdXr0dXXIUmd7bewRsQ 7MdtwyjrGg4kiKGRoaCAAjHDSTDGRIQai6IbaGIIXrIkkUMwrnThQRi0sVH/fe77+Xy+n+/z fZ5HgAvHyRBBjkLLqRVsHk2uI6zfRUZFTx3Ty0RDvRSaqLOSqHFhGkPXG10Esnd08pFl5BiO jAM2Hqrvv8hDZ/tuEKj9lpsdrnYSaLq+FaCZml9JZJ4c5aHfZnehn7uPk6i8rZOHzvQ7+ejL sWEMNZvvY6ih8y8+Ku7t5yNnjxWgogP92HNBjKnOBJguZxNgxpru4sy5GiefaeyZwRhzSynJ jI/2kExH08dM8fd/E0yFpQUwy/tr+UxZ/xjJuMxhjGPexU/dkJ67PZtjMzl1OKfIUGbmKLIS 6ZTXpS9I4yUicbQ4AW2lwxWsnEukk19OjX4xJ8+9ATp8L5uX7y6lshoNHfvsdrUyX8uFZys1 2kSaU2XmqeJUMRpWrslXZMUoOO02sUj0TLxb+HZutqmwj1A1LoKCuSPNQAeaLoEy4CeAVBw8 cr8CLwPrBELqPICuicpVQkjdBfDe0Xe8hAvApeKj5Jrj0kgVz0t0A9g2VuyzF2HQUTmDeVQk 9TS898fgqiOQKgRw8hOtB+PUEg6rR8I8OIBKg2eNn6/GEVQEbDpRhXuwP7UN3rH/jnvTHoOn 22xuLBD4ueu1y3s8WZDS+8HTg4uYV5MMK+Z7fNMFwNkBC9+LQ+DMwQM+nAWvu/S+M6tgrc7i 8yZB28hxwtMfpyLh192x3vIm+IWjFfOOvAEalm765P6wq24N07Bh6EdfewivzHXyvJiBNZO3 gXcnBgArb1eSh0BYzf8RJwBoAcGcSiPP4jTxKrGCe++/a8tQys1g9ZlH7egCzok/Y+wAEwA7 gAKcDvQXFehkQv9M9v0POLVSqs7P4zR2EO/e32d4yCMZSvc/UWil4rgEUZxEIolL2CIR00H+ 1EqhTEhlsVoul+NUnHrNhwn8QnRY6Cun5qvkzLX9sCyT0BXeTF04k5ayNyVp1rGMvhn4wbqx Na3LtrNMUP1oyeZvN2nwabIg8d1btHV2uvWfBomBag8OIs1TVz6yhlJ3hvWTYfuSSnd2fDrW PJ92Fbx2YbdpcKO9T9boMLriIx5/IHK8/EPLtVdDkxYv5x9qeVixYg42GG0nS12xU3osmdyt qyMu/qKaTTtZLVuhDLz0kjeKrJuf39ou73KawOGVn1LLn9wTaxy02G7M5a5fWORJ1+9a6M0t DKw6x546LA17aseyPuAha/hXW97MeesCg56ob8Aua4cePC+VRV8NNEYmStLFMxHdPY59AmGL 9mDJ+OhLBprQZLPiKFytYf8FInfrkW8EAAA= X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa1BMYRiAfeecPecUa46t0ScmZjFmVlKR+Vwm/pg5Mi5DkzBGpxxp7G7Z U8QYsmQUUmZn0cUuu5VdK1m6sZJ1aHKt0Lq0chmy5FK5lGi0xb/nfZ9n5v3x0rhMRwTSSepU XqPmlHLSl6i8IQ+apinYGx/6xjAVvTxZSSJTTzuG2kzdBHJerKDQpUcFOCqtr5Mgg3hfgqqu vybQhfcDtumEm0DthjKAPPkvSGR/0yJBrz6sQg8vF5LoUHmFBJ0T3RQqdjVhqMT+G0OnK75R KPOqSCG3oxKgfftFbEEAaztpA2y12wxYl7kLZ2vy3RRrcngw1m7NItnWFgfJXjTvZjNv/iLY nEtWwPZriyg2W3SRbLc9iL39vZtaPnKN77wNvDJpK6+ZHhnnu8m25zqRYuoF6Z+OlYAMYG4E 2cCHhsxM2PhIL8kGvrSMqQaw5UcWOSQgtPQd/Rf5QUt/OzUUaTF43nlM4hUkEwx/fLlDeoU/ kwmgy5KFeQecySOgzvUL91Z+zEoois8HmWAmQ7NRP8hSZg7sdHbgQyfGw7PldQNM0z4D+6L+ dV6UMbPh22soF4w0gmFWMIZPEVSJKiEsJVzNbwsROJWQpk4MSUhW2cHg4xSKauCwfg1xAowG TgBpXO4vDU3PiJdJN3Dbd/Ca5PWaNCUvOMFYmpAHSBuzG9bLmEQuld/M8ym85r/FaJ/ADCy6 YWL5w1r9kvp7ipwuy5Pig63Nd7sXFVGP622uIwdsh0aIMq2978scn7wsZVRNnPhgcarnqPKt //irXE/4pOPBpcaJqr6DQbHvQqlxC2LaGoizC+ejvllJoxf7r4hoCXwWfMfyectnj+3WOefY D1ciylYLnQUBU3LSlsTkfa2tj/qOO5/qVgw/vDTB5Q4481K/cqupmBEDO6IKw6d/m/ozKnKC Ls9ad4qOSN0o6KyoLNogHRWnZzpMe/Kbkv+MKzaudec2/yxo1hSaW4M6t0TOVWu5nmUnXnft qgpuN83cmd4U6/l05HBv2N7I3GaD8eOkXb2Qa0uOXec4455RG/reT04Im7gwBa4RuL9Tg0wt JwMAAA== X-CMS-MailID: 20220517125618epcas5p2e52b4a0e2895c7bd3dab3df27ae2ea1d X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125618epcas5p2e52b4a0e2895c7bd3dab3df27ae2ea1d References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055820_826812_6804B431 X-CRM114-Status: GOOD ( 23.98 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org YV12 and I420 format (3-plane) support is added. Stride information is added to all formats and planes since it is necessary for YV12/I420 which are different from width. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 2 + .../platform/samsung/s5p-mfc/regs-mfc-v7.h | 1 + .../platform/samsung/s5p-mfc/regs-mfc-v8.h | 3 + .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 4 + .../platform/samsung/s5p-mfc/s5p_mfc_dec.c | 45 ++++- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 86 +++++++-- .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 6 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c | 12 +- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 168 +++++++++++++++--- 9 files changed, 281 insertions(+), 46 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h index 1e2904ab872a..a55020a63ad6 100644 --- a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h +++ b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h @@ -30,6 +30,8 @@ #define MFC_VERSION_V12 0xC0 #define MFC_NUM_PORTS_V12 1 #define S5P_FIMV_CODEC_VP9_ENC 27 +#define MFC_CHROMA_PAD_BYTES_V12 256 +#define S5P_FIMV_D_ALIGN_PLANE_SIZE_V12 256 /* Encoder buffer size for MFCv12 */ #define ENC_V120_BASE_SIZE(x, y) \ diff --git a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v7.h b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v7.h index 4a7adfdaa359..50f9bf0603c1 100644 --- a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v7.h +++ b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v7.h @@ -24,6 +24,7 @@ #define S5P_FIMV_E_ENCODED_SOURCE_FIRST_ADDR_V7 0xfa70 #define S5P_FIMV_E_ENCODED_SOURCE_SECOND_ADDR_V7 0xfa74 +#define S5P_FIMV_E_ENCODED_SOURCE_THIRD_ADDR_V7 0xfa78 #define S5P_FIMV_E_VP8_OPTIONS_V7 0xfdb0 #define S5P_FIMV_E_VP8_FILTER_OPTIONS_V7 0xfdb4 diff --git a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v8.h b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v8.h index 162e3c7e920f..0ef9eb2dff22 100644 --- a/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v8.h +++ b/drivers/media/platform/samsung/s5p-mfc/regs-mfc-v8.h @@ -17,13 +17,16 @@ #define S5P_FIMV_D_MIN_SCRATCH_BUFFER_SIZE_V8 0xf108 #define S5P_FIMV_D_FIRST_PLANE_DPB_SIZE_V8 0xf144 #define S5P_FIMV_D_SECOND_PLANE_DPB_SIZE_V8 0xf148 +#define S5P_FIMV_D_THIRD_PLANE_DPB_SIZE_V8 0xf14C #define S5P_FIMV_D_MV_BUFFER_SIZE_V8 0xf150 #define S5P_FIMV_D_FIRST_PLANE_DPB_STRIDE_SIZE_V8 0xf138 #define S5P_FIMV_D_SECOND_PLANE_DPB_STRIDE_SIZE_V8 0xf13c +#define S5P_FIMV_D_THIRD_PLANE_DPB_STRIDE_SIZE_V8 0xf140 #define S5P_FIMV_D_FIRST_PLANE_DPB_V8 0xf160 #define S5P_FIMV_D_SECOND_PLANE_DPB_V8 0xf260 +#define S5P_FIMV_D_THIRD_PLANE_DPB_V8 0xf360 #define S5P_FIMV_D_MV_BUFFER_V8 0xf460 #define S5P_FIMV_D_NUM_MV_V8 0xf134 diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h index 04cdfeca13d3..711319734203 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h @@ -56,6 +56,7 @@ #define MFC_NO_INSTANCE_SET -1 #define MFC_ENC_CAP_PLANE_COUNT 1 #define MFC_ENC_OUT_PLANE_COUNT 2 +#define VB2_MAX_PLANE_COUNT 3 #define STUFF_BYTE 4 #define MFC_MAX_CTRLS 147 @@ -182,6 +183,7 @@ struct s5p_mfc_buf { struct { size_t luma; size_t chroma; + size_t chroma_1; } raw; size_t stream; } cookie; @@ -682,6 +684,7 @@ struct s5p_mfc_ctx { int luma_size; int chroma_size; + int chroma_size_1; int mv_size; unsigned long consumed_stream; @@ -747,6 +750,7 @@ struct s5p_mfc_ctx { size_t scratch_buf_size; int is_10bit; int is_422; + int stride[VB2_MAX_PLANE_COUNT]; }; /* diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c index 37f6c8a80871..5d298dcdf3f9 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c @@ -56,6 +56,20 @@ static struct s5p_mfc_fmt formats[] = { .num_planes = 2, .versions = MFC_V6PLUS_BITS, }, + { + .fourcc = V4L2_PIX_FMT_YUV420M, + .codec_mode = S5P_MFC_CODEC_NONE, + .type = MFC_FMT_RAW, + .num_planes = 3, + .versions = MFC_V12_BIT, + }, + { + .fourcc = V4L2_PIX_FMT_YVU420M, + .codec_mode = S5P_MFC_CODEC_NONE, + .type = MFC_FMT_RAW, + .num_planes = 3, + .versions = MFC_V12_BIT + }, { .fourcc = V4L2_PIX_FMT_H264, .codec_mode = S5P_MFC_CODEC_H264_DEC, @@ -361,10 +375,15 @@ static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format *f) /* Set pixelformat to the format in which MFC outputs the decoded frame */ pix_mp->pixelformat = ctx->dst_fmt->fourcc; - pix_mp->plane_fmt[0].bytesperline = ctx->buf_width; + pix_mp->plane_fmt[0].bytesperline = ctx->stride[0]; pix_mp->plane_fmt[0].sizeimage = ctx->luma_size; - pix_mp->plane_fmt[1].bytesperline = ctx->buf_width; + pix_mp->plane_fmt[1].bytesperline = ctx->stride[1]; pix_mp->plane_fmt[1].sizeimage = ctx->chroma_size; + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + pix_mp->plane_fmt[2].bytesperline = ctx->stride[2]; + pix_mp->plane_fmt[2].sizeimage = ctx->chroma_size_1; + } } else if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { /* This is run on OUTPUT The buffer contains compressed image @@ -939,6 +958,9 @@ static int s5p_mfc_queue_setup(struct vb2_queue *vq, vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { /* Output plane count is 2 - one for Y and one for CbCr */ *plane_count = 2; + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + *plane_count = 3; /* Setup buffer count */ if (*buf_count < ctx->pb_count) *buf_count = ctx->pb_count; @@ -957,12 +979,17 @@ static int s5p_mfc_queue_setup(struct vb2_queue *vq, vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { psize[0] = ctx->luma_size; psize[1] = ctx->chroma_size; - + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + psize[2] = ctx->chroma_size_1; if (IS_MFCV6_PLUS(dev)) alloc_devs[0] = ctx->dev->mem_dev[BANK_L_CTX]; else alloc_devs[0] = ctx->dev->mem_dev[BANK_R_CTX]; alloc_devs[1] = ctx->dev->mem_dev[BANK_L_CTX]; + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + alloc_devs[2] = ctx->dev->mem_dev[BANK_L_CTX]; } else if (vq->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE && ctx->state == MFCINST_INIT) { psize[0] = ctx->dec_src_buf_size; @@ -996,12 +1023,24 @@ static int s5p_mfc_buf_init(struct vb2_buffer *vb) mfc_err("Plane buffer (CAPTURE) is too small\n"); return -EINVAL; } + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + if (vb2_plane_size(vb, 2) < ctx->chroma_size_1) { + mfc_err("Plane buffer (CAPTURE) is too small\n"); + return -EINVAL; + } + } i = vb->index; ctx->dst_bufs[i].b = vbuf; ctx->dst_bufs[i].cookie.raw.luma = vb2_dma_contig_plane_dma_addr(vb, 0); ctx->dst_bufs[i].cookie.raw.chroma = vb2_dma_contig_plane_dma_addr(vb, 1); + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + ctx->dst_bufs[i].cookie.raw.chroma_1 = + vb2_dma_contig_plane_dma_addr(vb, 2); + } ctx->dst_bufs_cnt++; } else if (vq->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { if (IS_ERR_OR_NULL(ERR_PTR( diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index b5f9e7bbdead..456edcfebba7 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -59,6 +59,20 @@ static struct s5p_mfc_fmt formats[] = { .num_planes = 2, .versions = MFC_V6PLUS_BITS, }, + { + .fourcc = V4L2_PIX_FMT_YUV420M, + .codec_mode = S5P_MFC_CODEC_NONE, + .type = MFC_FMT_RAW, + .num_planes = 3, + .versions = MFC_V12_BIT, + }, + { + .fourcc = V4L2_PIX_FMT_YVU420M, + .codec_mode = S5P_MFC_CODEC_NONE, + .type = MFC_FMT_RAW, + .num_planes = 3, + .versions = MFC_V12_BIT, + }, { .fourcc = V4L2_PIX_FMT_H264, .codec_mode = S5P_MFC_CODEC_H264_ENC, @@ -1368,14 +1382,20 @@ static int enc_pre_frame_start(struct s5p_mfc_ctx *ctx) struct s5p_mfc_dev *dev = ctx->dev; struct s5p_mfc_buf *dst_mb; struct s5p_mfc_buf *src_mb; - unsigned long src_y_addr, src_c_addr, dst_addr; + unsigned long src_y_addr, src_c_addr, src_c_1_addr, dst_addr; unsigned int dst_size; src_mb = list_entry(ctx->src_queue.next, struct s5p_mfc_buf, list); src_y_addr = vb2_dma_contig_plane_dma_addr(&src_mb->b->vb2_buf, 0); src_c_addr = vb2_dma_contig_plane_dma_addr(&src_mb->b->vb2_buf, 1); + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + src_c_1_addr = + vb2_dma_contig_plane_dma_addr(&src_mb->b->vb2_buf, 2); + else + src_c_1_addr = 0; s5p_mfc_hw_call(dev->mfc_ops, set_enc_frame_buffer, ctx, - src_y_addr, src_c_addr); + src_y_addr, src_c_addr, src_c_1_addr); dst_mb = list_entry(ctx->dst_queue.next, struct s5p_mfc_buf, list); dst_addr = vb2_dma_contig_plane_dma_addr(&dst_mb->b->vb2_buf, 0); @@ -1390,8 +1410,8 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) { struct s5p_mfc_dev *dev = ctx->dev; struct s5p_mfc_buf *mb_entry; - unsigned long enc_y_addr = 0, enc_c_addr = 0; - unsigned long mb_y_addr, mb_c_addr; + unsigned long enc_y_addr = 0, enc_c_addr = 0, enc_c_1_addr = 0; + unsigned long mb_y_addr, mb_c_addr, mb_c_1_addr; int slice_type; unsigned int strm_size; @@ -1403,14 +1423,21 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) mfc_read(dev, S5P_FIMV_ENC_SI_PIC_CNT)); if (slice_type >= 0) { s5p_mfc_hw_call(dev->mfc_ops, get_enc_frame_buffer, ctx, - &enc_y_addr, &enc_c_addr); + &enc_y_addr, &enc_c_addr, &enc_c_1_addr); list_for_each_entry(mb_entry, &ctx->src_queue, list) { mb_y_addr = vb2_dma_contig_plane_dma_addr( &mb_entry->b->vb2_buf, 0); mb_c_addr = vb2_dma_contig_plane_dma_addr( &mb_entry->b->vb2_buf, 1); - if ((enc_y_addr == mb_y_addr) && - (enc_c_addr == mb_c_addr)) { + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + mb_c_1_addr = vb2_dma_contig_plane_dma_addr + (&mb_entry->b->vb2_buf, 2); + else + mb_c_1_addr = 0; + if ((enc_y_addr == mb_y_addr) + && (enc_c_addr == mb_c_addr) + && (enc_c_1_addr == mb_c_1_addr)) { list_del(&mb_entry->list); ctx->src_queue_cnt--; vb2_buffer_done(&mb_entry->b->vb2_buf, @@ -1423,8 +1450,15 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) &mb_entry->b->vb2_buf, 0); mb_c_addr = vb2_dma_contig_plane_dma_addr( &mb_entry->b->vb2_buf, 1); - if ((enc_y_addr == mb_y_addr) && - (enc_c_addr == mb_c_addr)) { + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + mb_c_1_addr = vb2_dma_contig_plane_dma_addr( + &mb_entry->b->vb2_buf, 2); + else + mb_c_1_addr = 0; + if ((enc_y_addr == mb_y_addr) + && (enc_c_addr == mb_c_addr) + && (enc_c_1_addr == mb_c_1_addr)) { list_del(&mb_entry->list); ctx->ref_queue_cnt--; vb2_buffer_done(&mb_entry->b->vb2_buf, @@ -1550,10 +1584,15 @@ static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format *f) pix_fmt_mp->pixelformat = ctx->src_fmt->fourcc; pix_fmt_mp->num_planes = ctx->src_fmt->num_planes; - pix_fmt_mp->plane_fmt[0].bytesperline = ctx->buf_width; + pix_fmt_mp->plane_fmt[0].bytesperline = ctx->stride[0]; pix_fmt_mp->plane_fmt[0].sizeimage = ctx->luma_size; - pix_fmt_mp->plane_fmt[1].bytesperline = ctx->buf_width; + pix_fmt_mp->plane_fmt[1].bytesperline = ctx->stride[1]; pix_fmt_mp->plane_fmt[1].sizeimage = ctx->chroma_size; + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + pix_fmt_mp->plane_fmt[2].bytesperline = ctx->stride[2]; + pix_fmt_mp->plane_fmt[2].sizeimage = ctx->chroma_size_1; + } } else { mfc_err("invalid buf type\n"); return -EINVAL; @@ -1637,9 +1676,14 @@ static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format *f) s5p_mfc_hw_call(dev->mfc_ops, enc_calc_src_size, ctx); pix_fmt_mp->plane_fmt[0].sizeimage = ctx->luma_size; - pix_fmt_mp->plane_fmt[0].bytesperline = ctx->buf_width; + pix_fmt_mp->plane_fmt[0].bytesperline = ctx->stride[0]; pix_fmt_mp->plane_fmt[1].sizeimage = ctx->chroma_size; - pix_fmt_mp->plane_fmt[1].bytesperline = ctx->buf_width; + pix_fmt_mp->plane_fmt[1].bytesperline = ctx->stride[1]; + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + pix_fmt_mp->plane_fmt[2].bytesperline = ctx->stride[2]; + pix_fmt_mp->plane_fmt[2].sizeimage = ctx->chroma_size_1; + } ctx->src_bufs_cnt = 0; ctx->output_state = QUEUE_FREE; @@ -2680,10 +2724,16 @@ static int s5p_mfc_queue_setup(struct vb2_queue *vq, psize[0] = ctx->luma_size; psize[1] = ctx->chroma_size; + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + psize[2] = ctx->chroma_size_1; if (IS_MFCV6_PLUS(dev)) { alloc_devs[0] = ctx->dev->mem_dev[BANK_L_CTX]; alloc_devs[1] = ctx->dev->mem_dev[BANK_L_CTX]; + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + alloc_devs[2] = ctx->dev->mem_dev[BANK_L_CTX]; } else { alloc_devs[0] = ctx->dev->mem_dev[BANK_R_CTX]; alloc_devs[1] = ctx->dev->mem_dev[BANK_R_CTX]; @@ -2722,6 +2772,10 @@ static int s5p_mfc_buf_init(struct vb2_buffer *vb) vb2_dma_contig_plane_dma_addr(vb, 0); ctx->src_bufs[i].cookie.raw.chroma = vb2_dma_contig_plane_dma_addr(vb, 1); + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + ctx->src_bufs[i].cookie.raw.chroma_1 = + vb2_dma_contig_plane_dma_addr(vb, 2); ctx->src_bufs_cnt++; } else { mfc_err("invalid queue type: %d\n", vq->type); @@ -2759,6 +2813,12 @@ static int s5p_mfc_buf_prepare(struct vb2_buffer *vb) mfc_err("plane size is too small for output\n"); return -EINVAL; } + if ((ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) && + (vb2_plane_size(vb, 2) < ctx->chroma_size_1)) { + mfc_err("plane size is too small for output\n"); + return -EINVAL; + } } else { mfc_err("invalid queue type: %d\n", vq->type); return -EINVAL; diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h index a005623e2daa..700704985c26 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr.h @@ -295,9 +295,11 @@ struct s5p_mfc_hw_ops { int (*set_enc_stream_buffer)(struct s5p_mfc_ctx *ctx, unsigned long addr, unsigned int size); void (*set_enc_frame_buffer)(struct s5p_mfc_ctx *ctx, - unsigned long y_addr, unsigned long c_addr); + unsigned long y_addr, unsigned long c_addr, + unsigned long c_1_addr); void (*get_enc_frame_buffer)(struct s5p_mfc_ctx *ctx, - unsigned long *y_addr, unsigned long *c_addr); + unsigned long *y_addr, unsigned long *c_addr, + unsigned long *c_1_addr); void (*try_run)(struct s5p_mfc_dev *dev); void (*clear_int_flags)(struct s5p_mfc_dev *dev); int (*get_dspl_y_adr)(struct s5p_mfc_dev *dev); diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c index 28a06dc343fd..fcfaf125a5a1 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c @@ -516,7 +516,8 @@ static int s5p_mfc_set_enc_stream_buffer_v5(struct s5p_mfc_ctx *ctx, } static void s5p_mfc_set_enc_frame_buffer_v5(struct s5p_mfc_ctx *ctx, - unsigned long y_addr, unsigned long c_addr) + unsigned long y_addr, unsigned long c_addr, + unsigned long c_1_addr) { struct s5p_mfc_dev *dev = ctx->dev; @@ -525,7 +526,8 @@ static void s5p_mfc_set_enc_frame_buffer_v5(struct s5p_mfc_ctx *ctx, } static void s5p_mfc_get_enc_frame_buffer_v5(struct s5p_mfc_ctx *ctx, - unsigned long *y_addr, unsigned long *c_addr) + unsigned long *y_addr, unsigned long *c_addr, + unsigned long *c_1_addr) { struct s5p_mfc_dev *dev = ctx->dev; @@ -1210,7 +1212,7 @@ static int s5p_mfc_run_enc_frame(struct s5p_mfc_ctx *ctx) if (list_empty(&ctx->src_queue)) { /* send null frame */ s5p_mfc_set_enc_frame_buffer_v5(ctx, dev->dma_base[BANK_R_CTX], - dev->dma_base[BANK_R_CTX]); + dev->dma_base[BANK_R_CTX], 0); src_mb = NULL; } else { src_mb = list_entry(ctx->src_queue.next, struct s5p_mfc_buf, @@ -1220,7 +1222,7 @@ static int s5p_mfc_run_enc_frame(struct s5p_mfc_ctx *ctx) /* send null frame */ s5p_mfc_set_enc_frame_buffer_v5(ctx, dev->dma_base[BANK_R_CTX], - dev->dma_base[BANK_R_CTX]); + dev->dma_base[BANK_R_CTX], 0); ctx->state = MFCINST_FINISHING; } else { src_y_addr = vb2_dma_contig_plane_dma_addr( @@ -1228,7 +1230,7 @@ static int s5p_mfc_run_enc_frame(struct s5p_mfc_ctx *ctx) src_c_addr = vb2_dma_contig_plane_dma_addr( &src_mb->b->vb2_buf, 1); s5p_mfc_set_enc_frame_buffer_v5(ctx, src_y_addr, - src_c_addr); + src_c_addr, 0); if (src_mb->flags & MFC_BUF_FLAG_EOS) ctx->state = MFCINST_FINISHING; } diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 913fe5d5a93a..425c708eddcc 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -517,16 +517,43 @@ static void s5p_mfc_dec_calc_dpb_size_v6(struct s5p_mfc_ctx *ctx) struct s5p_mfc_dev *dev = ctx->dev; ctx->buf_width = ALIGN(ctx->img_width, S5P_FIMV_NV12MT_HALIGN_V6); ctx->buf_height = ALIGN(ctx->img_height, S5P_FIMV_NV12MT_VALIGN_V6); + ctx->chroma_size_1 = 0; mfc_debug(2, "SEQ Done: Movie dimensions %dx%d,\n" "buffer dimensions: %dx%d\n", ctx->img_width, ctx->img_height, ctx->buf_width, ctx->buf_height); - ctx->luma_size = calc_plane(ctx->img_width, ctx->img_height); - ctx->chroma_size = calc_plane(ctx->img_width, (ctx->img_height >> 1)); + switch (ctx->dst_fmt->fourcc) { + case V4L2_PIX_FMT_NV12M: + case V4L2_PIX_FMT_NV21M: + ctx->stride[0] = ALIGN(ctx->img_width, + S5P_FIMV_NV12MT_HALIGN_V6); + ctx->stride[1] = ALIGN(ctx->img_width, + S5P_FIMV_NV12MT_HALIGN_V6); + ctx->luma_size = calc_plane(ctx->stride[0], ctx->img_height); + ctx->chroma_size = calc_plane(ctx->stride[1], + (ctx->img_height / 2)); + break; + case V4L2_PIX_FMT_YUV420M: + case V4L2_PIX_FMT_YVU420M: + ctx->stride[0] = ALIGN(ctx->img_width, + S5P_FIMV_NV12MT_HALIGN_V6); + ctx->stride[1] = ALIGN(ctx->img_width / 2, + S5P_FIMV_NV12MT_HALIGN_V6); + ctx->stride[2] = ALIGN(ctx->img_width / 2, + S5P_FIMV_NV12MT_HALIGN_V6); + ctx->luma_size = calc_plane(ctx->stride[0], ctx->img_height); + ctx->chroma_size = calc_plane(ctx->stride[1], + (ctx->img_height / 2)); + ctx->chroma_size_1 = calc_plane(ctx->stride[2], + (ctx->img_height / 2)); + break; + } + if (IS_MFCV8_PLUS(ctx->dev)) { /* MFCv8 needs additional 64 bytes for luma,chroma dpb*/ ctx->luma_size += S5P_FIMV_D_ALIGN_PLANE_SIZE_V8; ctx->chroma_size += S5P_FIMV_D_ALIGN_PLANE_SIZE_V8; + ctx->chroma_size_1 += S5P_FIMV_D_ALIGN_PLANE_SIZE_V8; } if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || @@ -557,15 +584,53 @@ static void s5p_mfc_enc_calc_src_size_v6(struct s5p_mfc_ctx *ctx) mb_width = MB_WIDTH(ctx->img_width); mb_height = MB_HEIGHT(ctx->img_height); - ctx->buf_width = ALIGN(ctx->img_width, S5P_FIMV_NV12M_HALIGN_V6); - ctx->luma_size = ALIGN((mb_width * mb_height) * 256, 256); - ctx->chroma_size = ALIGN((mb_width * mb_height) * 128, 256); - - /* MFCv7 needs pad bytes for Luma and Chroma */ - if (IS_MFCV7_PLUS(ctx->dev)) { + if (IS_MFCV12(ctx->dev)) { + switch (ctx->src_fmt->fourcc) { + case V4L2_PIX_FMT_NV12M: + case V4L2_PIX_FMT_NV21M: + ctx->stride[0] = ALIGN(ctx->img_width, + S5P_FIMV_NV12M_HALIGN_V6); + ctx->stride[1] = ALIGN(ctx->img_width, + S5P_FIMV_NV12M_HALIGN_V6); + ctx->luma_size = ctx->stride[0] * + ALIGN(ctx->img_height, 16); + ctx->chroma_size = ctx->stride[0] * + ALIGN(ctx->img_height / 2, 16); + break; + case V4L2_PIX_FMT_YUV420M: + case V4L2_PIX_FMT_YVU420M: + ctx->stride[0] = ALIGN(ctx->img_width, + S5P_FIMV_NV12M_HALIGN_V6); + ctx->stride[1] = ALIGN(ctx->img_width / 2, + S5P_FIMV_NV12M_HALIGN_V6); + ctx->stride[2] = ALIGN(ctx->img_width / 2, + S5P_FIMV_NV12M_HALIGN_V6); + ctx->luma_size = ctx->stride[0] * + ALIGN(ctx->img_height, 16); + ctx->chroma_size = ctx->stride[1] * + ALIGN(ctx->img_height / 2, 16); + ctx->chroma_size_1 = ctx->stride[2] * + ALIGN(ctx->img_height / 2, 16); + break; + } ctx->luma_size += MFC_LUMA_PAD_BYTES_V7; - ctx->chroma_size += MFC_CHROMA_PAD_BYTES_V7; + ctx->chroma_size += MFC_CHROMA_PAD_BYTES_V12; + ctx->chroma_size_1 += MFC_CHROMA_PAD_BYTES_V12; + } else { + ctx->buf_width = ALIGN(ctx->img_width, + S5P_FIMV_NV12M_HALIGN_V6); + ctx->stride[0] = ctx->buf_width; + ctx->stride[1] = ctx->buf_width; + ctx->luma_size = ALIGN((mb_width * mb_height) * 256, 256); + ctx->chroma_size = ALIGN((mb_width * mb_height) * 128, 256); + ctx->chroma_size_1 = 0; + /* MFCv7 needs pad bytes for Luma and Chroma */ + if (IS_MFCV7_PLUS(ctx->dev)) { + ctx->luma_size += MFC_LUMA_PAD_BYTES_V7; + ctx->chroma_size += MFC_LUMA_PAD_BYTES_V7; + } } + } /* Set registers for decoding stream buffer */ @@ -611,15 +676,21 @@ static int s5p_mfc_set_dec_frame_buffer_v6(struct s5p_mfc_ctx *ctx) writel(ctx->total_dpb_count, mfc_regs->d_num_dpb); writel(ctx->luma_size, mfc_regs->d_first_plane_dpb_size); writel(ctx->chroma_size, mfc_regs->d_second_plane_dpb_size); - + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + writel(ctx->chroma_size_1, mfc_regs->d_third_plane_dpb_size); writel(buf_addr1, mfc_regs->d_scratch_buffer_addr); writel(ctx->scratch_buf_size, mfc_regs->d_scratch_buffer_size); if (IS_MFCV8_PLUS(dev)) { - writel(ctx->img_width, + writel(ctx->stride[0], mfc_regs->d_first_plane_dpb_stride_size); - writel(ctx->img_width, + writel(ctx->stride[1], mfc_regs->d_second_plane_dpb_stride_size); + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + writel(ctx->stride[2], + mfc_regs->d_third_plane_dpb_stride_size); } buf_addr1 += ctx->scratch_buf_size; @@ -648,6 +719,13 @@ static int s5p_mfc_set_dec_frame_buffer_v6(struct s5p_mfc_ctx *ctx) ctx->dst_bufs[i].cookie.raw.chroma); writel(ctx->dst_bufs[i].cookie.raw.chroma, mfc_regs->d_second_plane_dpb + i * 4); + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + mfc_debug(2, "\tChroma_1 %d: %zx\n", i, + ctx->dst_bufs[i].cookie.raw.chroma_1); + writel(ctx->dst_bufs[i].cookie.raw.chroma_1, + mfc_regs->d_third_plane_dpb + i * 4); + } } if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || ctx->codec_mode == S5P_MFC_CODEC_H264_MVC_DEC || @@ -706,20 +784,24 @@ static int s5p_mfc_set_enc_stream_buffer_v6(struct s5p_mfc_ctx *ctx, } static void s5p_mfc_set_enc_frame_buffer_v6(struct s5p_mfc_ctx *ctx, - unsigned long y_addr, unsigned long c_addr) + unsigned long y_addr, unsigned long c_addr, + unsigned long c_1_addr) { struct s5p_mfc_dev *dev = ctx->dev; const struct s5p_mfc_regs *mfc_regs = dev->mfc_regs; writel(y_addr, mfc_regs->e_source_first_plane_addr); writel(c_addr, mfc_regs->e_source_second_plane_addr); + writel(c_1_addr, mfc_regs->e_source_third_plane_addr); mfc_debug(2, "enc src y buf addr: 0x%08lx\n", y_addr); mfc_debug(2, "enc src c buf addr: 0x%08lx\n", c_addr); + mfc_debug(2, "enc src cr buf addr: 0x%08lx\n", c_1_addr); } static void s5p_mfc_get_enc_frame_buffer_v6(struct s5p_mfc_ctx *ctx, - unsigned long *y_addr, unsigned long *c_addr) + unsigned long *y_addr, unsigned long *c_addr, + unsigned long *c_1_addr) { struct s5p_mfc_dev *dev = ctx->dev; const struct s5p_mfc_regs *mfc_regs = dev->mfc_regs; @@ -727,12 +809,17 @@ static void s5p_mfc_get_enc_frame_buffer_v6(struct s5p_mfc_ctx *ctx, *y_addr = readl(mfc_regs->e_encoded_source_first_plane_addr); *c_addr = readl(mfc_regs->e_encoded_source_second_plane_addr); + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + *c_1_addr = readl(mfc_regs->e_encoded_source_third_plane_addr); + else + *c_1_addr = 0; enc_recon_y_addr = readl(mfc_regs->e_recon_luma_dpb_addr); enc_recon_c_addr = readl(mfc_regs->e_recon_chroma_dpb_addr); mfc_debug(2, "recon y addr: 0x%08lx y_addr: 0x%08lx\n", enc_recon_y_addr, *y_addr); - mfc_debug(2, "recon c addr: 0x%08lx\n", enc_recon_c_addr); + mfc_debug(2, "recon c addr: 0x%08lx c_addr: 0x%08lx\n", enc_recon_c_addr, *c_addr); } /* Set encoding ref & codec buffer */ @@ -909,6 +996,20 @@ static int s5p_mfc_set_enc_params(struct s5p_mfc_ctx *ctx) writel(reg, mfc_regs->e_enc_options); /* 0: NV12(CbCr), 1: NV21(CrCb) */ writel(0x0, mfc_regs->pixel_format); + } else if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) { + /* 0: Linear, 1: 2D tiled*/ + reg = readl(mfc_regs->e_enc_options); + reg &= ~(0x1 << 7); + writel(reg, mfc_regs->e_enc_options); + /* 2: YV12(CrCb), 3: I420(CrCb) */ + writel(0x2, mfc_regs->pixel_format); + } else if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M) { + /* 0: Linear, 1: 2D tiled*/ + reg = readl(mfc_regs->e_enc_options); + reg &= ~(0x1 << 7); + writel(reg, mfc_regs->e_enc_options); + /* 2: YV12(CrCb), 3: I420(CrCb) */ + writel(0x3, mfc_regs->pixel_format); } /* memory structure recon. frame */ @@ -1815,8 +1916,12 @@ static int s5p_mfc_init_decode_v6(struct s5p_mfc_ctx *ctx) else writel(reg, mfc_regs->d_dec_options); - /* 0: NV12(CbCr), 1: NV21(CrCb) */ - if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_NV21M) + /* 0: NV12(CbCr), 1: NV21(CrCb), 2: YV12(CrCb), 3: I420(CbCr) */ + if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YUV420M) + writel(0x3, mfc_regs->pixel_format); + else if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + writel(0x2, mfc_regs->pixel_format); + else if (ctx->dst_fmt->fourcc == V4L2_PIX_FMT_NV21M) writel(0x1, mfc_regs->pixel_format); else writel(0x0, mfc_regs->pixel_format); @@ -1902,8 +2007,12 @@ static int s5p_mfc_init_encode_v6(struct s5p_mfc_ctx *ctx) /* Set stride lengths for v7 & above */ if (IS_MFCV7_PLUS(dev)) { - writel(ctx->img_width, mfc_regs->e_source_first_plane_stride); - writel(ctx->img_width, mfc_regs->e_source_second_plane_stride); + writel(ctx->stride[0], mfc_regs->e_source_first_plane_stride); + writel(ctx->stride[1], mfc_regs->e_source_second_plane_stride); + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + writel(ctx->stride[2], + mfc_regs->e_source_third_plane_stride); } writel(ctx->inst_no, mfc_regs->instance_id); @@ -2012,7 +2121,7 @@ static inline int s5p_mfc_run_enc_frame(struct s5p_mfc_ctx *ctx) struct s5p_mfc_dev *dev = ctx->dev; struct s5p_mfc_buf *dst_mb; struct s5p_mfc_buf *src_mb; - unsigned long src_y_addr, src_c_addr, dst_addr; + unsigned long src_y_addr, src_c_addr, src_c_1_addr, dst_addr; /* unsigned int src_y_size, src_c_size; */ @@ -2030,22 +2139,29 @@ static inline int s5p_mfc_run_enc_frame(struct s5p_mfc_ctx *ctx) if (list_empty(&ctx->src_queue)) { /* send null frame */ - s5p_mfc_set_enc_frame_buffer_v6(ctx, 0, 0); + s5p_mfc_set_enc_frame_buffer_v6(ctx, 0, 0, 0); src_mb = NULL; } else { src_mb = list_entry(ctx->src_queue.next, struct s5p_mfc_buf, list); src_mb->flags |= MFC_BUF_FLAG_USED; if (src_mb->b->vb2_buf.planes[0].bytesused == 0) { - s5p_mfc_set_enc_frame_buffer_v6(ctx, 0, 0); + s5p_mfc_set_enc_frame_buffer_v6(ctx, 0, 0, 0); ctx->state = MFCINST_FINISHING; } else { src_y_addr = vb2_dma_contig_plane_dma_addr(&src_mb->b->vb2_buf, 0); src_c_addr = vb2_dma_contig_plane_dma_addr(&src_mb->b->vb2_buf, 1); + if (ctx->src_fmt->fourcc == V4L2_PIX_FMT_YUV420M || + ctx->src_fmt->fourcc == V4L2_PIX_FMT_YVU420M) + src_c_1_addr = vb2_dma_contig_plane_dma_addr + (&src_mb->b->vb2_buf, 2); + else + src_c_1_addr = 0; mfc_debug(2, "enc src y addr: 0x%08lx\n", src_y_addr); mfc_debug(2, "enc src c addr: 0x%08lx\n", src_c_addr); - s5p_mfc_set_enc_frame_buffer_v6(ctx, src_y_addr, src_c_addr); + s5p_mfc_set_enc_frame_buffer_v6(ctx, src_y_addr, + src_c_addr, src_c_1_addr); if (src_mb->flags & MFC_BUF_FLAG_EOS) ctx->state = MFCINST_FINISHING; } @@ -2571,6 +2687,8 @@ const struct s5p_mfc_regs *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) S5P_FIMV_E_ENCODED_SOURCE_FIRST_ADDR_V7); R(e_encoded_source_second_plane_addr, S5P_FIMV_E_ENCODED_SOURCE_SECOND_ADDR_V7); + R(e_encoded_source_third_plane_addr, + S5P_FIMV_E_ENCODED_SOURCE_THIRD_ADDR_V7); R(e_vp8_options, S5P_FIMV_E_VP8_OPTIONS_V7); if (!IS_MFCV8_PLUS(dev)) @@ -2585,16 +2703,20 @@ const struct s5p_mfc_regs *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) R(d_cpb_buffer_offset, S5P_FIMV_D_CPB_BUFFER_OFFSET_V8); R(d_first_plane_dpb_size, S5P_FIMV_D_FIRST_PLANE_DPB_SIZE_V8); R(d_second_plane_dpb_size, S5P_FIMV_D_SECOND_PLANE_DPB_SIZE_V8); + R(d_third_plane_dpb_size, S5P_FIMV_D_THIRD_PLANE_DPB_SIZE_V8); R(d_scratch_buffer_addr, S5P_FIMV_D_SCRATCH_BUFFER_ADDR_V8); R(d_scratch_buffer_size, S5P_FIMV_D_SCRATCH_BUFFER_SIZE_V8); R(d_first_plane_dpb_stride_size, S5P_FIMV_D_FIRST_PLANE_DPB_STRIDE_SIZE_V8); R(d_second_plane_dpb_stride_size, S5P_FIMV_D_SECOND_PLANE_DPB_STRIDE_SIZE_V8); + R(d_third_plane_dpb_stride_size, + S5P_FIMV_D_THIRD_PLANE_DPB_STRIDE_SIZE_V8); R(d_mv_buffer_size, S5P_FIMV_D_MV_BUFFER_SIZE_V8); R(d_num_mv, S5P_FIMV_D_NUM_MV_V8); R(d_first_plane_dpb, S5P_FIMV_D_FIRST_PLANE_DPB_V8); R(d_second_plane_dpb, S5P_FIMV_D_SECOND_PLANE_DPB_V8); + R(d_third_plane_dpb, S5P_FIMV_D_THIRD_PLANE_DPB_V8); R(d_mv_buffer, S5P_FIMV_D_MV_BUFFER_V8); R(d_init_buffer_options, S5P_FIMV_D_INIT_BUFFER_OPTIONS_V8); R(d_available_dpb_flag_lower, S5P_FIMV_D_AVAILABLE_DPB_FLAG_LOWER_V8); From patchwork Tue May 17 12:55:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852453 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CF1B3C433EF for ; Tue, 17 May 2022 13:06:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=3aUj74SXHFBfIBFy2I8HMlyYDrDokxBmREjGCWjvcIY=; b=Kx8ynO2eckHvTH CtgHgaBtKf1NVY6WReEZ7qBw/2R6nkgX5rEnDx5kKlI9VijyKey0wubdT9icxNdQEtf2XYF/IcA8z lGa1rxOsEvTwFMnyxvGo+Gs3TEmfnmkXweEicLk+brMTkIf/spP6bKUh/4eXQiTeUt9JAJa+DgDr5 wTaooTZosouD0B0/qmEKF94QBSSsvXL+dwPTrhVQ1m9qYL7zO4wlXS9BSu56Iau203pS1p6EAQdGL ASuuCJkJZPMk+b5/umAGITTlOczccvjHmqukI37E3dtcnc1GfnUSt2xVlqRJZWRSGBo+buPEzEWbv b0nEfIy5Y3TjX6fWr0JA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwsM-00Dm8C-8v; Tue, 17 May 2022 13:04:35 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmP-00Dj5h-P5 for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:28 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20220517125822epoutp038232fd5ea65de28570ed83bf8933743a~v5dewrfs30631206312epoutp03O for ; Tue, 17 May 2022 12:58:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220517125822epoutp038232fd5ea65de28570ed83bf8933743a~v5dewrfs30631206312epoutp03O DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792302; bh=9iq+mLgOWPSj2EdBDaSGOQv03zpF6lh9YWwwNyuwaU8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aHbC2lCwdro2rDAOqfKiHT/YnawjQhJNQgLrfFMvMREDoRD5wVqRrT40L0Cj/B1oL IUzfluZ0WfRFwag0vVk+q4BBdqFLOGg0Tct2V3tED9giNHGqggErcO/uGST7/wxeCh yK4GKAL5b+V4UdxZsjZ8J9SIrZJFxaugC8u/XvZc= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p4.samsung.com (KnoxPortal) with ESMTP id 20220517125822epcas5p4c4a80e5ba36bdf5ec4b61927ae941b4a~v5deB_p7O2388723887epcas5p4K; Tue, 17 May 2022 12:58:22 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.181]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2blG069nz4x9Px; Tue, 17 May 2022 12:58:18 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 7A.3F.10063.9EB93826; Tue, 17 May 2022 21:58:17 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20220517125622epcas5p324e57e1a7d76f77898d54eb01686945a~v5buZUfw70745207452epcas5p3E; Tue, 17 May 2022 12:56:22 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125622epsmtrp1be2fc9a23b6fc847c86b5406f6a41693~v5buYOrB33276532765epsmtrp1d; Tue, 17 May 2022 12:56:22 +0000 (GMT) X-AuditID: b6c32a49-4cbff7000000274f-ca-62839be9f0af Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 63.AA.11276.67B93826; Tue, 17 May 2022 21:56:22 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125618epsmtip11b875d2dd7ae8e925fdc6d73f490bc34~v5brXePFF2352323523epsmtip1g; Tue, 17 May 2022 12:56:18 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 10/20] media: s5p-mfc: Add support for rate controls in MFCv12 Date: Tue, 17 May 2022 18:25:38 +0530 Message-Id: <20220517125548.14746-11-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTe0xTVxzHPb19XGQlN8DCoYusu5MsEB7tBnhKKIpTdhlEyJaFhMywAneU tbRdH8rcMpEqKoxNZ0TeMIHBAJmUloGAVIbigMAMCImhoyJG24yxgSgDhmtt2f77/L6/5/md c3DM+x6bh+cotLRaIZGT7J3Mrp+D3gi1VeozBH8VRCNrTRcb1a89YqC5+hUmGuw0cZBxqhJD TcNmFqodGmehn27MM1HHY4f3TrmFiR7VtgNkq/iNjQwPplnovj0VTV6rYqOvrppY6MqQhYMa Z+4w0PeGTQa6bHrCQaf6hzjI0tcF0MnCIcY+P6qtpg1Q3ZYGQM00LGNUT4WFQ9X32RiUoeUs m5qd7mNTnQ3HqVM315nU18YWQG0VVHOooqEZNrViCKBGVlc4KV5pshgpLcmi1XxakanMylFk i8nE99PfTo+MEghDhSK0h+QrJLm0mDyQlBIanyN3bIDkH5HIdQ4pRaLRkOGxMWqlTkvzpUqN VkzSqiy5KkIVppHkanSK7DAFrY0WCgRvRjoCP5JJ6zb7mCozkdcw+jfIB1ZuEfDAIREB50u7 2UVgJ+5N9AJYWNcEXMYygGdr29zGUwDPn/kFbKdMFI25Hf0AjpraMZdxkgEfb7UznVFsIgQ+ XRplO9mXOAHggzNaJ2PEBgbLpwKc7EOkwJ7CXpaTmUQgvH6h5AVziWg4M38ac3V7FbZeNTsY xz0cevXWYZf8HIeXHiIXH4CVo2MsF/tA+7CR42IetH1T6OZsOLeidx9ABavzjQwX74XmqSqm szxGBMEfr4W75F3w4kg7wzWxFyzZWHCHc2F3zTaT8PLYbXd5CO8umtwjUHB28iLHtZISAK36 FnAOBFT836IOgBbgT6s0udm0JlIlVNBH/7u0TGWuAbx45MEJ3cBi/TNsEDBwMAggjpG+XEFe foY3N0vy2TFarUxX6+S0ZhBEOtZ3HuO9nKl0/BKFNl0YIRJEREVFRYjeihKSflzi+YkMbyJb oqVlNK2i1dt5DNyDl88QYa2itJ7rp3Ufeu7+dkeZt3ZrpLLxtnlt4FnRkQ/2+beurpQ03wsp sO9fFywdtDwRTJSNfQnxOF2qNuggKW1qPGb4Z2GZYA5YCwLy+e++puTs8UqqG+7hvpT1ir7j 7q5PzTHNvKO/i2/tTvr15o28aZnfdyFfVHZ4re3wWuya0NKpvSX+/Z5lS6uRU6HvvB4v9zz3 efm470PW/h/kCYnx9tb3ktWBWnvteuzxycWFReNg4hV+YLNuObZYtDkQn3wovrS4whB8QRDH TR63Hu4Ubxh5tk/ygvEk/q16mW3vePglmenjzVhxX8KccNYK9WlVf3Ds9w9h0tzhZz7F+jj/ UpKpkUqEwZhaI/kXOVfY2m0EAAA= X-Brightmail-Tracker: H4sIAAAAAAAAAzWRe0hTYRjG+87OzjlTJqdl9Gn3QYVi6iroK8oSik4GtihXWaIzD1q6tTbt ZpHlJZyX0pLMe86STRNdXmuZzaWkUdnFlblKY60tMlELsxi5pP9+z/N74P3jpTiCPNybOixP ZJVyaYKQcMObO4WLVh4vTo0OHCjgoo9lzQTSTNow9EEzjiPjnSYSNb4q5qDq7g4uKjc95aKW h8M4avgybfuuW3BkK68DyF70nkD6T/1cNOTYi17eLSFQdn0TF902WUh009yHoVv6PxiqbJog Ufp9E4kshmaA0jJM2OZ5TG1ZLWBaLVWAMVeNcZi2IgvJaAx2jNHrMglmsN9AMHeqzjHpj6Zw JrdRBxjnhVKSUZvMBDOuX8T0/BgnxR7hbhti2ITDx1llQFCUW1zFHwOu6KBPVvX+AingI18N eBSk18Bn6ifAxQL6HoDG8u0zPYTa3/lghudArdNGqoHb9OYCBhsmRzkuQdB+8Of3XsIlPOl0 AM3aTMwVOHQeDq+ap/6t5tChMPtWIe5inF4G26/kcF3Mp9dD8/BFzsyJxbCmvmOaKYo33Zc6 I1wooNdB6wN0GXhUgFk64MUqVLJYmUqkEMnZE/4qqUyVJI/1P3RUpgf/vubr0wpadKP+RoBR wAggxRF68gNPpkQL+DHSU6dZ5dFIZVICqzKC+RQunMd/rn4cKaBjpYlsPMsqWOV/i1E87xQs bUARH1Pm0Hjn2w86iid9CXKt9VvwkLtulxyVbNVah4/sXtHu9yMvZK5YLtZ4bq58kUS/rrNJ t8D7o56yzqj+zznV/Je9he5heGBGafLbswkhAtu1M6t3JkXkKEtsS8f69vhtut7j19Uxuyz4 UkFM4IKsFNtjempLavQ2stXZZXFIBpLDisTCybM3jr0olGzkc6O+ROxw2r1UBl4PIJaEZsmy dgWIwZlVdS2/85Nrgo0fHCN6ET9Pd3tk8dp7J3iNWp/i58PnQx1IFLQ87lRypL00l/EZsa68 ufrNV9/B7k7Juvh9EndD+Luw/v2zHh1QtNXhE7KphRGZRc2SNiGuipOKfDlKlfQvlPK6/yQD AAA= X-CMS-MailID: 20220517125622epcas5p324e57e1a7d76f77898d54eb01686945a X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125622epcas5p324e57e1a7d76f77898d54eb01686945a References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055826_280606_F528C51A X-CRM114-Status: GOOD ( 16.82 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In MFCv12, the rc configs are changed with support for CBR loose, CBR tight and Variable Bitrate (VBR) added. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 22 +++++++++++++++---- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 1 + 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 425c708eddcc..7db7945ea80f 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -1048,10 +1048,24 @@ static int s5p_mfc_set_enc_params(struct s5p_mfc_ctx *ctx) /* reaction coefficient */ if (p->rc_frame) { - if (p->rc_reaction_coeff < TIGHT_CBR_MAX) /* tight CBR */ - writel(1, mfc_regs->e_rc_mode); - else /* loose CBR */ - writel(2, mfc_regs->e_rc_mode); + if (IS_MFCV12(dev)) { + /* loose CBR */ + if (p->rc_reaction_coeff < LOOSE_CBR_MAX) + writel(1, mfc_regs->e_rc_mode); + /* tight CBR */ + else if (p->rc_reaction_coeff < TIGHT_CBR_MAX) + writel(0, mfc_regs->e_rc_mode); + /* VBR */ + else + writel(2, mfc_regs->e_rc_mode); + } else { + /* tight CBR */ + if (p->rc_reaction_coeff < TIGHT_CBR_MAX) + writel(1, mfc_regs->e_rc_mode); + /* loose CBR */ + else + writel(2, mfc_regs->e_rc_mode); + } } /* seq header ctrl */ diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h index ee2018ee95cc..f09499ba153d 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h @@ -44,6 +44,7 @@ #define ENC_H264_LEVEL_MAX 42 #define ENC_MPEG4_VOP_TIME_RES_MAX ((1 << 16) - 1) #define FRAME_DELTA_H264_H263 1 +#define LOOSE_CBR_MAX 5 #define TIGHT_CBR_MAX 10 #define ENC_HEVC_RC_FRAME_RATE_MAX ((1 << 16) - 1) #define ENC_HEVC_QP_INDEX_MIN -12 From patchwork Tue May 17 12:55:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852455 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0EEB9C433F5 for ; Tue, 17 May 2022 13:07:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=d6Xo5bz6hXj4zHDUqpwiTXMFq9mfMKqGqbxFm7P14ZE=; b=QBH0UQszTkQ6ux FOABUzF27+fBVrb03OoTWV0Bv88rgLDuXs7+E5rXwsu7N87KO2/MHDHva/epXGMdYxqMbZwfE1Y+J 7twN++VNImiOiYpGG7ISKQY+2DRI34Gwizkp5wY2Ma3ImA0LwAzreOy5ZiZV7FkreDAAcC1DKgtT8 SvdP29OMOzmA/CfX62kGOQXlahShiDWz/NM7p9sPltq1gF/k47xHFdXbUa+uAWpVTB1VlLLQzPy2q BfddEf8vtU6zfcrwMMNiqfPPR8+Z5RIYDN/T04jLjW0eMVyE0G3MK4jd/Fuw7C3jrf4G3RlPVY2mn /Xh3RkXDeH796sRYsmQQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwtd-00DmdR-HG; Tue, 17 May 2022 13:05:54 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmW-00Dj8b-4c for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:34 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20220517125829epoutp02d429ceac15fa3df974b432e08e118157~v5dlF0F6t1344913449epoutp02O for ; Tue, 17 May 2022 12:58:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20220517125829epoutp02d429ceac15fa3df974b432e08e118157~v5dlF0F6t1344913449epoutp02O DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792309; bh=UaUnqHztRkuZ9ODDtfRk9jp4qglgayWYabGzgPoxivo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oQHZpBiAQYf/6t1965J7ww9l+UOtj8EWy42GhFDNNOPwJLSf9lNoBb0nfbRpO8XhQ fqG00UP20kfSOBC5U+zy4kLCSSab2ESo2/nSFlYbgChiB9S8iJA668CG9qz+FYQRhl jbQQKClxqEdQ4w1ie/ZyxE9X0x/fBPPTZ5YvpvPA= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125828epcas5p3e0333ee7f1a7c8468f4470da0292bacc~v5dkgKnFe0661806618epcas5p3v; Tue, 17 May 2022 12:58:28 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.182]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2blN4nLGz4x9Px; Tue, 17 May 2022 12:58:24 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id 24.3C.09762.0FB93826; Tue, 17 May 2022 21:58:24 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20220517125625epcas5p3a5d6e217570e2e2f4e11b4c099d45767~v5bxjtzBM0744707447epcas5p37; Tue, 17 May 2022 12:56:25 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125625epsmtrp19864d6aa5a140cadabf0e56cf9cfb6d6~v5bxiwNpa3276532765epsmtrp1e; Tue, 17 May 2022 12:56:25 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-f0-62839bf0d742 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 55.AA.11276.97B93826; Tue, 17 May 2022 21:56:25 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125622epsmtip1349af073d55ce068853372881a21b00c~v5buhHb3O1797117971epsmtip1I; Tue, 17 May 2022 12:56:22 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 11/20] media: s5p-mfc: Add support for UHD encoding. Date: Tue, 17 May 2022 18:25:39 +0530 Message-Id: <20220517125548.14746-12-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTeVBTVxTGe99LXh4yoa9ghwsKMqGiWIGkhHihQGUK9lk6lU7pMG1HMZDX sIQkzQsu2AUqUANIcUZbRMHKZgfZGkhKAZXGOHSg4wyWpUxlk8qmVMpWqIJNTGj/+51zv3O+ M+feS+LOg4Q7mazUMhqlVCEgNnGMN319/eYunEwQtj70RKNlRgJVrExiaKRigYNMTQYeau69 gKMrnR1cdMl8m4t++OkeB30/ZTntOT/EQZOX6gGaLhkmkH68n4vGZuLQr60XCVTQaOCiOvMQ D1UN9GCoWv8EQ+WGRR7KuWbmoaF2I0DZuWZsrytdW1YL6JahSkAPVM7j9I8lQzy6on0ao/U1 OoK+299O0E2Vn9M5t/7h0IXNNYBe/6KUR+eZBwh6Qe9Jdy0t8GKcPkgNTWKkMkbjxSgTVbJk pTxMEP1u/OvxQRKhyE8UjPYIvJTSNCZMEPlWjN++ZIVlAwKvI1JFuiUVI2VZQUB4qEaVrmW8 klSsNkzAqGUKtVjtz0rT2HSl3F/JaENEQuErQRbh4dSkopUwtfn5Y/k93Vgm0PHzgAMJKTG8 M9WJ54FNpDPVBmBbRzVmC+YBLM4f5FlVztQygGf1H25U5K+t2SuuAVgz12EPsjH455Ny3Koi qN1w+VE3YeXNVBaA46e0Vsapxzg83+tpZRcqEk7XVj9z4FDb4dJqDmZlPhUCJx7c5drctsGr jVYDknSw5EvXD1q9IPWUhMU3jIRNEwlbxi4DG7vAmc5mno3d4fRXuXaWw5GFk3aNGpZmNmM2 fg129F7kWPvjlC9saA2wpT3gua56zDayEzz9+A+7nA9byjZYAMt/+dneHsK+WYN9ZBpW1Ro4 tp2cBtA8f4YoAp4l/1t8C0ANcGPUbJqcYYPUgUrm6H93lqhK04Nnb3xXdAu4NzrnbwIYCUwA krhgM194LDPBmS+THs9gNKp4TbqCYU0gyLK/M7j7i4kqyydRauNF4mChWCKRiIMDJSKBK596 mpXgTMmlWiaVYdSMZqMOIx3cMzHvnZmxDeibkVJ9NnXWuIjnRgkfPld4vWExdHrp/S9dONdX 01/uK96/+29u/8xMLzvsk7pocttKFn5StDUwtg6mZHs6RtyeHx/NitpinH/bsUJ34FPvmfIt U59NREZLCnLWPloQO6aoFN0HPFZLMlQnfu9sc5mdUa7NroXj6wXyWx5/fR13o+pwvi4g6lDp 3r7J2D2tfU2Fy7qbPViDSpdy4txg3dzBuDdmNWPtL2yr63rpaKPsY2/TIZmo7cGKeDC5LaJX R1ZO/JblumPnUkG9W9mREINk3yMXp4KMdy5Ld0S8FztcuT/syvHvOvsj7/B9XlXfx6bkV9ny +35vdjPhodtNPgIOmyQV7cI1rPRfikRGf2wEAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsWy7bCSnG7l7OYkg50tMhYP5m1js1j84zmT xf3Fn1ksDm3eym6x5cpsZovlxw+wWsw/co7VYvvBRywWG18AZS/OvMti8Xz+OkaLl7PusVls enyN1eLhq3CLy7vmsFn0bNjKarH2yF12i6XXLzJZLNv0h8li0dYv7Bate4+wW9zds43RoqXt CJODuMeaeWsYPXbcXcLocX3JJ2aPnbPusnss3vOSyWPTqk42jzvX9rB5bF5S79F69BeLR9+W VYwe/5rmsnt0HbnO5vF5k5zHqa+f2QP4orhsUlJzMstSi/TtErgyJvywLTjCX9F98TRTA2Mn bxcjJ4eEgIlE99+/zF2MXBxCArsZJR7MmMAOkZCQWPl7EiOELSyx8t9zsLiQQBOTxLk7YDab gI7Et/en2UCaRQRaGSWur+xkAnGYBSaySEy5/osZpEpYwEXi5ZplYB0sAqoSX3+2MoHYvAJW Es9e32GF2CAvsXrDAaB6Dg5OoPjcf7EgppCApcTT/RYTGPkWMDKsYpRMLSjOTc8tNiwwzEst 1ytOzC0uzUvXS87P3cQIjjQtzR2M21d90DvEyMTBeIhRgoNZSYTXoKIhSYg3JbGyKrUoP76o NCe1+BCjNAeLkjjvha6T8UIC6YklqdmpqQWpRTBZJg5OqQamVg7LKtbmlYIF/aJd+4KKJuQL zqlW25qZOuEip5fOJK3Mdulbk7+59UxIKntbd+TLjvMb5h2wjJFZIN6w5nGMlGqEpQZL9Gyx nPo5Ll7fm+6/XJIgf9+s2XbRGZNvbez8UZIzvwfd8lnGct/qXcL80trE+DNK/3bufaqplKQ2 QeN+5Tafx3MsfxZU/pb/Y1KzvOWKDdshpr28U/LNNX6xmJ0/ultzzrHK0nsrnH+VHJb6MmnK mQd3+ddPL+/2SS4wNdYLcyi6qaMcVPaS6c3n0Ny+r6vK7Y+wz97taNJ3dq6odmSU5ftAtaIs eb+i3J/28+b06Zt8ZU2e/4BZ/O4yJSfuyMN9zLmPljJYv1RiKc5INNRiLipOBACWsEw8IwMA AA== X-CMS-MailID: 20220517125625epcas5p3a5d6e217570e2e2f4e11b4c099d45767 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125625epcas5p3a5d6e217570e2e2f4e11b4c099d45767 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055832_636593_33F0B549 X-CRM114-Status: GOOD ( 17.53 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org MFC driver had restriction on max resolution of 1080p, updated it for UHD. Added corresponding support to set recommended profile and level for H264 in UHD scenario. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c | 4 ++-- .../media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index 456edcfebba7..9b624f17e32b 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -1630,8 +1630,8 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f) return -EINVAL; } - v4l_bound_align_image(&pix_fmt_mp->width, 8, 1920, 1, - &pix_fmt_mp->height, 4, 1080, 1, 0); + v4l_bound_align_image(&pix_fmt_mp->width, 8, 3840, 1, + &pix_fmt_mp->height, 4, 2160, 1, 0); } else { mfc_err("invalid buf type\n"); return -EINVAL; diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 7db7945ea80f..2b6d6259a209 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -1127,6 +1127,18 @@ static int s5p_mfc_set_enc_params_h264(struct s5p_mfc_ctx *ctx) reg |= ((p->num_b_frame & 0x3) << 16); writel(reg, mfc_regs->e_gop_config); + /* UHD encoding case */ + if ((ctx->img_width == 3840) && ctx->img_height == 2160) { + if (p_h264->level < 51) { + mfc_debug(2, "Set Level 5.1 for UHD\n"); + p_h264->level = 51; + } + if (p_h264->profile != 0x2) { + mfc_debug(2, "Set High profile for UHD\n"); + p_h264->profile = 0x2; + } + } + /* profile & level */ reg = 0; /** level */ From patchwork Tue May 17 12:55:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852461 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8017AC433EF for ; Tue, 17 May 2022 13:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=IvaufrpsNMzSlq7IhVDnNE9zlSOEIU7NV08l04sjpNY=; b=n+YyuljUUmcvm/ fW2RDNGRhu37PG+RMpb88XO41KidtaWB98gK66RC8zGhvHITQWZ29ZiAxH3I3JyOOZeBqRhJQb12B D7jQXQ9tDW/siGYPCMKqezmUCFGv3LzXbal4ShEGyZFU11xkbBgz53FK4piakYvDv6Ch5JNpMPCuV YkmKZEseqjqzJcSui0Eb+tpiysi/kulsmWJlz199Ir+iMjWCkw+qiGTN6Cai4cczJuMzr7waJzTRL F/hndA+SZ3JFHB5teRse8zPinm1NtFqp+2PBvIs6r8DjTftHKVZu55y9QsXrIWCGr7wo3+I/Y8mNW jUQBWXWsqQOl1yB1Zk6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwux-00Dn7u-Dk; Tue, 17 May 2022 13:07:15 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmc-00DjDq-Ge for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:40 +0000 Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20220517125836epoutp04303a82e46d0942a13b5e43c109213aa3~v5drN2v7r1581615816epoutp04q for ; Tue, 17 May 2022 12:58:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20220517125836epoutp04303a82e46d0942a13b5e43c109213aa3~v5drN2v7r1581615816epoutp04q DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792316; bh=wksUEOOixEoJf+qUS9NTctY/uVgxqstDTAlEr0YTLg8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QSLIMPgrjWwgbsfIimaHdQjztEXgYbFna6Vy7Lxbmuw895ZtmiNCVhmIMekOxhaN7 FUXw6fzS2iQIz/Tcv3qAcLBCZbUgbfZAlXQJjTaD9PsmZcndOQ1+/DN5N5dYi+6B/j XB8gSfrcvjT3n6K3JwPCqt8SjZ7r9QcCd/Tyk70k= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20220517125834epcas5p1e93a035cefd90fe02a76421c084b7769~v5dqBgx1u1659716597epcas5p16; Tue, 17 May 2022 12:58:34 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.175]) by epsnrtp3.localdomain (Postfix) with ESMTP id 4L2blW20FFz4x9Pt; Tue, 17 May 2022 12:58:31 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id C7.3C.09762.7FB93826; Tue, 17 May 2022 21:58:31 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125629epcas5p4c99993ea5e464b296ff6dfec85b4c441~v5b0zi5Qn1555515555epcas5p4G; Tue, 17 May 2022 12:56:29 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125629epsmtrp1808d294c8a1c859dd031f084186f6da6~v5b0yYx2r3276532765epsmtrp1f; Tue, 17 May 2022 12:56:29 +0000 (GMT) X-AuditID: b6c32a4b-213ff70000002622-00-62839bf78b1c Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 8F.36.08924.C7B93826; Tue, 17 May 2022 21:56:28 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125625epsmtip15dfdf361e5a98fcfcd651138a8597f84~v5bxp9J0t1799817998epsmtip1Q; Tue, 17 May 2022 12:56:25 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 12/20] media: s5p-mfc: Add support for DMABUF for encoder Date: Tue, 17 May 2022 18:25:40 +0530 Message-Id: <20220517125548.14746-13-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf0xbVRTHve/157TkBVDuGD9fhgYi0EIpFwLzB2CeYSaYxSwRFAu8FaS0 XV/BOafrBmzQDIdzSEaBNYBWESeUn+taBdYJ25QMQdDJr1EnYz+UUAYbkM3WFv3vc77ne+45 OfdeHu59nePPK1BoaLVCKic521g9F8Ofi1zTl+YIy+1cNNfYw0HNDxYwNNvsYKHBzm4u6hrX 48g41M9GZ20jbNQ7MM9CHbec2dEz0yy0cPYcQIt1Mxxksk+w0Y3be9GYuZ6DTrR3s9E3tmku +nxyFENfmDYx1NS9wkXlVhsXTVt6ACo7ZsNe9KPaGtsA1TfdAqjJlmWcOl83zaWaLYsYZWqt 5FBTExYO1dlymCq/tM6iPu5qBdSjow1cSmeb5FAOUxB15b6Dm+H1ZmFSPi3No9UhtCJXmVeg kCWT6XuyU7LjJEJRpCgBxZMhCmkRnUym7s6IfKVA7twAGVIilRc7pQwpw5DRu5LUymINHZKv ZDTJJK3Kk6vEqihGWsQUK2RRClqTKBIKY+KcxncK8+dmJzHVNXjgvNHA1oLTvjrA50FCDNse jnB0YBvPm7gAYM2IEbiDZQCrOzpxd+AAsLf7Ar5VMmr8wZMwA3i//idPUIbBnusNmMvFIZ6H q39f5bjYlzgCoL1C42Kc2MDhmfEgF/sQr8LOWovTz+OxiDBYa4txyQIiEVYt3+G6mwXDr9v7 cZeF79QbHr3lagWJxzzY/JWd7fakwi+Pz7Dc7ANvD3V5av3h4sljHpbBWUcpcLMKNmi7MDe/ APvH61mu83EiHH5rjnbLgbDmyjnMPbEXrNr4w2MXwL7GLSZh04/DnuMh/OVet2ccCrZUNGHu lVQBOKTTs6tBUN3/LQwAtILttIopktFMnCpWQb/336XlKotM4N9HHpHeB+bnlqIGAcYDgwDy cNJXIDygzfEW5EnfP0irldnqYjnNDII45/o+wf2fzlU6f4lCky0SJwjFEolEnBArEZF+AuLx kRxvQibV0IU0raLVW3UYj++vxbKMlSWbjZej99cH6HoTwp6tXbvR3hE/T3qNPqHJ1HmF96/m C6JkrKV9h3U0ih8WBX+4a70qVx/5snl7k/XuyAo11PVu8wlrTtn8KS5/p+DnqQczh0L3Zjqy WIaNlB0Ro6LQYOa7PzP3RYfe8w+4+uS1ipXMmPGXjHue8rl11MFu+K00DcZLIkdW/pr5QF65 IylqNeRgKZ3yjGC3JTCz6fjd14PtjcyE3/efLVkH9Fr1hjW2JgWrZgepfdYNeWEfWcjsizdX Ty1slvATx6xZm5eGXxubXej/3Z5qUj38dYMxl7592Xxn/2mQHk+LxwPS+J8GqnYOhEnXbqZp 9FOGQ28YSBaTLxVF4GpG+g9/PQ3gbQQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAAzWRW1CMYRzGe79z22w+q5leMqmdQZKlWN7UYFzwhQsX5DATNn2KdtfaTRSR KMq5KZ0UKdLqwGYTs6JaORRTw7Qju2pVFlFNK0NRWo2753l+v5n/xZ/BRReJacxuZQyvVsrk YkpAVDeIPecdzjsevqDnUwDqLKimUNFPG4Y6iuwEqq/S0+jumzwclTx9TKIrxlckulf3gUB3 Po3T1hwLgWxXKgD6nPueQrquNhJZv2xCrx9cptCZ23oSlRstNLpuasXQDd1vDF3Tf6dR8kMj jSyGaoBOpBixFe5cWUEZ4GosxYAzFQ/i3P1cC80VGT5jnE6bSnHmNgPFVRUf5ZKfDBPcubta wI0m5dNcmtFEcXadJ/diyE6vd90qCI7g5btjefX8ZTsEUZ0dJkzVAg/eL7lKJoIMtzTgzEB2 EWwtacTTgIARsTUADtdlkRMAwtKRdDCRp8DSURs9ISVh8EZvE+YAFOsHf/Q3UQ7gxiYDaCpN xRwFZy8SMMM0jDusKWwIrMoyjAOGIdiZMMsY4JiF7FJ4drCXnrgwA966/Rh3KM7je/5omCOK 2EDY8whdAK5XgZMWTOVVGkWkQuOvClDyByQamUKzXxkp2blXoQP/vubrWwMM2gFJPcAYUA8g g4vdhAsOJoaLhBGyuHhevXe7er+c19QDD4YQuwtb0p5vF7GRshg+mudVvPo/xRjnaYlY4+nV SzzI5XREenS/30ks2Gz9/ZX8ssod71tYMBZUK27PKRRsOXxMsz700XTJmkztjEOlLuVhrxNu Kr1tRc4KuVdTi3ho5J2P1Eva4lM5+USH9xwpv0FOftu1r/AXXvKRDrT3T/9z/hJm9X5Qkb+4 IcfsReS4fTzrUnkhPOjZkYaYMa88Qe3GyFfCSbxt6Usqvsd9stNQxts5538eCjJ3v9j2NsHc bEvd4KHAjy/rk2RbPaOTrMv9LhUP6OedCgxt/i5QZ9bZmc1O3enRlYJ9/m3mk7H+K4/deVM1 qyt7NATN/QCb9TNrY1WDs9tTGuOkUWuP7gEhqnVxe9qloVpTnpjQRMn8fXG1RvYXtHuRiSQD AAA= X-CMS-MailID: 20220517125629epcas5p4c99993ea5e464b296ff6dfec85b4c441 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125629epcas5p4c99993ea5e464b296ff6dfec85b4c441 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055838_989078_8248D8D1 X-CRM114-Status: GOOD ( 18.95 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add dmabuf support for mfc encoder Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../media/platform/samsung/s5p-mfc/s5p_mfc.c | 4 ++-- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 21 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c index a4e3df24b4ae..a6e50981bdd6 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c @@ -850,7 +850,7 @@ static int s5p_mfc_open(struct file *file) q->io_modes = VB2_MMAP; q->ops = get_dec_queue_ops(); } else if (vdev == dev->vfd_enc) { - q->io_modes = VB2_MMAP | VB2_USERPTR; + q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; q->ops = get_enc_queue_ops(); } else { ret = -ENOENT; @@ -877,7 +877,7 @@ static int s5p_mfc_open(struct file *file) q->io_modes = VB2_MMAP; q->ops = get_dec_queue_ops(); } else if (vdev == dev->vfd_enc) { - q->io_modes = VB2_MMAP | VB2_USERPTR; + q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; q->ops = get_enc_queue_ops(); } else { ret = -ENOENT; diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index 9b624f17e32b..57b4397f2b03 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -1703,9 +1703,10 @@ static int vidioc_reqbufs(struct file *file, void *priv, struct s5p_mfc_ctx *ctx = fh_to_ctx(priv); int ret = 0; - /* if memory is not mmp or userptr return error */ + /* if memory is not mmp or userptr or dmabuf return error */ if ((reqbufs->memory != V4L2_MEMORY_MMAP) && - (reqbufs->memory != V4L2_MEMORY_USERPTR)) + (reqbufs->memory != V4L2_MEMORY_USERPTR) && + (reqbufs->memory != V4L2_MEMORY_DMABUF)) return -EINVAL; if (reqbufs->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { if (reqbufs->count == 0) { @@ -1782,9 +1783,10 @@ static int vidioc_querybuf(struct file *file, void *priv, struct s5p_mfc_ctx *ctx = fh_to_ctx(priv); int ret = 0; - /* if memory is not mmp or userptr return error */ + /* if memory is not mmp or userptr or dmabuf return error */ if ((buf->memory != V4L2_MEMORY_MMAP) && - (buf->memory != V4L2_MEMORY_USERPTR)) + (buf->memory != V4L2_MEMORY_USERPTR) && + (buf->memory != V4L2_MEMORY_DMABUF)) return -EINVAL; if (buf->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { if (ctx->state != MFCINST_GOT_INST) { @@ -2840,11 +2842,12 @@ static int s5p_mfc_start_streaming(struct vb2_queue *q, unsigned int count) S5P_MFC_R2H_CMD_SEQ_DONE_RET, 0); } - - if (ctx->src_bufs_cnt < ctx->pb_count) { - mfc_err("Need minimum %d OUTPUT buffers\n", - ctx->pb_count); - return -ENOBUFS; + if (q->memory != V4L2_MEMORY_DMABUF) { + if (ctx->src_bufs_cnt < ctx->pb_count) { + mfc_err("Need minimum %d OUTPUT buffers\n", + ctx->pb_count); + return -ENOBUFS; + } } } From patchwork Tue May 17 12:55:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852464 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7895BC433EF for ; Tue, 17 May 2022 13:11:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=95ZzIUzVhlm4wm60E158ZspvzGD8PjwcHUebxZQP4bs=; b=JgnTySUbBHTRIo uYUMIlhKPW1QE/iu4a2DbVJ2Gg2c+3nEK7XW9kpJpZC3FtfwjjQ0eOq1NLP9xjM/1dXK0iWSshKiD JEPN8CbAbLpzIIYAcMHY7ZzB9CKFLliGFOJx3JjyIQAuKi6t437ePxxvg0xUD8S1widXVtSGCd9a/ OD/AXyxKsyzIy3kVaCTC6qvD8klkweOYLPKRwecFoJ/3U7wGy2+WXbC2VzyXiXb2FaLn17pD8pEku 9xYK2M/rWy5HQPVOFuUGXYW112+FnVQKmYIP1nnUxwul/UD9S8txU1hfQjDEc5+lNn2VgFJtQQg65 uHfMtKozHH6gjLS8d+rQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwxK-00Dnzs-Bw; Tue, 17 May 2022 13:09:43 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmi-00DjJZ-HA for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:58:47 +0000 Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20220517125842epoutp02f2a2da42e236201e93eb2e5f994c96fb~v5dxDsfG61207912079epoutp02I for ; Tue, 17 May 2022 12:58:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20220517125842epoutp02f2a2da42e236201e93eb2e5f994c96fb~v5dxDsfG61207912079epoutp02I DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792322; bh=eQWhvo0/26Op8Gp4Xd1DKPNSgbfiQhLLhKzi6R2xW/s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=secE2tRtGHp4F1yd2jkLCjepDUz+bVYQTvrt3gxSBk5A+yCoHImbkvDgwYHYzyadN zZz/HNDLQ2+CUY20vs2Xxk4ocP0aDXyJfQ+xrmZZNa8LBSWQwj2PY2mGN8VBsubejb aGobBJletrjNxMMyioLWUcX9w3fiB5GEattOHcYU= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas5p2.samsung.com (KnoxPortal) with ESMTP id 20220517125841epcas5p2b0102154b4ee3b782b4403a4ee75ff66~v5dwi_NLx0253602536epcas5p2j; Tue, 17 May 2022 12:58:41 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.176]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4L2blf1Jnzz4x9Ps; Tue, 17 May 2022 12:58:38 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id 49.3C.09762.DFB93826; Tue, 17 May 2022 21:58:38 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125634epcas5p40259b75a9ea07495330144310d61a5c9~v5b5w6iLk3255032550epcas5p4E; Tue, 17 May 2022 12:56:34 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125634epsmtrp10b4f06432e6bc6f5b1aee3b22e9f9bfb~v5b5vqDia3276532765epsmtrp1i; Tue, 17 May 2022 12:56:34 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-09-62839bfd5bdd Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 37.AA.11276.28B93826; Tue, 17 May 2022 21:56:34 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125629epsmtip1ab5ffa7d0d955ffe1e82f62b8673eefc~v5b0yjnYy2359123591epsmtip1U; Tue, 17 May 2022 12:56:28 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 13/20] media: s5p-mfc: Set context for valid case before calling try_run Date: Tue, 17 May 2022 18:25:41 +0530 Message-Id: <20220517125548.14746-14-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf0xTVxTHc19fX1tn3bNIvJIMSRfjICu0oy0XBptjzDxlcRji/BEnFHgp hNLWvnZUgln5vaFsOGMmv8WyLUEUhuU3GCggiI7JZHQ6C4wfIoRNQwfBqbiWVvff557z/Z5z cu69XJbgHuHDTVHraZ1aoRISG/DmXn9/0VpZToJ4ZRigycpmAplX5zA0YXbgyHq1iYMso2Us 9ONANxtV9Q2zUUvPFI5+eujMjpTYcTRXdQWg+dJxAjVOj7HRnwsH0Z32cgKdbmhio8t9dg76 3jaCoR8an2HoYtM/HJTX1cdB9s5mgHLz+7BdW6m6yjpAtdprAGWrWWJRbaV2DmXunMeoxtqv COr+WCdBXa35gsrr/xenvrbUAmotu4JDFfbZCMrR6EsNLTs4MZuOpIYn04okWudHqxM1SSlq ZYQwOjbuwziZXCwRSUJRiNBPrUijI4RRH8eIdqeonBsQ+n2uUBmcoRgFwwiD3gvXaQx62i9Z w+gjhLQ2SaWVagMZRRpjUCsD1bQ+TCIWvyNzCuNTk+fOZuHaIp5xpsmEm4CdUwh4XEhKYWFH NrsQbOAKyA4Ah3J7MPdhCcCJsics92EFwMnx1VcW8+Jd3J3ocqou/erx52LwWkE34VIR5Ntw 5dHNdd5CZgE4/aXexSzyKQuWjPq62Is8Am2D59kuxskdsLfavM58MgxW56x4um2Hlxq6nWNw uTxnvGLtM1cvSL7gwuobDuDWRMHZbycwN3vBhQGLx+sD57/J97ASTjhyPHotrDBZPPr3Yfdo Oe6qzyL9YX17kDv8Bjw3dAVzj7wJFj2d8cj5sLXyJQvhxVuDnvIQ/vZXE9tVBpIUNDkk7pUU AVixepsoBr6l/3e4AEAt2EZrmTQlzci0wWo6/dWlJWrSGsH6Iw+IbgVTk48DrQDjAiuAXJZw C19sNCUI+EmKExm0ThOnM6hoxgpkzvWdYfl4J2qcv0Stj5NIQ8VSuVwuDQ2WS4Rb+eSLrAQB qVTo6VSa1tK6lz6My/MxYcEf/J2XVLIPGJdN+zWq7Ne2rzyIP+XwPj5Sr844GXm9/63EoFzL nslIw8AvD4pHjAE3u+zGGE1Vy5MwrzBwfShHfnvUsH9WE2s9N/tcT1obemkB1QymH2fGhGTK TNNt3q+ni3ZuFMV2SJeDMoa6C8JP7olMnAm6t/hMVvPRbkD6rO3kHbLFHwtl/143wczvuxF9 1rFXYB9hKXmbfe9ee/cEMbYjdo4MOSya68y7wOdsM9vOG5dlu4p7yu/sLWg/eFQyHHVq88bw rOf2o/318wdw5a2pN8Ox4+OcxYfmy+n5x5YO4G2nv/uEDH50aCGTl/Pz4Kft9fcrWwYOm3QZ SzN/CHEmWSEJYOkYxX8yutZtbQQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsWy7bCSnG7T7OYkg8WneSwezNvGZrH4x3Mm i/uLP7NYHNq8ld1iy5XZzBbLjx9gtZh/5ByrxfaDj1gsNr4Ayl6ceZfF4vn8dYwWL2fdY7PY 9Pgaq8XDV+EWl3fNYbPo2bCV1WLtkbvsFkuvX2SyWLbpD5PFoq1f2C1a9x5ht7i7ZxujRUvb ESYHcY8189Yweuy4u4TR4/qST8weO2fdZfdYvOclk8emVZ1sHneu7WHz2Lyk3qP16C8Wj74t qxg9/jXNZffoOnKdzePzJjmPU18/swfwRXHZpKTmZJalFunbJXBlPJ/cyFLQy1nxZGsDSwPj XfYuRk4OCQETicVvbrKA2EICuxklVuypgYhLSKz8PYkRwhaWWPnvOVA9F1BNE5PEy3NnwZrZ BHQkvr0/zQaSEBFoZZS4vrKTCcRhFpjIIjHl+i9mkCphgQiJW59Wg41iEVCVOLxwMSuIzStg JbGw+RvUGfISqzccAKrn4OAEis/9FwtiCglYSjzdbzGBkW8BI8MqRsnUguLc9NxiwwLDvNRy veLE3OLSvHS95PzcTYzgWNPS3MG4fdUHvUOMTByMhxglOJiVRHgNKhqShHhTEiurUovy44tK c1KLDzFKc7AoifNe6DoZLySQnliSmp2aWpBaBJNl4uCUamCKONKtO+NYzdcXx205z16R79BX mTzrNXd7dK1C7MToEwfu8d007rVPLg/9s5Zn39kLbak/D18P9C/Omfl0ro7ms0fh8mZ+wQaR f70Xzl+d8N3ow0TrVyuYjjoY3H27mt9pgoRLWvjxG82Llq2rzPTv+bRpyZFDFn8kPsX8YzjE pc/UypP99n9oyYvGd0o2tja7/5scFKhLOBhzwLqdi/tJpcrZ9SdOfl/r0Xb/y/VPunyFCz9s 4BTJWvbiujVv2MQ9x85uayj0v7mjVrsq9J3OZM2Zr5MFH273a53QqepjpFe62+JB3pzktNCy B8evLOs/8Cbdx2tx0dGexYLXSmsrY1JLOKwv/5kiW9Wpe9pFiaU4I9FQi7moOBEApE2MryQD AAA= X-CMS-MailID: 20220517125634epcas5p40259b75a9ea07495330144310d61a5c9 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125634epcas5p40259b75a9ea07495330144310d61a5c9 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055845_019860_CE8A381D X-CRM114-Status: GOOD ( 15.35 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Context bit is set for hardware execution if there is a buffer in source and destination queue before calling try_run in the init_buffers function. Now there will be a new context created and hardware will be invoked for the buffer queued instead of waiting for another buffer to be queued from userspace to set this context bit for hw execution. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c index a6e50981bdd6..3483be832f2e 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c @@ -589,6 +589,8 @@ static void s5p_mfc_handle_init_buffers(struct s5p_mfc_ctx *ctx, s5p_mfc_clock_off(); wake_up(&ctx->queue); + if (ctx->src_queue_cnt >= 1 && ctx->dst_queue_cnt >= 1) + set_work_bit_irqsave(ctx); s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); } else { WARN_ON(test_and_clear_bit(0, &dev->hw_lock) == 0); From patchwork Tue May 17 12:55:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852482 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E57B8C433EF for ; Tue, 17 May 2022 13:13:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=5q8lSaE5osU0vZmBxRPR8ScbRNlwefotitBt6AdxNIM=; b=B2I8yrYlYi0ECi kkiBAEhmSy2++XhGkTRpnWFAs9onkhcIlEZdCr7FW1ZVe293YTuoQJuPrn2GfUKIyc/scHIMHf7Vu vMmSJ9jdIcYw7tGwZ3aW++QZKd2hzJRwWh55l5FxFsWMfWYvrseunuF7GG1cOoz0hKXTdpiD2HQcu QxVSI/UYmCQuA8Uncvv/1bpEJpjbh3k+8x1T43sigUFlj0luD5ueb4IkRVlpLvINinT48D3lhGEwy 0YDCr8i4eFS2bzNGkH0Xo6FX2RgwDLRWjbvB/rHcw600mTIveBObizXvFOwFBouBkO/RmrUZ5GKa+ piQ1nzzwE55LA1g8zrGQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwzS-00Dokm-43; Tue, 17 May 2022 13:11:55 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwmy-00DjVG-Jl for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:02 +0000 Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20220517125858epoutp03836d0f6031e0dcf1e00c0da8a01e976f~v5eACq_QL0631206312epoutp03i for ; Tue, 17 May 2022 12:58:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220517125858epoutp03836d0f6031e0dcf1e00c0da8a01e976f~v5eACq_QL0631206312epoutp03i DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792338; bh=9Ulim04NqlgqsmgMTHqB534xiBBhfbB8/nQ94NlQwb0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UQhxWTTA3raNc+594kG6ikhudZPGMD2FXCTXxMoj6iuvdb+FCTmn4UJ5waNxRLy9k EGgAqydQ32DLuJD+ElEybLTNP5THR+GY556ti3fiSdZbdE9psoCj4tXWtbkQqfABUB pVtg9rNAc+WLRrdBJtk38dRgXk+oGTYs5nWSMRRs= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125857epcas5p3757082fc392a5a4a2ed28fb8329b4cd6~v5d_16IU60661806618epcas5p3C; Tue, 17 May 2022 12:58:57 +0000 (GMT) Received: from epsmges5p2new.samsung.com (unknown [182.195.38.181]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2blw31Fzz4x9Pv; Tue, 17 May 2022 12:58:52 +0000 (GMT) Received: from epcas5p2.samsung.com ( [182.195.41.40]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 67.EE.09827.C0C93826; Tue, 17 May 2022 21:58:52 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125637epcas5p4f691d6c9011d3e82f2d776c440816d98~v5b81l8nN1555515555epcas5p4W; Tue, 17 May 2022 12:56:37 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125637epsmtrp2bbb20df07685bf9a3975a37f233a0b42~v5b80tQ3N0914309143epsmtrp2P; Tue, 17 May 2022 12:56:37 +0000 (GMT) X-AuditID: b6c32a4a-b51ff70000002663-4c-62839c0cde5d Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 39.AA.11276.58B93826; Tue, 17 May 2022 21:56:37 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125634epsmtip1e2e3c8187ec18205f042d059132649b4~v5b5y6ngP2352323523epsmtip1i; Tue, 17 May 2022 12:56:34 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 14/20] media: s5p-mfc: Load firmware for each run in MFCv12. Date: Tue, 17 May 2022 18:25:42 +0530 Message-Id: <20220517125548.14746-15-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VTe1BUVRzu3H3cBUVvQHmkwp1tdNACd5FdDoyEJtalLFFncNIpuLB3dhmW 3Tv7SGyEVhbYRCm0sZAAGR6mREDLQ+IRuEIQAYVskA0rDwWUpAgUTWi3hV3qv2++7/v9vt/5 nXN4LM+bXB9eglJLq5WUQsB1Z9df3+rnvzbfECe093ij0cJ6Lip5PIWhkZJ5NjLX1OGo1vIF C33Z2cZBF9v7OOjqtXE2+uauQ+2/YGWjqYuVAN3Lu8VFptuDHDQ2fRgNNOZz0ZnqOg76ut2K o7KhfgxdMi1hqLjuAY4yWtpxZG2uByg9sx3btYGsKKwAZIO1FJBDpXMs8ts8K06WNN/DSFP5 KS45PNjMJWtKPyQzOp6wyY9rywFpSyvAyaz2IS45b/Ilux/O41HrjiTulNOUlFbzaWW8Spqg lIUJ3jwUsydGLBGK/EUhKFjAV1JJdJggYl+U/2sJCscGBPz3KYXOQUVRGo1g+ys71SqdlubL VRptmIBmpAomiAnQUEkanVIWoKS1oSKhMFDsMMYmyifPnWMzTXjyX7+34npQxs0CbjxIBMH+ 3hmQBdx5nkQTgNNXFlYET2IOwOxJuVNYAPCh+QFrtSI3/RFwmlocwhXGaUrH4J20YnxZ4BIv w4U/f1zp5E2cBPD2R9plzCIWWfCCxXcZexH74OKlsRUPm9gMJ9PsKwEeRCg02PpwZ9gm+FV1 m4Pn8dwcfIHt3eUsSNh5cKS8zXWECNiTc9WFveB0Z62r1gfO/9Hi4mVwZN4AnJiBBfpazInD YZsln73cn0VshVWN2530C/B8dyXmHHkdzF6847J7wIbCVSyAxT1drigIf5mp4zgxCQ2FAyzn TrIBHFsswXKAb97/EUUAlIONNKNJktEaMROopI/9d2fxqiQTWHnj295oAGOjswFmgPGAGUAe S+DtIUzWx3l6SKnjH9BqVYxap6A1ZiB27O8sy+eZeJXjkyi1MaKgEGGQRCIJCtkhEQk2eBD2 k3GehIzS0ok0zdDq1TqM5+ajxxRaXWWj+UbxAY5hc0rTiTUN0a03f/07V3Arw73xwEb+9fD9 VFdRjv4ty7HPxDOtVM1z8Zt0n5gvP7tlotP+uvGobbA01nLwrnLPVCrTNy0ODI8SmQZiT5c9 zUz8NPuqPwqtrn+8VB5/9KnT7NFx+4gtcX3z87KK+7tDB3bITpRlRmalErO7lUv+1/w6ftb8 cEr43sz66N96jxvGZ43Dh94RmSJTpVXRmWsk1UZ25PfG3EcHM1IzVfv95Bz+3rcDK18Mnks6 b02s8a2a3DWxpShXv/fG4fvDgSj4n8sdR3rXFmAWY5blidd3i12DiuSJiNnPmfDdKaS0cvyl FHzAyD9r+7RbwNbIKdE2llpD/QtF//DFbAQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsWy7bCSnG7r7OYkg9ZLyhYP5m1js1j84zmT xf3Fn1ksDm3eym6x5cpsZovlxw+wWsw/co7VYvvBRywWG18AZS/OvMti8Xz+OkaLl7PusVls enyN1eLhq3CLy7vmsFn0bNjKarH2yF12i6XXLzJZLNv0h8li0dYv7Bate4+wW9zds43RoqXt CJODuMeaeWsYPXbcXcLocX3JJ2aPnbPusnss3vOSyWPTqk42jzvX9rB5bF5S79F69BeLR9+W VYwe/5rmsnt0HbnO5vF5k5zHqa+f2QP4orhsUlJzMstSi/TtErgynk2axFKwm73i4+v97A2M S9m6GDk5JARMJGa0fGcEsYUEdjNK3HirDBGXkFj5exIjhC0ssfLfc/YuRi6gmiYmia8XLrKA JNgEdCS+vT/NBpIQEWhllLi+spMJxGEWmMgiMeX6L2aQKmEBH4nfyx6CrWMRUJV41vQfLM4r YCXR/O8cO8QKeYnVGw4AxTk4OIHic//FgphCApYST/dbTGDkW8DIsIpRMrWgODc9t9iwwDAv tVyvODG3uDQvXS85P3cTIzjWtDR3MG5f9UHvECMTB+MhRgkOZiURXoOKhiQh3pTEyqrUovz4 otKc1OJDjNIcLErivBe6TsYLCaQnlqRmp6YWpBbBZJk4OKUamMK3SfucyTC/IWn9hU+lUT7U wtXslYBukHUX7/vajIvLOlzmCfIH/L7ovHTP7U/R15tcZCRO92VvSVu+oaDYliertZLzJPOl mSsNrn9m4ml/8TS08MD9aVyHWhvczBT3TD7kaRP3MGTjfK/Ch2fj920UlOLecE87f8UMVvXH nXPD9/07LD9b/WnVfcOXbG/Kkg4ZXuJ86MC9ktE19+r8G5PTQo097weoGgtk2/CLaKz/5Mm+ QmZf1smv7bbr2UJ+N5+u0w9lljLn27v3vdzxl+/4Zv6+bVeTvvxFwcX/xcXRCkHVKV8OsEis kCh9Kahy2fKIvO7djqjoZEmj/p6Ln+b2bqnvVVml/JbDQ7VUiaU4I9FQi7moOBEAtHl3tyQD AAA= X-CMS-MailID: 20220517125637epcas5p4f691d6c9011d3e82f2d776c440816d98 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125637epcas5p4f691d6c9011d3e82f2d776c440816d98 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055901_216230_47C8D048 X-CRM114-Status: GOOD ( 15.47 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In MFCv12, some section of firmware gets updated at each MFC run. Hence we need to reload original firmware for each run at the start. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c index 877e5bceb75b..a70283d4c519 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c @@ -51,8 +51,9 @@ int s5p_mfc_load_firmware(struct s5p_mfc_dev *dev) * into kernel. */ mfc_debug_enter(); - if (dev->fw_get_done) - return 0; + if (!IS_MFCV12(dev)) + if (dev->fw_get_done) + return 0; for (i = MFC_FW_MAX_VERSIONS - 1; i >= 0; i--) { if (!dev->variant->fw_name[i]) From patchwork Tue May 17 12:55:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852483 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BB4ADC433EF for ; Tue, 17 May 2022 13:15:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=XikW/W/Q6msMJLtwUxdHGS+MVvTW39IEljkir7yBORo=; b=eg9xIVJeRWafol 8w+iSu1FI11lALorakNsm39O93D1r6kV9pd9kJnuS/swVjXXA4U+T9GmqKWGuJ1Gk4K7tnZky//Js aOzOym3ZXoGMUzQ2mMdsXDxbLQ63ayYqH4nwwsTns734QlA+Ehg0vVcVqjXN2TRVbhl7l3RdRGbp2 MzTRuRpBQ0vch4r4RuA+Z7dZBG5DHUD49KCOWhOH8bNmjf38Zwexru4i+zCgzNK6ytZnEo1UmsIU0 dCh4CA1H474y9v0Y7SjN0EDl2Otc0rgp/X4y3/02WLCuOXCIOTnBMBgRiZtdjdwQCkx4K3hHH9QMu gIa6KGdl/iBLbneWz/Hw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqx10-00DpQi-Ma; Tue, 17 May 2022 13:13:31 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwn2-00DjWz-Cr for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:07 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20220517125902epoutp016a902a8422400265a0c3a0b864e9a708~v5eDl3UI52997029970epoutp01V for ; Tue, 17 May 2022 12:59:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220517125902epoutp016a902a8422400265a0c3a0b864e9a708~v5eDl3UI52997029970epoutp01V DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792342; bh=kQwMfewmaeemKkPMLK3QaaIIfudtvDkBerG8dubWFwI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pH8Z1OVBOsQ3aQul88Dw8RkMjv3E/pNFjh2wUdMlz34paD3qxyrTs4LF1TGimWlNQ Lx+6hPbRriSRpJTS3t+zPDhaOupd5S13eM3ZqhtMTPg5YdhSVJIkQwY28yNNSMW3xj 4XvnUAsXGX70bG0AmxhkGAsNUUuK1K0bd5Fr5yc4= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125900epcas5p3f491ff7893a0a70dcdf759ed66c56bd4~v5eCUJ4lE2692026920epcas5p3t; Tue, 17 May 2022 12:59:00 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.176]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4L2bm13Ztnz4x9Pv; Tue, 17 May 2022 12:58:57 +0000 (GMT) Received: from epcas5p2.samsung.com ( [182.195.41.40]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id 4E.3C.09762.11C93826; Tue, 17 May 2022 21:58:57 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125641epcas5p48fc3d48ad5e4a02879a1063da36c0063~v5cAMwLZL1555515555epcas5p4b; Tue, 17 May 2022 12:56:41 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125641epsmtrp251c414bcc5fef9d6e67df6055416fa84~v5cALn2yT0912609126epsmtrp2X; Tue, 17 May 2022 12:56:41 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-29-62839c112f38 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id DA.AA.11276.98B93826; Tue, 17 May 2022 21:56:41 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125637epsmtip19055417ca0e867abfa564a3ef8f7d459~v5b88Ub941800118001epsmtip1O; Tue, 17 May 2022 12:56:37 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 15/20] media: s5p-mfc: DPB Count Independent of VIDIOC_REQBUF Date: Tue, 17 May 2022 18:25:43 +0530 Message-Id: <20220517125548.14746-16-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTe0xTdxTH87ttb29NKtcC4QcRxu42XxFoodQLEbdsuN2FZeJmRsJC6gVu WqS0TR/K2DJA6eLI3MCwIG9GERR5lodIwTGo0yDTOYG6xcpDhsIAh52sWRHW0rr99znfc07O 93d+vx/GEvyKBmEZSh2jUdIKAt3C7hnevStsW+WpVGH+j5Ccqu5BSaPjEUJOGu1scqizm0t2 jVWwyMbrgxyyxnKLQ17+YYZNdjx2Ze+U2djko5pWQM6XP0BJ08MJDjm9kETe7atEya/auzlk i8XGJc9b7yBkg2kNIeu6/+KShgELl7T19wCy4AsL8kYA1VzdDKheWz2grPVPWdSVchuXMvbP I5Sp6UuUuj/Rj1Kd9bmU4do/bOrrriZArZ+s4lKFFitK2U0h1MgzOzdxa3LmfjlDpzOaUEaZ pkrPUMriiIQPpW9JoyVCUZgohtxHhCrpLCaOiH8vMeztDIVrA0TocVqhd0mJtFZLRBzYr1Hp dUyoXKXVxRGMOl2hFqvDtXSWVq+UhSsZXaxIKIyMdhUezZRbzy2y1d8FZzsq7Nw8UA4LAYZB XAz/uPlZIdiCCXAzgNU/V7I9wVMA11Y6OJ5gFcDis0PcQsDb7CgunUA9iQEAzUXLiCcoQOCU 8xlwV6H4Xrj65CbqZj88H8CHp3VuZuFOFiwbC3GzL34I3m19znIzG38Ndsw7WG5PfDwWOkqC PcNegpfaBzdlnkuuWk9xj4L4BgZXlhe9huLh1Ogwx8O+cOF6l1cPgvblAdTDMjhpPwU8rIZV eV2Ih1+Hg2PuI2Mua7thW1+ERw6G3460Ih7HW+EZ56y3nA97q18wAetGb3hHQTi+1O21QEHD hefexZ0BcN1gZRWBkPL/R9QC0AQCGbU2S8Zoo9VRSubEf3eWpsoygc03viehF8xM/Rk+BBAM DAGIsQg/vjA7L1XAT6c/yWE0KqlGr2C0QyDatb5iVpB/msr1SZQ6qUgcIxRLJBJxTJRERATw 8Y38VAEuo3VMJsOoGc2LPgTjBeUhu34p//xAcPyxE+eHz0YY34xQFYHaiXfG+0Lwo6uTmYEt H22bDT/tH8hjLxhyP2i+2D6zvdoasFGiWZ/LoK/4pDQOhjgjpZ1HHMkFNj/LwbmfTj7Oaz50 byX9d8U+wuhjfOBoqFvaYS6le9rKtgUcnm283dx7cMV4/5v1hltTFeYaS1TKmnna/zac97UM bz/ewx/k30uX5+j9pWA0crkrnpe7s/Rqwct7Lxrk+qTfMmjJok+2g3fu3b8nB8TY1cs3/A4n vfJpwhNnbss1/++PXbiE1sbkvNqvMc9NCJLjSvmCoB2ykeIl3k5TwxFHW8m0clzkRyCRmfrV cPv72MftzliCrZXToj0sjZb+F9kUn29sBAAA X-Brightmail-Tracker: H4sIAAAAAAAAAzWRaUwTURSFfTPTmaGROikuT41LatCIUmlCzFPRaHB5khhNDGJMtBaYApFC aUVRE0URTOu+JGIBF1o01AWsUJBFBasICrGK1IXiyia4xEppQIsU4r/vni/n/LksKT5JTWET knbymiRFooQWUtaHkunBupyM6JDvtwTow0UrjYyeTgK9N7ooVHunlEElzTkkulb3QIAu2ZoE qKzmE4Vudw1b+wUnhTov3QKo29BGI8vnFgH6+DUKvazIpdGx4lIBumlzMqjAYSfQVcsfAuWX /mZQZrWNQc4qK0CHs2zE8kn4xsUbAJc7TQA7TL9IfNfgZLCxqpvAFrOOxq0tVTS+YzqAMx8N UPhEiRlg76E8ButtDhq7LNNxQ5+L2SDaIgyL5RMTdvGaBcu2C+Md2b2U+sq0NE+Oi0kHBqgH fizkQuHp8y20HghZMVcJYFl+AzkqICwcPANGOQAWejsZH4u5QwS86VX6mObmQ/ePpyPl8Vwm gI5CHeE7SO40Bc85BoaXWDaAWwfNxiW+AsUFwtvdnpHYn1sMPeemje7PgNeLH4zEfsNxnner D8XcIth+H50CostgjBlM5tVaVZxKK1PLkvjdUq1CpU1NipPGJKssYORnQXPLQZn5p7QWECyo BZAlJeP9Q9LSo8X+sYo9e3lNslyTmshra8FUlpJM8n+ur5eLuTjFTn4Hz6t5zX9LsH5T0gly 0CnCb8tjnM0Hctf/Tq3cnRClW9hhJpfGxAeuyHg2UxIhqnSH5RYJsmq8Bx3qscWz13R8WaEO vx65uTHjYcXCeRxTnWq1K1v7pV/rWl0tYQrZ6y5pm8FdPyu/6GzPUF+PNapjbbVssvRj/8RV Rz55XhVGF9BzHjW5PX/TUqJXvzO9y66W992L3JcDa4p6w7mUvPVK9zFp0IcdvLzHXmF6vOdp b8A3dVvzG/k+A6AbnoQK2leBevQTF1xQRigJoZHWBG7EW18MZasOLy3mjreKNj9puBtZUJLw ckC/pGmBfX9nRN7ajK7+bcbH4zrm1E3AuqOKuJXNjZtC/gS3SyhtvEIWRGq0in9xiP7qIgMA AA== X-CMS-MailID: 20220517125641epcas5p48fc3d48ad5e4a02879a1063da36c0063 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125641epcas5p48fc3d48ad5e4a02879a1063da36c0063 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055904_920958_DFE9695D X-CRM114-Status: GOOD ( 21.36 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch allows allocation of DPB buffers based on MFC requirement so codec buffers allocations has been moved after state MFCINST_HEAD_PRODUCED. And it is taken care that codec buffer allocation is performed in process context from userspace IOCTL call. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 17 ++--------------- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 9 ++++++++- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index 57b4397f2b03..95e18f1cabb0 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -1339,7 +1339,6 @@ static int enc_post_seq_start(struct s5p_mfc_ctx *ctx) struct s5p_mfc_dev *dev = ctx->dev; struct s5p_mfc_enc_params *p = &ctx->enc_params; struct s5p_mfc_buf *dst_mb; - unsigned int enc_pb_count; if (p->seq_hdr_mode == V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) { if (!list_empty(&ctx->dst_queue)) { @@ -1361,10 +1360,8 @@ static int enc_post_seq_start(struct s5p_mfc_ctx *ctx) set_work_bit_irqsave(ctx); s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); } else { - enc_pb_count = s5p_mfc_hw_call(dev->mfc_ops, + ctx->pb_count = s5p_mfc_hw_call(dev->mfc_ops, get_enc_dpb_count, dev); - if (ctx->pb_count < enc_pb_count) - ctx->pb_count = enc_pb_count; if (FW_HAS_E_MIN_SCRATCH_BUF(dev)) { ctx->scratch_buf_size = s5p_mfc_hw_call(dev->mfc_ops, get_e_min_scratch_buf_size, dev); @@ -1729,14 +1726,6 @@ static int vidioc_reqbufs(struct file *file, void *priv, } ctx->capture_state = QUEUE_BUFS_REQUESTED; - ret = s5p_mfc_hw_call(ctx->dev->mfc_ops, - alloc_codec_buffers, ctx); - if (ret) { - mfc_err("Failed to allocate encoding buffers\n"); - reqbufs->count = 0; - ret = vb2_reqbufs(&ctx->vq_dst, reqbufs); - return -ENOMEM; - } } else if (reqbufs->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { if (reqbufs->count == 0) { mfc_debug(2, "Freeing buffers\n"); @@ -1752,15 +1741,13 @@ static int vidioc_reqbufs(struct file *file, void *priv, return -EINVAL; } - if (IS_MFCV6_PLUS(dev)) { + if (IS_MFCV6_PLUS(dev) && (!IS_MFCV12(dev))) { /* Check for min encoder buffers */ if (ctx->pb_count && (reqbufs->count < ctx->pb_count)) { reqbufs->count = ctx->pb_count; mfc_debug(2, "Minimum %d output buffers needed\n", ctx->pb_count); - } else { - ctx->pb_count = reqbufs->count; } } diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 2b6d6259a209..44058827eaa3 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -388,7 +388,6 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) default: break; } - /* Allocate only if memory from bank 1 is necessary */ if (ctx->bank1.size > 0) { ret = s5p_mfc_alloc_generic_buf(dev, BANK_L_CTX, &ctx->bank1); @@ -2266,6 +2265,14 @@ static inline int s5p_mfc_run_init_enc_buffers(struct s5p_mfc_ctx *ctx) struct s5p_mfc_dev *dev = ctx->dev; int ret; + ret = s5p_mfc_hw_call(ctx->dev->mfc_ops, + alloc_codec_buffers, ctx); + if (ret) { + mfc_err("Failed to allocate encoding buffers\n"); + return -ENOMEM; + } + mfc_debug(2, "Allocated Internal Encoding Buffers\n"); + dev->curr_ctx = ctx->num; ret = s5p_mfc_set_enc_ref_buffer_v6(ctx); if (ret) { From patchwork Tue May 17 12:55:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852484 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4C508C433EF for ; Tue, 17 May 2022 13:16:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=ZcG912uS+k1Hx7wHdIOvbZAkrFncNu5O3L+UXvPoENM=; b=ndtmUMLPESSVT+ wb8jVNbT18Vzdhy7Z0WZTnrDL9f9VklBCqDfyJ/H0ftd6wj8es3y8CohzODpeLDEgxKt/PM4Luucw xpuaLIkNLfehZmLl68Sdo44RTQSCoM5jrPW/IOItlEkSbmaAn7NVygLcBsKurC64IgpIfPPd6Kxjp QGa59/cwgOSqywqbf+TzAfD3f1bgp0mrxkfmsvPXBIZGR3QfCYFl6jNo6tIptlaQPmqMU5CYNnT05 dzU6m+m+0pNHgt6/D4D/gojz5dWLcG0K4tLmJ4xK2vZHyX2/hcNHh/8cSF2TjYhviqoTpMftMaRnG 2yFAlgZUYRWr+ckY0Suw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqx2H-00DpsQ-7C; Tue, 17 May 2022 13:14:49 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwnA-00Djbr-6J for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:14 +0000 Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20220517125909epoutp04a5ff50e881b8b99df677404a4e0f97f4~v5eKNnA3S1510515105epoutp04e for ; Tue, 17 May 2022 12:59:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20220517125909epoutp04a5ff50e881b8b99df677404a4e0f97f4~v5eKNnA3S1510515105epoutp04e DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792349; bh=OldiMTeUcbpXynmP7pPQyTALOI1a+d6YmUHMBKBXCDw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GwRo2/9+EHz0MuUfjuT/U1RT0XUdwHjCn/DvRKhdpUc5KOHfk0KbGJUGWCrdaPK0G qDVo5XW31uLpBz4yks6a4SGBLI3lZVR2NApRUAr0m7zOMQ/leJEPiYzWhAJbF7JQm8 jQmSzJTkHlXyaMHjwShoWa1U7a4h6Aw4TcJAUqns= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas5p2.samsung.com (KnoxPortal) with ESMTP id 20220517125908epcas5p27239522f2c8b7dc302a0bbefedc65c57~v5eJQuvap2513725137epcas5p2M; Tue, 17 May 2022 12:59:08 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.180]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4L2bm865zrz4x9Pp; Tue, 17 May 2022 12:59:04 +0000 (GMT) Received: from epcas5p4.samsung.com ( [182.195.41.42]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 2B.4F.10063.81C93826; Tue, 17 May 2022 21:59:04 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20220517125644epcas5p3fcabdc953c042cc9f2697f7fbfc74121~v5cDT1pr-2689826898epcas5p3Z; Tue, 17 May 2022 12:56:44 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125644epsmtrp1fe798bda133481bb9eb94fae817c14a2~v5cDSwpAu0134401344epsmtrp1C; Tue, 17 May 2022 12:56:44 +0000 (GMT) X-AuditID: b6c32a49-4cbff7000000274f-1c-62839c183b7a Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id D1.46.08924.C8B93826; Tue, 17 May 2022 21:56:44 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125641epsmtip1a0559998fd6160a501f0c4db7140a5d4~v5cANMVb32352323523epsmtip1j; Tue, 17 May 2022 12:56:41 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 16/20] media: s5p-mfc: Fix to handle reference queue during finishing Date: Tue, 17 May 2022 18:25:44 +0530 Message-Id: <20220517125548.14746-17-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTe0xbVRzHc+4tt4VZcnlMDhBqvY7ENTzarbADAd0yQq7RP3BzAjMTL3AD hNLWPhSMhvIaDoXhpkMYr46nCGwrzyEY6GqmzGHIKq3RwjbUWRYfocjYKMyWdvO/z+93vr/f 95ffOYeHB/5MhPEK5BpWJWdkFOHHGb26VxQNmyuyxQ1bsehW6yiBOjbuYmipw8FBxqERLho2 n8dRz7VpH9RmmvNBYzN3OOjyH67T+UYbB91tGwTI3rRIIMPygg+6vZKObk40E+jjSyM+aMBk 46IuyzyGug1ODF0YWeOiqikTF9kmRwGqPGnCDobQ/a39gB63dQLa0rmK01eabFy6Y9KO0Ya+ UwT9y8IkQQ91ltJV3zzk0HXDfYDeLm/h0jUmC0E7DAJ69l8HN83/eGFSPsvksiohK89R5BbI 85Kpl49mHc6KixdLoiUJ6AAllDNFbDKV8kpadGqBzLUBSvgOI9O6UmmMWk3FvpCkUmg1rDBf odYkU6wyV6aUKmPUTJFaK8+LkbOaRIlYvC/OJXyrMF9XYcaVtQHFuuUuXAcG/WuALw+SUvjD VA1eA/x4geRXANbdvukNVgFsH98CnsABYFO5hfukpMLhVU0AaPzUgXmCSgxuj1lxt4ogo+D6 39cJNweTZQAuf6hxM05u4rDRLHBzEJkOzfrVHQ2HjIQj7Rs7zCcT4YJz1cfj9gz88tK0qyeP 5+vKt2yfcHtBcoMH9X+ZCI8mBc6U9wMPB8GVa8PeScOg/fRJL+fBJUeFV6OELbphzMMvwmlz M8fdHyf3wosTsZ50BPxsdhDzjOwPazd/9cr5cLz1MVPwwvffettD+OOfI96RaeicXfEuqBbA 7e56vB4Imv63aAegD4SySnVRHquOU0rk7LtPbi1HUWQAO69c9NI4sN36J8YIMB4wAsjDqWC+ uFiXHcjPZUreY1WKLJVWxqqNIM61v0/wsN05Ctc3kWuyJNIEsTQ+Pl6asD9eQoXwyUdl2YFk HqNhC1lWyaoe12E83zAdRv6+hmdI9Xv0lVnOeqnQHBIlurz+08rps3R2epk8+EZ73YPec2ca L9JTMwPrVqcRRUBtZlvN12RnfmRJdJkq8HrlUx/JStdK+w6FP3ukICAo40jMvurU+UzD/YY7 qSmRlYKD/K2q3atLb6Tbq/1EvZmxizcGT2QGN+daX7uXJD10TOBLNOwZkFBzoWfsgsyjDaJH b3It/HubfV091u+efjVc9fwDq6S3fCjNIshonz4fUL24S/t+ScfVqOaCU4lb+8324rMHelRF zLly8eHqNnnKuk2f5NSu/1Z1/Lnpt78YwEK2El5XHNPXaj9XBhWP3V8UfmDv3lXxMGJo7kpP bXgoxVHnMxIRrlIz/wGNOdukbgQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAAzWRf0yMcRzH+z6/u63b42IembJntXGIjO0bIsY8/BFmt7awPNWzau5Ouycp K12lplt+dGL9OqFC59h1XIrLJUd+Dal101wh7ZTWb0Q0XfHf6/N5vT+fzx8fCpXpMT8qUZ0s aNS8kiUkWN0j1n9FQVlOzKoXVxfBDxfrCFg54UZgd+UYBptvW0l4p70MhddamnBY4XiFw7sP P2Gw9su0bS1xYdBdcQvAvtIuAlp6OnD4sT8Stt0rJ2CB2YrDmw4XCaudrQi8avmNwCvWcRLm NjpI6LLVAXgiz4GEz+dMF02Aq3dVAc5ZNYpyDaUukqu09SGcxZhPcO87bAR3uyqTy338C+NO 3zECbirbQHI6h5Pgxiz+3PNvY+RuaZRkQ5ygTEwRNCs3HpQkaHPa0aRTc1K1PdWoFtyS6oA3 xdBrmNc5Y6gOSCgZXQ8Y5/hZMCsYpmZS/499mZopNzkbykaY7Kxu1CMIejnzfegF4RFz6dzp 6Zp8xFOgdCHGFDl/zaR8aQVj/1IzswqjgxjrpQnCwz70Oqbj9yg+eyKAuWFums5TlPd03zB1 wIMyOpTptcOzQHoJeBnBAiFJVMWrxJCk1WrhaLDIq8Qj6vjg2MMqC5h5m1xeD2zG4eBmgFCg GTAUys71WZWqjZH5xPFpxwTN4WjNEaUgNoOFFMbO93mjexYto+P5ZOGQICQJmv8Wobz9tEgy m9YSjIasTSvqXZJBKlNS6rq+8b17Wb1UsaV2xP3JfazTq1NlJ2M1UvnAuc++qpJdxyF+IWTg JDEetikz7l3XSFCYKWZdhKvz0H1DwPWmGBPOqPNadeUHdA07Km8oAtbrp5raW/ZJnk+GebFZ BQObakcLJYq39u0Z2J+hhTvxfnESfkgPf0K/dD/YM8K2BbpGIiOil/7oDjIQ13v07Q1bF5v2 /1wjtlbYcQSgnXmjPF69OWGPZktxBrosvW3J037/4af5QbbBLmW6fO/ygkRD8eLo1PPFPTaK 9x48Zc01BpakmbdVRTUueBSmMp+Z03d5npCjiA39+tYcyGJiAh8iRzUi/xelkmlTJQMAAA== X-CMS-MailID: 20220517125644epcas5p3fcabdc953c042cc9f2697f7fbfc74121 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125644epcas5p3fcabdc953c042cc9f2697f7fbfc74121 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055912_731975_B43FA863 X-CRM114-Status: GOOD ( 16.72 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On receiving last buffer driver puts MFC to MFCINST_FINISHING state which in turn skips transferring of frame from SRC to REF queue. This causes driver to stop MFC encoding and last frame is lost. This patch guarantees safe handling of frames during MFCINST_FINISHING and correct clearing of workbit to avoid early stopping of encoding. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index 95e18f1cabb0..91b7ff07feff 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -1411,6 +1411,7 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) unsigned long mb_y_addr, mb_c_addr, mb_c_1_addr; int slice_type; unsigned int strm_size; + bool src_ready; slice_type = s5p_mfc_hw_call(dev->mfc_ops, get_enc_slice_type, dev); strm_size = s5p_mfc_hw_call(dev->mfc_ops, get_enc_strm_size, dev); @@ -1464,7 +1465,8 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) } } } - if ((ctx->src_queue_cnt > 0) && (ctx->state == MFCINST_RUNNING)) { + if ((ctx->src_queue_cnt > 0) && (ctx->state == MFCINST_RUNNING || + ctx->state == MFCINST_FINISHING)) { mb_entry = list_entry(ctx->src_queue.next, struct s5p_mfc_buf, list); if (mb_entry->flags & MFC_BUF_FLAG_USED) { @@ -1495,7 +1497,13 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) vb2_set_plane_payload(&mb_entry->b->vb2_buf, 0, strm_size); vb2_buffer_done(&mb_entry->b->vb2_buf, VB2_BUF_STATE_DONE); } - if ((ctx->src_queue_cnt == 0) || (ctx->dst_queue_cnt == 0)) + + src_ready = true; + if ((ctx->state == MFCINST_RUNNING) && (ctx->src_queue_cnt == 0)) + src_ready = false; + if ((ctx->state == MFCINST_FINISHING) && (ctx->ref_queue_cnt == 0)) + src_ready = false; + if ((!src_ready) || (ctx->dst_queue_cnt == 0)) clear_work_bit(ctx); return 0; From patchwork Tue May 17 12:55:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852489 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7D450C433EF for ; Tue, 17 May 2022 13:17:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=HVTs52Yl3CtM/T010VXRBEyRc2t7NKWdsodi3ppindM=; b=FU5F7QXnR7TZ+D hi48HvqqZKfa2ptJp/fprAlxXSWZWMgqqctRhedkZQURjGtcIvbY20riUdSJuSgubaDR98QpPY1VR Sp/ECevLwTMJFGUUrh1ghK87o2hC2OH2VdoVGNThYuEw+w2NenlBUsd1KDU5pNnzmgKE+bsi6n+0n ZdRdBkBPWx7avqFJFq9dP+4sdh7MA9miyJae7I3K6NwggjLGI9572uyvrvsazHC40K2Exox/Ca9EH hCcqREjAxXnSN/D4RCe6lgr/tMjdQ2xyznfrAVqk/vS+YPJGQ4dX5zV1r0ShYmunDj1ztnYJDKsSw G6Cbx25zv8pMGWYxk7Fg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqx3R-00DqEl-Hq; Tue, 17 May 2022 13:16:04 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwnH-00DjiZ-Rc for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:21 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20220517125917epoutp017800fc617a72447982b888ce76ef6675~v5eR70yBi3025330253epoutp019 for ; Tue, 17 May 2022 12:59:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220517125917epoutp017800fc617a72447982b888ce76ef6675~v5eR70yBi3025330253epoutp019 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792357; bh=E2JvNYhoWnmcC+63r39NFyig1swETClHM3EyOWLAvdc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=guZoXu11/qW9aV4/eoSVKzR6pZh7kkwRrJqBi+B6zS/78/9TL7MBKma+DH+TcFO7P i2MrjuYLYL7icHMfJjYSz6RaMjnNNxgqh0AiNgFje+GiueHqZeJrZNgM1v9JGtVy8B Fvec+382kB4tNzQsGPnpGcFsjTdWyM0XzJjx0BPc= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p2.samsung.com (KnoxPortal) with ESMTP id 20220517125916epcas5p20315cbb4fbcd6dc653e8f601c740ff69~v5eQj_Tph3171731717epcas5p20; Tue, 17 May 2022 12:59:16 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.180]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bmJ4lrfz4x9Pw; Tue, 17 May 2022 12:59:12 +0000 (GMT) Received: from epcas5p2.samsung.com ( [182.195.41.40]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 0E.4F.10063.02C93826; Tue, 17 May 2022 21:59:12 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p2.samsung.com (KnoxPortal) with ESMTPA id 20220517125648epcas5p22201053e8a71dcd5ccc8d0566511b635~v5cHL-jp61797517975epcas5p2y; Tue, 17 May 2022 12:56:48 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125648epsmtrp1e6ebf55b9822c8b5b773e5d700fe633a~v5cHK_4Tk0134401344epsmtrp1F; Tue, 17 May 2022 12:56:48 +0000 (GMT) X-AuditID: b6c32a49-4b5ff7000000274f-27-62839c206a45 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id FC.AA.11276.09B93826; Tue, 17 May 2022 21:56:48 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125644epsmtip13208b27f88dcb8be82abaa5265da547c~v5cDXSalV2359123591epsmtip1W; Tue, 17 May 2022 12:56:44 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 17/20] media: s5p-mfc: Clear workbit to handle error condition Date: Tue, 17 May 2022 18:25:45 +0530 Message-Id: <20220517125548.14746-18-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf1CTdRzH++7ZnucZBi6k+MYVrOeKC+XHhrC+kJiJ2iNgR8nl4V2tAc8N ZGy7bSTpZfycgGJqGoGAMECv+SMYAxEBYYKm/Fgcv7rLDQQNR3R6rDTFsMFG/ff6fL7vz497 f79fEvP8Ffch0+QaRiWXyCjcjd1yLeDtIH5FXpLgePubaLKqBUe1f8+w0EStnY1MTc0EMo6c wtDZG10cdLpnkIMudU+xUeN9x+lQmYWNZk5fBMhWbsWRYXqMg+7M7kLDbRU4OtzQzEEXeiwE qh8fYqEzhmcspGv+k0AFHT0EsrS3AJSv7WFt8qbPV50HdKulDtDjdfMYfbncQtC17TYWbdAX 4fTtsXacbqr7mi7ofcqmjxj1gF7MrSTo4p5xnLYbfOlbf9mJeI/d6RtSGUkKo+Iz8mRFSppc GkXF7hRHi8NFAmGQMAK9Q/HlkgwmitoSFx+0LU3mcIDifyGRZTpS8RK1mgrZuEGlyNQw/FSF WhNFMcoUmTJMGayWZKgz5dJgOaOJFAoEoeEO4efpqTm665jSzs3KaTyMZYPrZDHgkpAXBp80 1mPFwI305F0BsNd2BXcG8wAWD2rZzuARgHmzv+MrJf2zWldJB4DG/nvAGeSzYNG1imUVzguE jx70LbMXLwfA6ULNEmO8BQyWjfgu8RpePDxzqQ9bYjbvLdjfWL2sd+dFwvZfxtjOaX7wXEOX Q0OSXEe+cvHTpVmQl8eFdRODwKnZAk2dTS5eA2dvGAkn+0DbN1oXS+GEPc+lUcLKbCPLye/B rpEK9lJ/jBcAf2wLcaZfhydvXWQ5V/aAJQt3XXJ32Fq1whTU9f/kag/h6B/NHCfT8Flfocu5 EoeNpQ/wo8C3/P8R1QDowauMUp0hZdThSqGc2fvfrSUrMgxg+ZWv3d4KLJMPg02ARQITgCRG ebkLsrKTPN1TJF/uY1QKsSpTxqhNINzh3zHM5+VkheObyDViYViEIEwkEoVFrBcJKW933vOc JE+eVKJh0hlGyahW6lgk1yebFfcKLbv7UYsOEXVbP5k3H4i8Krqz+sTl0LaYTeyi32LM2nVz hkK3VSPd2/d8O/GV4J/Sdzc3nNR7hj5Jnuy09z/uN08e8MXMOsvP0Q+mX8wdvp9orab3lk3u EAQ8JIw3OzD/qbmnHjv0uu6anXQa54QXZbVG7Io7Zjs+/+GpgSP73v9MrB14I32/v1Wq3hN9 Yer2a2lRU/5bN3pQZFBjKTCJD46tOrh/9UJZaG5A72PzwER9yvBAAVGSWO5fo88+G0s8t46W aUYLQs6RH2zLN8VwO19g7H6HPqZ+kFwNTEw4OuT9XWxsc0jCukMJiy/tntOvD8yqCZrxs93L 4t80N4R+70Ox1akS4VpMpZb8C+XjIz5uBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprEIsWRmVeSWpSXmKPExsWy7bCSnO6E2c1JBusfqlo8mLeNzWLxj+dM FvcXf2axOLR5K7vFliuzmS2WHz/AajH/yDlWi+0HH7FYbHwBlL048y6LxfP56xgtXs66x2ax 6fE1VouHr8ItLu+aw2bRs2Erq8XaI3fZLZZev8hksWzTHyaLRVu/sFu07j3CbnF3zzZGi5a2 I0wO4h5r5q1h9Nhxdwmjx/Uln5g9ds66y+6xeM9LJo9NqzrZPO5c28PmsXlJvUfr0V8sHn1b VjF6/Guay+7RdeQ6m8fnTXIep75+Zg/gi+KySUnNySxLLdK3S+DKaFx0jLngM2dF48Ye5gbG YxxdjJwcEgImEmdetTF3MXJxCAnsZpT4/ecjI0RCQmLl70lQtrDEyn/P2SGKmpgkHi3dyw6S YBPQkfj2/jQbSEJEoJVR4vrKTiYQh1lgIovElOu/mEGqhAX8JHq2LgUbxSKgKnFm4wI2EJtX wEpiz41rLBAr5CVWbzgAVM/BwQkUn/svFsQUErCUeLrfYgIj3wJGhlWMkqkFxbnpucWGBYZ5 qeV6xYm5xaV56XrJ+bmbGMHRpqW5g3H7qg96hxiZOBgPMUpwMCuJ8BpUNCQJ8aYkVlalFuXH F5XmpBYfYpTmYFES573QdTJeSCA9sSQ1OzW1ILUIJsvEwSnVwLR8k6CEwtbD9/8vETCVtqpK nTDhmMa5jgj9l6opfNcbI7VllhR8Yi+f3z439eCf459NGPaaSQncnHG87IQaL3O4xvSnepou U2V+W2jWvn46Y/PJm9P4Nu1YJ/9+fwL34W6rowaiK40dNU9GWrIevFbYs+pF2KvloY9EbwWs LH8W7cD1rDveMmPhB8fpd/kbo7YJtnVOr9NOfv0vTb1S/oBEwLNZOmxSJ1xCMg5ve7Y+Td5A 9mL0Gru0C9fLddlkghqdXm0of5Jq3FM6ZY5rtLtHfPje//2ZkruWF3zfVOcv8iv4OZv6xEtn m97vOfDs6584n//OBnmXG/c+KyrP5VHdOvubao7ed0bOl8vvPFViKc5INNRiLipOBABY0Kho JQMAAA== X-CMS-MailID: 20220517125648epcas5p22201053e8a71dcd5ccc8d0566511b635 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125648epcas5p22201053e8a71dcd5ccc8d0566511b635 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055920_306080_1DB3FE74 X-CRM114-Status: GOOD ( 17.14 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org During error on CLOSE_INSTANCE command, ctx_work_bits was not getting cleared. During consequent mfc execution NULL pointer dereferencing of this context led to kernel panic. This patch fixes this issue by making sure to clear ctx_work_bits always. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c index a70283d4c519..057088b9d327 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c @@ -469,8 +469,10 @@ void s5p_mfc_close_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); /* Wait until instance is returned or timeout occurred */ if (s5p_mfc_wait_for_done_ctx(ctx, - S5P_MFC_R2H_CMD_CLOSE_INSTANCE_RET, 0)) + S5P_MFC_R2H_CMD_CLOSE_INSTANCE_RET, 0)){ + clear_work_bit_irqsave(ctx); mfc_err("Err returning instance\n"); + } /* Free resources */ s5p_mfc_hw_call(dev->mfc_ops, release_codec_buffers, ctx); From patchwork Tue May 17 12:55:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852490 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D2ADEC433FE for ; Tue, 17 May 2022 13:18:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=k91jRAbHo70fiShOf5ONoKeqFFoP6Y5I+SicQVW0WgQ=; b=FlWBmNXERkHPRV OHpwMhb7BhciQvMpBpC45w1qh6Nz+e1vi8XjoPrR24D3ym2cL2Mdr35oNE9LWH4zGRtg8Nnplquaj bqupjvejTvuJ8eYG6ud5mWiMupRFd36Ij1+lB6XoahdsjGNxvlCc3u6XdJE+Vxb5HUPojPF9ZxJtm ZgUebfxr6uh2NZnb6BoXEqScx0/HIY+r87WD514ado6h1sAXhgKglv9U1wUQTpIr9NKxj1U12cLFr 4h+5akMCvEo2OyX519FqseCxTUwSaCKDpTUd1cNs2B8USk6o4x0VAJyekkx949NTTEcOvnusxbveE Wq7Q8WHMVU8mYws2lrBg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqx4P-00DqVo-6q; Tue, 17 May 2022 13:17:04 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwnL-00DjlD-Oz for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:25 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20220517125921epoutp033fe1f34bcb9d0dc5213f31898d3ed063~v5eVoSwol0460604606epoutp03k for ; Tue, 17 May 2022 12:59:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20220517125921epoutp033fe1f34bcb9d0dc5213f31898d3ed063~v5eVoSwol0460604606epoutp03k DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792361; bh=0zS0aSZ2KeTou4QZbPw0Se44QW6AzkaGDCCxNu9HzrU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eQkRGuTH+DTorAmKT2exHdGcY4Jbt8GzuiuBbCTpHRN3vk6dLM8g/GgK7n7nbT/dJ f2DM65+wetGyxTmFv9GianKYhWW+kEoVnnakOGfPWtIx5QHPWj0EJ7gxiMphkAgwxG yRqfEcP7o6S+0PEFHApNnxTrtmRxeHUmSf9LNnAQ= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125920epcas5p3f17f96dabfca21fc21e4769a30b4e8a3~v5eU794Iq0661806618epcas5p3R; Tue, 17 May 2022 12:59:20 +0000 (GMT) Received: from epsmges5p3new.samsung.com (unknown [182.195.38.174]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bmP4WVdz4x9Q4; Tue, 17 May 2022 12:59:17 +0000 (GMT) Received: from epcas5p4.samsung.com ( [182.195.41.42]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id F6.4C.09762.52C93826; Tue, 17 May 2022 21:59:17 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20220517125652epcas5p31abe2138fbff6218c9031da714bfb448~v5cLEDG892689826898epcas5p3o; Tue, 17 May 2022 12:56:52 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220517125652epsmtrp21535de7dfaf3366486575648922ebd77~v5cLC_0tx0914309143epsmtrp2U; Tue, 17 May 2022 12:56:52 +0000 (GMT) X-AuditID: b6c32a4b-1fdff70000002622-4f-62839c256f57 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 14.46.08924.49B93826; Tue, 17 May 2022 21:56:52 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125649epsmtip122aabb00b1566a161985589e178af6ed~v5cHvpZ-E1797117971epsmtip1L; Tue, 17 May 2022 12:56:48 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 18/20] media: s5p-mfc: Correction in register read and write for H264 Date: Tue, 17 May 2022 18:25:46 +0530 Message-Id: <20220517125548.14746-19-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf1CTdRzH7/s8z54NrtnTgPMrGXIrvIMENhzzOw8Iw/Oeomx3dNGPMxjw CMTY5n6YkdYE+SGGRp1eEIMSCA/RYGzEz1xrJgepGSimID+0CA6Q2+LHgWAbD9Z/r8/7+/nx vs/3++XhgtukPy9TpWe0KoVSSHoTLT8Hh4QGVeSliEp/34JGKltIVL04jqHhaheB7M1WLrL0 f42juis2DqpyXOOgH34aI1DT3+7TG2VDBBqvugjQRPk9Epnv3+Kg0clE1NdeQaLPGq0cdMEx xEW1Azcw9J35EYbOWv/hovwuBxcNdbYAdKzAgcVupBsqGwDdOlQD6IEaJ063lQ9x6erOCYw2 1x8n6cFbnSTdXPMpnX95iaBPWuoBvZpr4tLFjgGSdpkD6J45F1e+4d2sqAxGkcZoAxlVqjot U5UeLYxPSIpLipSKxKFiGdohDFQpsplo4e7X5KF7MpXuDQgDDyqUBrckV+h0wvCYKK3aoGcC M9Q6fbSQ0aQpNRJNmE6RrTOo0sNUjH6nWCSKiHQnJmdlFAyacM0p30NffbvIMYIpqhh48SAl gQVX/ySKgTdPQHUAuNC5uB44Aez66xGXDVwA/njmN7IY8NZKSuwHWb0dwIbJ4zgbHMPgF0U2 rqcvSW2D8w97SQ/7UkcBvF+k9zBOLeOwrD/Awz5UIrQ97CQ8TFBB8MuV9rV8PrUTTnfVcVh/ W+D5RhvuGezl1k2r+1g5zwtWLBCsn93w7vn9rOwDJ69YuCz7Q9dMF8lyOhx25QGWNdBktGAs vwRt/RVrbXAqGH7fHs7Kz8HTPRcx1vAGWLL8YD2dD1srn7AQnv21e30UhDenreuGaTg+V0Wy GykBcNxUiH0OAsr/H/ENAPVgE6PRZaczukjNdhXz4X9XlqrONoO1Jx4S3wrGRmbD7ADjATuA PFzoyxcdMqYI+GmKj3IYrTpJa1AyOjuIdG+vFPf3S1W7/4hKnySWyEQSqVQqkW2XioUb+dTj oykCKl2hZ7IYRsNon9RhPC9/Izb5QL0NTCp31W593pJ6OEQ2fcSICrVj+ededDm9n2WMr+b6 WrOCDZcH5UsRe0bCIqZ8zM6kUMFcjNVH1kEWLTo/bm/Zfc975a2p4YXNdZsMJ5ngzD/eyf/E 2fhB8o7HS7qEvhNBZT1ZzEp9Xhdf4rVLPh81dqmu0LZQVrh6ui+3daY73PtE29JM09Y3NZVP TcVnn7o5m/vG2P7EA2fsocw+6eH695pff3q6t6lW8EsbleM3euCC45UjinlX03jMpcjZ3oQX 3o9Lvv72ddG1CTl/yrRsjPaPLZ2fu9u8aOm4Q5iGzzXlRISP+q6kXU14ZrOfjHu7ICFWQEjj uu/stb1s3asWEroMhTgE1+oU/wJ4nuJ/awQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsWy7bCSnO6U2c1JBu9OG1k8mLeNzWLxj+dM FvcXf2axOLR5K7vFliuzmS2WHz/AajH/yDlWi+0HH7FYbHwBlL048y6LxfP56xgtXs66x2ax 6fE1VouHr8ItLu+aw2bRs2Erq8XaI3fZLZZev8hksWzTHyaLRVu/sFu07j3CbnF3zzZGi5a2 I0wO4h5r5q1h9Nhxdwmjx/Uln5g9ds66y+6xeM9LJo9NqzrZPO5c28PmsXlJvUfr0V8sHn1b VjF6/Guay+7RdeQ6m8fnTXIep75+Zg/gi+KySUnNySxLLdK3S+DKaLszl7mgX6RixsIfrA2M bwS6GDk4JARMJHoPlXUxcnEICexglPiwcBpjFyMnUFxCYuXvSVC2sMTKf8/ZIYqamCR+Xp7A BpJgE9CR+Pb+NBtIQkSglVHi+spOJhCHWWAii8SU67+YQaqEBUIl5k3ZyAJiswioSkz+uwus m1fASuLt3uWsECvkJVZvOMAMchInUHzuv1gQU0jAUuLpfosJjHwLGBlWMUqmFhTnpucWGxYY 5aWW6xUn5haX5qXrJefnbmIEx5qW1g7GPas+6B1iZOJgPMQowcGsJMJrUNGQJMSbklhZlVqU H19UmpNafIhRmoNFSZz3QtfJeCGB9MSS1OzU1ILUIpgsEwenVANTi2OZluSWWA3xvXGLm04w WxixPylPWPNTU0pzzb+VYk8SCu2/PFlsZl5n1DvTq35nOv+0t8LPtBq4J+Wue+l2pPL1n3Xd v5b7tj5OzPidvVBHyvzJ3Auf1ORNsw22rAxI/Dr9tePK0l47J7fSqu1iwln1M7cdu7bz9Xcn aUcNtxlOjR/9T4UqJ+evv/eSwY734071D8+MHtumF4pNOzvxyhV58TO7C/bo8smybJ37+KoM l9S25kdmTdMuGiQt/9VocvmIbnxZwulXIfcO90bmZ3HYH12wZ/OR24zajnc5N2YIBT++dyE3 Yp5vhKZSq8SylDkM8x5NY5x7xVnzid3TfI+6y3sCIuNuBi9pzqpTYinOSDTUYi4qTgQAWmNz yiQDAAA= X-CMS-MailID: 20220517125652epcas5p31abe2138fbff6218c9031da714bfb448 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125652epcas5p31abe2138fbff6218c9031da714bfb448 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055924_237967_31896728 X-CRM114-Status: GOOD ( 13.31 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Few of the H264 encoder registers written were not getting reflected since the read values was not stored and getting overwritten. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index 44058827eaa3..40e4cb5bf3ae 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -1268,7 +1268,7 @@ static int s5p_mfc_set_enc_params_h264(struct s5p_mfc_ctx *ctx) } /* aspect ratio VUI */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 5); reg |= ((p_h264->vui_sar & 0x1) << 5); writel(reg, mfc_regs->e_h264_options); @@ -1291,7 +1291,7 @@ static int s5p_mfc_set_enc_params_h264(struct s5p_mfc_ctx *ctx) /* intra picture period for H.264 open GOP */ /* control */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 4); reg |= ((p_h264->open_gop & 0x1) << 4); writel(reg, mfc_regs->e_h264_options); @@ -1305,23 +1305,23 @@ static int s5p_mfc_set_enc_params_h264(struct s5p_mfc_ctx *ctx) } /* 'WEIGHTED_BI_PREDICTION' for B is disable */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x3 << 9); writel(reg, mfc_regs->e_h264_options); /* 'CONSTRAINED_INTRA_PRED_ENABLE' is disable */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 14); writel(reg, mfc_regs->e_h264_options); /* ASO */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 6); reg |= ((p_h264->aso & 0x1) << 6); writel(reg, mfc_regs->e_h264_options); /* hier qp enable */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 8); reg |= ((p_h264->open_gop & 0x1) << 8); writel(reg, mfc_regs->e_h264_options); @@ -1342,7 +1342,7 @@ static int s5p_mfc_set_enc_params_h264(struct s5p_mfc_ctx *ctx) writel(reg, mfc_regs->e_h264_num_t_layer); /* frame packing SEI generation */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 25); reg |= ((p_h264->sei_frame_packing & 0x1) << 25); writel(reg, mfc_regs->e_h264_options); From patchwork Tue May 17 12:55:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852491 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EF4C2C433F5 for ; Tue, 17 May 2022 13:20:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=UbbOamrBRhEwkkEFP/Q4CLL9AvLJA3CLYrRGXxBv8Sw=; b=oa0H2W/OwYgHAk cEDl6yi6PAkNGjSlccTBqevuB21BARXbCxm5tVkBx7KwmYd1WxyEJeYUNDVShtWdEeY2YM2sEukbr lODSqYqtZWVp9fvmrISifYOoSu898vE8euMxdnmqUNAf3R77spbF2Fw6voM62V0cJ4ALvFzQFd1YT l9jXsjigvXfF5b+jZ1IQTvH9vIAgvzTLQD+WxgU/8Zo1kUARcbV/39oXk44AkgDd8Ph7nAbI/94vG k+czunHvuG2HwdALyzHhb+pnHHVnlfxfX190p2dRhJd+B4cPQ5O92gbgJsQPy5roRdXvAitqFEGMs 1Rv0lvolijqXxbSvzq6g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqx5r-00Dquw-7y; Tue, 17 May 2022 13:18:33 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwnS-00Djqm-Nd for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:32 +0000 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20220517125928epoutp019330e383ddde478e8d28a28eeca508a1~v5ecIp2vC3025330253epoutp01H for ; Tue, 17 May 2022 12:59:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20220517125928epoutp019330e383ddde478e8d28a28eeca508a1~v5ecIp2vC3025330253epoutp01H DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792368; bh=hIUv0YD0Ok04tV8sxzxfdl66nzpWPWtDN0YIwNoEv68=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FCz0/hjNTax4HFnX6Ha4ZHYExOi0aYHETyBmCYkWiNWs8ihZbOS5AAkNTijwuqadh 9HWeijJ3I4V257oYPZpdMDXsl5Od0QvPgBfmHHzCLdPtuWG4xADn6DVueJJFWujSv+ mq3+vdMKHpbWofNNK9Km1bS22w6+6QxkDPWb9Q6M= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20220517125928epcas5p3e0a1b3f897bd2f4b7a03c9278d8076e4~v5ebn5xiO2692026920epcas5p3F; Tue, 17 May 2022 12:59:28 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.180]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4L2bmX4GlGz4x9Pw; Tue, 17 May 2022 12:59:24 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 81.5F.10063.C2C93826; Tue, 17 May 2022 21:59:24 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p1.samsung.com (KnoxPortal) with ESMTPA id 20220517125656epcas5p1cc1296b200ff8801f24243aa47de8fe1~v5cOSU-2E3158031580epcas5p1G; Tue, 17 May 2022 12:56:56 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125656epsmtrp16637860bd110af4c05febca50c55da6c~v5cOOBgLJ0134401344epsmtrp1I; Tue, 17 May 2022 12:56:56 +0000 (GMT) X-AuditID: b6c32a49-4cbff7000000274f-3c-62839c2ca69d Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 95.46.08924.89B93826; Tue, 17 May 2022 21:56:56 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125653epsmtip1a84433701a1f5c55cd2f37c81421e3e5~v5cLJBSfR1799717997epsmtip1Q; Tue, 17 May 2022 12:56:52 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 19/20] arm64: dts: fsd: Add MFC related DT enteries Date: Tue, 17 May 2022 18:25:47 +0530 Message-Id: <20220517125548.14746-20-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf0xTVxTHc99rXx9sZU+EcGUb4IvE4ABbhXIxwGAY8paZjcy5ZThlD3gp DGi7vjLBZJECwmRDJ8yACDihjAQU+U1F3AoUEGfYBATMLALO8GP4I3QsIAhrbdn++9zv+Z5z 7j33XhJ3HifcySSFhlMr2BSacBS09fjs9PMty46TnFvYhiYr2ghUtTyDoQdVZgHqbm4VoZaR Cziq6TcI0UXjoBC1d00LUOOsJXrnvEmAZi7WAzRXOkGgpoejQjQ1/wka7igj0HcNrUJ0xWgS oeqxOxj6qWkNQ5Wtf4vQyRtGETJ1tgGUk2vEwt2YyxWXAaM36QAzplvEmWulJhFT1TmHMU21 pwjm/mgnwTTrTjAne58LmNMttYBZzyoXMfnGMYIxN3kwt5bMominmOSQRI5N4NRenCJemZCk kIfS7x2MjYwNlEmkftJgFER7KdhULpTefyDaLyopxTIB2usrNiXNIkWzPE/vDgtRK9M0nFei kteE0pwqIUUVoPLn2VQ+TSH3V3CafVKJZE+gxfh5cmKH9hpQFYnTDY+WsUzQ55gPHEhIBcD6 G214PnAknanrANYPzgNrwJlaBHC2cbstYAawdWJduJlh+OOewBbosJhylzDbIgeDpoVs3Ooi KF/4z9NfCSu7UFoAH36jsTJOreLw/IiHlbdSkfDM1CxmZQHlDe8vfPsyV0ztg3UvjMDWzRPW NRgsOkk6WPTy9SM2eYOEukn7EfbDq6N/2e1b4Xx/i8jG7nDuTK6d5fCBOdvuUcHyzBbMxm9D w0iZwFoep3zg1Y7dNvlNeO5WPWbbsRMsWP3TbhdDfcUm07Dy9k17eQjvPm4VWstAioGGSpVt IgUArqysCb4HHqX/d/gRgFqwjVPxqXKOD1RJFdyx/64sXpnaBF4+8V3v6oFp8pl/N8BI0A0g idMuYkl6ZpyzOIHNOM6plbHqtBSO7waBlumdxd1d45WWP6LQxEoDgiUBMpksIHivTEq7iakN bZwzJWc1XDLHqTj1Zh5GOrhnYmUzn66TxxPxrEdd01Gu2jfeKbytK/Icjc4o0n90s2at7vUj oYIr7ZrDvnmrYaWS4GG3U65ff+i9TjZeIDKKgjt9xv2inh/qkRw+ll+4oytoY1ma9VnhgB7r 2Zuart2uM025uEXg/mFHN2DQgSFqaJo9vVo/sdT7+HoGX9f186Enz4abX4vMvBszGHfpi97q j3854f5Dlk5YFD7t/VZ1yVBfjjxvcgdZ3e/ZHm9+UdXw25ZXY8bze8MXDqa9H/g0+h5ycsoq udSv3ZKnX2TF0xEuNR8UpLsdjZhJ2DM5EDIUNMeUTA0U7ywuHnllsOfsE+Pv+i9lVHlVV2jf 2EpFTEh5GJFMC/hEVroLV/Psv4PCMr5rBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprEIsWRmVeSWpSXmKPExsWy7bCSnO6M2c1JBqv/8Fo8mLeNzWLxj+dM FvcXf2axOLR5K7vFliuzmS2WHz/AajH/yDlWi+0HH7FYbHwBlL048y6LxfP56xgtXs66x2ax 6fE1VouHr8ItLu+aw2bRs2Erq8XaI3fZLZZev8hksWzTHyaLRVu/sFu07j3CbnF3zzZGi5a2 I0wO4h5r5q1h9Nhxdwmjx/Uln5g9ds66y+6xeM9LJo9NqzrZPO5c28PmsXlJvUfr0V8sHn1b VjF6/Guay+7RdeQ6m8fnTXIep75+Zg/gi+KySUnNySxLLdK3S+DK2NW4k7FgMm/Fgac/mBoY j3F1MXJySAiYSBy4fZOli5GLQ0hgB6PEyVMHWCASEhIrf09ihLCFJVb+e84OUdTEJHH+RwMz SIJNQEfi2/vTbCAJEYFWRonrKzuZQBxmgYksElOu/wKrEhZwluh/+IIJxGYRUJW486YbLM4r YCWx+u8RqBXyEqs3HACKc3BwAsXn/osFMYUELCWe7reYwMi3gJFhFaNkakFxbnpusWGBUV5q uV5xYm5xaV66XnJ+7iZGcLRpae1g3LPqg94hRiYOxkOMEhzMSiK8BhUNSUK8KYmVValF+fFF pTmpxYcYpTlYlMR5L3SdjBcSSE8sSc1OTS1ILYLJMnFwSjUwBT97/puja//B2eF57Huu6rFF PDi7fGVa9mnxiNOnw00meB3KOuEbPWVG38yjSxZmOS7h5lRmuMG6cr2CafdCN/NVEqHnTRcJ OHA0TSlbcHrNDYeWW5KOjj+NJV/aerW0/vCr4s/3332sYrs316eCHSfOFMtyHmi7/7xCd4Jd oqxu/86l5y9eMeqawXPpy7bDOTr6O+6XPdl3Ss7yYJAWG1OO4fvl1zw5d/BFv9OSSnAzCbvc WHPq6BvvCcYGrdHxCrNchRQPPFSf6xJ768SCM02xR8Rclyef/shyZ/uZq1Pn/o33bjsucDE3 zS/Y9muAG+8fpxNLrrRL/Hp+69nzu1mqE1I9VR6bGbeVLzq3RomlOCPRUIu5qDgRAGdvc7kl AwAA X-CMS-MailID: 20220517125656epcas5p1cc1296b200ff8801f24243aa47de8fe1 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125656epcas5p1cc1296b200ff8801f24243aa47de8fe1 References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055931_210899_07204353 X-CRM114-Status: GOOD ( 16.84 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add MFC DT node and reserve memory node for MFC usage. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- arch/arm64/boot/dts/tesla/fsd-evb.dts | 8 ++++++++ arch/arm64/boot/dts/tesla/fsd.dtsi | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/arch/arm64/boot/dts/tesla/fsd-evb.dts b/arch/arm64/boot/dts/tesla/fsd-evb.dts index 5af560c1b5e6..36f6b013ce99 100644 --- a/arch/arm64/boot/dts/tesla/fsd-evb.dts +++ b/arch/arm64/boot/dts/tesla/fsd-evb.dts @@ -37,3 +37,11 @@ &serial_0 { status = "okay"; }; + +&clock_mfc { + status = "okay"; +}; + +&mfc_0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi index 9a652abcbcac..434ae75421d8 100644 --- a/arch/arm64/boot/dts/tesla/fsd.dtsi +++ b/arch/arm64/boot/dts/tesla/fsd.dtsi @@ -249,6 +249,18 @@ #clock-cells = <0>; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + mfc_left: region@84000000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0 0x84000000 0 0x8000000>; + }; + }; + soc: soc@0 { compatible = "simple-bus"; #address-cells = <2>; @@ -748,6 +760,16 @@ clocks = <&fin_pll>, <&clock_imem IMEM_MCT_PCLK>; clock-names = "fin_pll", "mct"; }; + + mfc_0: mfc0@12880000 { + compatible = "samsung,mfc-v12"; + reg = <0x0 0x12880000 0x0 0x10000>; + interrupts = ; + clock-names = "mfc"; + clocks = <&clock_mfc MFC_MFC_IPCLKPORT_ACLK>; + memory-region = <&mfc_left>; + status = "disabled"; + }; }; }; From patchwork Tue May 17 12:55:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Smitha T Murthy X-Patchwork-Id: 12852492 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 35FAFC433EF for ; Tue, 17 May 2022 13:22:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To: 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: List-Owner; bh=FL1NCihhI8VUEWliFNnlQUwuD61CnqTe3KIGNOn99ls=; b=xmeZunTSsPruDR 8ZkU2GuuvvCQmcIfouKa+1YgnP+HIYzx+wL6UeVlPlTJeCTR/vRd3aZ9Z7IUm9ji+v+CB+xz+FZ2h UB9UoqJLBIlAcSpOxwvODqgS+8boBVK2lvSqupqqed9VPUMRLPbDCJ9ENk0kEQ0I2743YRrcYP7WS zTqihuJ9mQiRSAGSpHcztx9mumlWnM5VxEbsdIsdRfvVW8nbZ3AihYI+YN3LhGito0r0OKM4yO3ZF Ac6D+BOJmFaPx39HkGYdFcVung/EGuquiX82THAhlz26hjrjNxIVZsEcf9xb08W34FLfM6vGPhmwG yDWMphYw6GY77CDB0ZmQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqx7a-00Drav-EV; Tue, 17 May 2022 13:20:18 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqwnX-00Djtq-DE for linux-arm-kernel@lists.infradead.org; Tue, 17 May 2022 12:59:37 +0000 Received: from epcas5p4.samsung.com (unknown [182.195.41.42]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20220517125933epoutp027d9e2953d1c9add405c9a96c2a4215a2~v5egZOnhX1207812078epoutp02X for ; Tue, 17 May 2022 12:59:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20220517125933epoutp027d9e2953d1c9add405c9a96c2a4215a2~v5egZOnhX1207812078epoutp02X DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652792373; bh=3+LJ7a9KC6u10L8XTAC6kESxBRaYe/uwgIVvQC8Pts0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cqHNiIPRM7HMf5YSwjb33ieIFuKBpbgrywF4zEnnzclaucaBVR2vda4Zk+fyMvCIs A7rFaYGIFjER4SiB5hJTO+SafFNbLvzH/VMUpU20qygdbRPvzGTcNtAvxNCpfRCK1d k6sH7g2OVqd9Wva0Uv0I0EqtqAw8YVPrLpB+fiKc= Received: from epsnrtp1.localdomain (unknown [182.195.42.162]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20220517125932epcas5p1e33234b7521607333d9147782c06626c~v5efS17zv1830118301epcas5p1a; Tue, 17 May 2022 12:59:32 +0000 (GMT) Received: from epsmges5p1new.samsung.com (unknown [182.195.38.176]) by epsnrtp1.localdomain (Postfix) with ESMTP id 4L2bmd51cKz4x9Pp; Tue, 17 May 2022 12:59:29 +0000 (GMT) Received: from epcas5p2.samsung.com ( [182.195.41.40]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 33.5F.10063.13C93826; Tue, 17 May 2022 21:59:29 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20220517125659epcas5p4f344138f5b8a64f9e49c6cba4f0af92f~v5cRaGUYl3255032550epcas5p4j; Tue, 17 May 2022 12:56:59 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220517125659epsmtrp1cd969423219bcc26004953d94e0e21c2~v5cRZAv2U0134401344epsmtrp1L; Tue, 17 May 2022 12:56:59 +0000 (GMT) X-AuditID: b6c32a49-4b5ff7000000274f-43-62839c31f6d7 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 67.46.08924.B9B93826; Tue, 17 May 2022 21:56:59 +0900 (KST) Received: from Jaguar.sa.corp.samsungelectronics.net (unknown [107.108.73.139]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20220517125656epsmtip1d6f9a2b11deb8a856a0844767a640c3a~v5cOTrQ-c1799817998epsmtip1R; Tue, 17 May 2022 12:56:56 +0000 (GMT) From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: m.szyprowski@samsung.com, andrzej.hajda@intel.com, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, ezequiel@vanguardiasur.com.ar, jernej.skrabec@gmail.com, benjamin.gaignard@collabora.com, stanimir.varbanov@linaro.org, dillon.minfei@gmail.com, david.plowman@raspberrypi.com, mark.rutland@arm.com, robh+dt@kernel.org, krzk+dt@kernel.org, andi@etezian.org, alim.akhtar@samsung.com, aswani.reddy@samsung.com, pankaj.dubey@samsung.com, Smitha T Murthy , linux-fsd@tesla.com Subject: [PATCH 20/20] arm64 defconfig: Add MFC in defconfig Date: Tue, 17 May 2022 18:25:48 +0530 Message-Id: <20220517125548.14746-21-smitha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220517125548.14746-1-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WTf1BUVRTH5763+3ah1t6sGtedAWFndMQEdmtZLsaPRqgeowXFmNWMrg94 AsOyu+4uRAK1BBJRUPQDgvih/GpCJH4siAi2LBRGaDL8GoQViBQhQXChDA3a5WH99znnfM89 3zn3Xj4uHCFE/FiVntGqaKWYcOS0dLnv8ZAWp0dIFgt2ocnSFgJVPJjB0ESFlYPMTc08ZBz8 Bkff9pi4qKz7Ghdd6PyNgxru2Kr9hRYOmimrA2i26CaBGqeHuWhq7ggaaCsm0Cf1zVx0vtvC Q1Uj/RiqbnyEofLmZR463dHNQ5b2FoAyMruxF5yo2tJaQLVaKgE1Unkfpy4WWXhURfssRjXW fERQ48PtBNVU+T51+sdVDpVrrAHU2gclPCq7e4SgrI0uVO+KlRe25e04vxiGjmK0rowqUh0V q4r2Fx8MVwQpvOUSqYfUF/mIXVV0POMvDj4U5vFSrNK2AbFrIq1MsKXCaJ1O7BXgp1Un6BnX GLVO7y9mNFFKjUzjqaPjdQmqaE8Vo98vlUie9bYJj8fFzC+VcTSdvKR7VZO4AVwnsgGfD0kZ vDKWmg0c+ULyEoBNEyYeG9wH8IahGmMDK4ALU0O2isNGR8/UAmFnIdkG4Pn1FFaUgcH2pi+A vUCQ++Cf937ZEG0j0wCcztLbGScf4rBw0MXOW0k/OFv8HW5nDrkLLnescO0sIPfDlZWfueyw nfBcvQm3W3Ww5UvWjrLpdT4cMfuxHAxHB0wEy1vhXI9x06cIzn6aucnRcMKaDljWwBKDEWM5 EJoGizn243HSHX7f5sWmneFXvXUY63gLzHn4+6ZcAFtLH7MYlvdd2TwewqH55k3HFMy7NMhh 15MD4FzuK58Bl6L/J5wBoAbsYDS6+GhG562Rqph3/ruxSHV8I9h44XtDWoFlctHTDDA+MAPI x8XbBJIkQ4RQEEW/e4rRqhXaBCWjMwNv2/bycNH2SLXti6j0CqnMVyKTy+Uy3+fkUrGTgFxP ixCS0bSeiWMYDaN93IfxHUQGzOfmulei27njBbcCYw+kjF5NfbD0Wj/FebTb9LX0jSmtYLTr iPzN9/KwpJyn4g6b8UMCfV2NhyA/ObTvZF7o4t930nvr1o4lZyZ9mF/+zJc+14fWAk00Wb3s Way4GKJ2rO49eaPktnG6sHQpyE1O99Ue3XkiuWG1/NiegGZDn/JClr9TmqVDG3ybyk/tutbp +9PnSueCpkLDX1VG3fNxGU6tq+sLATvOhJP8y7L2jxfqa2UzuZlC6glDwSShmE85fOpyvPXF kpAs7xZV+ImVu/g/ryeHLznMXVUL618Nmhwbu/WDHp51+5UeH9/39B8HPILHzpaHOg+4v5zY MCx6UvSWfPtdMUcXQ0v34lod/S82POIdagQAAA== X-Brightmail-Tracker: H4sIAAAAAAAAAzWRe0hTYRjG/c45O+c4sg5T2udCi5UR4jUqvsJMo+gEEd0gEtOmHmalc22Z drHMmuEsu5dlarSt8hY2nS6blNvSTArFckiuNCsvoJW6VRorp/Tf73l+D7x/vDQuuEyI6P2y w5xCJkkRk3yiziL2Dy4qOpMQpnMtRr0ldSTS/BrA0EfNOIHMNQYK1b4twtGDluc8VGp9w0P1 TZ8I9Hhw2nbcshNooPQRQEO3P5BI39/FQ33Du1Fnwx0Sna828FCV1U4hna0DQ/f1fzB0zzBB IVWjlUJ2Ux1AZ3OtWJSQrSypBKzRrgWsTTuGs09u2ylWYxrCWH15Hsn2dJlItkZ7ilW9mCTY gtpywLpyiilWbbWR7Ljen33lGKe2zY3hRyRxKfuPcIrQyH385JEfpYS8icr8puvFs0E7qQae NGRWwJa+0RkWMEYAsy/6zPYQlk1dAbPsDctcA5Qa8Kc3ORjs1ubjbkEyQdD5rY10Cx9GBaCt LA9zB5y5TMBrtsmZlTcTAYfulM0wwQTAiUYHz81ezBrocLTyZk8shBXVz6c3NO053Re79rpR wKyGX56hS2DuXeBRDnw5uTJVmqoMly+XcRkhSkmqMl0mDUlMS9WDma8FBhqBqfx7iBlgNDAD SONiH6+wzOwEgVeS5OgxTpEWr0hP4ZRmsIAmxEKvdnVrvICRSg5zBzlOzin+W4z2FGVj8/Iy WlcCHz99f9TY5rGIOJFaFnt9fmNPWOx7rWrbVqf4RmbhzxHL8AHUJJ1ouWauip8fuNR03+Ou ODQHn2NQBN9c6+f0OPLqpfNktPF70ztVs2pZTNeiGA9d21Vd38mEyaP8rCBJ5NODwTkNJzpy B3MD/u5gLh3S/K2O3OhQEbUbThcVVjgTV8F7nlveFfda5v0OTeI//FWwq2fTTt+490xc95lI /QHhheEsCX3j+sjilEJfS/CHbhCduWFzWujXYS7Dr1mzfs/q0WPbmx/QNQtbhVNXwz9zPzpE S1y+66TjnaP1V0KOs1lWYaPQUjVY0P7aWVFFy7vrpOdE+f1Gg5hQJkvCA3GFUvIPcqGLyyQD AAA= X-CMS-MailID: 20220517125659epcas5p4f344138f5b8a64f9e49c6cba4f0af92f X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20220517125659epcas5p4f344138f5b8a64f9e49c6cba4f0af92f References: <20220517125548.14746-1-smitha.t@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220517_055935_875644_10D5479C X-CRM114-Status: GOOD ( 14.02 ) 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: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add MFC into defconfig. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy --- arch/arm64/configs/defconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 50aa3d75ab4f..e35765f2d78f 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -661,7 +661,7 @@ CONFIG_RC_DECODERS=y CONFIG_RC_DEVICES=y CONFIG_IR_MESON=m CONFIG_IR_SUNXI=m -CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y @@ -678,7 +678,7 @@ CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_RCAR_ISP=m CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m -CONFIG_VIDEO_SAMSUNG_S5P_MFC=m +CONFIG_VIDEO_SAMSUNG_S5P_MFC=y CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m CONFIG_VIDEO_RENESAS_FDP1=m CONFIG_VIDEO_RENESAS_FCP=m