linux_dsm_epyc7002/drivers/gpu/drm/sun4i
Paul Kocialkowski d8b3f454da
drm/sun4i: sun8i: Avoid clearing blending order at each atomic commit
Blending order is set based on the z position of each DRM plane. The
blending order register is currently cleared at each atomic DRM commit,
with the intent that each committed plane will set the appropriate
bits (based on its z-pos) when enabling the plane.

However, it sometimes happens that a particular plane is left unchanged
by an atomic commit and thus will not be configured again. In that
scenario, blending order is cleared and only the bits relevant for the
planes affected by the commit are set. This leaves the planes that did
not change without their blending order set in the register, leading
to that plane not being displayed.

Instead of clearing the blending order register at every atomic commit,
this change moves the register's initial clear at bind time and only
clears the bits for a specific plane when disabling it or changing its
zpos.

This way, planes that are left untouched by a DRM atomic commit are
no longer disabled.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180717122522.11327-1-paul.kocialkowski@bootlin.com
2018-07-17 17:30:59 +02:00
..
Kconfig drm/sun4i: fix build failure with CONFIG_DRM_SUN8I_MIXER=m 2018-07-12 09:35:19 +02:00
Makefile drm/sun4i: fix build failure with CONFIG_DRM_SUN8I_MIXER=m 2018-07-12 09:35:19 +02:00
sun4i_backend.c drm/sun4i: Add support for plane alpha 2018-04-16 21:21:16 +02:00
sun4i_backend.h drm/sun4i: Add support for plane alpha 2018-04-16 21:21:16 +02:00
sun4i_crtc.c drm/sun4i: Use drm_crtc_mask() 2018-07-02 18:45:56 +03:00
sun4i_crtc.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_dotclock.c drm/sun4i: Fix dclk_set_phase 2018-03-01 10:41:27 +01:00
sun4i_dotclock.h
sun4i_drv.c drm/sun4i: Replace drm_dev_unref with drm_dev_put 2018-07-17 14:17:06 +02:00
sun4i_drv.h drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_framebuffer.c drm/sun4i: backend: Add support for zpos 2018-01-29 14:02:40 +01:00
sun4i_framebuffer.h drm/sun4i: Use drm_fb_cma_fbdev_init/fini() 2017-12-08 14:47:42 +01:00
sun4i_frontend.c drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_frontend.h drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_hdmi_ddc_clk.c drm/sun4i: tcon: Don't rely on encoders to set the TCON mode 2017-10-17 19:49:13 +02:00
sun4i_hdmi_enc.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun4i_hdmi_i2c.c drm/sun4i: hdmi: Add support for controller hardware variants 2017-10-11 09:53:33 +02:00
sun4i_hdmi_tmds_clk.c drm/sun4i: hdmi: Add missing rate halving check in sun4i_tmds_determine_rate 2018-01-11 13:25:43 +01:00
sun4i_hdmi.h drm/sun4i: hdmi: Document PAD_CTRL1 output invert bits 2017-10-16 09:54:21 +02:00
sun4i_layer.c drm/sun4i: Add support for plane alpha 2018-04-16 21:21:16 +02:00
sun4i_layer.h drm/sun4i: backend: Assign the pipes automatically 2018-02-22 16:19:52 +01:00
sun4i_lvds.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun4i_lvds.h drm/sun4i: Add LVDS support 2018-01-04 20:37:17 +01:00
sun4i_rgb.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun4i_rgb.h drm/sun4i: rgb: Pass tcon pointer when initializing RGB encoder 2017-03-07 22:18:24 +01:00
sun4i_tcon.c drm/sun4i: tcon: Release node when traversing of graph 2018-07-11 09:52:41 +02:00
sun4i_tcon.h drm/sun4i: Tie the DSI controller in the TCON 2018-04-11 13:19:28 +02:00
sun4i_tv.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun6i_drc.c drm/sun4i: Add driver support for A80 display pipeline 2018-03-19 15:40:24 +01:00
sun6i_mipi_dphy.c drm/sun4i: Add Allwinner A31 MIPI-DSI controller support 2018-04-11 13:19:17 +02:00
sun6i_mipi_dsi.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun6i_mipi_dsi.h drm/sun4i: Add Allwinner A31 MIPI-DSI controller support 2018-04-11 13:19:17 +02:00
sun8i_csc.c drm/sun4i: Add DE2 CSC library 2017-12-05 13:22:44 +01:00
sun8i_csc.h drm/sun4i: Add DE2 CSC library 2017-12-05 13:22:44 +01:00
sun8i_dw_hdmi.c drm/sun4i: fix build failure with CONFIG_DRM_SUN8I_MIXER=m 2018-07-12 09:35:19 +02:00
sun8i_dw_hdmi.h drm/sun4i: Add support for second clock parent to DW HDMI PHY clk driver 2018-06-27 21:44:02 +02:00
sun8i_hdmi_phy_clk.c drm/sun4i: Add support for second clock parent to DW HDMI PHY clk driver 2018-06-27 21:44:02 +02:00
sun8i_hdmi_phy.c drm/sun4i: Add support for A64 HDMI PHY 2018-06-27 21:44:03 +02:00
sun8i_mixer.c drm/sun4i: sun8i: Avoid clearing blending order at each atomic commit 2018-07-17 17:30:59 +02:00
sun8i_mixer.h drm/sun4i: Implement zpos for DE2 2018-07-12 18:48:11 +02:00
sun8i_tcon_top.c drm/sun4i: tcon-top: Fix return type warning 2018-07-12 18:48:54 +02:00
sun8i_tcon_top.h drm/sun4i: tcon-top: Add helpers for mux switching 2018-07-11 09:54:54 +02:00
sun8i_ui_layer.c drm/sun4i: sun8i: Avoid clearing blending order at each atomic commit 2018-07-17 17:30:59 +02:00
sun8i_ui_layer.h drm/sun4i: Reorganize UI layer code in DE2 2017-12-05 13:22:43 +01:00
sun8i_ui_scaler.c drm/sun4i: Add support for HW scaling to DE2 2017-12-05 13:22:44 +01:00
sun8i_ui_scaler.h drm/sun4i: Add support for HW scaling to DE2 2017-12-05 13:22:44 +01:00
sun8i_vi_layer.c drm/sun4i: sun8i: Avoid clearing blending order at each atomic commit 2018-07-17 17:30:59 +02:00
sun8i_vi_layer.h drm/sun4i: Add support for DE2 VI planes 2017-12-05 13:22:43 +01:00
sun8i_vi_scaler.c drm/sun4i: Expand DE2 scaler lib with YUV support 2017-12-05 13:22:44 +01:00
sun8i_vi_scaler.h drm/sun4i: Expand DE2 scaler lib with YUV support 2017-12-05 13:22:44 +01:00
sunxi_engine.h drm/sun4i: Fix build warnings in sunxi_engine.h 2018-01-23 10:45:01 +01:00