Hi Mauro & Philipp On 19 September 2017 at 17:49, Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> wrote: > Em Tue, 19 Sep 2017 17:24:45 +0200 > Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> escreveu: > >> Hi Dave, >> >> On Tue, 2017-09-19 at 14:08 +0100, Dave Stevenson wrote: >> > The existing fixed value of 16 worked for UYVY 720P60 over >> > 2 lanes at 594MHz, or UYVY 1080P60 over 4 lanes. (RGB888 >> > 1080P60 needs 6 lanes at 594MHz). >> > It doesn't allow for lower resolutions to work as the FIFO >> > underflows. >> > >> > Using a value of 300 works for all resolutions down to VGA60, >> > and the increase in frame delay is <4usecs for 1080P60 UYVY >> > (2.55usecs for RGB888). >> > >> > Signed-off-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx> >> >> Can we increase this to 320? This would also allow >> 720p60 at 594 Mbps / 4 lanes, according to the xls. Unless I've missed something then the driver would currently request only 2 lanes for 720p60 UYVY, and that works with the existing FIFO setting of 16. Likewise 720p60 RGB888 requests 3 lanes and also works on a FIFO setting of 16. How/why were you thinking we need to run all four lanes for 720p60 without other significant driver mods around lane config? Once I've got a v3 done on the Unicam driver I'll bash through the standard HDMI modes and check what value they need - I can see a big spreadsheet coming on. I'll ignore interlaced modes as I can't see any support for it in the driver. Receiving the fields on different CSI-2 data types is something I know the Unicam hardware won't handle nicely, and I suspect it'd be an issue for many other platforms too. > Hmm... if this is dependent on the resolution and frame rate, wouldn't > it be better to dynamically adjust it accordingly? It's setting up the FIFO matching the incoming HDMI data rate and outgoing CSI rate. That means it's dependent on the incoming pixel clock, blanking, colour format and resolution, and output CSI link frequency, number of lanes, and colour format. Whilst it could be set dynamically based on all those parameters, is there a significant enough gain in doing so? The value of 300 works for all cases I've tried, and referencing back it is also the value that Hans said Cisco use via platform data on their hardware [1]. Generally I'm seeing that values of 0-130 are required, so 300 is giving a fair safety margin. Second question is does anyone have a suitable relationship with Toshiba to get permission to release details of these register calculations? The datasheet and value spreadsheet are marked as confidential, and probably under NDA in almost all cases. Whilst they can't object to drivers containing values to make them work, they might over releasing significant details. Thanks, Dave [1] https://www.spinics.net/lists/linux-media/msg116360.html