ADV7842 does not work on 1080p60 source of GTF standards

ADV7842 can work on 1080p60 source of  CEA DMT standards , here is the timing info:

vfrontporch 4, vsync 5,  vbackporch 36, il_vfrontporch 0, il_vsync 0, il_vbackporch 0
V4L2_DV_BT_BLANKING_HEIGHT(bt)) 45 (bt)->height 1080
adv7842: Detected format: 1920x1080p60.0 (2200x1125)
adv7842: horizontal: fp = 88, +sync = 44, bp = 148
adv7842: vertical: fp = 4, +sync = 5, bp = 36
adv7842: pixelclock: 148500000
adv7842: flags (0x2): CAN_REDUCE_FPS
adv7842: standards (0x3): CEA DMT

but it  does not work  on  1080p60 source of  GTF standards, here is  the timing info:

vfrontporch 1, vsync 3,  vbackporch 34, il_vfrontporch 0, il_vsync 0, il_vbackporch 0
V4L2_DV_BT_BLANKING_HEIGHT(bt)) 38 (bt)->height 1080
adv7842: Detected format: 1920x1080p59.80 (2576x1118)
adv7842: horizontal: fp = 120, -sync = 208, bp = 328
adv7842: vertical: fp = 1, +sync = 3, bp = 34
adv7842: pixelclock: 172250000
adv7842: flags (0x0):
adv7842: standards (0x8): GTF

I don't know how to make a custom timing for ADV7842, just use the default function of ADI, and it is the following:

void configure_custom_video_timings(struct adv7842_state *state, struct v4l2_bt_timings *bt)
{
 adv7842_dev *sd = &(state->dev);
 u32 width = htotal(bt); 
 u32 height = vtotal(bt);
 u16 cp_start_sav = bt->hsync + bt->hbackporch - 4;
 u16 cp_start_eav = width - bt->hfrontporch;
 u16 cp_start_vbi = height - bt->vfrontporch + 1;
 u16 cp_end_vbi = bt->vsync + bt->vbackporch + 1;
 u16 ch1_fr_ll = (((u32)bt->pixelclock / 100) > 0) ?
  ((width * (ADV7842_fsc / 100)) / ((u32)bt->pixelclock / 100)) : 0;
 const u8 pll[2] = {
  0xc0 | ((width >> 8) & 0x1f),
  width & 0xff
 };
 
 
 /* auto graphics */
 io_write(sd, 0x00, 0x07); /* video std */
 io_write(sd, 0x01, 0x02); /* prim mode */
 /* enable embedded syncs for auto graphics mode */
 cp_write_and_or(sd, 0x81, 0xef, 0x10);

 /* Should only be set in auto-graphics mode [REF_02, p. 91-92] */
 /* setup PLL_DIV_MAN_EN and PLL_DIV_RATIO */
 /* IO-map reg. 0x16 and 0x17 should be written in sequence */
 io_write(sd, 0x16, pll[0]);
 io_write(sd, 0x17, pll[1]);

 /* active video - horizontal timing */
 cp_write(sd, 0x26, (cp_start_sav >> 8) & 0xf);
 cp_write(sd, 0x27, (cp_start_sav & 0xff));
 cp_write(sd, 0x28, (cp_start_eav >> 8) & 0xf);
 cp_write(sd, 0x29, (cp_start_eav & 0xff));

 /* active video - vertical timing */
 cp_write(sd, 0xa5, (cp_start_vbi >> 4) & 0xff);
 cp_write(sd, 0xa6, ((cp_start_vbi & 0xf) << 4) |
    ((cp_end_vbi >> 8) & 0xf));
 cp_write(sd, 0xa7, cp_end_vbi & 0xff);

 cp_write(sd, 0x8f, (ch1_fr_ll >> 8) & 0x7);
 cp_write(sd, 0x90, ch1_fr_ll & 0xff);
 cp_write(sd, 0xab, (height >> 4) & 0xff);
 cp_write(sd, 0xac, (height & 0x0f) << 4);
}