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, v6.1.31 |
|
#
1aace3da |
| 25-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Turn into standard v4l2 sensor driver
Switch the atomisp-gc0310 driver to v4l2 async device registration.
After this change this driver no longer depends on atomisp_gmin_pla
media: atomisp: gc0310: Turn into standard v4l2 sensor driver
Switch the atomisp-gc0310 driver to v4l2 async device registration.
After this change this driver no longer depends on atomisp_gmin_platform and all atomisp-isms are gone.
Link: https://lore.kernel.org/r/20230525190100.130010-4-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 ...
|
Revision tags: v6.1.30 |
|
#
625ac9af |
| 24-May-2023 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
media: atomisp: Switch i2c drivers back to use .probe()
After commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() call-back type"), all drivers being converted to .probe_new() and then commi
media: atomisp: Switch i2c drivers back to use .probe()
After commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() call-back type"), all drivers being converted to .probe_new() and then commit 03c835f498b5 ("i2c: Switch .probe() to not take an id parameter") convert back to (the new) .probe() to be able to eventually drop .probe_new() from struct i2c_driver.
Link: https://lore.kernel.org/r/20230524151646.486847-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
1bb2a551 |
| 18-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Remove gc0310.h
Remove the gc0310.h header file, moving most of its content into atomisp-gc0310.c and dropping some unused parts.
This brings the gc0310 sensor driver inline
media: atomisp: gc0310: Remove gc0310.h
Remove the gc0310.h header file, moving most of its content into atomisp-gc0310.c and dropping some unused parts.
This brings the gc0310 sensor driver inline with other sensor regular / non atomisp sensor drivers which usually only are one single .c file.
Link: https://lore.kernel.org/r/20230518153214.194976-9-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 ...
|
#
f5e381ff |
| 18-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Remove gc0310_s_config() function
gc0310_s_config() used to call camera_sensor_platform_data.csi_cfg() back when the gc0310 driver was still using the atomisp_gmin_platform c
media: atomisp: gc0310: Remove gc0310_s_config() function
gc0310_s_config() used to call camera_sensor_platform_data.csi_cfg() back when the gc0310 driver was still using the atomisp_gmin_platform code for power-management.
Now it is just a weirdly named wrapper around gc0310_detect(), drop gc0310_s_config() and make probe() call gc0310_detect() directly.
Link: https://lore.kernel.org/r/20230518153214.194976-8-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 ...
|
#
63558464 |
| 18-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Cleanup includes
Remove a bunch of unused includes and sort the remainging includes alphabetically.
Link: https://lore.kernel.org/r/20230518153214.194976-7-hdegoede@redhat.c
media: atomisp: gc0310: Cleanup includes
Remove a bunch of unused includes and sort the remainging includes alphabetically.
Link: https://lore.kernel.org/r/20230518153214.194976-7-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 ...
|
#
2746a966 |
| 18-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Fix double free in gc0310_remove()
gc0310_remove() must not call kfree(dev) since the gc0310_device struct is devm managed so explicitly freeing it causes a double free.
Whi
media: atomisp: gc0310: Fix double free in gc0310_remove()
gc0310_remove() must not call kfree(dev) since the gc0310_device struct is devm managed so explicitly freeing it causes a double free.
While at it add a missing mutex_destroy() call for the input_lock.
Link: https://lore.kernel.org/r/20230518153214.194976-6-hdegoede@redhat.com
Fixes: 340b4dd6c183 ("media: atomisp: gc0310: Use devm_kzalloc() for data struct") 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 ...
|
#
76d2d7d6 |
| 18-May-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Drop XXGC0310 ACPI hardware-id
The XXGC0310 ACPI hardware-id does not appear to be used in the DSDTs of any hardware out there, so drop it.
Link: https://lore.kernel.org/r/2
media: atomisp: gc0310: Drop XXGC0310 ACPI hardware-id
The XXGC0310 ACPI hardware-id does not appear to be used in the DSDTs of any hardware out there, so drop it.
Link: https://lore.kernel.org/r/20230518153214.194976-5-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 ...
|
Revision tags: v6.1.29, v6.1.28, 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, v6.1.15, v6.1.14, v6.1.13, v6.2, v6.1.12, v6.1.11, v6.1.10 |
|
#
2ec5bfe0 |
| 05-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Switch over to ACPI powermanagement
The DSDT of all Windows BYT / CHT devices which I have seen has proper ACPI powermagement for the clk and regulators used by the sensors.
media: atomisp: gc0310: Switch over to ACPI powermanagement
The DSDT of all Windows BYT / CHT devices which I have seen has proper ACPI powermagement for the clk and regulators used by the sensors.
So there is no need for the whole custom atomisp_gmin custom code to disable the ACPI pm and directly poke at the PMIC for this.
Replace all the atomisp_gmin usage with using the new atomisp_register_sensor_no_gmin() / atomisp_unregister_subdev() helpers which allow registering a sensor with the atomisp code without using any of the atomisp_gmin power-management code.
Note eventually these calls should be replaced by the standard v4l2_async_register_subdev_sensor() mechanism.
But this first requires a bunch of work to the atomisp main code to make it set the necessary fwnodes up, similar to how drivers/media/pci/intel/ipu3/cio2-bridge.c does this.
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 ...
|
#
340b4dd6 |
| 05-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Use devm_kzalloc() for data struct
Use devm_kzalloc() to allocate the data struct. It is always free-ed as the last step of probe-error-exit or remove, so it can be devm-mana
media: atomisp: gc0310: Use devm_kzalloc() for data struct
Use devm_kzalloc() to allocate the data struct. It is always free-ed as the last step of probe-error-exit or remove, so it can be devm-managed.
This will make unwinding things easier when support is added to the gc0310 code to use standard GPIO APIs instead of the custom atomisp_gmin code.
This also allows dropping the out_free label and use direct return on errors.
This may seem like a functional change since the out_free label also did a v4l2_device_unregister_subdev() but at the 1 changed return the device is not registered yet, so that always is a no-op and can be dropped.
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 ...
|
#
2726c899 |
| 05-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Add runtime-pm support
Add runtime-pm support. This is a preparation patch for letting ACPI deal with the regulators and clocks instead of the DIY code in atomisp_gmin_platfo
media: atomisp: gc0310: Add runtime-pm support
Add runtime-pm support. This is a preparation patch for letting ACPI deal with the regulators and clocks instead of the DIY code in atomisp_gmin_platform.c.
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 ...
|
#
b6763b22 |
| 05-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Delay power-on till streaming is started
Move the setting of the mode to stream on, this also allows delaying power-on till streaming is started.
And drop the deprecated s_p
media: atomisp: gc0310: Delay power-on till streaming is started
Move the setting of the mode to stream on, this also allows delaying power-on till streaming is started.
And drop the deprecated s_power callback since this now no long is necessary.
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 ...
|
#
9783b96a |
| 05-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Modernize and simply set_fmt(), get_fmt(), etc.
There only is 1 supported resolution allowing significant simplification of the code; and also bring the code up2date with cur
media: atomisp: gc0310: Modernize and simply set_fmt(), get_fmt(), etc.
There only is 1 supported resolution allowing significant simplification of the code; and also bring the code up2date with current subdev fmt handling practices.
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 ...
|
#
2b2297b1 |
| 05-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Add error_unlock label to s_stream()
Add error_unlock label + goto error_unlock on error to remove separate unlock-s in all the error-exit paths.
Reviewed-by: Andy Shevchenk
media: atomisp: gc0310: Add error_unlock label to s_stream()
Add error_unlock label + goto error_unlock on error to remove separate unlock-s in all the error-exit paths.
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 ...
|
#
ef5fb5d4 |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Add exposure and gain controls
Add exposure and gain controls. This allows controlling the exposure and gain through standard v4l2 IOCTLs.
Reviewed-by: Andy Shevchenko <andy
media: atomisp: gc0310: Add exposure and gain controls
Add exposure and gain controls. This allows controlling the exposure and gain through standard v4l2 IOCTLs.
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 ...
|
#
47088fb9 |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Drop custom ATOMISP_IOC_S_EXPOSURE support
Exposure and gain control should use standard v4l2 controls, not a custom ioctl.
The next patch in this series will re-add support
media: atomisp: gc0310: Drop custom ATOMISP_IOC_S_EXPOSURE support
Exposure and gain control should use standard v4l2 controls, not a custom ioctl.
The next patch in this series will re-add support as standard controls, this is split into 2 patches for easier reviewing.
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 ...
|
#
51e4d56c |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Remove read-only exposure control
The sensor does not have automatic exposure so the exposure cannot change underneath us.
And the control is not marked volatile in it flags
media: atomisp: gc0310: Remove read-only exposure control
The sensor does not have automatic exposure so the exposure cannot change underneath us.
And the control is not marked volatile in it flags, so the .g_volatile_ctrl callback will never get called.
Remove the current broken read-only (no s_ctrl implementation) exposure ctrl, this will be replaced with a proper r/w exposure control relying on the kernel caching the last set value (so non volatile).
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 ...
|
#
c1c356e9 |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Remove non working flip-controls
The gc0310_[v|h]_flip() functions are empty stubs, remove the non working controls.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
media: atomisp: gc0310: Remove non working flip-controls
The gc0310_[v|h]_flip() functions are empty stubs, remove the non working controls.
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 ...
|
#
65e5ef2f |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Replace custom reg access functions with smbus helpers
The gc0310 uses 8 bit register addresses which makes it compatible with the standard smbus access functions.
Drop the
media: atomisp: gc0310: Replace custom reg access functions with smbus helpers
The gc0310 uses 8 bit register addresses which makes it compatible with the standard smbus access functions.
Drop the custom reg access helpers, replacing them with the smbus access functions.
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 ...
|
#
86199ed9 |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Remove enum gc0310_tok_type
enum gc0310_tok_type / the data_length read/write parameter is always GC0310_8BIT, drop this.
Note for the register-lists the indentation is also
media: atomisp: gc0310: Remove enum gc0310_tok_type
enum gc0310_tok_type / the data_length read/write parameter is always GC0310_8BIT, drop this.
Note for the register-lists the indentation is also fixed and c++ style comments are converted to regular C-style /* */ comments.
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 ...
|
#
e1a4b3a7 |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Simplify gc0310_write_reg_array()
Remove the complex optimization to send multiple registers in one i2c-transfer. None of the other sensor drivers are doing this and the reg-
media: atomisp: gc0310: Simplify gc0310_write_reg_array()
Remove the complex optimization to send multiple registers in one i2c-transfer. None of the other sensor drivers are doing this and the reg-lists are only used once at stream-start time, so this does not need to be highly optimized.
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 ...
|
#
bfe06aee |
| 04-Feb-2023 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Remove GC0310_TOK_*
Remove the ability to have special tokens in a reg-list, GC0310_TOK_DELAY is not used and GC0310_TOK_TERM can be replaced with ARRAY_SIZE, simplifying the
media: atomisp: gc0310: Remove GC0310_TOK_*
Remove the ability to have special tokens in a reg-list, GC0310_TOK_DELAY is not used and GC0310_TOK_TERM can be replaced with ARRAY_SIZE, simplifying the code.
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.9, v6.1.8, v6.1.7, v6.1.6, v6.1.5, v6.0.19, v6.0.18, v6.1.4, v6.1.3, v6.0.17, v6.1.2, v6.0.16, v6.1.1, v6.0.15, v6.0.14, v6.0.13 |
|
#
159a61da |
| 12-Dec-2022 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove V4L2_CID_BIN_FACTOR_HORZ/_VERT
The bin-factor-x and bin-factor-y ctrls are only used internally to get a single value to pass to atomisp_css_input_set_binning_factor(), which
media: atomisp: Remove V4L2_CID_BIN_FACTOR_HORZ/_VERT
The bin-factor-x and bin-factor-y ctrls are only used internally to get a single value to pass to atomisp_css_input_set_binning_factor(), which is supposed to tune the lens-shading correction for the binning factor. But all sensor drivers return either 0 or 1 for this, with 0 meaning unset and 1 meaning no-binning. Even though some modes do actually do binning ...
Also note that the removed atomisp_get_sensor_bin_factor() would fall back to 0 if either the x and y factor differ or if the ctrls are not implemented (not all sensor drivers implement them).
Simply always pass 0 to atomisp_css_input_set_binning_factor().
This is part of a patch-series which tries to remove atomisp specific / custom code from the sensor drivers, with as end goal to make the atomisp drivers regular camera sensor drivers.
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 ...
|
#
7f048750 |
| 12-Dec-2022 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove custom ATOMISP_IOC_G_SENSOR_MODE_DATA ioctl
This ioctl returns a number of fixed sensor parameters + a number of mode-specific parameters.
With libcamera these fixed paramete
media: atomisp: Remove custom ATOMISP_IOC_G_SENSOR_MODE_DATA ioctl
This ioctl returns a number of fixed sensor parameters + a number of mode-specific parameters.
With libcamera these fixed parameters are instead stored in a table with sensor-name to parameters mappings (camera_sensor_properties.cpp); and the variable parameters can be derived from the set fmt.
So this custom ioctl is not necessary; and it currently has no users.
Remove the ioctl and all the sensor drivers xxxx_get_intg_factor() helpers which return this info.
This is part of a patch-series which tries to remove atomisp specific / custom code from the sensor drivers, with as end goal to make the atomisp drivers regular camera sensor drivers.
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 ...
|
#
8b3332b2 |
| 11-Dec-2022 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: Remove custom ATOMISP_IOC_ISP_MAKERNOTE ioctl
This ioctl simply returns a couple of fixed sensor parameters.
With libcamera these fixed parameters are instead stored in a table with
media: atomisp: Remove custom ATOMISP_IOC_ISP_MAKERNOTE ioctl
This ioctl simply returns a couple of fixed sensor parameters.
With libcamera these fixed parameters are instead stored in a table with sensor-name to parameters mappings (camera_sensor_properties.cpp), so this custom ioctl is not necessary; and it currently has no users.
Remove the ioctl and also remove the custom v4l2-ctrls underpinning the ioctl.
This is part of a patch-series which tries to remove atomisp specific / custom code from the sensor drivers, with as end goal to make the atomisp drivers regular camera sensor drivers.
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 ...
|
Revision tags: v6.1, v6.0.12, v6.0.11, v6.0.10, v5.15.80, v6.0.9, v5.15.79, v6.0.8, v5.15.78, v6.0.7, v5.15.77, v5.15.76, v6.0.6, v6.0.5, v5.15.75, v6.0.4, v6.0.3 |
|
#
c5fafbad |
| 16-Oct-2022 |
Hans de Goede <hdegoede@redhat.com> |
media: atomisp: gc0310: Power on sensor from set_fmt() callback
Depending on which order userspace makes various v4l2 calls, the sensor might still be powered down when set_fmt is called.
What shou
media: atomisp: gc0310: Power on sensor from set_fmt() callback
Depending on which order userspace makes various v4l2 calls, the sensor might still be powered down when set_fmt is called.
What should really happen here is delay the writing of the mode-related registers till streaming is started, but for now use the same quick fix as the atomisp_ov2680 code and call power_up() from set_fmt() in combination with keeping track of the power-state to avoid doing the power-up sequence twice.
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 ...
|