diff options
Diffstat (limited to 'bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch')
-rw-r--r-- | bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch | 151 |
1 files changed, 89 insertions, 62 deletions
diff --git a/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch b/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch index 1492b5fd6..e7ca70ab3 100644 --- a/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch +++ b/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch @@ -1,22 +1,22 @@ -From patchwork Mon Jun 24 22:13:15 2019 +From patchwork Wed Jun 26 15:48:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net> -X-Patchwork-Id: 11014257 +X-Patchwork-Id: 11018115 Return-Path: <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AF9B913AF + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0546514BB for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 24 Jun 2019 22:19:04 +0000 (UTC) + Wed, 26 Jun 2019 15:49:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) - by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E48D288D0 + by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E6FEC288DC for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 24 Jun 2019 22:19:04 +0000 (UTC) + Wed, 26 Jun 2019 15:49:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) - id 915A92890C; Mon, 24 Jun 2019 22:19:04 +0000 (UTC) + id DADF9288E5; Wed, 26 Jun 2019 15:49:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: @@ -27,71 +27,71 @@ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) - by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 334AB288D0 + by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 73ADC288DC for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 24 Jun 2019 22:19:04 +0000 (UTC) + Wed, 26 Jun 2019 15:49:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: - References:List-Owner; bh=pZ4lWwxNSX3iSSGrbQoSUtMz7+GLTRWyjXRJWpId+5s=; b=De9 - hICr3uVCMJ9HF64mqdARRKXLqBMi85tC4LHoOtzHM3RV+H9ci2Le55P7omHm7Yexo43W0Wko4kaPH - I7tMpiA/5CYW7ZAHjla3mxLEMLMSPFwYqBufuR1/uS3vK9+Hgo7oDVhN7Yn5qAtAZfY+8LT69pryi - 8yetpp6upD56usJT/1aV92r4F07oF/sMdP7cAHOLGl30vKZPt3LQhfYranu0A4HFbzFdCbkjjGTdp - gGRUMaGkoQYiDmD4x5mDTsJX7czSSpRM11kcnxCmP6U6Hy47tXSNnaIFyFX7ZNQtYA2id9LKdq9jk - 4ru0cwPcvfDiKLWysBsVJN7nPIacCYQ==; + References:List-Owner; bh=qjzvJkBweFVGZWCHd7cHawZMDpcLTzSf2CjoVEIv+0Q=; b=eu5 + ABKzcpImxwkRcYCdHG/4eTgYM8nrpBaJqeKW2TNWEhNUjvnfU8TgkbD4nsIXkBXSb/riyKYzEcGJo + 91zXHR6clQ6yf7eRtaHSX9IMfiwGPTC2YQvr6vQ+CrVJs+xDhlH/1V1+9myF4ySIX+mLOnm+w3pgi + j1JeP7vd7fpr8iyG29kaFoDH7FdC5Sw66TINVyaE5igT9yKcrFoAITGfRZevp1dd3uq5EKxs/+oo3 + 9BvpwHZ3Bdb+bWzFc9kS4udjL8V4+u7aesLq8tOOPLZab+W8ZW1iq4PHENzdHblrJyrK/2pGEECPx + bVAV7MIHqms4tvAAyXSlPai0wU/j12A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) - id 1hfXIl-0000Kg-MK; Mon, 24 Jun 2019 22:19:03 +0000 -Received: from mout.gmx.net ([212.227.17.21]) + id 1hgAAK-00030G-Ny; Wed, 26 Jun 2019 15:48:56 +0000 +Received: from mout.gmx.net ([212.227.17.20]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) - id 1hfXIh-0000KK-QL - for linux-arm-kernel@lists.infradead.org; Mon, 24 Jun 2019 22:19:01 +0000 + id 1hgAAH-0002yg-2E; Wed, 26 Jun 2019 15:48:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; - s=badeba3b8450; t=1561414736; - bh=GysLsYTuZsd/CXGs4HdO1VCTJil5RrdvuS6/TiPl2bY=; + s=badeba3b8450; t=1561564113; + bh=mWLTbdtxGfwZ13vnfxlQDfv6DzwTGycBEng3zNk/XaE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; - b=gU0KSa1e5eyFsVnSCujOiYDvflXyoskJ0tc60c59NJ4k7CL076dwvum1oH1DIzsmh - kYOWRAvu4FZu33Bcxdtv84pgSNSHQt3P9oT0/hULw264uwuuzyjRqjnljK+4ObsjaK - 3VE9Nt7wobpNaeXddwRKPy0VwPBPS9Cyi6Ype8YA= + b=KYHDR8XZmzxft+7qC8J8cyQ71BSi6JkTsAhWvd+vK2f+YjWqjT42uTfrjNGCcQfdV + Z9gkAVPhUJWqXcu/GipMjVfx/QmxN65eJI1oHCOZ/vhkhzCqY9CuiJjHWnxF6jmydK + 5QSqYnKAOWM3NXmd6pWkd6wlKwIFV9zX8+x8R0gE= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.111]) by mail.gmx.com - (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id - 0MKYpv-1hguWc2RVf-001wNW; Tue, 25 Jun 2019 00:13:21 +0200 + (mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id + 0LyS5K-1ibrK32soI-015u60; Wed, 26 Jun 2019 17:48:33 +0200 From: Stefan Wahren <wahrenst@gmx.net> To: Eric Anholt <eric@anholt.net>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Madhumitha Prabakaran <madhumithabiw@gmail.com> -Subject: [PATCH] staging: bcm2835-camera: Restore return behavior of +Subject: [PATCH V2] staging: bcm2835-camera: Restore return behavior of ctrl_set_bitrate() -Date: Tue, 25 Jun 2019 00:13:15 +0200 -Message-Id: <1561414395-12518-1-git-send-email-wahrenst@gmx.net> +Date: Wed, 26 Jun 2019 17:48:11 +0200 +Message-Id: <1561564091-14248-1-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 -X-Provags-ID: V03:K1:LGa8UAO+GzmbgvlLItsNffmxnvrhpUjzzhEbaoSn7FwAXOkBTQT - CXW3GFoFMF7ihP2FNuGybonNAe4XC1IG1wlefi99zYppeICDE1DXNEfp72vJtW+hdWbIWTv - rQGf9V1DQzVE6avn/XMprdK5kasTgjwFYL1ePyQdxClEBcHaYQFYCkmYu3B0wvQkayY3VwX - I5OkkpT21gvRetaja00uw== -X-UI-Out-Filterresults: notjunk:1;V03:K0:jQ7kLM3btHE=:Vw0mHeUG2/OLYWx2xsMv86 - BDj9ACSIdpZZdSkWv37UT7mHK3JlRySOYYM5m/IzfAyzlNxXvPH0NCmzMLpF7RVotI9/DU3MN - sK7g5b3yd5sxlNf03d9ryZUUFRAlj2jydoVyVgTJzSvYhV34nomQaX3H8i3y2hWm0IIk5OMXK - 2W48wL4meZ5yWH9Ixh5R3/XIuyvaa4ehoTOBhaSaNMJw6zMZdNid+HWdNCSQ3Qy0lb+qhrPRI - +Aw/9ucDR4FkJYdUV5yYt4QhAmTY0sRxRWvTHRlqSr1+I++L5aT77BsWGKsbXq97GcpDLrEHF - lbRPDeDeo0kL5i51A+gQ+0DzV38h/rQ7yz54At+uEHw/9AcnW9w4AkZitDqjHy9F9lJ2obV4P - jGslvavwp3O4vJrISGoxpX/OuJFfPraVf3B2KNhBIw95jWA7R0fmAp10p1S+roCwkGKEDyuha - /TVFLsCmVpe3/3vJyll11l2miG60XHLl0aShILfChHlnWWacTi9O8bQoU9XTigvALJBxYpjo+ - SqG1z9IYnUYpUx15qXt4hc6UJvCeCFG+Jz9B/QBPuxlmcylDZ/31PnF1GbqrwpBmYePNYBBtU - 6nWLKLb/7VfmDxG/5VEaBgI0tt/DiXQ5owRmtV19r0sdzqeWRtUvdj3/TMMULZi28PHQfz7Q8 - nEbF/nUtSRUEZK/wCDWgEq4x2qfG9Yz1Kwi2l4KDsWFezbQtdH5H9UsyOYQiYZhztDskEIol7 - dtHt9qF75NElTmLOI9vXl/mYGvYfCj04DQqqVvTDxYncRewKBFWr603hweU/nY/IDsFs6F/cV - BdBRS6XR/PxROK/NLOBscMDwwEw7qdKbc7Eqv7OTjynQ9yt1KcS7oIYXUyKrd4BvaQdFqMDrs - Km3scWeKBdfeJaLKCLPitZYVTPG8PJwPgi5SqUMqgJkGbYxeUP+kgZmvXRz+vu35sYGftgV/t - vo2FKmWeEtPyAbDBEbV6LgIA+tQkwk0M= +X-Provags-ID: V03:K1:oGZaaF0VyX9aU1B2KlshIgSdbA6j0aZLN7PhhBatNb+3vHD/bim + IAE1eOdpYqQunHD6Pg0lTq7WJELowblFluMBHzPg8LdD02e6QUAOnsxpP9+ZsegmN4310bJ + qbWyOk73ZUf0L+ErExAilg9x9ygGjCdTujEDRrk0vloZc12lmdHMEA8VQs/4HDu6WGeOoac + M59q+7daHAsSTIgJrRUuA== +X-UI-Out-Filterresults: notjunk:1;V03:K0:+5QZJxEbxD4=:fxpwesVoxYf61efHxmcTKK + BddiAtw8+v4csO9cTNV4qSFAebPmgWlPv8KyLXPbOQdcjOl72FUcevKvhsznxi/uv5leFw9uX + Sr99W78EPj3EmJmQT1KZ8GMPWcB/hQa1h/t4bhjHByFu4VQ2xaIdpsJfZlFcR2poK1E6dEFT6 + jHlzWYjt2kP7anvsjMJvdSVILf9+ei6ysWz1aaMCKFLhxNUNmXH9onDdO8WOanGVr15zb+cVv + N4ecxzj0SonMoADsz1UJqgwb8Pi5/me809KQd8pQ/GhKDeLPNwQPXJMMhRbyPgmg5bJVCRUgp + MaMwDNiIn3qPl6t4jPx9uiSL5n47PAyt6vVlyufqp1lOr4EqgQFWp+2hknWJYJ8hzkBLgXrdZ + gfNGAtlqG9MdHsJds/KNtpjNvF3iCuOWcIyBEGAYKZL78LQggOcIFSlHn+KZ9JU2t9jGJHKF7 + 0E7pkZuWJIQjaWnt7WTAiO/Pv3tNhKukGVQXG7OTxkwS3+BsXI+vBB+xtOP+syI1QFkP3h+5c + 9HVQLB7CA73bkyul1AwmrHNV+OqITaTatTPFXsDojt54X59pz2G3SkQI5z8JZ2aq40Z3vwI6u + lyMT+gPPFDx2aNm460FX8Gm+2BisA5xrkpjxb4KIDZvTRDCexntK3cadXRyX7GZQWc6poIcVf + atWNWiKYv6KN6vA+lc2Ffl5FM8p7BFtkX4GA0GZ/XhMTvCqDtgxBdQ4sevKJ4riNMAvRuswrM + BUrlhaRg3ElFPF3x+S73QaRmNmtv34L7puWW57WxrkKKSJS7Td0oZd1ktx6eAW1CA+I8RmOn3 + A+rcm/ZfBf00TXqxsq3/t9h4mL3cP4KhBAxtyYg4z4yjuWt8AmXR6GfvTwCxk+qioygsV6KyY + 6yh532oUizARrL8gUwZBauRwgH5rk7e2BWINY86y8vr3nSBzocuIFAekTK42reIsJ+qq9OSD5 + IcQroenV1LixMtStvb6CiyHMHMqpxb+Buu+0bdl5qjKcUB4JxBA6KWMPC6Orj+Yf/GKaQlk+k + VsgZBuZAUHsZFuULBdIsUg//MyQJ0q/13WL31BSqJX9SAMgHFgsGeDo4yAg4YSF2Mbh1EgZu7 + a3+bklRX7SG3Ts= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20190624_151900_149791_318B5C68 -X-CRM114-Status: UNSURE ( 9.24 ) -X-CRM114-Notice: Please train this message. +X-CRM114-CacheID: sfid-20190626_084853_443115_5EF1DFC7 +X-CRM114-Status: GOOD ( 11.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list @@ -105,8 +105,11 @@ List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devel@driverdev.osuosl.org, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org, Stefan Wahren <wahrenst@gmx.net> +Cc: devel@driverdev.osuosl.org, Stefan Wahren <wahrenst@gmx.net>, + Dave Stevenson <dave.stevenson@raspberrypi.org>, + Dan Carpenter <dan.carpenter@oracle.com>, + linux-arm-kernel@lists.infradead.org, + linux-rpi-kernel@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> @@ -116,7 +119,8 @@ X-Virus-Scanned: ClamAV using ClamSMTP The commit 52c4dfcead49 ("Staging: vc04_services: Cleanup in ctrl_set_bitrate()") changed the return behavior of ctrl_set_bitrate(). -This breaks probing of bcm2835-camera: +We cannot do this because of a bug in the firmware, which breaks probing +of bcm2835-camera: bcm2835-v4l2: mmal_init: failed to set all camera controls: -3 Cleanup: Destroy video encoder @@ -126,32 +130,55 @@ This breaks probing of bcm2835-camera: bcm2835-v4l2: bcm2835_mmal_probe: mmal init failed: -3 bcm2835-camera: probe of bcm2835-camera failed with error -3 -So restore the old behavior and fix this issue. +So restore the old behavior, add an explaining comment and a debug message +to verify that the bug has been fixed in firmware. Fixes: 52c4dfcead49 ("Staging: vc04_services: Cleanup in ctrl_set_bitrate()") Signed-off-by: Stefan Wahren <wahrenst@gmx.net> +Acked-by: Dan Carpenter <dan.carpenter@oracle.com> --- - drivers/staging/vc04_services/bcm2835-camera/controls.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) + .../staging/vc04_services/bcm2835-camera/controls.c | 19 ++++++++++++++++--- + 1 file changed, 16 insertions(+), 3 deletions(-) + +Changes in V2: +- add an explaining comment as suggest by Dan and Dave +- add a debug message to verify the firmware behavior -- 2.7.4 diff --git a/drivers/staging/vc04_services/bcm2835-camera/controls.c b/drivers/staging/vc04_services/bcm2835-camera/controls.c -index d60e378..1c4c9e8 100644 +index d60e378..c251164 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/controls.c +++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c -@@ -610,9 +610,11 @@ static int ctrl_set_bitrate(struct bm2835_mmal_dev *dev, +@@ -604,15 +604,28 @@ static int ctrl_set_bitrate(struct bm2835_mmal_dev *dev, + struct v4l2_ctrl *ctrl, + const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) + { ++ int ret; + struct vchiq_mmal_port *encoder_out; + + dev->capture.encode_bitrate = ctrl->val; encoder_out = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0]; - return vchiq_mmal_port_parameter_set(dev->instance, encoder_out, - mmal_ctrl->mmal_id, &ctrl->val, - sizeof(ctrl->val)); -+ vchiq_mmal_port_parameter_set(dev->instance, encoder_out, -+ mmal_ctrl->mmal_id, &ctrl->val, -+ sizeof(ctrl->val)); ++ ret = vchiq_mmal_port_parameter_set(dev->instance, encoder_out, ++ mmal_ctrl->mmal_id, &ctrl->val, ++ sizeof(ctrl->val)); ++ ++ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, ++ "%s: After: mmal_ctrl:%p ctrl id:0x%x ctrl val:%d ret %d(%d)\n", ++ __func__, mmal_ctrl, ctrl->id, ctrl->val, ret, ++ (ret == 0 ? 0 : -EINVAL)); + ++ /* ++ * Older firmware versions (pre July 2019) have a bug in handling ++ * MMAL_PARAMETER_VIDEO_BIT_RATE that result in the call ++ * returning -MMAL_MSG_STATUS_EINVAL. So ignore errors from this call. ++ */ + return 0; } |