diff --git a/drivers/amlogic/media/enhancement/amvecm/amcsc.c b/drivers/amlogic/media/enhancement/amvecm/amcsc.c index 8a12d7ce907b..ed355295c67a 100644 --- a/drivers/amlogic/media/enhancement/amvecm/amcsc.c +++ b/drivers/amlogic/media/enhancement/amvecm/amcsc.c @@ -388,6 +388,12 @@ int get_hdr_policy(void) } EXPORT_SYMBOL(get_hdr_policy); +void set_cur_hdr_policy(uint policy) +{ + cur_hdr_policy = policy; +} +EXPORT_SYMBOL(set_cur_hdr_policy); + enum output_format_e get_force_output(void) { return force_output; diff --git a/drivers/amlogic/media/enhancement/amvecm/amcsc.h b/drivers/amlogic/media/enhancement/amvecm/amcsc.h index b5aeb23863c3..6ea91bd823bc 100644 --- a/drivers/amlogic/media/enhancement/amvecm/amcsc.h +++ b/drivers/amlogic/media/enhancement/amvecm/amcsc.h @@ -139,6 +139,7 @@ extern int tx_op_color_primary; extern uint cur_csc_type[VD_PATH_MAX]; int get_hdr_policy(void); +void set_cur_hdr_policy(uint policy); enum output_format_e get_force_output(void); /* 0: hdr->hdr, 1:hdr->sdr, 2:hdr->hlg */ diff --git a/drivers/amlogic/media/video_sink/video.c b/drivers/amlogic/media/video_sink/video.c index 436eca3df73f..be015a66c386 100644 --- a/drivers/amlogic/media/video_sink/video.c +++ b/drivers/amlogic/media/video_sink/video.c @@ -9123,6 +9123,8 @@ int vout_notify_callback(struct notifier_block *block, unsigned long cmd, /* to workaround pkt cleaned during hotplug */ if (is_dolby_vision_enable()) dolby_vision_set_toggle_flag(2); + else + set_cur_hdr_policy(0xff); #endif break; case VOUT_EVENT_OSD_PREBLEND_ENABLE: diff --git a/include/linux/amlogic/media/amvecm/amvecm.h b/include/linux/amlogic/media/amvecm/amvecm.h index d136d341931e..f609aeae0e84 100644 --- a/include/linux/amlogic/media/amvecm/amvecm.h +++ b/include/linux/amlogic/media/amvecm/amvecm.h @@ -538,5 +538,6 @@ extern int am_meson_ctm_set(u32 index, struct drm_color_ctm *ctm); extern int am_meson_ctm_disable(void); extern void enable_osd1_mtx(unsigned int en); +void set_cur_hdr_policy(uint policy); #endif /* AMVECM_H */