openwrt/target/linux/bcm27xx/patches-4.19/950-0526-drm-vc4-Need-to-call-drm_crtc_vblank_-on-off-from-vc.patch
Adrian Schmutzler 7d7aa2fd92 brcm2708: rename target to bcm27xx
This change makes the names of Broadcom targets consistent by using
the common notation based on SoC/CPU ID (which is used internally
anyway), bcmXXXX instead of brcmXXXX.
This is even used for target TITLE in make menuconfig already,
only the short target name used brcm so far.

Despite, since subtargets range from bcm2708 to bcm2711, it seems
appropriate to use bcm27xx instead of bcm2708 (again, as already done
for BOARDNAME).

This also renames the packages brcm2708-userland and brcm2708-gpu-fw.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-02-14 14:10:51 +01:00

47 lines
1.5 KiB
Diff

From fe2432615ecc3500cc265d6b84334950b9cbd4bf Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 9 Apr 2019 18:14:44 +0100
Subject: [PATCH] from
vc4_crtc_[en|dis]able
vblank needs to be enabled and disabled by the driver to avoid the
DRM framework complaining in the kernel log.
vc4_fkms_disable_vblank needs to signal that we don't want vblank
callbacks too.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
drivers/gpu/drm/vc4/vc4_firmware_kms.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
@@ -562,6 +562,8 @@ static void vc4_crtc_mode_set_nofb(struc
static void vc4_crtc_disable(struct drm_crtc *crtc, struct drm_crtc_state *old_state)
{
+ drm_crtc_vblank_off(crtc);
+
/* Always turn the planes off on CRTC disable. In DRM, planes
* are enabled/disabled through the update/disable hooks
* above, and the CRTC enable/disable independently controls
@@ -577,6 +579,7 @@ static void vc4_crtc_disable(struct drm_
static void vc4_crtc_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state)
{
+ drm_crtc_vblank_on(crtc);
/* Unblank the planes (if they're supposed to be displayed). */
if (crtc->primary->state->fb)
@@ -673,6 +676,9 @@ static int vc4_fkms_enable_vblank(struct
static void vc4_fkms_disable_vblank(struct drm_crtc *crtc)
{
+ struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
+
+ vc4_crtc->vblank_enabled = false;
}
static const struct drm_crtc_funcs vc4_crtc_funcs = {