From 57fd4dd29707b1be18dbdf414d9c7dbe80f3473c Mon Sep 17 00:00:00 2001 From: Qubot <1445788683@qq.com> Date: Sun, 31 May 2026 22:37:32 +0800 Subject: [PATCH] Revert "arm64: sun60i: stabilize HDMI 1080p and auto audio negotiation" This reverts commit e839ccfe1e563f782e1c7674676b7befd11b0582. --- .../dts/sunxi/sun60i-a733-bananapi-m8.dts | 4 ++-- .../hardware/lowlevel_hdmi20/dw_avp.c | 8 +------- .../hardware/lowlevel_hdmi20/dw_edid.c | 19 ------------------- .../hardware/lowlevel_hdmi20/dw_edid.h | 2 -- 4 files changed, 3 insertions(+), 30 deletions(-) diff --git a/arch/arm64/boot/dts/sunxi/sun60i-a733-bananapi-m8.dts b/arch/arm64/boot/dts/sunxi/sun60i-a733-bananapi-m8.dts index cfc217807..9f8efed53 100644 --- a/arch/arm64/boot/dts/sunxi/sun60i-a733-bananapi-m8.dts +++ b/arch/arm64/boot/dts/sunxi/sun60i-a733-bananapi-m8.dts @@ -1795,8 +1795,8 @@ hdmi_ddc_index = <20>; priority = <6>; - force-output = <1>; - force-output-timing = "148500-1920-2008-2052-2200-1080-1084-1089-1125"; + force-output = <0>; + force-output-timing = "440000-3440-3450-4500-4800-1440-1455-1464-1494"; snps_phy = < 25000 185625 0x0007 0x8160 0x8188 diff --git a/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_avp.c b/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_avp.c index 42a0b6e46..1dfccffa5 100644 --- a/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_avp.c +++ b/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_avp.c @@ -811,12 +811,6 @@ int dw_audio_on(void) struct dw_hdmi_dev_s *hdmi = dw_get_hdmi(); struct dw_audio_s *audio = &hdmi->audio_dev; - if (!dw_sink_support_audio()) { - hdmi_inf("sink does not advertise audio, skip audio enable\n"); - hdmi->audio_on = 0; - return 0; - } - _dw_audio_param_print(audio); ret = dw_hdmi_ctrl_update(); @@ -832,7 +826,7 @@ int dw_audio_on(void) } if (_dw_audio_check_params() == false) { - hdmi_wrn("dw audio check params is invalid, skip audio path\n"); + hdmi_err("dw audio check params is invalid!\n"); goto exit; } diff --git a/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.c b/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.c index c9773ba77..04e4bdc05 100644 --- a/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.c +++ b/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.c @@ -981,25 +981,6 @@ bool dw_sink_support_scdc(void) return sink->edid_mHdmiForumvsdb.mSCDC_Present; } -int dw_sink_support_audio(void) -{ - struct sink_info_s *sink = dw_get_sink(); - - if (IS_ERR_OR_NULL(sink)) { - shdmi_err(sink); - return 0; - } - - /* - * Prefer CTA basic-audio bit, and fallback to SAD entries for sinks - * that only expose detailed audio descriptors. - */ - if (sink->edid_mBasicAudioSupport || sink->edid_mSadIndex > 0) - return 1; - - return 0; -} - int dw_sink_support_only_yuv420(u32 vic) { struct sink_info_s *sink = dw_get_sink(); diff --git a/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.h b/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.h index 1e644d435..c97dc1eaa 100644 --- a/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.h +++ b/bsp/drivers/drm/sunxi_device/hardware/lowlevel_hdmi20/dw_edid.h @@ -51,8 +51,6 @@ int dw_sink_support_cea_vic(u32 code); bool dw_sink_support_scdc(void); -int dw_sink_support_audio(void); - int dw_edid_exit(void); int dw_edid_init(void);