1. 23 6月, 2009 1 次提交
    • J
      Blackfin: decouple unrelated cache settings to get exact behavior · 41ba653f
      Jie Zhang 提交于
      The current cache options don't really represent the hardware features.
      They end up setting different aspects of the hardware so that the end
      result is to turn on/off the cache.  Unfortunately, when we hit cache
      problems with the hardware, it's difficult to test different settings to
      root cause the problem.  The current settings also don't cleanly allow for
      different caching behaviors with different regions of memory.
      
      So split the configure options such that they properly reflect the settings
      that are applied to the hardware.
      Signed-off-by: NJie Zhang <jie.zhang@analog.com>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      41ba653f
  2. 12 6月, 2009 1 次提交
  3. 07 1月, 2009 1 次提交
    • B
      Blackfin arch: Faster C implementation of no-MPU CPLB handler · dbdf20db
      Bernd Schmidt 提交于
      This is a mixture ofcMichael McTernan's patch and the existing cplb-mpu code.
      
      We ditch the old cplb-nompu implementation, which is a good example of
      why a good algorithm in a HLL is preferrable to a bad algorithm written in
      assembly.  Rather than try to construct a table of all posible CPLBs and
      search it, we just create a (smaller) table of memory regions and
      their attributes.  Some of the data structures are now unified for both
      the mpu and nompu cases.  A lot of needless complexity in cplbinit.c is
      removed.
      
      Further optimizations:
        * compile cplbmgr.c with a lot of -ffixed-reg options, and omit saving
          these registers on the stack when entering a CPLB exception.
        * lose cli/nop/nop/sti sequences for some workarounds - these don't
        * make
          sense in an exception context
      
      Additional code unification should be possible after this.
      
      [Mike Frysinger <vapier.adi@gmail.com>:
       - convert CPP if statements to C if statements
       - remove redundant statements
       - use a do...while loop rather than a for loop to get slightly better
         optimization and to avoid gcc "may be used uninitialized" warnings ...
         we know that the [id]cplb_nr_bounds variables will never be 0, so this
         is OK
       - the no-mpu code was the last user of MAX_MEM_SIZE and with that rewritten,
         we can punt it
       - add some BUG_ON() checks to make sure we dont overflow the small
         cplb_bounds array
       - add i/d cplb entries for the bootrom because there is functions/data in
         there we want to access
       - we do not need a NULL trailing entry as any time we access the bounds
         arrays, we use the nr_bounds variable
      ]
      Signed-off-by: NMichael McTernan <mmcternan@airvana.com>
      Signed-off-by: NMike Frysinger <vapier.adi@gmail.com>
      Signed-off-by: NBernd Schmidt <bernds_cb1@t-online.de>
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      dbdf20db
  4. 18 11月, 2008 1 次提交
  5. 09 10月, 2008 1 次提交
  6. 27 8月, 2008 1 次提交
  7. 23 4月, 2008 1 次提交
    • M
      [Blackfin] arch: relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file... · 0e184c6b
      Mike Frysinger 提交于
      [Blackfin] arch: relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file where it actually gets used.
      
      relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file
      where it actually gets used.  this way when we change
      CONFIG_MEM_SIZE in our kconfig, we only rebuild one or two files
      rather than a whole bunch that implicitly include cplb.h.
      
      this will also remove the ability to clear the swapcount on
      the fly, but i really dont think that functionality is important.
      
      ultimate goal is for CONFIG_MEM_SIZE to go away and calculate
      this value on the fly based on what u-boot programmed for us.
      Signed-off-by: NMike Frysinger <vapier.adi@gmail.com>
      Signed-off-by: NBryan Wu <cooloney@kernel.org>
      
      0e184c6b
  8. 27 1月, 2008 1 次提交
  9. 13 9月, 2007 1 次提交
  10. 27 8月, 2007 1 次提交
  11. 10 10月, 2007 1 次提交
  12. 08 5月, 2007 1 次提交