linux-staging.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@kernel.org>
To: Tsuchiya Yuto <kitakar@gmail.com>
Cc: unlisted-recipients:; (no To-header on
	input)@bombadil.infradead.org,
	Hans de Goede <hdegoede@redhat.com>,
	Patrik Gfeller <patrik.gfeller@gmail.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Arnd Bergmann <arnd@arndb.de>, Kaixu Xia <kaixuxia@tencent.com>,
	linux-media@vger.kernel.org, linux-staging@lists.linux.dev,
	linux-kernel@vger.kernel.org
Subject: Re: [BUG/RFC PATCH 1/5] [BUG][RFC] media: atomisp: pci: assume run_mode is PREVIEW
Date: Fri, 29 Oct 2021 10:02:59 +0100	[thread overview]
Message-ID: <20211029100259.2cdfdfce@sal.lan> (raw)
In-Reply-To: <20211017162337.44860-2-kitakar@gmail.com>

Em Mon, 18 Oct 2021 01:23:32 +0900
Tsuchiya Yuto <kitakar@gmail.com> escreveu:

> This is almost a BUG report with a patch to just make atomisp work
> again with the current mainline kernel. Thus, prefixed with [BUG][RFC].
> 
> RFC:
>   1. When looking at the `case CI_MODE_NONE:`, it tries to do something.
>      So, it should rather work with CI_MODE_NONE, too? Just I don't know
>      how to configure userspace apps to use CI_MODE_NONE ?
>   2. How can we re-add the run mode support again without relying on
>      the s_parm ?
> 
> >8-----------------------------------------------------------------8<  
> 
> After the commit 8a7c5594c020 ("media: v4l2-ioctl: clear fields in s_parm")
> added on v4.18 (backported to v4.9.182 and v4.14.127), the capture mode
> flag is cleared (except for V4L2_MODE_HIGHQUALITY).
> 
> Due to this, it seems that now we can't use this flag to set atomisp
> run_mode. This results in capture not working with the following message
> (loaded atomisp driver with dbg_level=1):
> 
> 	kern  :warn  : [ 3658.776616] ia_css_pipe_get_info: ia_css_stream_create needs to be called before ia_css_[stream/pipe]_get_info
> 	kern  :err   : [ 3658.776641] atomisp-isp2 0000:00:03.0: get_frame_info 1920x1080 (padded to 0)
> 	kern  :warn  : [ 3658.776666] atomisp-isp2 0000:00:03.0: Can't set format on ISP. Error -22
> 
> So, when we can't detect run mode from the s_parm capturemode
> (CI_MODE_NONE), let's assume the run mode is PREVIEW.

The run_mode on this driver is related to how camera works on Android.
On such systems, camera have a preview mode, which is what the user
views at the camera display. This is usually set to the display
resolution (or to some other resolution that would allow a high
fps rate). When the photo button is clicked, it sets the camera to
the highest resolution mode (by default), which usually means a low
fps rate.

This doesn't make much sense on desktops, nor standard Linux apps
support that.

Anyway, after looking on this patch, I guess the best is to apply
this patch instead:

	https://lore.kernel.org/linux-media/543e61dd07c90a7d8577b3a94696edc77953b9d8.1635497370.git.mchehab+huawei@kernel.org/T/#u

As a plus side, it is also one step further to allow generic apps to
use the atomisp driver.

Applying it allowed me to do:

	$ v4l2grab -D -f 'NV12' -x 1600 -y 1200 -d /dev/video2 -u
	$ nvt/raw2pnm -x1600 -y1200 -f NV12 out017.raw out017.pnm
	$ feh out017.pnm

So, I'm dropping patch 1/5 from media_stage, replacing it by the one which
sets the mode after open().

Regards,
Mauro

> 
> Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
> ---
>  drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
> index c8a625667e81..6fc64f0ccc31 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
> @@ -2638,7 +2638,11 @@ static int atomisp_s_parm(struct file *file, void *fh,
>  				asd->high_speed_mode = true;
>  		}
>  
> -		goto out;
> +		dev_warn(isp->dev,
> +			 "setting run_mode using s_parm capturemode is not supported anymore\n");
> +		dev_warn(isp->dev, "assuming run_mode is PREVIEW\n");
> +		mode = ATOMISP_RUN_MODE_PREVIEW;
> +		break;
>  	}
>  	case CI_MODE_VIDEO:
>  		mode = ATOMISP_RUN_MODE_VIDEO;

  reply	other threads:[~2021-10-29  9:03 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-17 16:23 [BUG 0/5] bug reports for atomisp to make it work Tsuchiya Yuto
2021-10-17 16:23 ` [BUG/RFC PATCH 1/5] [BUG][RFC] media: atomisp: pci: assume run_mode is PREVIEW Tsuchiya Yuto
2021-10-29  9:02   ` Mauro Carvalho Chehab [this message]
2021-11-11  8:00     ` Tsuchiya Yuto
2021-10-17 16:23 ` [BUG/RFC PATCH 2/5] [BUG][RFC] media: atomisp: pci: remove dummy_ptr NULL check to avoid duplicate active_bo Tsuchiya Yuto
2022-02-08  6:19   ` Mauro Carvalho Chehab
2021-10-17 16:23 ` [BUG/RFC PATCH 3/5] [BUG][RFC] media: atomisp: pci: add NULL check for asd obtained from atomisp_video_pipe Tsuchiya Yuto
2021-11-02 13:02   ` Dan Carpenter
2021-11-02 14:44     ` Andy Shevchenko
2021-11-02 14:45       ` Andy Shevchenko
2021-11-02 15:05         ` Dan Carpenter
2021-11-02 15:49           ` Andy Shevchenko
2021-11-02 22:52             ` Mauro Carvalho Chehab
2021-11-08 15:48     ` Tsuchiya Yuto
2021-10-17 16:23 ` [BUG 4/5] [BUG] media: atomisp: `modprobe -r` not working well (dup video4linux, ATOMISP_SUBDEV_{0,1}) Tsuchiya Yuto
2021-10-17 16:23 ` [BUG 5/5] [BUG] media: atomisp: atomisp causes touchscreen to stop working on Microsoft Surface 3 Tsuchiya Yuto
2021-10-18  8:30   ` Hans de Goede
2021-10-21  9:52     ` Tsuchiya Yuto
2021-10-24  8:32       ` Hans de Goede
2021-10-26  9:35         ` Tsuchiya Yuto
2021-10-26 15:41           ` Hans de Goede
2021-10-27 16:07             ` Tsuchiya Yuto
2021-11-07 23:39       ` Hans de Goede
2021-11-08  7:41         ` Mauro Carvalho Chehab
2021-11-08  7:55           ` Hans de Goede
2021-11-08  8:01             ` Mauro Carvalho Chehab
2021-11-09  4:18             ` Tsuchiya Yuto
2021-11-09  9:08               ` Mauro Carvalho Chehab
2021-11-09  4:15         ` Tsuchiya Yuto
2021-11-09  7:35           ` Mauro Carvalho Chehab
2021-10-18  7:50 ` [BUG 0/5] bug reports for atomisp to make it work Hans de Goede
2021-10-18  8:10   ` Andy Shevchenko
2021-10-19 12:58     ` Tsuchiya Yuto
2021-10-19 14:06       ` Andy Shevchenko
2021-10-20  6:48 ` Mauro Carvalho Chehab
2021-10-20 12:35   ` Tsuchiya Yuto

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=20211029100259.2cdfdfce@sal.lan \
    --to=mchehab@kernel.org \
    --cc=kitakar@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).