linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Wahren <wahrenst@gmx.net>
To: Dan Carpenter <dan.carpenter@oracle.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.org>
Cc: devel@driverdev.osuosl.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Madhumitha Prabakaran <madhumithabiw@gmail.com>,
	Eric Anholt <eric@anholt.net>,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] staging: bcm2835-camera: Restore return behavior of ctrl_set_bitrate()
Date: Tue, 25 Jun 2019 18:29:57 +0200	[thread overview]
Message-ID: <27ed9c22-1d36-7c3e-a81b-5fa1e8245d1e@gmx.net> (raw)
In-Reply-To: <20190625075558.GY28859@kadam>

Hi Dan,
hi Dave,

Am 25.06.19 um 09:55 schrieb Dan Carpenter:
> On Tue, Jun 25, 2019 at 12:13:15AM +0200, Stefan Wahren wrote:
>> 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:
>>
>>     bcm2835-v4l2: mmal_init: failed to set all camera controls: -3
>>     Cleanup: Destroy video encoder
>>     Cleanup: Destroy image encoder
>>     Cleanup: Destroy video render
>>     Cleanup: Destroy 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.
>>
>> Fixes: 52c4dfcead49 ("Staging: vc04_services: Cleanup in ctrl_set_bitrate()")
>> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> I feel like this papers over the issue.  It would be better to figure
> out why this is failing and fix it properly.  -3 is -ESRCH and when I
> grep for ESRCH I only see it used in the ioctl so that can't be it.
>
> I think it must be -MMAL_MSG_STATUS_EINVAL actually, but it comes from
> the firmware or something so we can't grep for it.
yes this is a result from the VC4 firmware, there is nothing i can do
about it. Even the firmware has been fixed, the driver must be
compatible with older firmware version.
> Can we do some more digging to find out why it's failing or otherwise
> we could add a comment.
>
> 	/*
> 	 * FIXME:  port_parameter_set() sometimes fails with
> 	 * -MMAL_MSG_STATUS_EINVAL and we don't know why so we're
> 	 * ignoring those errors for now.
> 	 *
> 	 */
> 	return 0;

I will add a comment and a v4l2_dbg entry.

@Dave

I used a Raspberry Pi 3 with a V1.3 camera and get this with an
additional v4l2_dbg in ctrl_set_bitrate()

[    1.472805] raspberrypi-firmware soc:firmware: Attached to firmware
from 2019-03-27 15:48
...
[    7.441639] videodev: Linux video capture interface: v2.00
[    7.511659] bcm2835_v4l2: module is from the staging directory, the
quality is unknown, you have been warned.
...
[    8.162504] bcm2835-v4l2: Set fps range to 30000/1000 to 30000/1000
[    8.163104] bcm2835-v4l2: Set fps range to 30000/1000 to 30000/1000
[    8.163624] bcm2835-v4l2: Set fps range to 30000/1000 to 30000/1000
[    8.164395] bcm2835-v4l2: mmal_ctrl:eecd7187 ctrl id:0x98091f ctrl
val:0 imagefx:0x0 color_effect:false u:0 v:0 ret 0(0)
[    8.164493] bcm2835-v4l2: ctrl_set_colfx: After: mmal_ctrl:1ec18e37
ctrl id:0x98092a ctrl val:32896 ret 0(0)
[    8.165413] bcm2835-v4l2: ctrl_set_bitrate: After: mmal_ctrl:b01a3b48
ctrl id:0x9909cf ctrl val:10000000 ret -3(-22)
[    8.165872] bcm2835-v4l2: scene mode selected 0, was 0
[    8.166249] bcm2835-v4l2: V4L2 device registered as video0 - stills
mode > 1280x720
[    8.166596] bcm2835-v4l2: vid_cap - set up encode comp
[    8.171208] bcm2835-v4l2: JPG - buf size now 786432 was 786432
[    8.171220] bcm2835-v4l2: vid_cap - cur_buf.size set to 786432
[    8.171228] bcm2835-v4l2: Set dev->capture.fmt 4745504A, 1024x768,
stride 0, size 786432
[    8.171234] bcm2835-v4l2: Broadcom 2835 MMAL video capture ver 0.0.2
loaded.

Looks like the firmware dislike val:10000000

Any thoughts?

>
>
> regards,
> dan carpenter
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-06-25 16:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-24 22:13 [PATCH] staging: bcm2835-camera: Restore return behavior of ctrl_set_bitrate() Stefan Wahren
2019-06-25  7:36 ` Peter Robinson
2019-06-25  7:55 ` Dan Carpenter
2019-06-25 16:29   ` Stefan Wahren [this message]
2019-06-26 10:42     ` Dave Stevenson
2019-06-27  7:06       ` Peter Robinson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=27ed9c22-1d36-7c3e-a81b-5fa1e8245d1e@gmx.net \
    --to=wahrenst@gmx.net \
    --cc=dan.carpenter@oracle.com \
    --cc=dave.stevenson@raspberrypi.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=eric@anholt.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=madhumithabiw@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).