Skip to content
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

Enable multicodec sound cards #6595

Open
wants to merge 753 commits into
base: rpi-6.12.y
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
753 commits
Select commit Hold shift + click to select a range
527241f
Bluetooth: hci_sync: Fix crash on NULL parent
pelwell Aug 7, 2024
39e2e97
rtc: pcf8523: Fix oscillator stop bit handling reading from Control_1
Paladinking Aug 28, 2024
a2e05f6
media: dt-bindings: i2c: Add Sony IMX500
roliver-rpi May 24, 2024
21c9bb7
media: i2c: Add driver for Sony IMX500 sensor
roliver-rpi Jun 27, 2024
e2926c6
lib: earlycpio: export symbol find_cpio_data()
roliver-rpi Jun 20, 2024
b73a6fa
media: i2c: ov5647: Add control of V4L2_CID_HBLANK
6by9 Sep 9, 2024
55dddb6
drm: panel: ili9881: Correct symmetry on enable/disable return codes
6by9 Sep 13, 2024
a5519ac
drm: panel: ili9881: Add option to reconfigure setup commands
6by9 Sep 18, 2024
95fa6ce
drivers: media: imx500: Enable LS correction
naushir Oct 11, 2024
dd97c78
NotForUpstream: media: video-mux: Propagate controls to source
kbingham Oct 10, 2024
c489285
media: platform: video-mux: Fix mutex locking
Rahi374 Oct 10, 2024
f395437
media: i2c: ov5647: Tidy up mode registers to make the order common
6by9 Oct 15, 2024
d5f0bec
media: i2c: ov5647: Separate out the common registers.
6by9 Oct 15, 2024
7dd1f39
media: i2c: ov5647: Use the same PLL config for full, 1080p, and binn…
6by9 Oct 15, 2024
9f56437
media: i2c: ov5647: Add V4L2_CID_LINK_FREQUENCY control
6by9 Oct 15, 2024
823a771
dma-buf: system_heap: Allow specifying maximum allocation order
Jul 17, 2024
943b540
mm/numa: Allow override of kernel's default NUMA policy
May 22, 2024
66065e7
numa/emulation: Check emulated zones around the CMA window
Jul 29, 2024
af7d92d
drivers: media: bcm2835_isp: Cache LS table dmabuf
naushir Oct 18, 2024
f92264b
mm/vmscan: Maintain TLB coherency in LRU code
pelwell Sep 12, 2024
8245f71
mmc: quirks: add more broken Kingston Canvas Go! SD card date ranges
P33M Oct 29, 2024
2607d31
dt-bindings: usb: snps,dwc3: add FS/HS periodic NAK polling quirk
P33M Nov 6, 2024
114f8eb
usb: dwc3: core: add support for setting NAK enhancement bits for FS/HS
P33M Nov 6, 2024
db5f0b4
drivers: usb: xhci: prevent a theoretical race on non-coherent platforms
P33M Nov 6, 2024
8f97c49
iio: humidity: dht11: Allow non-zero decimals
pelwell Nov 4, 2024
068bd10
drm: Set non-desktop property to true for writeback and virtual conne…
6by9 Aug 20, 2024
fbb83e6
drm: Increase plane_mask to 64bit.
6by9 Oct 21, 2022
43a67a8
drm: Add a DRM_MODE_TRANSPOSE option to the DRM rotation property
6by9 Oct 22, 2024
be9d46b
drm: Add a rotation parameter to connectors.
6by9 Oct 22, 2024
6e7ce66
dmaengine: dw-axi-dmac: Allow client-chosen width
pelwell Sep 19, 2024
f6357bd
spi: dw: Let the DMAC set the transfer widths
pelwell Sep 19, 2024
3e59fda
serial: pl011: Request a memory width of 1 byte
pelwell Sep 19, 2024
f7b0b4c
drivers: usb: xhci: set HID bit in streaming endpoint contexts
P33M Nov 11, 2024
a419834
media: i2c: imx477: Add options for slightly modifying the link freq
6by9 Nov 14, 2024
6f80e37
dtoverlays: Add link-frequency override to imx477/378 overlay
6by9 Nov 14, 2024
e2ca009
dmaengine: dw-axi-dmac: Only start idle channels
pelwell Nov 13, 2024
3e8f727
mailbox: Add RP1 mailbox support
pelwell Oct 31, 2024
335852b
firmware: Add an RP1 firmware interface over mbox
pelwell Oct 31, 2024
d02d099
dts: bcm2712-rpi: Add RP1 firmware and mailboxes
pelwell Nov 1, 2024
84d700c
misc: Add RP1 PIO driver
pelwell Oct 31, 2024
9e12d01
configs: Enable RP1 PIO support
pelwell Nov 1, 2024
aad5db2
dts: bcm2712-rpi: Add the RP1 PIO device
pelwell Nov 1, 2024
c46c7d4
pwm: Add pwm-pio-rp1 driver
pelwell Nov 8, 2024
b49e728
configs: Enable the pwm-pio-rp1 driver
pelwell Nov 7, 2024
4dabe79
overlays: Add pwm-pio overlay
pelwell Nov 7, 2024
bae753d
configs: enable driver for Vertexcom MSE102X
mhei Nov 17, 2024
909928e
drivers: media: pci: Update Hailo accelerator device driver to v4.19
naushir Oct 17, 2024
432f07d
dtoverlays: enable SPI CS active-high
ikerexxe Nov 18, 2024
8ccaea7
overlays: Enable Raspberry Touch 2 rotation with overlay
foonerd Nov 20, 2024
5d31218
PCI: brcmstb: set link speed before deasserting fundamental reset
P33M Nov 22, 2024
f10cb92
drm/connector: Initialise max_bpc to the minimum value supported
6by9 Nov 21, 2024
236f45a
drm/connector: hdmi: Disable the infoframes by default
6by9 Nov 21, 2024
776b2cd
drm/connector: hdmi: Attempt YUV422 output if RGB isn't supported
6by9 Nov 21, 2024
add427f
Adding Pimidi kernel module.
gtrainavicius Nov 21, 2024
d93bd8d
Include snd-pimidi kernel module in Raspberry Pi defconfigs
gtrainavicius Nov 21, 2024
aee15c9
Adding pimidi-overlay.dts
gtrainavicius Nov 21, 2024
ed97b8e
media: i2c: imx477: Fix link frequency menu
6by9 Nov 21, 2024
c0982fe
misc/rp1-pio: Fix copy/paste error in pio_rp1.h
pelwell Nov 25, 2024
9518605
misc: rp1-pio: Fix parameter checks wihout client
pelwell Nov 25, 2024
21fbf92
drm: vc4: dsi: Handle the different command FIFO widths
6by9 Nov 20, 2024
9f393af
dts: bcm2712-rpi: For CM5IO, i2c_csi_dsi needs to be CAM/DISP1
6by9 Nov 26, 2024
7db0e35
dts: bcm2712-rpi-cm5: Remove inaccessible USB_OC_N
pelwell Nov 27, 2024
848c359
overlays: qca7000: replace URL with textual hint
mhei Nov 29, 2024
997f6b2
dt-bindings: net: cdns,macb: Add compatible for Raspberry Pi RP1
6by9 Nov 11, 2024
dbfe855
net: macb: Add support for Raspberry Pi RP1 ethernet controller
6by9 Nov 11, 2024
1147106
rp1: clk: Only set PLL_SEC_RST in rp1_pll_divider_off
6by9 Nov 25, 2024
03c4629
rp1: clk: Rationalise the use of the CLK_IS_CRITICAL flag
6by9 Nov 8, 2024
19a2305
dt: arm64: Fixup RP1 ethernet DT configuration
6by9 Nov 11, 2024
d1ce077
clk: rp1: Add RP1_CLK_DMA.
6by9 Nov 13, 2024
494fae5
rp1: clk: Remove CLK_IGNORE_UNUSED flags
6by9 Nov 8, 2024
2ff43c0
dt: rp1: Use clk_sys for ethernet hclk and pclk
6by9 Nov 11, 2024
9c9f3a9
dt: rp1: Link RP1 DMA to the associated clock
6by9 Nov 13, 2024
121689c
dts: bcm2712-ds: Restore the A76 PMU declaration
pelwell Dec 3, 2024
f29493d
dts: rp1: Re-enable DMA to RP1 UART0
pelwell Dec 3, 2024
a6b3eb0
dts: bcm2712-ds: Restore gpio-direct to gio_aon
pelwell Dec 3, 2024
37a1c63
drm/vc4: plane: Keep fractional source coords inside state
popcornmix Jun 21, 2024
a3ea361
drm/vc4: plane: Handle fractional coordinates using the phase field
popcornmix Jun 21, 2024
55afa23
drm/vc4: crtc: Force trigger of dlist update on margins change
6by9 Jun 21, 2024
06b6c98
drm/vc4: plane: Add support for YUV444 formats
popcornmix Jun 21, 2024
63995dd
drm/vc4: hdmi: Warn if writing to an unknown HDMI register
mripard Jun 21, 2024
46a6add
drm/vc4: hvs: More logging for dlist generation
mripard Jun 21, 2024
e14d779
drm/vc4: hvs: Print error if we fail an allocation
mripard Jun 21, 2024
3791d83
drm/vc4: plane: Add more debugging for LBM allocation
mripard Jun 21, 2024
ef15e48
drm/vc4: plane: Use return variable in atomic_check
mripard Jun 21, 2024
9d6a04d
drm/vc4: crtc: Move assigned_channel to a variable
mripard Jun 21, 2024
c3f388b
drm/vc4: plane: YUV planes require vertical scaling to always be enabled
6by9 Jun 21, 2024
83e0682
drm/vc4: hvs: Remove ABORT_ON_EMPTY flag
popcornmix Jun 21, 2024
a53b2f0
drm/vc4: Make v3d paths unavailable on any generation newer than vc4
mripard Jun 21, 2024
dfafb48
drm/vc4: hvs: Use switch statement to simplify vc4_hvs_get_fifo_from_…
mripard Jun 21, 2024
ad5d59b
drm/vc4: hvs: Create hw_init function
mripard Jun 21, 2024
f569ad1
drm/vc4: hvs: Create cob_init function
mripard Jun 21, 2024
af4aab7
drm/vc4: hvs: Rename hvs_regs list
mripard Jun 21, 2024
05e087c
drm/vc4: plane: Change ptr0_offset to an array
mripard Jun 21, 2024
65b1c6d
drm/vc4: hvs: Rework LBM alignment
mripard Jun 21, 2024
ed45bad
drm/vc4: hvs: Change prototype of __vc4_hvs_alloc to pass registers
mripard Jun 21, 2024
1521068
drm/vc4: plane: Move the buffer offset out of the vc4_plane_state
6by9 Jun 21, 2024
1b1ef7e
drm/vc4: hvs: Enable SCALER_CONTROL early in HVS init
timg236 Jun 21, 2024
939cdb1
drm/vc4: Use `vc4_perfmon_find()`
mairacanal Oct 4, 2024
15d7927
drm/vc4: Use of_device_get_match_data to set generation
6by9 Oct 25, 2024
6a3b57c
drm/vc4: Fix reading of frame count on GEN5 / Pi4
6by9 Oct 25, 2024
13b5507
drm/vc4: drv: Support BCM2712
mripard Oct 25, 2024
616a3e4
drm/vc4: hvs: Add support for BCM2712 HVS
mripard Oct 25, 2024
871ea5a
drm/vc4: crtc: Add support for BCM2712 PixelValves
mripard Oct 25, 2024
b0b6ac8
drm/vc4: hdmi: Add support for BCM2712 HDMI controllers
mripard Oct 25, 2024
d4aaf11
drm/vc4: txp: Introduce structure to deal with revision differences
mripard Oct 25, 2024
d1d2a5f
drm/vc4: txp: Rename TXP data structure
mripard Oct 25, 2024
163461e
drm/vc4: txp: Add byte enable toggle bit
mripard Oct 25, 2024
d5366be
drm/vc4: txp: Add horizontal and vertical size offset toggle bit
mripard Oct 25, 2024
113123c
drm/vc4: txp: Handle 40-bits DMA Addresses
mripard Oct 25, 2024
3f14403
drm/vc4: txp: Move the encoder type in the variant structure
mripard Oct 25, 2024
ffa7b3a
drm/vc4: txp: Add a new TXP encoder type
mripard Oct 25, 2024
7bfc3a6
drm/vc4: txp: Add support for BCM2712 MOP
mripard Oct 25, 2024
1c9aba8
drm/vc4: txp: Add BCM2712 MOPLET support
mripard Oct 25, 2024
e6afdf4
drm/vc4: drv: Add support for 2712 D-step
6by9 Oct 25, 2024
3c1f107
drm/vc4: hvs: Add in support for 2712 D-step.
6by9 Oct 25, 2024
c49abdb
drm/vc4: plane: Add support for 2712 D-step.
6by9 Oct 25, 2024
5a6ddac
drm/vc4: hdmi: Support 2712 D-step register map
6by9 Oct 25, 2024
cc56251
drm/vc4: Add additional warn_on for incorrect revisions
mripard Oct 25, 2024
6699d25
drm/vc4: Enable bg_fill if there are no planes enabled
6by9 Oct 25, 2024
5ea90b0
drm/vc4: Drop planes that are completely off-screen or 0 crtc size
6by9 Oct 25, 2024
b6112c0
dt: Disabled vc4 by default on 2712
6by9 Dec 4, 2024
3e0d6cd
arch: arm64: broadcom: Add firmware clocks node
6by9 Jun 21, 2024
3522dc2
arm64: dts: broadcom: Add display pipeline support to BCM2712
6by9 Jun 21, 2024
59830ee
arm64: dts: broadcom: Add DT for D-step version of BCM2712
6by9 Oct 3, 2024
ee0fe20
arm64: dts: broadcom: Fixup downstream DT changes due to DRM merge
6by9 Dec 4, 2024
c207e4e
dtoverlays: enable gpu node from vc4-kms-v3d-pi5
6by9 Dec 4, 2024
543839f
drm/vc4: Use phys addresses for slave DMA config
pelwell May 11, 2023
a80c9ad
arm64: dts: broadcom: Fixup HVS address for downstream size-cells
6by9 Dec 4, 2024
671c022
drm/vc4: hvs: Defer dlist slots deallocation
mripard Dec 16, 2021
c5dd5a7
drm/vc4: Add hvs_dlist_allocs debugfs function.
6by9 Oct 27, 2023
b733e71
drm/vc4: Disable overrun interrupts
6by9 Jan 24, 2024
cdd8d1e
drm: vc4: Block swiotlb bounce buffers being imported as dmabuf
6by9 Nov 22, 2023
e558b14
drm/vc4: Add option to call from crtc to encoder on vblank
6by9 Apr 5, 2024
141cba0
drm: vc4: dsi: Clocks should be running before reset
6by9 Jun 8, 2022
ba5647c
drm: vc4: Reset DSI AFE on disable
6by9 May 26, 2022
6c55e36
drm/vc4: Ensure DSI is enabled for FIFO resets
6by9 Apr 5, 2024
edd3884
drm/vc4: Add vblank callback to DSI0 to reset FIFO
6by9 Apr 5, 2024
638681c
drm/vc4: Fixup mode for 7inch panel on DSI0
6by9 Apr 26, 2024
1c61f61
drm/vc4: dsi: Don't reset the host until post_disable
6by9 May 2, 2024
be2dfdd
drm: vc4: dsi: enable video and then retry failed transfers
6by9 Sep 20, 2024
bd152df
drm/vc4: Allow setting the TV norm via module parameter
Jul 14, 2021
5356fd4
drm/vc4: Make VEC progressive modes readily accessible
Jul 14, 2021
55890d7
drm/vc4: Initialise the tv_mode property default from cmdline_mode.
6by9 Jan 25, 2024
11d148a
vc4: Add jack detection to HDMI audio driver
cillian64 Feb 28, 2024
17850ba
drm/vc4: hdmi: Add a clear_infoframe hook
6by9 Nov 21, 2024
484862d
drm/vc4_hdmi: Allow hotplug detect to be forced
popcornmix Jun 1, 2022
ba5bfae
vc4/hdmi: Ignore hotplug interrupt with force_hotplug
popcornmix Apr 23, 2024
dab3faf
drm/vc4: Add a delay after disabling hdmi phy output
popcornmix Aug 12, 2024
b719e4f
drm/vc4: Implement vc6_hdmi_phy_disable
popcornmix Aug 13, 2024
16391ae
drm/vc4: Also power down the PLL core when resetting PHY
popcornmix Aug 13, 2024
0e13954
drm/vc4: dpi: Add override for RGB order
6by9 May 10, 2024
d47e7f7
vc4/drm:plane: Make use of chroma siting parameter
popcornmix Jan 27, 2022
785e6d1
drm/vc4: Add support for per plane scaling filter selection
6by9 Jul 25, 2024
2d8d7fd
drm/vc4: Use the TPZ scaling filter for 1x1 source images
6by9 Sep 11, 2024
df69ba6
drm/vc4: hvs: Defer updating the enable_bg_fill until vblank
6by9 Nov 12, 2024
91cdb61
drm/vc4: Increase number of overlay planes from 16 to 48
6by9 Oct 21, 2022
44e9045
drm/vc4: Assign 32 overlay planes to writeback only
6by9 Aug 15, 2023
c292429
drm/vc4: Do not include writeback conn load in load tracker
6by9 Sep 9, 2024
f7a84df
drm/vc4: Drop panic priority for writeback connector
6by9 Sep 9, 2024
9c81d4f
drm/vc4: txp: Add a rotation property to the writeback connector
6by9 Aug 14, 2024
726b4b9
drm/vc4: Remove request for min clocks when hdmi output is disabled
popcornmix Oct 14, 2024
4f5ccbd
drm/vc4: Disable the 2pixel/clock odd timings workaround for interlaced
popcornmix Oct 24, 2023
0ba33d2
drm/vc4: fkms: Add firmware-kms mode
6by9 Sep 7, 2020
4c2b918
drm/vc4: tests: Switch generation mockup to a switch
mripard Feb 17, 2023
e75dc34
drm/vc4: tests: Drop drm parameter for vc4_find_crtc_for_encoder
mripard Mar 24, 2023
8bbd5b1
drm/vc4: tests: Return the allocated output
mripard Mar 24, 2023
a76a74c
drm/vc4: tests: Add BCM2712 mock driver
mripard Feb 17, 2023
d30d0e0
drm/vc4: tests: Add tests for BCM2712 PixelValve Muxing
mripard Apr 14, 2023
d1d6002
drm/vc4: tests: Use custom plane state for mock
mripard Apr 14, 2023
6eda33a
drm/vc4: tests: Add function to lookup a plane for a CRTC
mripard Apr 14, 2023
448a8fe
drm/vc4: tests: Add helper to add a new plane to a state
mripard Apr 14, 2023
6276271
drm/vc4: tests: Support a few more plane formats
mripard Apr 14, 2023
3825fc9
drm/vc4: tests: Introduce a test for LBM buffer size
mripard Apr 14, 2023
ec7632e
drm/vc4: backport 27e0a194a256 and b3bf19552ea3
mairacanal Aug 6, 2024
f427d23
drm/vc4: Cache LBM allocations to avoid double-buffering
6by9 Sep 27, 2024
81b2fee
dtoverlays: bcm2712d0 - Don't change vc4 compatible string
6by9 Dec 4, 2024
1744bbd
arm64: dts: broadcom: Add dma-names for HDMI audio DMA
6by9 Dec 4, 2024
f19e5d1
raspberrypi-firmware: Add the RPI firmware UART APIs
timg236 Nov 1, 2024
3e0dfa2
serial: core: Add the Raspberry Pi firmware UART id
timg236 Nov 1, 2024
89044d7
serial: tty: Add a driver for the RPi firmware UART
timg236 Aug 28, 2024
d63f792
configs: Enable the RPi FW UART driver
timg236 Nov 1, 2024
c183ecd
dtoverlay: Add an overlay for the Raspberry Pi firmware UART
timg236 Nov 4, 2024
227ccfc
ARM: dts: Remove duplicate tags
pelwell Sep 18, 2024
10ae7bf
Allow setting I²C clock frequency via i2c_arm_baudrate dtparam when u…
gtrainavicius Dec 4, 2024
537f0ef
nvme-pci: Disable Host Memory Buffer usage
pelwell Dec 3, 2024
2b95998
serial: rpi-fw-uart: Demote debug log messages
pelwell Dec 5, 2024
93c58ca
dtoverlays: Add Arducam override for ov9281
6by9 Dec 2, 2024
5bf7fec
input: Add support for no irq to ili210x driver
Dec 5, 2024
c5e70f7
drm: panel: Added waveshare 13.3inch panel
Dec 5, 2024
675e6d7
overlays: Added waveshare 13.3inch panel support
Dec 5, 2024
e19d342
dts: bcm2712-ds: Dedup as upstream support expands
pelwell Dec 9, 2024
5d663cf
cgroup: Add cgroup_enable option
pelwell Dec 9, 2024
cfc3fba
media: i2c: ov9282: Correct the exposure offset
6by9 Dec 9, 2024
fa425e9
drm/v3d: Correct clock settng calls to new APIs
popcornmix Dec 9, 2024
0a44b34
drm: bridge: panel: Connector to allow interlaced modes
njhollinghurst Nov 19, 2024
ca06285
dts: overlays: vc4-kms-dpi-generic-overlay: Add "interlaced" property
njhollinghurst Nov 19, 2024
97df918
drm: rp1: rp1-dpi: Add interlaced modes and PIO program to fix VSYNC
njhollinghurst Dec 10, 2024
5f834d0
ASoC: allo-piano-dac-plus: Fix volume limit locking
pelwell Dec 11, 2024
0f599a7
drm: vc4: txp: Do not allow 24bpp formats when transposing
6by9 Dec 11, 2024
7ebe7b1
drm: Validate connector rotation has one bit set in the rotation prop…
6by9 Dec 12, 2024
4b1bfce
ASoC: allo-piano-dac-plus: Suppress -517 errors
pelwell Dec 12, 2024
dd1469d
drm: rp1: rp1-dpi: Fix optional dependency on RP1_PIO
njhollinghurst Dec 12, 2024
18b2c1c
serial: sc16is7xx: announce support for SER_RS485_RTS_ON_SEND
hvilleneuvedoo Oct 7, 2024
2a61292
dtoverlays: Add override for target-path on I2C overlays
6by9 Dec 16, 2024
ece9d6a
misc: rp1-pio: Support larger data transfers
pelwell Dec 16, 2024
851be8b
dtoverlays: Use continuous clock mode for ov9281
6by9 Dec 16, 2024
d7b9036
dts: bcm2712-ds: Restore the VGIC interrupt
pelwell Dec 19, 2024
3d883e9
overlays: goodix: Allow override i2c address
ragazenta Dec 18, 2024
e9886c9
configs: Restore RP1_PIO after dependency change
pelwell Dec 19, 2024
e28f7c7
misc: rp1-pio: More logical probe sequence
pelwell Dec 5, 2024
19368e9
misc: rp1-pio: Convert floats to 24.8 fixed point
pelwell Dec 9, 2024
07e5591
misc: rp1-pio: Minor cosmetic tweaks
pelwell Dec 10, 2024
ebb5cc1
misc: rp1-pio: Add in-kernel DMA support
pelwell Dec 12, 2024
7f68b52
misc: Add ws2812-pio-rp1 driver
pelwell Dec 3, 2024
cf29100
overlays: Add ws2812-pio overlay
pelwell Dec 12, 2024
2b2af83
configs: Enable the WS2812_PIO_RP1 driver
pelwell Dec 12, 2024
029b4b7
overlays: Add and document i2c_csi_dsi0 parameters
pelwell Dec 19, 2024
4b60603
dts: Add noanthogs parameter to CM4 and CM5
pelwell Dec 20, 2024
8a31601
configs: Enable PCM3168A driver
gordoste Dec 22, 2024
7e85025
soc: pcm3168a: Add DT binding to force clock consumer mode
gordoste Dec 22, 2024
cce62b6
docs: pcm3168a: Add DT bindings to force clock consumer mode
gordoste Dec 22, 2024
b734168
overlays: Add overlay for ezsound 6x8 soundcard
gordoste Dec 22, 2024
334b854
overlays: Compile the new overlay
gordoste Dec 22, 2024
6981876
overlays: Add ezsound-6x8iso overlay to README
gordoste Dec 22, 2024
7c124fb
Revert "PCI: Warn if no host bridge NUMA node info"
pelwell Jan 1, 2025
344d5b1
Add Pi 500 and CM5 as a device to bug_report.yml
nbuchwitz Dec 21, 2024
9355d4e
Update the Issue template
andrum993 Dec 21, 2024
a7a21ad
Add and update files for pwm-gpio-fan overlay
herbingk Dec 31, 2024
44cb781
filemap: avoid truncating 64-bit offset to 32 bits
marcone Dec 31, 2024
53654ae
media: i2c: imx290: Limit analogue gain according to module
6by9 Nov 20, 2024
7df545e
media: i2c: imx290: Register 0x3011 varies between imx327 and imx290
6by9 Nov 20, 2024
4be2a1a
media: dt-bindings: sony,imx290: Add IMX462 to the IMX290 binding
6by9 Nov 20, 2024
4546b86
media: i2c: imx290: Add configuration for IMX462
6by9 Nov 20, 2024
70ea1a4
media: imx290: Add module parameter to allow selection of HCG mode
6by9 May 15, 2024
b4d81db
dtoverlays: Switch imx462 overlay to use the new compatible
6by9 Nov 12, 2024
6af7775
PCI: brcmstb: don't use ASPM state defines for register bits
P33M Jan 7, 2025
03f2d50
dts: bcm2711: PL011 UARTs are actually r1p5
pelwell Jan 7, 2025
eebf2df
dts: bcm2712: PL011 UARTs are actually r1p5
pelwell Jan 7, 2025
faa16be
dts: rp1: PL011 UARTs are actually r1p5
pelwell Jan 7, 2025
11a5c0b
media: rp1-cfe: Fix up link validation for CFE CFG input
6by9 Jan 7, 2025
666f8b1
defconfigs: Add IMX415 to all Pi defconfigs
6by9 Jan 2, 2025
47ed1f0
dtoverlays: Add overlay for Sony IMX415 image sensor
6by9 Dec 31, 2024
4d5fea8
media: i2c: imx415: Add read/write control of VBLANK
6by9 Jan 1, 2025
843f37f
media: i2c: imx415: Make HBLANK controllable and in consistent units
6by9 Jan 1, 2025
7cdbd16
media: i2c: imx415: Link frequencies are not exclusive to num lanes
6by9 Jan 2, 2025
da53e41
fixup! drm: Add chroma siting properties
pelwell Jan 9, 2025
cd47d5c
ASoC: pcm512x: Demote "No SCLK" to debug level
pelwell Jan 8, 2025
9147c0b
ASoC: allo-piano-dac-plus: Fix volume limiting
pelwell Jan 8, 2025
bd18ae2
ASoC: allo-piano-dac-plus: Remove pointless code
pelwell Jan 8, 2025
89369f7
ASoC: Enable providing clocks for multiple codecs
gordoste Jan 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
drm/vc4: Disable the 2pixel/clock odd timings workaround for interlaced
Whilst BCM2712 does fix using odd horizontal timings, it doesn't
work with interlaced modes.

Drop the workaround for interlaced modes and revert to the same
behaviour as BCM2711.

#6281

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  • Loading branch information
popcornmix committed Jan 2, 2025
commit 4f5ccbd9acb09b9038853fd0201b9b2ade03d109
20 changes: 17 additions & 3 deletions drivers/gpu/drm/vc4/vc4_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,9 @@ static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_encoder *encode
bool is_dsi1 = vc4_encoder->type == VC4_ENCODER_TYPE_DSI1;
bool is_vec = vc4_encoder->type == VC4_ENCODER_TYPE_VEC;
u32 format = is_dsi1 ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24;
u8 ppc = pv_data->pixels_per_clock;
u8 ppc = (mode->flags & DRM_MODE_FLAG_INTERLACE) ?
pv_data->pixels_per_clock_int :
pv_data->pixels_per_clock;

u16 vert_bp = mode->crtc_vtotal - mode->crtc_vsync_end;
u16 vert_sync = mode->crtc_vsync_end - mode->crtc_vsync_start;
Expand Down Expand Up @@ -426,7 +428,8 @@ static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_encoder *encode
*/
CRTC_WRITE(PV_V_CONTROL,
PV_VCONTROL_CONTINUOUS |
(vc4->gen >= VC4_GEN_6_C ? PV_VCONTROL_ODD_TIMING : 0) |
(vc4->gen >= VC4_GEN_6_C && ppc == 1 ?
PV_VCONTROL_ODD_TIMING : 0) |
(is_dsi ? PV_VCONTROL_DSI : 0) |
PV_VCONTROL_INTERLACE |
(odd_field_first
Expand All @@ -438,7 +441,8 @@ static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_encoder *encode
} else {
CRTC_WRITE(PV_V_CONTROL,
PV_VCONTROL_CONTINUOUS |
(vc4->gen >= VC4_GEN_6_C ? PV_VCONTROL_ODD_TIMING : 0) |
(vc4->gen >= VC4_GEN_6_C && ppc == 1 ?
PV_VCONTROL_ODD_TIMING : 0) |
(is_dsi ? PV_VCONTROL_DSI : 0));
CRTC_WRITE(PV_VSYNCD_EVEN, 0);
}
Expand Down Expand Up @@ -1208,6 +1212,7 @@ const struct vc4_pv_data bcm2835_pv0_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 1,
.encoder_types = {
[PV_CONTROL_CLK_SELECT_DSI] = VC4_ENCODER_TYPE_DSI0,
[PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI] = VC4_ENCODER_TYPE_DPI,
Expand All @@ -1223,6 +1228,7 @@ const struct vc4_pv_data bcm2835_pv1_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 1,
.encoder_types = {
[PV_CONTROL_CLK_SELECT_DSI] = VC4_ENCODER_TYPE_DSI1,
[PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI] = VC4_ENCODER_TYPE_SMI,
Expand All @@ -1238,6 +1244,7 @@ const struct vc4_pv_data bcm2835_pv2_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 1,
.encoder_types = {
[PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI] = VC4_ENCODER_TYPE_HDMI0,
[PV_CONTROL_CLK_SELECT_VEC] = VC4_ENCODER_TYPE_VEC,
Expand All @@ -1253,6 +1260,7 @@ const struct vc4_pv_data bcm2711_pv0_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 1,
.encoder_types = {
[0] = VC4_ENCODER_TYPE_DSI0,
[1] = VC4_ENCODER_TYPE_DPI,
Expand All @@ -1268,6 +1276,7 @@ const struct vc4_pv_data bcm2711_pv1_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 1,
.encoder_types = {
[0] = VC4_ENCODER_TYPE_DSI1,
[1] = VC4_ENCODER_TYPE_SMI,
Expand All @@ -1283,6 +1292,7 @@ const struct vc4_pv_data bcm2711_pv2_data = {
},
.fifo_depth = 256,
.pixels_per_clock = 2,
.pixels_per_clock_int = 2,
.encoder_types = {
[0] = VC4_ENCODER_TYPE_HDMI0,
},
Expand All @@ -1297,6 +1307,7 @@ const struct vc4_pv_data bcm2711_pv3_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 1,
.encoder_types = {
[PV_CONTROL_CLK_SELECT_VEC] = VC4_ENCODER_TYPE_VEC,
},
Expand All @@ -1311,6 +1322,7 @@ const struct vc4_pv_data bcm2711_pv4_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 2,
.pixels_per_clock_int = 2,
.encoder_types = {
[0] = VC4_ENCODER_TYPE_HDMI1,
},
Expand All @@ -1324,6 +1336,7 @@ const struct vc4_pv_data bcm2712_pv0_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 2,
.encoder_types = {
[0] = VC4_ENCODER_TYPE_HDMI0,
},
Expand All @@ -1337,6 +1350,7 @@ const struct vc4_pv_data bcm2712_pv1_data = {
},
.fifo_depth = 64,
.pixels_per_clock = 1,
.pixels_per_clock_int = 2,
.encoder_types = {
[0] = VC4_ENCODER_TYPE_HDMI1,
},
Expand Down
2 changes: 2 additions & 0 deletions drivers/gpu/drm/vc4/vc4_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,8 @@ struct vc4_pv_data {

/* Number of pixels output per clock period */
u8 pixels_per_clock;
/* Number of pixels output per clock period when in an interlaced mode */
u8 pixels_per_clock_int;

enum vc4_encoder_type encoder_types[4];
};
Expand Down
8 changes: 7 additions & 1 deletion drivers/gpu/drm/vc4/vc4_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1765,7 +1765,9 @@ static int vc4_hdmi_encoder_atomic_check(struct drm_encoder *encoder,
unsigned long long tmds_char_rate = mode->clock * 1000;
unsigned long long tmds_bit_rate;

if (vc4_hdmi->variant->unsupported_odd_h_timings) {
if (vc4_hdmi->variant->unsupported_odd_h_timings ||
(vc4_hdmi->variant->unsupported_int_odd_h_timings &&
(mode->flags & DRM_MODE_FLAG_INTERLACE))) {
if (mode->flags & DRM_MODE_FLAG_DBLCLK) {
/* Only try to fixup DBLCLK modes to get 480i and 576i
* working.
Expand Down Expand Up @@ -3481,6 +3483,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
PHY_LANE_CK,
},
.unsupported_odd_h_timings = true,
.unsupported_int_odd_h_timings = true,
.external_irq_controller = true,

.init_resources = vc5_hdmi_init_resources,
Expand Down Expand Up @@ -3510,6 +3513,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = {
PHY_LANE_2,
},
.unsupported_odd_h_timings = true,
.unsupported_int_odd_h_timings = true,
.external_irq_controller = true,

.init_resources = vc5_hdmi_init_resources,
Expand Down Expand Up @@ -3539,6 +3543,7 @@ static const struct vc4_hdmi_variant bcm2712_hdmi0_variant = {
PHY_LANE_CK,
},
.unsupported_odd_h_timings = false,
.unsupported_int_odd_h_timings = true,
.external_irq_controller = true,

.init_resources = vc5_hdmi_init_resources,
Expand Down Expand Up @@ -3566,6 +3571,7 @@ static const struct vc4_hdmi_variant bcm2712_hdmi1_variant = {
PHY_LANE_CK,
},
.unsupported_odd_h_timings = false,
.unsupported_int_odd_h_timings = true,
.external_irq_controller = true,

.init_resources = vc5_hdmi_init_resources,
Expand Down
4 changes: 4 additions & 0 deletions drivers/gpu/drm/vc4/vc4_hdmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ struct vc4_hdmi_variant {

/* The BCM2711 cannot deal with odd horizontal pixel timings */
bool unsupported_odd_h_timings;
/* The BCM2712 can handle odd horizontal pixel timings, but not in
* interlaced modes
*/
bool unsupported_int_odd_h_timings;

/*
* The BCM2711 CEC/hotplug IRQ controller is shared between the
Expand Down