[PATCH] drm: Parse Colorimetry data block from EDID

2020-08-26 Thread Algea Cao
CEA 861.3 spec adds colorimetry data block for HDMI. Parsing the block to get the colorimetry data from panel. Signed-off-by: Algea Cao --- drivers/gpu/drm/drm_edid.c | 45 + include/drm/drm_connector.h | 3 +++ include/drm/drm_edid.h | 14

[PATCH 5/6] drm/rockchip: dw_hdmi: Add get_output_bus_format

2020-08-12 Thread Algea Cao
Add get_output_bus_format in dw_hdmi_plat_data to get hdmi output bus format. The output bus format is determined by color format and depth, which can be set by rockchip hdmi properties. Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 47

[PATCH 2/6] drm: bridge: dw-hdmi: Implement connector atomic_begin/atomic_flush

2020-08-12 Thread Algea Cao
make screen black, and clear flag after bus format updated. Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 65 +++ drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 4 ++ 2 files changed, 69 insertions(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-h

[PATCH 3/6] drm: bridge: dw-hdmi: Introduce previous_pixelclock/previous_tmdsclock

2020-08-12 Thread Algea Cao
Introduce previous_pixelclock/previous_tmdsclock to determine whether PHY needs initialization. If phy is power off, or mpixelclock/mtmdsclock is different to previous value, phy is neet to be reinitialized. Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 50

[PATCH 4/6] drm/rockchip: dw_hdmi: Add vendor hdmi properties

2020-08-12 Thread Algea Cao
ighest color depth, it is 30bit on rockcip platform. - 24bit - 30bit The default value of property is 24bit. Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 174 include/drm/bridge/dw_hdmi.h| 22 +++ 2 file

[PATCH 6/6] drm: bridge: dw-hdmi: Get output bus format when dw-hdmi is the only bridge

2020-08-12 Thread Algea Cao
If plat_data->get_output_bus_format() is exist, we can use it to get hdmi output bus format when dw-hdmi is the only bridge. The hdmi output bus format can be set by vendor properties. Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 8 +++- 1 file changed

[PATCH 1/6] drm: Add connector atomic_begin/atomic_flush

2020-08-12 Thread Algea Cao
. The process is as follows: AVMUTE -> Update CRTC -> Update HDMI -> Clear AVMUTE So we introduce connector atomic_begin/atomic_flush. Signed-off-by: Algea Cao --- drivers/gpu/drm/drm_atomic_helper.c | 46 include/drm/drm_modeset_helper_vtables.h | 19

[PATCH 0/6] Support change dw-hdmi output color

2020-08-12 Thread Algea Cao
Support userspace to set hdmi output color via hdmi properties. Add hdmi atomic_begin/atomic_flush to make sure screen don't flash when updating color. Algea Cao (6): drm: Add connector atomic_begin/atomic_flush drm: bridge: dw-hdmi: Implement connector atomic_begin/atomic_flush

[PATCH v2 7/7] drm: bridge: dw-hdmi: get phy ops by device type

2017-09-29 Thread Algea Cao
Add device type to distinguish different chips.Different chips use different phy ops, get them by device type. Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw

[PATCH v2 4/7] drm/rockchip: dw_hdmi: add inno hdmi phy ops

2017-09-29 Thread Algea Cao
Because some RK chips use inno hdmi phy, such as RK3328, we add inno hdmi phy ops. Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 110 +++- 1 file changed, 107 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi

[PATCH v2 6/7] drm/rockchip: dw_hdmi: update dw-hdmi encoder enable

2017-09-29 Thread Algea Cao
Writing grf register according to device type. Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi

[PATCH v2 3/7] drm: bridge: dw-hdmi: change hdmi phy hpd read function to export

2017-09-29 Thread Algea Cao
Change dw_hdmi_phy_read_hpd from static to export. inno hdmi phy ops will call this interface to get hpd status. Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 5 +++-- include/drm/bridge/dw_hdmi.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions

[PATCH v2 5/7] drm/rockchip: dw_hdmi: add hclk_vio

2017-09-29 Thread Algea Cao
Add clk hclk_vio and enable it when hdmi bind. Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index

[PATCH v2 2/7] drm/rockchip: dw_hdmi: add device type

2017-09-29 Thread Algea Cao
To determine type of SOC, we add a parameter dev_type. Signed-off-by: Algea Cao --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 5 + include/drm/bridge/dw_hdmi.h| 10 ++ 2 files changed, 15 insertions(+) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b

[PATCH v2 1/7] drm/rockchip: dw_hdmi: update dw_hdmi_rockchip_dt_ids

2017-09-29 Thread Algea Cao
Add rk3328-dw-hdmi to support rk3328. Signed-off-by: Algea Cao --- .../devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt | 1 + drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 6 ++ 2 files changed, 7 insertions(+) diff --git a/Documentation/devicetree

[PATCH v2 0/7] Add support RK3328 drm hdmi

2017-09-29 Thread Algea Cao
These patches add support drm hdmi in RK3328 and has been tested in RK development board. We add dev_type to distinguish different rockchip chips. Hdmi phy or some regs configuration can't be switched according to dev_type, that hdmi driver's compatibility will be better. Algea Cao