1. 28 May, 2018 39 commits
  2. 25 May, 2018 1 commit
    • Kieran Bingham's avatar
      media: vsp1: Move video configuration to a cached dlb · e646e177
      Kieran Bingham authored
      We are now able to configure a pipeline directly into a local display
      list body. Take advantage of this fact, and create a cacheable body to
      store the configuration of the pipeline in the pipeline object.
      
      vsp1_video_pipeline_run() is now the last user of the pipe->dl object.
      Convert this function to use the cached pipe->stream_config body and
      obtain a local display list reference.
      
      Attach the pipe->stream_config body to the display list when needed
      before committing to hardware.
      
      Use a flag 'configured' to know when we should attach our stream_config
      to the next outgoing display list to reconfigure the hardware in the
      event of our first frame, or the first frame following a suspend/resume
      cycle.
      
      Our video DL usage now looks like the below output:
      
      dl->body0 contains our disposable runtime configuration. Max 41.
      dl_child->body0 is our partition specific configuration. Max 12.
      dl->bodies shows our constant configuration and LUTs.
      
        These two are LUT/CLU:
           * dl->bodies[x]->num_entries 256 / max 256
           * dl->bodies[x]->num_entries 4914 / max 4914
      
      Which shows that our 'constant' configuration cache is currently
      utilised to a maximum of 64 entries.
      
      trace-cmd report | \
      
        dl->body0->num_entries 13 / max 128
        dl->body0->num_entries 14 / max 128
        dl->body0->num_entries 16 / max 128
        dl->body0->num_entries 20 / max 128
        dl->body0->num_entries 27 / max 128
        dl->body0->num_entries 34 / max 128
        dl->body0->num_entries 41 / max 128
        dl_child->body0->num_entries 10 / max 128
        dl_child->body0->num_entries 12 / max 128
        dl->bodies[x]->num_entries 15 / max 128
        dl->bodies[x]->num_entries 16 / max 128
        dl->bodies[x]->num_entries 17 / max 128
        dl->bodies[x]->num_entries 18 / max 128
        dl->bodies[x]->num_entries 20 / max 128
        dl->bodies[x]->num_entries 21 / max 128
        dl->bodies[x]->num_entries 256 / max 256
        dl->bodies[x]->num_entries 31 / max 128
        dl->bodies[x]->num_entries 32 / max 128
        dl->bodies[x]->num_entries 39 / max 128
        dl->bodies[x]->num_entries 40 / max 128
        dl->bodies[x]->num_entries 47 / max 128
        dl->bodies[x]->num_entries 48 / max 128
        dl->bodies[x]->num_entries 4914 / max 4914
        dl->bodies[x]->num_entries 55 / max 128
        dl->bodies[x]->num_entries 56 / max 128
        dl->bodies[x]->num_entries 63 / max 128
        dl->bodies[x]->num_entries 64 / max 128
      Signed-off-by: default avatarKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      e646e177