- Dec 09, 2024
-
-
Ricardo Ribalda Delgado authored
We use this logic in a couple of places. Refactor into a function. No functional change expected from this patch. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
All the drivers either use the control framework or provide a vidiod_ext_ctrl. We can remove this callback. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
The v4l2 ioctl framework can provide support for s_ctrl. This the last driver implementing s_ctrl. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
All the drivers either use the control framework or provide a vidioc_g_ext_ctrls callback. We can remove this callback. Thanks for your service! Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
All the drivers either use the control framework or provide a vidioc_query_ext_ctrl. We can remove this callback to reduce the temptation of new drivers to implement it. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
The v4l2 ioctl framework can implement vidioc_g/s_ctrl with vidioc_g/s_ext_ctrl() and we provide those. These are the last references of vidioc_s/g_ctrl in the codebase. We can attempt to remove them now. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
The ioctl framework provides an emulator of queryctrl using query_ext_ctrl. Replace our implementation of queryctrl to support both. Now that we are at it: - Add comment about missing functionality. - Remove superfluous clear of reserved[0]. - Remove ret var. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
It can be implemented by the v4l2 ioctl framework using vidioc_query_ext_ctrl. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
The ioctl helpers can emulate g/s_ctrl with g/s_ext_ctrl. Simplify the code. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
The driver was missing support for query_ext_ctrl. Instead of adding a new callback for it, replace the current implementation of queryctrl and let the ioctl framework emulate the old function. Most of the fields are identical, so the change is pretty simple. Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
v4l2_queryctrl is a subset of v4l2_query_ext_ctrl. If the driver does not implement v4l2_queryctrl we can implement it with v4l2_query_ext_ctrl. Suggested-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org>
-
Ricardo Ribalda Delgado authored
Most of the drivers use the control framework or can use the superset version of these callbacks: vidioc_g/s_ext_ctrl and vidioc_query_ext_ctrl. # Describe the purpose of this series. The information you put here # will be used by the project maintainer to make a decision whether # your patches should be reviewed, and in what priority order. Please be # very detailed and link to any relevant discussions or sites that the # maintainer can review to better understand your proposed changes. If you # only have a single patch in your series, the contents of the cover # letter will be appended to the "under-the-cut" portion of the patch. # Lines starting with # will be removed from the cover letter. You can # use them to add notes or reminders to yourself. If you want to use # markdown headers in your cover letter, start the line with ">#". # You can add trailers to the cover letter. Any email addresses found in # these trailers will be added to the addresses specified/generated # during the b4 send stage. You can also run "b4 prep --auto-to-cc" to # auto-populate the To: and Cc: trailers based on the code being # modified. To: Mauro Carvalho Chehab <mchehab@kernel.org> To: Mike Isely <isely@pobox.com> To: Laurent Pinchart <laurent.pinchart@ideasonboard.com> To: Hans de Goede <hdegoede@redhat.com> To: Sakari Ailus <sakari.ailus@linux.intel.com> To: Andy Shevchenko <andy@kernel.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: Hans Verkuil <hverkuil@xs4all.nl> Cc: linux-media@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-staging@lists.linux.dev Signed-off-by:
Ricardo Ribalda <ribalda@chromium.org> --- Changes in v2: - v4l2_query_ext_ctrl_to_v4l2_queryctrl - Fix conversion (Thanks Hans) - Link to v1: https://lore.kernel.org/r/20241209-queryctrl-v1-0-deff7acfcdcb@chromium.org --- b4-submit-tracking --- # This section is used internally by b4 prep for tracking purposes. { "series": { "revision": 2, "change-id": "20241209-queryctrl-5c3632b7c857", "prefixes": [], "history": { "v1": [ "20241209-queryctrl-v1-0-deff7acfcdcb@chromium.org" ] } } }
-
- Dec 06, 2024
-
-
There apparently is no reason to require 3 queued buffers to call streamon() for the RkISP1 as the driver operates with a scratch buffer where frames can be directed to if there's no available buffer provided by userspace. Reduce the number of required buffers to 1 to allow applications to operate with a single queued buffer. Tested with libcamera, by operating with a single capture request. The same request (and associated capture buffer) gets recycled once completed. This of course causes a frame rate drop but doesn't hinder operations. Signed-off-by:
Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://lore.kernel.org/r/20241007124225.63463-1-jacopo.mondi@ideasonboard.com Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
This commit fixes an unused value issue detected by Coverity (CID 1519008). The error condition for the invalid MIPI CSI-2 is not properly handled as the break statement would only exit the switch block and not the entire loop. Fix this by breaking from the look immediately after the switch block when an error occurs. Signed-off-by:
Dheeraj Reddy Jonnalagadda <dheeraj.linuxdev@gmail.com> Fixes: 7d4f126f ("media: rkisp1: Make the internal CSI-2 receiver optional") Reviewed-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Jacopo Mondi <jacopo.mondi@ideasonboard.com> Link: https://lore.kernel.org/r/20241119072653.72260-1-dheeraj.linuxdev@gmail.com Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- Dec 04, 2024
-
-
Qualcomm IP catalog says that all CAMSS interrupts are edge rising, fix it in the documented example from CAMSS device tree bindings for SM8250 SoC. Fixes: 46f8ac84 ("media: dt-bindings: media: camss: Add qcom,sm8250-camss binding") Signed-off-by:
Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Acked-by:
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
Qualcomm IP catalog says that all CAMSS interrupts are edge rising, fix it in the documented example from CAMSS device tree bindings for sdm845 SoC. Fixes: d1d5ce26 ("media: dt-bindings: media: camss: Add qcom,sdm845-camss binding") Signed-off-by:
Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Acked-by:
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
Qualcomm IP catalog says that all CAMSS interrupts are edge rising, fix it in the documented example from CAMSS device tree bindings for sc8280xp SoC. Fixes: bc5191e5 ("media: dt-bindings: media: camss: Add qcom,sc8280xp-camss binding") Signed-off-by:
Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Acked-by:
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
Add documentation for struct csiphy_lanes_cfg. Signed-off-by:
Caleb Connolly <caleb.connolly@linaro.org> Signed-off-by:
David Heidelberg <david@ixit.cz> Acked-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl> [hverkuil: added missing commit description]
-
Refactor the camss_link_entities function by breaking it down into three distinct functions. Each function will handle the linking of a specific entity separately. SC7280 and later targets mandates for 1:1 linking for csid -> vfe. i.e. csid0 can be mapped to vfe0 only. Signed-off-by:
Suresh Vankadara <quic_svankada@quicinc.com> Signed-off-by:
Trishansh Bhardwaj <quic_tbhardwa@quicinc.com> Signed-off-by:
Vikram Sharma <quic_vikramsa@quicinc.com> Reviewed-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
Introducing a new function camss_link_err to avoid repition of same error message, improving code maintainability. Signed-off-by:
Vikram Sharma <quic_vikramsa@quicinc.com> Reviewed-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
- Dec 03, 2024
-
-
Update my email address as I am no longer working at Bootlin and have started my own consulting company: sys-base. Signed-off-by:
Paul Kocialkowski <paulk@sys-base.io> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
- Dec 02, 2024
-
-
Do not define stuff used in a single source file in a global header. Do not mix defines with "bare" values in the initialization. Signed-off-by:
Martin Tůma <martin.tuma@digiteqautomotive.com> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
Unify the names of HW hsync/vsync registers between the inputs and outputs. Signed-off-by:
Martin Tůma <martin.tuma@digiteqautomotive.com> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
Write the padding to the HW registers at the same place as the input logic does. Signed-off-by:
Martin Tůma <martin.tuma@digiteqautomotive.com> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
A mfc_debug_enter() is not balanced by a corresponding mfc_debug_leave(). Add the missing call. Signed-off-by:
Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
fc0013_rc_cal_add() and fc0013_rc_cal_reset() were added in 2012's commit e889adc9 ("[media] fc001x: tuner driver for FC0013") but haven't been used. Remove them. Signed-off-by:
Dr. David Alan Gilbert <linux@treblig.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
fimc_is_param_strerr() was added in 2013 by commit 9a761e43 ("[media] exynos4-is: Add Exynos4x12 FIMC-IS driver") but has never been called. Remove it. (The other possibility might be to add a call maybe in fimc-is-param ?) Signed-off-by:
Dr. David Alan Gilbert <linux@treblig.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
flexcop_dma_control_size_irq() last use was removed in 2005 by commit 64221be7 ("[PATCH] dvb: flexcop: woraround irq stop problem") flexcop_dump_reg() last use was removed in 2009 by commit 382c5546 ("V4L/DVB (10694): [PATCH] software IRQ watchdog for Flexcop B2C2 DVB PCI cards") Remove them. Signed-off-by:
Dr. David Alan Gilbert <linux@treblig.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
The variable value is being assigned a value that is never read afterwards, the following if statement re-assigns it with a new value in both paths of the if statement. The assignment is redundant and can be removed. Signed-off-by:
Colin Ian King <colin.i.king@gmail.com> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
It appears that do_div() once more gets confused by a complex expression that ends up not quite being constant despite __builtin_constant_p() thinking it is: ERROR: modpost: "__aeabi_uldivmod" [drivers/media/dvb-frontends/cxd2841er.ko] undefined! Use div_u64() instead, forcing the expression to be evaluated first, and making it a bit more readable. Cc: Dan Carpenter <dan.carpenter@linaro.org> Reported-by:
Naresh Kamboju <naresh.kamboju@linaro.org> Closes: https://lore.kernel.org/linux-media/CA+G9fYvvNm-aYodLaAwwTjEGtX0YxR-1R14FOA5aHKt0sSVsYg@mail.gmail.com/ Reported-by:
Linux Kernel Functional Testing <lkft@linaro.org> Closes: https://lore.kernel.org/linux-media/CA+G9fYvvNm-aYodLaAwwTjEGtX0YxR-1R14FOA5aHKt0sSVsYg@mail.gmail.com/ Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl> [hverkuil: added Closes tags]
-
Commit 78fe6636 ("misc: ti-st: st_kim: remove the driver") deletes the ti-st driver and its corresponding config option TI_ST. With that deletion, the Texas Instruments WL128x FM Radio driver is now dead as well. Delete this obsolete driver. Signed-off-by:
Lukas Bulwahn <lukas.bulwahn@redhat.com> Acked-by:
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
The proble is on the first line: if (jpeg->pd_dev[i] && !pm_runtime_suspended(jpeg->pd_dev[i])) If jpeg->pd_dev[i] is an error pointer, then passing it to pm_runtime_suspended() will lead to an Oops. The other conditions check for both error pointers and NULL, but it would be more clear to use the IS_ERR_OR_NULL() check for that. Fixes: fd0af4cd ("media: imx-jpeg: Ensure power suppliers be suspended before detach them") Cc: <stable@vger.kernel.org> Signed-off-by:
Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by:
Ming Qian <ming.qian@nxp.com> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
The platform compatibility checks for MT8183 and MT8195 in mdp_cmdq_prepare() are redundant as they are done in __get_config_offset() itself. Furthermore there are two if-else branch in __get_config_offset() which have similar conditions and are redundant. To address this, remove the check in mdp_cmdq_prepare() and combine the two if-else branch into one in __get_config_offset(). Signed-off-by:
Mohammed Anees <pvmohammedanees2003@gmail.com> Reviewed-by:
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by:
Hans Verkuil <hverkuil@xs4all.nl>
-
- Dec 01, 2024
-
-
Linus Torvalds authored
-
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linuxLinus Torvalds authored
Pull i2c component probing support from Wolfram Sang: "Add OF component probing. Some devices are designed and manufactured with some components having multiple drop-in replacement options. These components are often connected to the mainboard via ribbon cables, having the same signals and pin assignments across all options. These may include the display panel and touchscreen on laptops and tablets, and the trackpad on laptops. Sometimes which component option is used in a particular device can be detected by some firmware provided identifier, other times that information is not available, and the kernel has to try to probe each device. Instead of a delicate dance between drivers and device tree quirks, this change introduces a simple I2C component probe function. For a given class of devices on the same I2C bus, it will go through all of them, doing a simple I2C read transfer and see which one of them responds. It will then enable the device that responds" * tag 'i2c-for-6.13-rc1-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: MAINTAINERS: fix typo in I2C OF COMPONENT PROBER of: base: Document prefix argument for of_get_next_child_with_prefix() i2c: Fix whitespace style issue arm64: dts: mediatek: mt8173-elm-hana: Mark touchscreens and trackpads as fail platform/chrome: Introduce device tree hardware prober i2c: of-prober: Add GPIO support to simple helpers i2c: of-prober: Add simple helpers for regulator support i2c: Introduce OF component probe function of: base: Add for_each_child_of_node_with_prefix() of: dynamic: Add of_changeset_update_prop_string
-
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-traceLinus Torvalds authored
Pull bprintf() removal from Steven Rostedt: - Remove unused bprintf() function, that was added with the rest of the "bin-printf" functions. These are functions that are used by trace_printk() that allows to quickly save the format and arguments into the ring buffer without the expensive processing of converting numbers to ASCII. Then on output, at a much later time, the ring buffer is read and the string processing occurs then. The bprintf() was added for consistency but was never used. It can be safely removed. * tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: printf: Remove unused 'bprintf'
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull timer fixes from Borislav Petkov: - Fix a case where posix timers with a thread-group-wide target would miss signals if some of the group's threads are exiting - Fix a hang caused by ndelay() calling the wrong delay function __udelay() - Fix a wrong offset calculation in adjtimex(2) when using ADJ_MICRO (microsecond resolution) and a negative offset * tag 'timers_urgent_for_v6.13_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: posix-timers: Target group sigqueue to current task only if not exiting delay: Fix ndelay() spuriously treated as udelay() ntp: Remove invalid cast in time offset math
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull irq fixes from Borislav Petkov: - Move the ->select callback to the correct ops structure in irq-mvebu-sei to fix some Marvell Armada platforms - Add a workaround for Hisilicon ITS erratum 162100801 which can cause some virtual interrupts to get lost - More platform_driver::remove() conversion * tag 'irq_urgent_for_v6.13_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip: Switch back to struct platform_driver::remove() irqchip/gicv3-its: Add workaround for hip09 ITS erratum 162100801 irqchip/irq-mvebu-sei: Move misplaced select() callback to SEI CP domain
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull x86 fixes from Borislav Petkov: - Add a terminating zero end-element to the array describing AMD CPUs affected by erratum 1386 so that the matching loop actually terminates instead of going off into the weeds - Update the boot protocol documentation to mention the fact that the preferred address to load the kernel to is considered in the relocatable kernel case too - Flush the memory buffer containing the microcode patch after applying microcode on AMD Zen1 and Zen2, to avoid unnecessary slowdowns - Make sure the PPIN CPU feature flag is cleared on all CPUs if PPIN has been disabled * tag 'x86_urgent_for_v6.13_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/CPU/AMD: Terminate the erratum_1386_microcode array x86/Documentation: Update algo in init_size description of boot protocol x86/microcode/AMD: Flush patch buffer mapping after application x86/mm: Carve out INVLPG inline asm for use by others x86/cpu: Fix PPIN initialization
-
Linus Torvalds authored
The point behind strscpy() was to once and for all avoid all the problems with 'strncpy()' and later broken "fixed" versions like strlcpy() that just made things worse. So strscpy not only guarantees NUL-termination (unlike strncpy), it also doesn't do unnecessary padding at the destination. But at the same time also avoids byte-at-a-time reads and writes by _allowing_ some extra NUL writes - within the size, of course - so that the whole copy can be done with word operations. It is also stable in the face of a mutable source string: it explicitly does not read the source buffer multiple times (so an implementation using "strnlen()+memcpy()" would be wrong), and does not read the source buffer past the size (like the mis-design that is strlcpy does). Finally, the return value is designed to be simple and unambiguous: if the string cannot be copied fully, it returns an actual negative error, making error handling clearer and simpler (and the caller already knows the size of the buffer). Otherwise it returns the string length of the result. However, there was one final stability issue that can be important to callers: the stability of the destination buffer. In particular, the same way we shouldn't read the source buffer more than once, we should avoid doing multiple writes to the destination buffer: first writing a potentially non-terminated string, and then terminating it with NUL at the end does not result in a stable result buffer. Yes, it gives the right result in the end, but if the rule for the destination buffer was that it is _always_ NUL-terminated even when accessed concurrently with updates, the final byte of the buffer needs to always _stay_ as a NUL byte. [ Note that "final byte is NUL" here is literally about the final byte in the destination array, not the terminating NUL at the end of the string itself. There is no attempt to try to make concurrent reads and writes give any kind of consistent string length or contents, but we do want to guarantee that there is always at least that final terminating NUL character at the end of the destination array if it existed before ] This is relevant in the kernel for the tsk->comm[] array, for example. Even without locking (for either readers or writers), we want to know that while the buffer contents may be garbled, it is always a valid C string and always has a NUL character at 'comm[TASK_COMM_LEN-1]' (and never has any "out of thin air" data). So avoid any "copy possibly non-terminated string, and terminate later" behavior, and write the destination buffer only once. Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-