Revision tags: v6.6.25, v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3, v6.6.2, v6.5.11, v6.6.1, v6.5.10, v6.6, v6.5.9, v6.5.8, v6.5.7, v6.5.6, v6.5.5, v6.5.4, v6.5.3, v6.5.2, v6.1.51, v6.5.1, v6.1.50, v6.5, v6.1.49, v6.1.48, v6.1.46, v6.1.45, v6.1.44, v6.1.43, v6.1.42, v6.1.41, v6.1.40, v6.1.39, v6.1.38, v6.1.37, v6.1.36, v6.4, v6.1.35, v6.1.34, v6.1.33, v6.1.32 |
|
#
0f417dc1 |
| 01-Jun-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Make atomisp_enum_framesizes_crop() check resolution fits with padding
Now that atomisp_get_padding() takes minimum padding requirements on BYT/ISP2400 into account, it is possible f
media: atomisp: Make atomisp_enum_framesizes_crop() check resolution fits with padding
Now that atomisp_get_padding() takes minimum padding requirements on BYT/ISP2400 into account, it is possible for a resolution which fits in the active area of the sensor to not fit in the native area once padding is added.
For example on the ov2680 which has a native resolution of 1616x1216 the max active resolution of 1600x1200 leaves 16x16 for padding which meets the worst-case minimum padding requirement of 14x14 on BYT.
But after binning we are left with an native area of 808x608 and an active area of 800x600. This leaves 8x8 for padding which is not enough. So on BYT 800x600 is not a valid resolution (it could be made by lots of cropping without binning but then the remaining field of view is no good).
Modify atomisp_enum_framesizes_crop() to check the resolution + padding fits in the native rectangle, removing 800x600 from the list of valid modes on BYT.
Link: https://lore.kernel.org/r/20230601145858.59652-3-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
Revision tags: v6.1.31 |
|
#
e980fb04 |
| 29-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Add enum_framesizes function for sensors with selection / crop support
Some sensor drivers with crop support (e.g. the ov5693 driver) only return the current crop rectangle + 1/2 (bi
media: atomisp: Add enum_framesizes function for sensors with selection / crop support
Some sensor drivers with crop support (e.g. the ov5693 driver) only return the current crop rectangle + 1/2 (binning) of the current crop rectangle when calling their enum_frame_sizes op.
This causes 2 issues: 1. Atomisp sets to the crop area to include the padding, where as the enum_framesizes ioctl should return values without padding.
2. With cropping a lot more standard resolutions are possible then just these 2 and many apps limit the list given to the end user to the list returned by enum_framesizes.
Add an alternative enum_framesizes function for sensors which support cropping to fix both issues.
Link: https://lore.kernel.org/r/20230529103741.11904-21-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
a08183b8 |
| 29-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Pass MEDIA_BUS_FMT_* code when calling enum_frame_size pad-op
A sensor driver's enum_frame_size pad-op may return -EINVAL when v4l2_subdev_frame_size_enum.code is not set to a suppor
media: atomisp: Pass MEDIA_BUS_FMT_* code when calling enum_frame_size pad-op
A sensor driver's enum_frame_size pad-op may return -EINVAL when v4l2_subdev_frame_size_enum.code is not set to a supported MEDIA_BUS_FMT_* code.
Make atomisp_init_sensor() get the sensor's MEDIA_BUS_FMT_* code and pass this when calling the enum_frame_size pad-op.
Link: https://lore.kernel.org/r/20230529103741.11904-17-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
929eee2f |
| 29-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Refactor atomisp_try_fmt() / atomisp_set_fmt()
There are a number of bugs in atomisp_try_fmt_cap() and atomisp_set_fmt():
1. atomisp_try_fmt_cap() uses atomisp_adjust_fmt() which ad
media: atomisp: Refactor atomisp_try_fmt() / atomisp_set_fmt()
There are a number of bugs in atomisp_try_fmt_cap() and atomisp_set_fmt():
1. atomisp_try_fmt_cap() uses atomisp_adjust_fmt() which adds the sensor padding to the width passed to atomisp_adjust_fmt() to calculate bytesperline. This is buggy for 2 reasons:
a) The width passed to atomisp_adjust_fmt() already contains the sensor padding.
b) The fmt returned by atomisp_try_fmt_cap() is the fmt outputted by the ISP and the sensor padding applies to the input side of the ISP not the output side. The output side of the ISP has its own padding / pitch requirements which have nothing to do with the sensor.
Both these issues are fixed in this refactor by switching to ia_css_frame_pad_width() to calculate the padding.
2. atomisp_set_fmt() takes the passed in bytesperline value without doing any validation on it and then passes this unchecked value to the configure_output() callback.
If bytesperline converted to pixels is > 1920 ia_css_binary_find() will fail to find a valid binary for the preview pipeline triggering a dump_stack_lvl() call inside ia_css_binary_find() and causing atomisp_set_fmt() to fail.
This is fixed by making atomisp_set_fmt() call atomisp_try_fmt() first which we override the userspace specified bytesperline with the correct value.
Besides this bug there is also a bunch of weirdness and a lot of duplication in the code:
1. atomisp_try_fmt_cap() adds the sensor padding itself but then it gets substracted again in atomisp_adjust_fmt() not doing the addition + substraction in the same place makes the code hard to follow (weirdness).
2. atomisp_set_fmt() starts with basically an atomisp_try_fmt() call, except that the only atomisp_try_fmt() caller: atomisp_try_fmt_cap() adds the sensor padding itself rather than letting atomisp_try_fmt() do this (duplication).
3. Both atomisp_try_fmt_cap() and atomisp_set_fmt() contain code to lookup the bridge-format matching the requested pixelformat and both will fallback to YUV420 if this is not set (duplication).
4. Both atomisp_try_fmt_cap() and atomisp_set_fmt() contain code to fill in the passed in v4l2_pix_format struct (duplication).
Cleanup all of this (and fix the bugs mentioned above) by:
1. Adding a new atomisp_fill_pix_format() helper which properly uses ia_css_frame_pad_width() to calculate bytesperline.
2. Move all sensor padding handling to atomisp_try_fmt() and make atomisp_try_fmt() fill the passed in v4l2_pix_format struct.
3. This reduces atomisp_try_fmt_cap() to just a small wrapper around atomisp_try_fmt().
4. Replace the DIY try_fmt code at the beginning of atomisp_set_fmt() with atomisp_try_fmt(), this will also override/fix the bytersperline passed by userspace.
5. Replace the DIY v4l2_pix_format filling at the end of atomisp_set_fmt() with atomisp_fill_pix_format().
Link: https://lore.kernel.org/r/20230529103741.11904-15-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
9f221053 |
| 29-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Add input helper variable for isp->asd->inputs[asd->input_curr]
Passing 'isp->asd->inputs[asd->input_curr].foo' as argument to various function calls is rather long.
Add a local inp
media: atomisp: Add input helper variable for isp->asd->inputs[asd->input_curr]
Passing 'isp->asd->inputs[asd->input_curr].foo' as argument to various function calls is rather long.
Add a local input helper variable for this, so that the function calls will fit on one line.
Link: https://lore.kernel.org/r/20230529103741.11904-13-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
503bf309 |
| 29-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove a bunch of sensor related custom IOCTLs
Remove a bunch of sensor related custom IOCTLs because:
1. They are custom IOCTLs and all custom IOCTLs should be removed 2. Userspace
media: atomisp: Remove a bunch of sensor related custom IOCTLs
Remove a bunch of sensor related custom IOCTLs because:
1. They are custom IOCTLs and all custom IOCTLs should be removed 2. Userspace should directly talk to the sensor v4l2-subdev, rather then relying on ioctl-s on the output /dev/video# node to pass through ioctl-s to the senor 3. Some of these rely on the atomisp specific camera_mipi_info struct which is going away as we are switching to using standard v4l2 sensor drivers 4. In the case of ATOMISP_IOC_S_EXPOSURE_WINDOW this was using the v4l2-subdev set_selection API in an undocumented atomisp custom way
Link: https://lore.kernel.org/r/20230529103741.11904-8-hdegoede@redhat.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
Revision tags: v6.1.30, v6.1.29 |
|
#
9af6100f |
| 14-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove unused fields from struct atomisp_input_subdev
Remove unused fields from struct atomisp_input_subdev:
1. frame_size is never used at all 2. sensor_index is always 0, just dir
media: atomisp: Remove unused fields from struct atomisp_input_subdev
Remove unused fields from struct atomisp_input_subdev:
1. frame_size is never used at all 2. sensor_index is always 0, just directly pass 0 in the single user.
Link: https://lore.kernel.org/r/20230518153733.195306-3-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
ae39964d |
| 12-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove in_reset argument from atomisp_css_start()
The in_reset argument to atomisp_css_start() is only ever true in atomisp_assert_recovery_work(), drop the argument and move the spe
media: atomisp: Remove in_reset argument from atomisp_css_start()
The in_reset argument to atomisp_css_start() is only ever true in atomisp_assert_recovery_work(), drop the argument and move the special reset handlig to atomisp_assert_recovery_work().
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
1180d072 |
| 12-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove unused atomisp_get_css_pipe_id() function
Remove no longer user atomisp_get_css_pipe_id() function.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Ha
media: atomisp: Remove unused atomisp_get_css_pipe_id() function
Remove no longer user atomisp_get_css_pipe_id() function.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
e5fab487 |
| 12-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove unused css_pipe_id argument from atomisp_css_[start|stop]()
The css_pipe_id argument pass to atomisp_css_[start|stop]() is not used, drop it.
Reviewed-by: Andy Shevchenko <an
media: atomisp: Remove unused css_pipe_id argument from atomisp_css_[start|stop]()
The css_pipe_id argument pass to atomisp_css_[start|stop]() is not used, drop it.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
3fb3cd02 |
| 11-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove atomisp_streaming_count()
atomisp_streaming_count() is just an alias for isp->asd.streaming now, replace it with directly checking that and remove the helper.
Reviewed-by: An
media: atomisp: Remove atomisp_streaming_count()
atomisp_streaming_count() is just an alias for isp->asd.streaming now, replace it with directly checking that and remove the helper.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
0f072c1e |
| 11-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Turn asd->streaming state tracker into a bool
The ATOMISP_DEVICE_STREAMING_STOPPING pipe state comes from when we still had continuous mode. This would be set when streaming from bot
media: atomisp: Turn asd->streaming state tracker into a bool
The ATOMISP_DEVICE_STREAMING_STOPPING pipe state comes from when we still had continuous mode. This would be set when streaming from both capture + preview devnodes when 1 of the 2 streams has been stopped and the driver was waiting for the other stream to get stopped too.
With continuous mode gone the stopping state is no longer necessary and asd->streaming can be changed to a bool.
Note that atomisp_assert_recovery_work() would still temporarily set streaming to stopping, but it does so with the isp->mutex held and changes streaming to either enabled or disabled before releasing the mutex, so none of the consumers which care about the difference ever see the stopping state.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
e1278e61 |
| 11-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Simplify atomisp_pipe_check()
All switch (pipe->asd->streaming) cases in atomisp_pipe_check() are either no-ops or never happen:
1. ATOMISP_DEVICE_STREAMING_DISABLED already is a no
media: atomisp: Simplify atomisp_pipe_check()
All switch (pipe->asd->streaming) cases in atomisp_pipe_check() are either no-ops or never happen:
1. ATOMISP_DEVICE_STREAMING_DISABLED already is a no-op
2. The videobuf2 core guarantees that when we are streaming vb2_is_busy() returns true. So the ATOMISP_DEVICE_STREAMING_ENABLED case is already handled by the if above the switch (pipe->asd->streaming).
3. After recent changes pipe->asd->streaming is only ever set to ATOMISP_DEVICE_STREAMING_STOPPING in atomisp_assert_recovery_work() and that function holds isp->mutex and always transitions the streaming state to ATOMISP_DEVICE_STREAMING_DISABLED or ATOMISP_DEVICE_STREAMING_ENABLED before releasing the mutex. So atomisp_pipe_check() never sees ATOMISP_DEVICE_STREAMING_STOPPING.
Remove the entire switch-case.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
3f3ee94c |
| 11-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Simplify atomisp_[start|stop]_streaming()
Now that continuous mode is gone and we only have 1 /dev/video# node, the videobuf2 core guarantees that atomisp_[start|stop]_streaming() wi
media: atomisp: Simplify atomisp_[start|stop]_streaming()
Now that continuous mode is gone and we only have 1 /dev/video# node, the videobuf2 core guarantees that atomisp_[start|stop]_streaming() will only be called one at a time.
So there is no need to check for things like the isp is already streaming when starting, or other streams still being active while stopping. Remove checks for these from atomisp_[start|stop]_streaming().
While at it also improve the logging a bit: 1. Remove the dev_err(isp->dev, "atomisp_reset") logged on every stream stop (even though everything is fine. 2. Log a message when starting/stopping the sensor stream fails
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
Revision tags: v6.1.28 |
|
#
1ae393ea |
| 09-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove atomisp_sensor_start_stream()
Now that we no longer have continuous mode we always want to start the sensor on the first atomisp_start_streaming() call and stop it on the firs
media: atomisp: Remove atomisp_sensor_start_stream()
Now that we no longer have continuous mode we always want to start the sensor on the first atomisp_start_streaming() call and stop it on the first atomisp_stop_streaming() call.
Remove atomisp_sensor_start_stream() which returned the number of streams which should be active before starting the sensor and always start/stop the sensor directly.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
820a1338 |
| 11-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove isp_timeout flag
isp_timeout only ever gets set in __atomisp_css_recover() and then immediately gets cleared again after calling atomisp_reset().
All this happens with isp->m
media: atomisp: Remove isp_timeout flag
isp_timeout only ever gets set in __atomisp_css_recover() and then immediately gets cleared again after calling atomisp_reset().
All this happens with isp->mutex held.
The only consumer of isp->isp_timeout is atomisp_stop_streaming(), which also holds isp->mutex and which is *not* called by atomisp_reset().
Since both hold isp->mutex and since __atomisp_css_recover() clears isp_timeout before releasing the mutex, atomisp_stop_streaming() can never see isp_timeout being true, so just remove the flag.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
e4454e06 |
| 07-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove source_pad parameter from functions and structs
Now that there is only 1 source-pad for an asd there is no need to have a parameter for this in various places.
Remove the sou
media: atomisp: Remove source_pad parameter from functions and structs
Now that there is only 1 source-pad for an asd there is no need to have a parameter for this in various places.
Remove the source_pad function parameter and atomisp_sub_device.capture_pad data member.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
aca8a1df |
| 07-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Rename video_out_preview to video_out
Now that we have only 1 /dev/video# node for output for all different run-modes (with only 1 run-mode at a time) using video_out_preview for the
media: atomisp: Rename video_out_preview to video_out
Now that we have only 1 /dev/video# node for output for all different run-modes (with only 1 run-mode at a time) using video_out_preview for the remaining atomisp_pipe does not properly reflect that this is *the* output pipe. Fo the following renames to fix the naming:
s/video_out_preview/video_out/ s/ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW/ATOMISP_SUBDEV_PAD_SOURCE/
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
26dcabc0 |
| 07-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Drop atomisp_is_vf_pipe()
Since there only is one /dev/video# node now (no more continuous mode), there are now no longer separate main capture + view-finder pipes.
We are now alway
media: atomisp: Drop atomisp_is_vf_pipe()
Since there only is one /dev/video# node now (no more continuous mode), there are now no longer separate main capture + view-finder pipes.
We are now always on the main pipe, so atomisp_is_vf_pipe() should always return false now. Drop any checks using it, replacing them with the code-path for a false return.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
d957824b |
| 07-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Register only 1 /dev/video# node
Now that we no longer support continuous mode and thus no longer support streaming from 2 /dev/video# nodes at the same time, there is no need to hav
media: atomisp: Register only 1 /dev/video# node
Now that we no longer support continuous mode and thus no longer support streaming from 2 /dev/video# nodes at the same time, there is no need to have a separate /dev/video# node (+ matching v4l2-subdev pads) for each run-mode.
Keep the video_out_preview /dev/video0 device and remove the video_out_video_capture / video_out_vf / video_out_capture video-devices (atomisp_pipe-s) and also remove the matching ATOMISP_SUBDEV_PAD_SOURCE_VIDEO / ATOMISP_SUBDEV_PAD_SOURCE_VF / ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE source-pads.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
7943916b |
| 07-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove Continuous capture and SDV run-modes
Since we no longer support Continuous mode, setting the run_mode to ATOMISP_RUN_MODE_CONTINUOUS_CAPTURE no longer make sense, so remove th
media: atomisp: Remove Continuous capture and SDV run-modes
Since we no longer support Continuous mode, setting the run_mode to ATOMISP_RUN_MODE_CONTINUOUS_CAPTURE no longer make sense, so remove this.
While at it, also remove ATOMISP_RUN_MODE_SDV, which was never exposed to userspace in the first place.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
649920af |
| 06-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove res_overflow parameter from atomisp_try_fmt()
The only remaining caller of atomisp_try_fmt() always passes NULL for the res_overflow parameter. Drop it and simplify atomisp_tr
media: atomisp: Remove res_overflow parameter from atomisp_try_fmt()
The only remaining caller of atomisp_try_fmt() always passes NULL for the res_overflow parameter. Drop it and simplify atomisp_try_fmt().
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
Revision tags: v6.1.27, v6.1.26, v6.3, v6.1.25, v6.1.24, v6.1.23, v6.1.22, v6.1.21, v6.1.20, v6.1.19, v6.1.18, v6.1.17, v6.1.16 |
|
#
2f2fce05 |
| 05-Mar-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove struct atomisp_sub_device index field
Remove the struct atomisp_sub_device.
This was used for 2 things:
1. In dev_dbg() messages 2. To set the name of the v4l2_subdev for ea
media: atomisp: Remove struct atomisp_sub_device index field
Remove the struct atomisp_sub_device.
This was used for 2 things:
1. In dev_dbg() messages 2. To set the name of the v4l2_subdev for each struct atomisp_sub_device
Now that only 1 subdev is used neither is useful anymore. Remove the _%d postfix from the v4l2_subdev name and remove the logging of the asd index from the dev_dbg() messages.
In case of the atomisp_s_input() check to see if an input/sensor has already been assigned to another subdev the entire check no longer makes sense, so instead of changing the dev_err() message there just drop the entire check.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
401e0e41 |
| 05-Mar-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Drop support for streaming from 2 sensors at once
With support for depth mode gone there really is no need to support streaming from 2 sensors at once. As discussed and acked on the
media: atomisp: Drop support for streaming from 2 sensors at once
With support for depth mode gone there really is no need to support streaming from 2 sensors at once. As discussed and acked on the list (see Link tag) it is desirable to drop support for this since it involves quite a lot of special handling / hacks in the code.
This initial commit limits itself to a minimum set of changes to switch to 1 struct atomisp_sub_device / 1 stream. Further commits will actually remove / cleanup much of the special handling.
Likewise this initial commit also deliberately skips the opportunity to turn some multi-line statements into single-line statements, so as to keep the diff small / easier to review.
Link: https://lore.kernel.org/linux-media/5309d845-063b-6dd9-529d-0f82654290f2@redhat.com/
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
Revision tags: v6.1.15, v6.1.14, v6.1.13 |
|
#
9c2f3b8f |
| 21-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove ATOMISP_USE_YUVPP()
ATOMISP_USE_YUVPP() always returns false, so remove it and remove any code-paths which only run when it would return true.
Link: https://lore.kernel.org/r
media: atomisp: Remove ATOMISP_USE_YUVPP()
ATOMISP_USE_YUVPP() always returns false, so remove it and remove any code-paths which only run when it would return true.
Link: https://lore.kernel.org/r/20230221145906.8113-9-hdegoede@redhat.com
Reviewed-by: Andy Shevchenko <andy@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|