1. 15 Jan, 2018 2 commits
  2. 18 Jan, 2017 1 commit
    • Bhumika Goyal's avatar
      drivers: remoteproc: constify rproc_ops structures · c008fad2
      Bhumika Goyal authored
      
      
      Declare rproc_ops structures as const as they are only passed as an
      argument to the function rproc_alloc. This argument is of type const, so
      rproc_ops structures having this property can be declared const too.
      Done using Coccinelle:
      
      @r1 disable optional_qualifier @
      identifier i;
      position p;
      @@
      static struct rproc_ops i@p = {...};
      
      @ok1@
      identifier r1.i;
      position p;
      @@
      rproc_alloc(...,&i@p,...)
      
      @bad@
      position p!={r1.p,ok1.p};
      identifier r1.i;
      @@
      i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      +const
      struct rproc_ops i;
      
      File size details:
      
      Size of the file remoteproc/da8xx_remoteproc.o remains the same before and
      after applying the changes.
      
         text	   data	    bss	    dec	    hex	filename
         1312	    100	      4	   1416	    588 remoteproc/da8xx_remoteproc.o
         1312	    100	      4	   1416	    588 remoteproc/da8xx_remoteproc.o
      
          970	    240	      0	   1210	    4ba remoteproc/omap_remoteproc.o
         1002	    192	      0	   1194	    4aa remoteproc/omap_remoteproc.o
      
         1901	    240	      0	   2141	    85d remoteproc/st_remoteproc.o
         1933	    192	      0	   2125	    84d remoteproc/st_remoteproc.o
      
         1288	     96	      0	   1384	    568 remoteproc/st_slim_rproc.o
         1320	     64	      0	   1384	    568 remoteproc/st_slim_rproc.o
      
         2121	    240	      0	   2361	    939 remoteproc/wkup_m3_rproc.o
         2161	    192	      0	   2353	    931 remoteproc/wkup_m3_rproc.o
      
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      c008fad2
  3. 20 Nov, 2016 1 commit
  4. 18 Oct, 2016 1 commit
    • Peter Griffin's avatar
      remoteproc: st_slim_rproc: add a slimcore rproc driver · bb6869b2
      Peter Griffin authored
      
      
      slim core is used as a basis for many IPs in the STi
      chipsets such as fdma and demux. To avoid duplicating
      the elf loading code in each device driver a slim
      rproc driver has been created.
      
      This driver is designed to be used by other device drivers
      such as fdma, or demux whose IP is based around a slim core.
      The device driver can call slim_rproc_alloc() to allocate
      a slim rproc and slim_rproc_put() when finished.
      
      This driver takes care of ioremapping the slim
      registers (dmem, imem, slimcore, peripherals), whose offsets
      and sizes can change between IP's. It also obtains and enables
      any clocks used by the device. This approach avoids having
      a double mapping of the registers as slim_rproc does not register
      its own platform device. It also maps well to device tree
      abstraction as it allows us to have one dt node for the whole
      device.
      
      All of the generic rproc elf loading code can be reused, and
      we provide start() stop() hooks to start and stop the slim
      core once the firmware has been loaded. This has been tested
      successfully with fdma driver.
      
      Signed-off-by: Peter Griffin's avatarPeter Griffin <peter.griffin@linaro.org>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      bb6869b2