1. 03 11月, 2017 1 次提交
    • K
      xtensa: Convert timers to use timer_setup() · d8479a21
      Kees Cook 提交于
      In preparation for unconditionally passing the struct timer_list pointer to
      all timer callbacks, switch to using the new timer_setup() and from_timer()
      to pass the timer pointer explicitly.
      
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: linux-xtensa@linux-xtensa.org
      Signed-off-by: NKees Cook <keescook@chromium.org>
      d8479a21
  2. 06 6月, 2017 1 次提交
    • M
      xtensa: don't use linux IRQ #0 · e5c86679
      Max Filippov 提交于
      Linux IRQ #0 is reserved for error reporting and may not be used.
      Increase NR_IRQS for one additional slot and increase
      irq_domain_add_legacy parameter first_irq value to 1, so that linux
      IRQ #0 is not associated with hardware IRQ #0 in legacy IRQ domains.
      Introduce macro XTENSA_PIC_LINUX_IRQ for static translation of xtensa
      PIC hardware IRQ # to linux IRQ #. Use this macro in XTFPGA platform
      data definitions.
      
      This fixes inability to use hardware IRQ #0 in configurations that don't
      use device tree and allows for non-identity mapping between linux IRQ #
      and hardware IRQ #.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      e5c86679
  3. 09 5月, 2017 1 次提交
  4. 14 3月, 2017 3 次提交
  5. 25 12月, 2016 1 次提交
  6. 21 9月, 2016 5 次提交
  7. 12 9月, 2016 1 次提交
  8. 25 6月, 2016 1 次提交
  9. 05 5月, 2016 1 次提交
  10. 11 3月, 2016 3 次提交
  11. 07 2月, 2016 1 次提交
  12. 29 1月, 2016 1 次提交
  13. 04 1月, 2016 1 次提交
  14. 08 11月, 2015 1 次提交
  15. 02 11月, 2015 2 次提交
    • M
      xtensa: xtfpga: fix integer overflow in TASK_SIZE · b85d4594
      Max Filippov 提交于
      This fixes the following warning when default memory region crosses
      0x80000000:
      
        arch/xtensa/include/asm/processor.h:40:47: warning:
          integer overflow in expression [-Woverflow]
          #define TASK_SIZE (PLATFORM_DEFAULT_MEM_START + PLATFORM_DEFAULT_MEM_SIZE)
                                                     ^
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      b85d4594
    • M
      xtensa: fixes for configs without loop option · 5029615e
      Max Filippov 提交于
      Build-time fixes:
      - make lbeg/lend/lcount save/restore conditional on kernel entry;
      - don't clear lcount in platform_restart functions unconditionally.
      
      Run-time fixes:
      - use correct end of range register in __endla paired with __loopt, not
        the unused temporary register. This fixes .bss zero-initialization.
        Update comments in asmmacro.h;
      - don't clobber a10 in the usercopy that leads to access to unmapped
        memory.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      5029615e
  16. 29 7月, 2015 1 次提交
    • C
      block: add a bi_error field to struct bio · 4246a0b6
      Christoph Hellwig 提交于
      Currently we have two different ways to signal an I/O error on a BIO:
      
       (1) by clearing the BIO_UPTODATE flag
       (2) by returning a Linux errno value to the bi_end_io callback
      
      The first one has the drawback of only communicating a single possible
      error (-EIO), and the second one has the drawback of not beeing persistent
      when bios are queued up, and are not passed along from child to parent
      bio in the ever more popular chaining scenario.  Having both mechanisms
      available has the additional drawback of utterly confusing driver authors
      and introducing bugs where various I/O submitters only deal with one of
      them, and the others have to add boilerplate code to deal with both kinds
      of error returns.
      
      So add a new bi_error field to store an errno value directly in struct
      bio and remove the existing mechanisms to clean all this up.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Reviewed-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      4246a0b6
  17. 13 7月, 2015 1 次提交
  18. 17 6月, 2015 1 次提交
    • P
      xtensa: don't use module_init for non-modular core network.c code · 30e3c642
      Paul Gortmaker 提交于
      The network.c code is piggybacking off of the arch independent
      CONFIG_NET, which is bool.  So the code is either built in or
      absent.  It will never be modular, so using module_init as an
      alias for __initcall is rather misleading.
      
      Fix this up now, so that we can relocate module_init from
      init.h into module.h in the future.  If we don't do this, we'd
      have to add module.h to obviously non-modular code, and that
      would be a worse thing.
      
      Direct use of __initcall is discouraged, vs prioritized ones.
      Use of device_initcall is consistent with what __initcall
      maps onto, and hence does not change the init order, making the
      impact of this change zero.   Should someone with real hardware
      for boot testing want to change it later to arch_initcall or
      something different, they can do that at a later date.
      
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Thomas Meyer <thomas@m3y3r.de>
      Cc: linux-xtensa@linux-xtensa.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      30e3c642
  19. 13 4月, 2015 2 次提交
  20. 27 2月, 2015 1 次提交
  21. 21 10月, 2014 2 次提交
  22. 06 5月, 2014 1 次提交
  23. 10 4月, 2014 1 次提交
  24. 22 2月, 2014 2 次提交
  25. 29 1月, 2014 1 次提交
    • J
      xtensa: fixup simdisk driver to work with immutable bio_vecs · 675675ad
      Jens Axboe 提交于
      Geert reported:
      
      arch/xtensa/platforms/iss/simdisk.c:108:23: error: 'struct bio' has no member named 'bi_sector'
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: incompatible types when assigning to type 'int' from type 'struct bvec_iter'
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bv_len' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      make[2]: *** [arch/xtensa/platforms/iss/simdisk.o] Error 1
      
      Fixup the usage of bio_for_each_segment(). Also fix wrong use
      of __bio_kunmap_atomic() - it needs the mapped buffer passed in,
      not the originally mapped page.
      Reported-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      675675ad
  26. 15 1月, 2014 3 次提交