linux-stable/drivers/gpu/drm/ast
KuoHsiang Chou 594e9c04b5 drm/ast: Create the driver for ASPEED proprietory Display-Port
V1:
1. The MCU FW controling ASPEED DP is loaded by BMC boot loader.
2. Driver starts after CR[3:1] == 111b that indicates Tx is ASTDP,
   and CRD1[5] has been asserted by BMVC boot loader.
3. EDID is prioritized by DP monitor.
4. DP's EDID has high priority to decide resolution supporting.

V2:
Modules description:
1. ASTDP (ASPEED DisplayPort) is controlled by dedicated
   AST-MCU (ASPEED propriatary MCU).
2. MCU is looping in charged of HPD, Read EDID, Link Training with
   DP sink.
3. ASTDP and AST-MUC reside in BMC (Baseboard Management controller)
   addressing-space.
4. ASPEED DRM driver requests MCU to get HPD and EDID by CR-scratched
   register.

Booting sequence:
1. Check if TX is ASTDP					// ast_dp_launch()
2. Check if DP-MCU FW has loaded					// ast_dp_launch()
3. Read EDID					// ast_dp_read_edid()
4. Resolution switch					// ast_dp_SetOutput()

V3:
1. Remove unneeded semicolon.
2. Apply to git://anongit.freedesktop.org/drm/drm, instead of
   git://anongit.freedesktop.org/drm/drm-misc
3. Resolve auto build test WARNINGs on V1 patch.

V4:
1. Sync code-base with kernel 5.17_rc6
2. Remove the define of DPControlPower, because DP chips need to be
   powered on to be used.
3. Remove the switches of PHY and Display from EDID procedure.
4. Revise increaing delay to fixed delay, because this version kernel
   doesn't detect minitor consistenntly.
5. Create clean-up code used for reset of power state on errors with
   -EIO manner.
6. Revise the DP detection by TX type and its DP-FW status during
   booting and resume.
7. Correct the CamelCase Style.
8. Use register reading while needing, and remove to hold full
   register.
9. Instead of 'u8', revise to 'bool' on swwitch of PHY and video.
10.Correct typo
11.Remove the duplicated copy of TX definition.
12.Use EDID_LENGTH as the constant of 128.

Signed-off-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20220428075603.20904-1-kuohsiang_chou@aspeedtech.com
2022-05-03 16:04:03 +02:00
..
ast_dp.c drm/ast: Create the driver for ASPEED proprietory Display-Port 2022-05-03 16:04:03 +02:00
ast_dp501.c drm/ast: Remove unused value dp501_maxclk 2022-02-08 13:38:46 +01:00
ast_dram_tables.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ast_drv.c drm/ast: Replace module-init boiler-plate code with DRM helpers 2022-01-19 18:39:55 +01:00
ast_drv.h drm/ast: Create the driver for ASPEED proprietory Display-Port 2022-05-03 16:04:03 +02:00
ast_i2c.c drm/ast: Move I2C code into separate source file 2021-12-16 12:29:22 +01:00
ast_main.c drm/ast: Create the driver for ASPEED proprietory Display-Port 2022-05-03 16:04:03 +02:00
ast_mm.c drm/ast: Use managed interfaces for framebuffer write combining 2021-09-23 09:26:09 +02:00
ast_mode.c drm/ast: Create the driver for ASPEED proprietory Display-Port 2022-05-03 16:04:03 +02:00
ast_post.c drm/ast: Create the driver for ASPEED proprietory Display-Port 2022-05-03 16:04:03 +02:00
ast_tables.h Revert "drm/ast: Support 1600x900 with 108MHz PCLK" 2022-01-26 10:26:51 +01:00
Kconfig drm/vram: fix Kconfig 2019-09-10 08:53:08 +02:00
Makefile drm/ast: Create the driver for ASPEED proprietory Display-Port 2022-05-03 16:04:03 +02:00