aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-08-09Merge tag 'asoc-fix-v6.11-rc2' of ↵Takashi Iwai36-84/+291
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v6.11 Quite a lot of fixes have come in since the merge window, there's some repetitive fixes over the Qualcomm drivers increasing the patch count, along with a large batch of fixes from Cirrus. We also have some quirks and some individual fixes.
2024-08-09ALSA: usx2y: Drop no longer used variableTakashi Iwai1-2/+1
The recent conversion to the standard print API included some cleanups and that changed the code no longer referring to a variable iters at usb_stream_start(). This caused a compiler warning in the end. Let's drop the unused variable. Fixes: f8466d91f36d ("ALSA: usx2y: Use standard print API") Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
2024-08-09ALSA: caiaq: Fix unused variable warningTakashi Iwai1-1/+1
The recent cleanup of caiaq driver forgot to remove the unused loop variable: sound/usb/caiaq/audio.c: In function 'snd_usb_caiaq_pcm_prepare': sound/usb/caiaq/audio.c:179:41: error: unused variable 'i' [-Werror=unused-variable] Fixes: e95b9f7f2ee0 ("ALSA: snd-usb-caiaq: use snd_pcm_rate_to_rate_bit") Reported-by: Stephen Rothwell <[email protected]> Closes: https://lore.kernel.org/[email protected] Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
2024-08-09ALSA: sparc: Fix a typo at dev_*() conversionTakashi Iwai1-1/+1
There was a stupid typo left that broke the build. Fix it. Fixes: d41abde89483 ("ALSA: sparc: Use standard print API") Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
2024-08-09Merge tag 'drm-intel-fixes-2024-08-08' of ↵Dave Airlie4-12/+62
https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes - correct dual pps handling for MTL_PCH+ [display] (Dnyaneshwar Bhadane) - Adjust vma offset for framebuffer mmap offset [gem] (Andi Shyti) - Fix Virtual Memory mapping boundaries calculation [gem] (Andi Shyti) - Allow evicting to use the requested placement (David Gow) - Attempt to get pages without eviction first (David Gow) Signed-off-by: Dave Airlie <[email protected]> From: Tvrtko Ursulin <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/ZrSFpj20b1LbBhCJ@linux
2024-08-09Merge tag 'drm-xe-fixes-2024-08-08' of ↵Dave Airlie4-4/+18
https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes - Fix off-by-one when processing RTP rules (Lucas) - Use dma_fence_chain_free in chain fence unused as a sync (Brost) - Fix PL1 disable flow in xe_hwmon_power_max_write (Karthik) - Take ref to VM in delayed dump snapshot (Brost) Signed-off-by: Dave Airlie <[email protected]> From: Rodrigo Vivi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2024-08-09drm/mgag200: Remove BMC outputThomas Zimmermann9-140/+0
Mgag200's BMC connector tracks the status of an underlying physical connector and updates the BMC status accordingly. This functionality works around GNOME's settings app, which cannot handle multiple outputs on the same CRTC. The workaround is now obsolete as the VGA-BMC connector handles BMC support internally. Hence, remove the driver's code and the BMC output entirely. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Jocelyn Falempe <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2024-08-09drm/mgag200: vga-bmc: Control BMC scanout from encoderThomas Zimmermann5-15/+20
Move calls to stop and start BMC scanout from CRTC helpers to the VGA-BMC encoder's atomic_disable and atomic_enable. Makes the BMC scanout transparent to the CRTC. DRM's atomic helpers call an encoder's atomic_disable and atomic_enable helpers for all enabled encoders. The BMC stops scanning out the VGA signal if modeset disables the VGA encoder, and starts scanning out if the modeset enables the VGA encoder. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Jocelyn Falempe <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2024-08-09drm/mgag200: vga-bmc: Control CRTC VIDRST flag from encoderThomas Zimmermann2-3/+18
Control the VIDRST pin from the VGA-BMC encoder's atomic_check and remove the respective code from CRTC. Makes the VIDRST functionality fully composable. The VIDRST pin allows an external clock source to control the SYNC signals of the Matrox chip. The functionality is part of the CRTC, but depends on the presence of the clock source. This is the case for some BMCs, so control the pin from the VGA-BMC output. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Jocelyn Falempe <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2024-08-09drm/mgag200: vga-bmc: Transparently handle BMCThomas Zimmermann1-2/+48
The VGA-BMC connector selects the VGA output if a display has been attached to the physical connector. Otherwise it selects the BMC output. In any case, the connector status is set to 'detected', so that the userspace compositor displays to it. Depending on the setting, the connector's display modes either come from the VGA monitor's EDID or from an internal list of BMC-compatible modes. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Jocelyn Falempe <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2024-08-09drm/mgag200: Add VGA-BMC outputThomas Zimmermann10-7/+83
Duplicate VGA output to VGA-BMC output and update all code for Matrox server chips. The new output represents a VGA output that has a BMC attached to it. No functional changes so far. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Jocelyn Falempe <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2024-08-09media: ti: cal: use 'time_left' variable with wait_event_timeout()Wolfram Sang1-4/+4
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_event_timeout() causing patterns like: timeout = wait_event_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: tegra-vde: use 'time_left' variable with ↵Wolfram Sang1-5/+5
wait_for_completion_interruptible_timeout() There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_completion_interruptible_timeout() causing patterns like: timeout = wait_for_completion_interruptible_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Thierry Reding <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: solo6x10: use 'time_left' variable with wait_for_completion_timeout()Wolfram Sang1-4/+4
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_completion_timeout() causing patterns like: timeout = wait_for_completion_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Fix to the proper variable type 'unsigned long' while here. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Ismael Luceno <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: platform: exynos-gsc: use 'time_left' variable with wait_event_timeout()Wolfram Sang1-5/+5
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_event_timeout() causing patterns like: timeout = wait_event_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Fix to the proper variable type 'long' while here. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: fimc-is: use 'time_left' variable with wait_event_timeout()Wolfram Sang1-5/+5
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_event_timeout() causing patterns like: timeout = wait_event_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Fix to the proper variable type 'long' while here. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: bdisp: use 'time_left' variable with wait_event_timeout()Wolfram Sang1-5/+5
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_event_timeout() causing patterns like: timeout = wait_event_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Fix to the proper variable type 'long' while here. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: atmel-isi: use 'time_left' variable with wait_for_completion_timeout()Wolfram Sang1-4/+4
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_completion_timeout() causing patterns like: timeout = wait_for_completion_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: allegro: use 'time_left' variable with wait_for_completion_timeout()Wolfram Sang1-12/+12
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_completion_timeout() causing patterns like: timeout = wait_for_completion_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining, also for the code path using 'tmo' as a variable. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: dt-bindings: media: renesas,fcp: Document RZ/G2UL FCPVD bindingsBiju Das1-0/+2
Document FCPVD found in RZ/G2UL SoC. FCPVD block is similar to FCP for VSP found on RZ/{G2L,G2LC,V2L} SoCs. Acked-by: Conor Dooley <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Biju Das <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: dt-bindings: media: renesas,vsp1: Document RZ/G2UL VSPD bindingsBiju Das1-0/+1
Document VSPD found in RZ/G2UL SoC. The VSPD block is identical to RZ/G2L SoC and therefore use RZ/G2L fallback to avoid any driver changes. Acked-by: Conor Dooley <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Biju Das <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09staging: media: atmel: use for_each_endpoint_of_node()Kuninori Morimoto2-14/+6
We already have for_each_endpoint_of_node(), don't use of_graph_get_next_endpoint() directly. Replace it. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: platform: xilinx: use for_each_endpoint_of_node()Kuninori Morimoto1-7/+2
We already have for_each_endpoint_of_node(), don't use of_graph_get_next_endpoint() directly. Replace it. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: platform: ti: use for_each_endpoint_of_node()Kuninori Morimoto2-14/+12
We already have for_each_endpoint_of_node(), don't use of_graph_get_next_endpoint() directly. Replace it. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Prabhakar <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: platform: microchip: use for_each_endpoint_of_node()Kuninori Morimoto2-26/+16
We already have for_each_endpoint_of_node(), don't use of_graph_get_next_endpoint() directly. Replace it. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: docs: Fix newline typos in capture.cJavier Carrasco1-3/+3
Commit d7894721f73b ("media: docs: Fix newline typo") aimed to fix the newline typos in capture.c, but some of the typos were not fixed. Fix the remaining newline typos. Signed-off-by: Javier Carrasco <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: qcom: camss: Fix ordering of pm_runtime_enableBryan O'Donoghue1-2/+3
pm_runtime_enable() should happen prior to vfe_get() since vfe_get() calls pm_runtime_resume_and_get(). This is a basic race condition that doesn't show up for most users so is not widely reported. If you blacklist qcom-camss in modules.d and then subsequently modprobe the module post-boot it is possible to reliably show this error up. The kernel log for this error looks like this: qcom-camss ac5a000.camss: Failed to power up pipeline: -13 Fixes: 02afa816dbbf ("media: camss: Add basic runtime PM support") Reported-by: Johan Hovold <[email protected]> Closes: https://lore.kernel.org/lkml/[email protected]/ Tested-by: Johan Hovold <[email protected]> Cc: <[email protected]> Signed-off-by: Bryan O'Donoghue <[email protected]> Reviewed-by: Konrad Dybcio <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: qcom: camss: Remove use_count guard in stop_streamingBryan O'Donoghue1-6/+0
The use_count check was introduced so that multiple concurrent Raw Data Interfaces RDIs could be driven by different virtual channels VCs on the CSIPHY input driving the video pipeline. This is an invalid use of use_count though as use_count pertains to the number of times a video entity has been opened by user-space not the number of active streams. If use_count and stream-on count don't agree then stop_streaming() will break as is currently the case and has become apparent when using CAMSS with libcamera's released softisp 0.3. The use of use_count like this is a bit hacky and right now breaks regular usage of CAMSS for a single stream case. Stopping qcam results in the splat below, and then it cannot be started again and any attempts to do so fails with -EBUSY. [ 1265.509831] WARNING: CPU: 5 PID: 919 at drivers/media/common/videobuf2/videobuf2-core.c:2183 __vb2_queue_cancel+0x230/0x2c8 [videobuf2_common] ... [ 1265.510630] Call trace: [ 1265.510636] __vb2_queue_cancel+0x230/0x2c8 [videobuf2_common] [ 1265.510648] vb2_core_streamoff+0x24/0xcc [videobuf2_common] [ 1265.510660] vb2_ioctl_streamoff+0x5c/0xa8 [videobuf2_v4l2] [ 1265.510673] v4l_streamoff+0x24/0x30 [videodev] [ 1265.510707] __video_do_ioctl+0x190/0x3f4 [videodev] [ 1265.510732] video_usercopy+0x304/0x8c4 [videodev] [ 1265.510757] video_ioctl2+0x18/0x34 [videodev] [ 1265.510782] v4l2_ioctl+0x40/0x60 [videodev] ... [ 1265.510944] videobuf2_common: driver bug: stop_streaming operation is leaving buffer 0 in active state [ 1265.511175] videobuf2_common: driver bug: stop_streaming operation is leaving buffer 1 in active state [ 1265.511398] videobuf2_common: driver bug: stop_streaming operation is leaving buffer 2 in active st One CAMSS specific way to handle multiple VCs on the same RDI might be: - Reference count each pipeline enable for CSIPHY, CSID, VFE and RDIx. - The video buffers are already associated with msm_vfeN_rdiX so release video buffers when told to do so by stop_streaming. - Only release the power-domains for the CSIPHY, CSID and VFE when their internal refcounts drop. Either way refusing to release video buffers based on use_count is erroneous and should be reverted. The silicon enabling code for selecting VCs is perfectly fine. Its a "known missing feature" that concurrent VCs won't work with CAMSS right now. Initial testing with this code didn't show an error but, SoftISP and "real" usage with Google Hangouts breaks the upstream code pretty quickly, we need to do a partial revert and take another pass at VCs. This commit partially reverts commit 89013969e232 ("media: camss: sm8250: Pipeline starting and stopping for multiple virtual channels") Fixes: 89013969e232 ("media: camss: sm8250: Pipeline starting and stopping for multiple virtual channels") Reported-by: Johan Hovold <[email protected]> Closes: https://lore.kernel.org/lkml/[email protected]/ Tested-by: Johan Hovold <[email protected]> Cc: <[email protected]> Signed-off-by: Bryan O'Donoghue <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: i2c: tda1997x: constify snd_soc_component_driver structJavier Carrasco1-1/+1
`tda1997x_codec_driver` is not modified after its declaration, and it is only passed to `devm_snd_soc_register_component()`, which expects a constant `snd_soc_component_driver`. Move `tda1997x_codec_driver` to a read-only section by declaring it const. Signed-off-by: Javier Carrasco <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: raspberrypi: VIDEO_RASPBERRYPI_PISP_BE should depend on ARCH_BCM2835Geert Uytterhoeven1-0/+1
Currently, the Raspberry Pi PiSP Backend (BE) ISP is only present on the Broadcom BCM2712-based Raspberry Pi 5. Hence add a dependency on ARCH_BCM2835, to prevent asking the user about this driver when configuring a kernel without Broadcom BCM2835 family support. The dependency can be relaxed if/when the encoder appears on other SoC families. Fixes: 12187bd5d4f8 ("media: raspberrypi: Add support for PiSP BE") Signed-off-by: Geert Uytterhoeven <[email protected]> Acked-by: FLorian Fainelli <[email protected]> Acked-by: Jacopo Mondi <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09Documentation: media: move Memory Consistency FlagsHans Verkuil2-43/+25
The documentation of the Memory Consistency Flags was part of the struct v4l2_buffer documentation, but that struct doesn't use those flags. Instead it is used by VIDIOC_CREATE_BUFS and VIDIOC_REQBUFS. Move the documentation from buffer.rst to vidioc-reqbufs.rst which is where it belongs. Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: v4l2-core: v4l2-ioctl: missing ', ' in create_bufs loggingHans Verkuil1-1/+1
The v4l_print_create_buffers() function was missing a ', ' in the pr_cont call, leading to logs like this: [93293.533425] video0: VIDIOC_CREATE_BUFS: index=0, count=0, memory=dmabuf, capabilities=0x00000297, max num buffers=32type=vid-cap, width=0, height=0, pixelformat=.... little-endian (0x00000000), field=any, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Sebastian Fricke <[email protected]>
2024-08-09Documentation: media: add missing V4L2_BUF_CAP_ flagsHans Verkuil1-0/+7
The documentation for V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS and V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS was missing. Add this. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Sebastian Fricke <[email protected]> Reviewed-by: Benjamin Gaignard <[email protected]>
2024-08-09Revert "media: tuners: fix error return code of hybrid_tuner_request_state()"Roman Smirnov1-3/+1
This reverts commit b9302fa7ed979e84b454e4ca92192cf485a4ed41. As Fedor Pchelkin pointed out, this commit violates the convention of using the macro return value, which causes errors. For example, in functions tda18271_attach(), xc5000_attach(), simple_tuner_attach(). Link: https://lore.kernel.org/linux-media/20240424202031.syigrtrtipbq5f2l@fpc/ Suggested-by: Fedor Pchelkin <[email protected]> Signed-off-by: Roman Smirnov <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: i2c: GC08A3: Fix spelling mistake "STRAEMING_REG" -> "STREAMING_REG"Colin Ian King1-1/+1
There is a spelling mistake in a dev_err message. Fix it. Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: i2c: GC05A2: Fix spelling mistake "Horizental" -> "Horizontal"Colin Ian King1-1/+1
There is a spelling mistake in a string in the gc05a2_test_pattern_menu array. Fix it. Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write errorJunlin Li1-1/+1
Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access. dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue. Fixes: df70ddad81b4 ("[media] rtl2830: implement PID filter") Signed-off-by: Junlin Li <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write errorJunlin Li1-1/+1
Ensure index in rtl2832_pid_filter does not exceed 31 to prevent out-of-bounds access. dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue. Signed-off-by: Junlin Li <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Fixes: 4b01e01a81b6 ("[media] rtl2832: implement PID filter") [hverkuil: added fixes tag, rtl2830_pid_filter -> rtl2832_pid_filter in logmsg]
2024-08-09Documentation: media: vivid.rst: update TODO listHans Verkuil1-2/+2
The vivid driver supports media controller support for quite a long time now, so drop that from the list. Since commit 4c4dacb052d4 ("media: vivid: loopback based on 'Connected To' controls") making EDID changes causes correct signaling to happen, but what is still missing is the 100 ms delay required before signaling that there is an HPD. Modify this TODO item accordingly. Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: i2c: thp7312: Convert comma to semicolonChen Ni1-1/+1
Replace a comma between expression statements by a semicolon. Signed-off-by: Chen Ni <[email protected]> Reviewed-by: Paul Elder <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: imx-pxp: Rewrite coeff expressionRicardo Ribalda1-2/+7
GCC5 cannot figure out that the expressions are constant, and that triggers a build failure. Rewrite the expressions. The following gcc5 error is workaround: #define BM_PXP_CSC1_COEF0_YCBCR_MODE 0x80000000 ^ BM_PXP_CSC1_COEF0_YCBCR_MODE | ^ #define BM_PXP_CSC1_COEF0_YCBCR_MODE 0x80000000 ^ drivers/media/platform/nxp/imx-pxp.c: In function 'pxp_setup_csc': drivers/media/platform/nxp/imx-pxp.h:582:38: error: initializer element is not constant drivers/media/platform/nxp/imx-pxp.c:374:4: note: in expansion of macro 'BM_PXP_CSC1_COEF0_YCBCR_MODE' drivers/media/platform/nxp/imx-pxp.h:582:38: note: (near initialization for 'csc1_coef_bt601_lim[0]') Signed-off-by: Ricardo Ribalda <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: ti: cal: Constify struct media_entity_operationsChristophe JAILLET1-1/+1
'struct media_entity_operations' is not modified in this driver. Constifying this structure moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig, as an example: Before: ====== text data bss dec hex filename 20694 1394 32 22120 5668 drivers/media/platform/ti/cal/cal-camerarx.o After: ===== text data bss dec hex filename 20726 1362 32 22120 5668 drivers/media/platform/ti/cal/cal-camerarx.o Signed-off-by: Christophe JAILLET <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: meson: vdec: add GXLX SoC platformChristian Hewitt3-0/+48
Add the GXLX SoC platform which is based on GXL but omits the VP9 codec. Signed-off-by: Christian Hewitt <[email protected]> Acked-by: Neil Armstrong <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09dt-bindings: media: amlogic,gx-vdec: add the GXLX SoC family and update GXLChristian Hewitt1-1/+2
The GXLX SoC is a GXL variant that omits VP9 codec support. Also add S905W and S905Y as GXL chips and sort the GXL comment. Signed-off-by: Christian Hewitt <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Acked-by: Neil Armstrong <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09Documentation: media: Fix v4l2_av1_segmentation table formattingFritz Koenig1-1/+1
Fix incorrect formatting. Signed-off-by: Fritz Koenig <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> [hverkuil: added missing commit message]
2024-08-09media: verisilicon: Use fourcc format stringMichael Tretter1-5/+1
There is a fourcc format string for printing formats. Use it instead of open coding the conversion. Signed-off-by: Michael Tretter <[email protected]> Reviewed-by: Nicolas Dufresne <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: Drop explicit initialization of struct i2c_device_id::driver_data to 0Uwe Kleine-König115-145/+148
These drivers don't use the driver_data member of struct i2c_device_id, so don't explicitly initialize this member. This prepares putting driver_data in an anonymous union which requires either no initialization or named designators. But it's also a nice cleanup on its own. While add it, also remove commas after the sentinel entries. Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: platform: allegro-dvt: Constify struct regmap_configChristophe JAILLET1-2/+2
'allegro_regmap_config' and 'allegro_sram_config' are not modified in this diver and are only used as a const struct regmap_config. Constifying these structures moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: text data bss dec hex filename 79587 3706 116 83409 145d1 drivers/media/platform/allegro-dvt/allegro-core.o After: text data bss dec hex filename 80219 3066 116 83401 145c9 drivers/media/platform/allegro-dvt/allegro-core.o Signed-off-by: Christophe JAILLET <[email protected]> Reviewed-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: i2c: tvp5150: Constify some structuresChristophe JAILLET1-2/+2
'vbi_ram_default' and 'tvp5150_config' are not modified in this diver and are only used as a const struct. Constifying these structures moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: text data bss dec hex filename 57197 2936 36 60169 eb09 drivers/media/i2c/tvp5150.o After: text data bss dec hex filename 57517 2608 36 60161 eb01 drivers/media/i2c/tvp5150.o Signed-off-by: Christophe JAILLET <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-09media: Documentation: Fix spelling of "blanking"Sakari Ailus1-1/+1
"Blanking" should be spelled as such, not "balanking". Fix it. Reported-by: Hans Verkuil <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>