diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h index f857f556d9c0..7b01d61cc6f3 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h @@ -570,6 +570,9 @@ struct hdrvivid_regs { uint32_t tone_sca_axi_tab[RK_HDRVIVID_TONE_SCA_AXI_TAB_LENGTH]; }; +#define RK_HDR_TYPE_MASK 0xff +#define RK_HDR_PLAT_MASK (0xff << 8) + struct hdr_extend { uint32_t hdr_type; uint32_t length; diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 6acf5048e137..ef26f0663b62 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -9212,7 +9212,7 @@ static void vop3_setup_dynamic_hdr(struct vop2_video_port *vp, uint8_t win_phys_ } hdr_data = (struct hdr_extend *)vcstate->hdr_ext_data->data; - hdr_format = hdr_data->hdr_type; + hdr_format = hdr_data->hdr_type & RK_HDR_TYPE_MASK; switch (hdr_format) { case HDR_NONE: