diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 18:04:33 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 23:42:32 +0100 |
commit | f07e572f6447465d8938679533d604e402b0f066 (patch) | |
tree | cb333bd2a67e59e7c07659514850a0fd55fc825e /target/linux/bcm27xx/patches-5.4/950-0330-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch | |
parent | 5d3a6fd970619dfc55f8259035c3027d7613a2a6 (diff) | |
download | upstream-f07e572f6447465d8938679533d604e402b0f066.tar.gz upstream-f07e572f6447465d8938679533d604e402b0f066.tar.bz2 upstream-f07e572f6447465d8938679533d604e402b0f066.zip |
bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0330-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0330-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0330-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch b/target/linux/bcm27xx/patches-5.4/950-0330-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch deleted file mode 100644 index 812f69643f..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0330-drm-vc4-Added-calls-for-firmware-display-blank-unbla.patch +++ /dev/null @@ -1,88 +0,0 @@ -From b92ed4ca0f9be3c8cc1a21dbbef346338d336329 Mon Sep 17 00:00:00 2001 -From: James Hughes <james.hughes@raspberrypi.org> -Date: Wed, 16 Oct 2019 14:49:23 +0100 -Subject: [PATCH] drm:vc4 Added calls for firmware display - blank/unblank - -Requires new display power mailbox call to be present. - -Signed-off-by: James Hughes <james.hughes@raspberrypi.org> ---- - drivers/gpu/drm/vc4/vc4_firmware_kms.c | 26 ++++++++++++++++++++++ - include/soc/bcm2835/raspberrypi-firmware.h | 2 +- - 2 files changed, 27 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c -+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -94,6 +94,12 @@ struct mailbox_blank_display { - u32 blank; - }; - -+struct mailbox_display_pwr { -+ struct rpi_firmware_property_tag_header tag1; -+ u32 display; -+ u32 state; -+}; -+ - struct mailbox_get_edid { - struct rpi_firmware_property_tag_header tag1; - u32 block; -@@ -274,6 +280,8 @@ to_vc4_crtc_state(struct drm_crtc_state - struct vc4_fkms_encoder { - struct drm_encoder base; - bool hdmi_monitor; -+ bool rgb_range_selectable; -+ int display_num; - }; - - static inline struct vc4_fkms_encoder * -@@ -1637,13 +1645,29 @@ static const struct drm_encoder_funcs vc - .destroy = vc4_fkms_encoder_destroy, - }; - -+static void vc4_fkms_display_power(struct drm_encoder *encoder, bool power) -+{ -+ struct vc4_fkms_encoder *vc4_encoder = to_vc4_fkms_encoder(encoder); -+ struct vc4_dev *vc4 = to_vc4_dev(encoder->dev); -+ -+ struct mailbox_display_pwr pwr = { -+ .tag1 = {RPI_FIRMWARE_SET_DISPLAY_POWER, 8, 0, }, -+ .display = vc4_encoder->display_num, -+ .state = power ? 1 : 0, -+ }; -+ -+ rpi_firmware_property_list(vc4->firmware, &pwr, sizeof(pwr)); -+} -+ - static void vc4_fkms_encoder_enable(struct drm_encoder *encoder) - { -+ vc4_fkms_display_power(encoder, true); - DRM_DEBUG_KMS("Encoder_enable\n"); - } - - static void vc4_fkms_encoder_disable(struct drm_encoder *encoder) - { -+ vc4_fkms_display_power(encoder, false); - DRM_DEBUG_KMS("Encoder_disable\n"); - } - -@@ -1719,6 +1743,8 @@ static int vc4_fkms_create_screen(struct - if (!vc4_encoder) - return -ENOMEM; - vc4_crtc->encoder = &vc4_encoder->base; -+ -+ vc4_encoder->display_num = display_ref; - vc4_encoder->base.possible_crtcs |= drm_crtc_mask(crtc) ; - - drm_encoder_init(drm, &vc4_encoder->base, &vc4_fkms_encoder_funcs, ---- a/include/soc/bcm2835/raspberrypi-firmware.h -+++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -153,7 +153,7 @@ enum rpi_firmware_property_tag { - RPI_FIRMWARE_GET_DISPLAY_TIMING = 0x00040017, - RPI_FIRMWARE_SET_TIMING = 0x00048017, - RPI_FIRMWARE_GET_DISPLAY_CFG = 0x00040018, -- -+ RPI_FIRMWARE_SET_DISPLAY_POWER = 0x00048019, - RPI_FIRMWARE_GET_COMMAND_LINE = 0x00050001, - RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, - }; |