-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[4.18] corrupted tvservice -m mode list #2643
Comments
I can confirm this issue. Same crap here, issue started with 4.17 kernel. This brakes Kodi (v18), because Kodi wants to set resolution mostly to 0x0, and of course, this never can work. |
@mkreisl 4.18 is still bleeding edge. Each new kernel version brings some breakage that we clean up as quickly as we can - I don't think the use of the word "crap" is justified. If it really did appear in 4.17, did you report it? |
Believe me, it does. And no, I did not report it, because being unsure if this is Kodi Leia (this version is still in an early beta state) issue or kernel issue. But it seems to be a kernel issue |
Also seen it in 4.17 Seems device-tree passes 64 as cache-line-size. |
This patch was to avoid the introduction of the cache-line-size property for the driver. There as a discussion about this: http://lists.infradead.org/pipermail/linux-rpi-kernel/2018-March/007786.html So reverting the patch of @anholt isn't the right way to fix this. |
So the problem is that the (downstream?) device-tree files still have the cache_line_size parameter? |
Yes, this is my understanding. But i never test all variants. |
@HiassofT I've reverted the identified commit on 4.18 as a temporary measure to avoid the vchiq regression. |
This is looking good now - 4.14.62 and 4.18.0 (with this PR) now produces identical results. 4.14.62 (
|
thanks, current 4.18 tree seems to be fine. fingers crossed you find a solution for the root cause! |
The root cause is just that using the wrong cache line size causes incorrect behaviour. The correct way to fix this in the absence of a property (or in general) is for the firmware to trust the kernel driver to use the correct value. The old method of the driver using a fixed value of 32 predates the BCM2836 so is sufficiently old that it can be ignored. Unfortunately this change would probably break builds with old kernels worse than it is now, so the firmware needs a way of detecting that the kernel has been updated. Fortunately the VCHIQ DT properties are currently wrong - the |
See PR #2666. |
thanks, already started a 4.18 build :) |
kernel: Add support for audioinjector.net ultra soundcard See: raspberrypi/linux#2664 kernel: POE HAT driver cleanup See: raspberrypi/linux#2638 firmware: arm_dt: Work around an absent cache-line-size See: raspberrypi/linux#2643
kernel: Add support for audioinjector.net ultra soundcard See: raspberrypi/linux#2664 kernel: POE HAT driver cleanup See: raspberrypi/linux#2638 firmware: arm_dt: Work around an absent cache-line-size See: raspberrypi/linux#2643
- bootcode: Re-enable the pull down on SD CLK pin immediately. - firmware: Rawcam: Fixup buffering issues on fast fps - firmware: MMAL alignment changes, plus a couple of minor fixes - firmware: MMAL/IL: Fix for reducing alignment patch See: https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=62364 - firmware: Added a dpi_timings config item - firmware: Add DPI Driver default settings - firmware: HVS channel should come from the DISPLAY_INFO - firmware: Add POE HAT support - firmware: video_encode: Drop back to software conversion if stride is not mod32 See: Hexxeh/rpi-firmware#182 - firmware: arm_dt: Break out GPIO save/restore from HAT code as needed for PoE - firmware: rawcam: Fix double buffer return issue firmware: rawcam: Code cleanup - firmware: host_apps: Fixup partially merged commit from userland See: #1027 - firmware: mmal: Add KEEP_PORT_FORMATS flag to mmal connection See: raspberrypi/userland#483 - firmware: RaspiStill: Apply gpsd info as EXIF tags See: raspberrypi/userland#286 - firmware: arm_dt: Work around an absent cache-line-size See: raspberrypi/linux#2643 - firmware: Camplus: annotate: Check lines_available >= lines_required See: raspberrypi/userland#485 - firmware: video_decode: Fix memory leak on passing in codec config multiple times - firmware: mmal: Correct encoding 4CC for SBGGR16 - firmware: 2ndstage: Report IP address in ARP response in network order - firmware: video_decode: Fix error in previous memory leak patch - firmware: video_encode: Add ISP conversion support for RGBX32 - firmware: platform: Also report soft temperature limit in get_throttled bits - firmware: IL isp: minor code cleanups - firmware: image_encode: Support Video domain on input port - firmware: video_encode: Use default values on invalid nStride or nSliceHeight See: #1051 - firmware: gpioman/FXL6408: Handle open failing sensibly See: #1053 - firmware: Delay backlight coming on See: #1052 - firmware: LCD driver close fixes - firmware: jpeg/mjpeg: MJPEG doesn't insert JFIF APP0 header See: raspberrypi/userland#345 - firmware: Add IL HVS component - firmware: mmal: Acquire zero copy buffers on being passed to the VPU - firmware: video_render: Use per pixel alpha on RGBA and BGRA - firmware: video_render: Add support for alpha options (MIX and PREMULT) - firmware: Move to driver based backlight See: #1063 - bootcode: Extend TEST_UNIT_READY timeout to 20 seconds, some hard drives take a really long time See: #898 - firmware: video_render: Treat an empty buffer with ENDOFFRAME set as a flush - firmware: dispmanx: Add option to ignore all layers lower than the current layer - firmware: arm_dt: Accept "csi" as a special DT node that masks IRQs - firmware: MMAL: Include OPAQUE in the list of supported encodings where appropriate See: https://www.raspberrypi.org/forums/viewtopic.php?f=67&t=226416 - firmware: video_render: asserting on the buffer being unlocked is invalid - firmware: video_render: Further fix to a vcos_verify - firmware: IL hvs: Fail component create if the HVS or TXP interrupts are masked - firmware: Clean up masked interrupt handling - moves it to intctrl - firmware: vcinclude: Clean up INTERRUPT_xxx defines to use one place - firmware: vcfw: camera_subsystem: Stop cameras being detected if ARM has Unicam instance - firmware: vc_image: Fix up vc_image_bits_per_pixel for YUYV variants and BGR888 - firmware: vc_image: Make the alternate path in yuv420 to rgb888 support bgr888 - firmware: vc_image: Add an rgb_stripe_swap_ext which takes pitches - firmware: vc_image_convert: yuv420 to bgr888 failed on (width&31) != 0 - firmware: IL isp: Use gamma block to shift 10bpp YUV to the correct pipe depth - firmware: video_encode: Always set the input port nBufferSize to match the image - firmware: Camera/ISP: Allow option to disable demosaicing - firmware: dispmanx: Also apply overscan_scale when clamping to screen See: https://forum.kodi.tv/showthread.php?tid=338052 - firmware: Added a mailbox function for setting gamma - firmware: bootcode: Support parsing of gpio filters from config.txt See: #1076 - firmware: video_encode: Allow Inline Headers to be changed whilst active - firmware: IL: Add XRGB8888 and XBGR8888, and support on video_render, isp, and hvs - firmware: image_encode: Allow arbitrary buffer strides matching the appropriate multiples - firmware: platform: Use 3aplus dt-blob section and bcm2710-rpi-3-a-plus.dtb - firmware: Added ability to have an third transpose buffer See: #837 - firmware: isp: Correct the conversion tables changed in adding the gamma block See: #1084 - firmware: raspberrypi_full variant: Drop unused Camplus sw stages - bootcode: Reset WiFi and BT devices before resetting the expander See: #1088 - bootcode: Fix Ethernet boot on a different subnet See: #1078 - firmware: interface: Drop vcfiled See: raspberrypi/userland#525 - firmware: Add reference counting to the local audio players See: #547 - firmware: arm_loader: Add reporting the firmware git hash via the mailbox - firmware: vcos: Add reporting of which variant was built See: raspberrypi/linux#2806 - firmware: Update vcdbg help See: #594
This issue is back again in kernel 4.20 and 5.0 😞
has been replaced by
and this seems to be wrong, because Do I miss a new kernel CONFIG_ setting? A revert to the previous code makes it work again |
The change is correct, but i assume the devicetree files still uses the old compatible brcm,bcm2835-vchiq instread of brcm,bcm2836-vchiq: |
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The required patch is now in rpi-4.20.y and rpi-5.0.y. |
Thanks. This patch solves issue again 😄 |
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: raspberrypi#2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: #2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: raspberrypi/linux#2643 Signed-off-by: Phil Elwell <[email protected]>
The new cache line size mechanism requires a different vchiq compatible string on BCM2836 and BCM2837, but the downstream dts files didn't inherit the upstream changes. See: raspberrypi/linux#2643 Signed-off-by: Phil Elwell <[email protected]>
With the current rpi-4.18.y kernel and latest rpi-update firmware (version 7e7f762267acd3e85aa3b72724f969b40fa4179c, Aug 8 2018 16:02:15) tvservice -m displays a corrupted list of modes. Several modes, resolutions and clocks show up as 0. This is especially bad as the preferred / current mode is missing.
eg when connected to a HP1755 (1280x1024, only DMT, no CEA modes)
on kernel 4.18
on kernel 4.14 (current rpi-update kernel, same fw version as above) the output is fine
The text was updated successfully, but these errors were encountered: