mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
|
From b6b9915ad0b9c70c3b7edc45dfca2fdcfd4ba5cb Mon Sep 17 00:00:00 2001
|
||
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
Date: Thu, 11 Aug 2022 13:59:34 +0100
|
||
|
Subject: [PATCH] drm/vc4: Set AXI panic modes for the HVS
|
||
|
|
||
|
The HVS can change AXI request mode based on how full the COB
|
||
|
FIFOs are.
|
||
|
Until now the vc4 driver has been relying on the firmware to
|
||
|
have set these to sensible values.
|
||
|
|
||
|
With HVS channel 2 now being used for live video, change the
|
||
|
panic mode for all channels to be explicitly set by the driver,
|
||
|
and the same for all channels.
|
||
|
|
||
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
---
|
||
|
drivers/gpu/drm/vc4/vc4_hvs.c | 11 +++++++++++
|
||
|
1 file changed, 11 insertions(+)
|
||
|
|
||
|
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
|
||
|
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
|
||
|
@@ -1149,6 +1149,17 @@ static int vc4_hvs_bind(struct device *d
|
||
|
dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC1);
|
||
|
dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2);
|
||
|
|
||
|
+ /* Set AXI panic mode.
|
||
|
+ * VC4 panics when < 2 lines in FIFO.
|
||
|
+ * VC5 panics when less than 1 line in the FIFO.
|
||
|
+ */
|
||
|
+ dispctrl &= ~(SCALER_DISPCTRL_PANIC0_MASK |
|
||
|
+ SCALER_DISPCTRL_PANIC1_MASK |
|
||
|
+ SCALER_DISPCTRL_PANIC2_MASK);
|
||
|
+ dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC0);
|
||
|
+ dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC1);
|
||
|
+ dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2);
|
||
|
+
|
||
|
HVS_WRITE(SCALER_DISPCTRL, dispctrl);
|
||
|
|
||
|
/* Recompute Composite Output Buffer (COB) allocations for the displays
|