linux-stable/drivers/gpu/drm/sun4i
Jonathan Liu f11adcecbd
drm/sun4i: tcon: Add dithering support for RGB565/RGB666 LCD panels
The hardware supports dithering on TCON channel 0 which is used for LCD
panels.

Dithering is a method of approximating a color from a mixture of other
colors when the required color isn't available. It reduces color
banding artifacts that can be observed when displaying gradients
(e.g. grayscale gradients). This may occur when the image that needs
to be displayed is 24-bit but the LCD panel is a lower bit depth and
does not perform dithering on its own.

Signed-off-by: Jonathan Liu <net147@gmail.com>
[wens@csie.org: check display_info.bpc first; handle LVDS and MIPI DSI]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180907041948.19913-4-wens@csie.org
2018-09-07 13:23:07 +02:00
..
Kconfig drm/sun4i: fix build failure with CONFIG_DRM_SUN8I_MIXER=m 2018-07-12 09:35:19 +02:00
Makefile BackMerge v4.18-rc7 into drm-next 2018-07-30 10:39:22 +10:00
sun4i_backend.c drm/sun4i: Use (struct drm_format_info) fields to determine if a format is yuv and multi planar or not. 2018-07-24 14:34:41 +02:00
sun4i_backend.h drm/sun4i: sun4i: Introduce a quirk for lowest plane alpha support 2018-07-19 17:08:28 +02:00
sun4i_crtc.c drm/sun4i: Use drm_crtc_mask() 2018-07-02 18:45:56 +03:00
sun4i_crtc.h
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: Add support for A64 display engine 2018-09-05 09:18:51 +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.h
sun4i_hdmi_ddc_clk.c
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
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_layer.c drm/sun4i: Use __drm_atomic_helper_plane_reset instead of copying the logic 2018-08-06 11:47:11 +01: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
sun4i_tcon.c drm/sun4i: tcon: Add dithering support for RGB565/RGB666 LCD panels 2018-09-07 13:23:07 +02:00
sun4i_tcon.h drm/sun4i: tcon: Rename Dithering related register macros 2018-09-07 13:23:01 +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 headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02: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: Add support for HDMI voltage regulator 2018-09-05 09:20:28 +02:00
sun8i_dw_hdmi.h drm/sun4i: Add support for HDMI voltage regulator 2018-09-05 09:20:28 +02:00
sun8i_hdmi_phy.c drm/sun4i: Add support for A64 HDMI PHY 2018-06-27 21:44:03 +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_mixer.c drm/sun4i: Add support for A64 mixers 2018-09-05 09:18:34 +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: Use struct_size() in devm_kzalloc() 2018-08-24 16:02:10 +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