diff --git a/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch b/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch index c3ab38d336..855403f61a 100644 --- a/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch +++ b/projects/NXP/devices/iMX8/patches/linux/0001-drm-bridge-mhdp-Add-cdns-mhdp-driver-bridge-driver.patch @@ -3695,9 +3695,9 @@ index a4a45daf93f2..058bc372f02b 100644 if (ret) { - DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret); + DRM_DEV_ERROR(dev, "Could not write to GRF: %d\n", ret); + clk_disable_unprepare(dp->grf_clk); return ret; } - @@ -83,24 +83,25 @@ static int cdn_dp_grf_write(struct cdn_dp_device *dp, static int cdn_dp_clk_enable(struct cdn_dp_device *dp) @@ -5156,7 +5156,7 @@ index 9d2163ef4d6e..000000000000 - */ - do { - tu_size_reg += 2; -- symbol = tu_size_reg * mode->clock * bit_per_pix; +- symbol = (u64)tu_size_reg * mode->clock * bit_per_pix; - do_div(symbol, dp->max_lanes * link_rate * 8); - rem = do_div(symbol, 1000); - if (tu_size_reg > 64) { @@ -5648,26 +5648,6 @@ index 441248b7a79e..d76716d4edc6 100644 }; -void cdn_dp_clock_reset(struct cdn_dp_device *dp); -- --void cdn_dp_set_fw_clk(struct cdn_dp_device *dp, unsigned long clk); --int cdn_dp_load_firmware(struct cdn_dp_device *dp, const u32 *i_mem, -- u32 i_size, const u32 *d_mem, u32 d_size); --int cdn_dp_set_firmware_active(struct cdn_dp_device *dp, bool enable); --int cdn_dp_set_host_cap(struct cdn_dp_device *dp, u8 lanes, bool flip); --int cdn_dp_event_config(struct cdn_dp_device *dp); --u32 cdn_dp_get_event(struct cdn_dp_device *dp); --int cdn_dp_get_hpd_status(struct cdn_dp_device *dp); --int cdn_dp_dpcd_write(struct cdn_dp_device *dp, u32 addr, u8 value); --int cdn_dp_dpcd_read(struct cdn_dp_device *dp, u32 addr, u8 *data, u16 len); --int cdn_dp_get_edid_block(void *dp, u8 *edid, -- unsigned int block, size_t length); --int cdn_dp_train_link(struct cdn_dp_device *dp); --int cdn_dp_set_video_status(struct cdn_dp_device *dp, int active); --int cdn_dp_config_video(struct cdn_dp_device *dp); --int cdn_dp_audio_stop(struct cdn_dp_device *dp, struct audio_info *audio); --int cdn_dp_audio_mute(struct cdn_dp_device *dp, bool enable); --int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio); --#endif /* _CDN_DP_REG_H */ +enum audio_format { + AFMT_I2S = 0, + AFMT_SPDIF_INT = 1, @@ -5924,7 +5904,26 @@ index 441248b7a79e..d76716d4edc6 100644 +int cdns_mhdp_register_cec_driver(struct device *dev); +int cdns_mhdp_unregister_cec_driver(struct device *dev); +#endif -+ + +-void cdn_dp_set_fw_clk(struct cdn_dp_device *dp, unsigned long clk); +-int cdn_dp_load_firmware(struct cdn_dp_device *dp, const u32 *i_mem, +- u32 i_size, const u32 *d_mem, u32 d_size); +-int cdn_dp_set_firmware_active(struct cdn_dp_device *dp, bool enable); +-int cdn_dp_set_host_cap(struct cdn_dp_device *dp, u8 lanes, bool flip); +-int cdn_dp_event_config(struct cdn_dp_device *dp); +-u32 cdn_dp_get_event(struct cdn_dp_device *dp); +-int cdn_dp_get_hpd_status(struct cdn_dp_device *dp); +-int cdn_dp_dpcd_write(struct cdn_dp_device *dp, u32 addr, u8 value); +-int cdn_dp_dpcd_read(struct cdn_dp_device *dp, u32 addr, u8 *data, u16 len); +-int cdn_dp_get_edid_block(void *dp, u8 *edid, +- unsigned int block, size_t length); +-int cdn_dp_train_link(struct cdn_dp_device *dp); +-int cdn_dp_set_video_status(struct cdn_dp_device *dp, int active); +-int cdn_dp_config_video(struct cdn_dp_device *dp); +-int cdn_dp_audio_stop(struct cdn_dp_device *dp, struct audio_info *audio); +-int cdn_dp_audio_mute(struct cdn_dp_device *dp, bool enable); +-int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio); +-#endif /* _CDN_DP_REG_H */ +#endif /* CDNS_MHDP_H_ */ -- 2.29.2