1. 03 Jun, 2015 4 commits
  2. 02 Jun, 2015 28 commits
  3. 28 May, 2015 8 commits
    • Thomas Petazzoni's avatar
      ARM: mvebu: do not register custom DMA operations when coherency is disabled · 3a5f8103
      Thomas Petazzoni authored
      This patch is a partial backport of commit ef01c6c3 ("ARM: mvebu:
      remove Armada 375 Z1 workaround for I/O coherency"). This commit was
      merged in v3.19, so kernel versions later than v3.19 are not affected
      by the problem that this commit fixes.
      
      It does not make a lot of sense to backport this commit entirely,
      since it is mainly removing some no longer useful code. However, this
      commit is also making sure that the bus_register_notifier that
      register the custom DMA operations that should be used for HW I/O
      coherency does not get registered when said HW I/O coherency is not
      enabled.
      
      This is particularly critical since we have decided to disable HW I/O
      coherency completely in all kernels < 4.0, to be on the safe side,
      while experimenting a new implementation of the HW I/O coherency in >=
      4.0.
      
      Without this commit, kernels earlier than 3.18 have the custom DMA
      operations normally used for HW I/O coherency registered (they don't
      do cache maintenance operations), while HW I/O coherency is
      disabled. It essentially causes every DMA transfer to transfer
      garbage.
      
      The issue fixed by this commit was introduced by 5ab5afd8 ("ARM:
      mvebu: implement Armada 375 coherency workaround"), but it was not
      visible until now since it didn't cause any problem when HW I/O
      coherency is enabled.
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Bjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      3a5f8103
    • Chen Gang's avatar
      qla2xxx: remove redundant declaration in 'qla_gbl.h' · 2bf2d29e
      Chen Gang authored
      commit 9493c242 upstream.
      
      Remove 2 redundant extern inline functions: qla8044_set_qsnt_ready() and
      qla8044_need_reset_handler(). At present, within upstream next kernel
      source code, they are only used within "drivers/scsi/qla2xxx/qla_nx2.c".
      
      The related error and warnings (with allmodconfig under tile):
      
          CC [M]  drivers/scsi/qla2xxx/qla_nx2.o
        drivers/scsi/qla2xxx/qla_nx2.c:1633:1: error: static declaration of 'qla8044_need_reset_handler' follows non-static declaration
         qla8044_need_reset_handler(struct scsi_qla_host *vha)
         ^
        In file included from drivers/scsi/qla2xxx/qla_def.h:3706:0,
                         from drivers/scsi/qla2xxx/qla_nx2.c:11:
        drivers/scsi/qla2xxx/qla_gbl.h:756:20: note: previous declaration of 'qla8044_need_reset_handler' was here
         extern inline void qla8044_need_reset_handler(struct scsi_qla_host *vha);
                            ^
        drivers/scsi/qla2xxx/qla_gbl.h:756:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
        make[3]: *** [drivers/scsi/qla2xxx/qla_nx2.o] Error 1
        make[2]: *** [drivers/scsi/qla2xxx] Error 2
        make[1]: *** [drivers/scsi] Error 2
        make: *** [drivers] Error 2
      
          CC [M]  drivers/scsi/qla2xxx/qla_tmpl.o
        In file included from drivers/scsi/qla2xxx/qla_def.h:3706:0,
                         from drivers/scsi/qla2xxx/qla_tmpl.c:7:
        drivers/scsi/qla2xxx/qla_gbl.h:755:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
         extern inline void qla8044_set_qsnt_ready(struct scsi_qla_host *vha);
                          ^
      Signed-off-by: default avatarChen Gang <gang.chen.5i5j@gmail.com>
      Acked-by: default avatarSaurav Kashyap <saurav.kashyap@qlogic.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Philip Müller <philm@manjaro.org>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      2bf2d29e
    • Arnd Bergmann's avatar
      staging: rtl8712, rtl8712: avoid lots of build warnings · b2fc9e15
      Arnd Bergmann authored
      commit 0c9f3a65 upstream.
      
      The rtl8712 driver has an 'extern inline' function that contains an
      'if', which causes lots of warnings with CONFIG_PROFILE_ALL_BRANCHES
      overriding the definition of 'if':
      
      drivers/staging/rtl8712/ieee80211.h:759:229: warning: '______f' is static but declared in inline function 'ieee80211_get_hdrlen' which is not static [enabled by default]
      
      This changes the driver to use 'static inline' instead, which happens
      to be the correct annotation anyway.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Philip Müller <philm@manjaro.org>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      b2fc9e15
    • gregkh@linuxfoundation.org's avatar
      staging: wlags49_h2: fix extern inline functions · c6bcd3c6
      gregkh@linuxfoundation.org authored
      Patch not upstream as this driver is deleted there.
      
      Fix up some "extern inline" functions as they break the build when using
      a "modern" complier (i.e. gcc5).
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Philip Müller <philm@manjaro.org>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      c6bcd3c6
    • Behan Webster's avatar
      staging, rtl8192e, LLVMLinux: Remove unused inline prototype · d9a72285
      Behan Webster authored
      commit 62ec95f8 upstream.
      
      rtllib_probe_req is defined as "static inline" in rtllib_softmac.c however it
      is declared differently as "extern inline" in rtllib_softmac.h. Since it isn't
      used outside of the scope of rtllib_softmac, it makes sense to remove the
      incorrect declaration.
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Philip Müller <philm@manjaro.org>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      d9a72285
    • Kirill A. Shutemov's avatar
      kernel: use the gnu89 standard explicitly · 6e0fc212
      Kirill A. Shutemov authored
      commit 51b97e35 upstream.
      
      Sasha Levin reports:
       "gcc5 changes the default standard to c11, which makes kernel build
        unhappy
      
        Explicitly define the kernel standard to be gnu89 which should keep
        everything working exactly like it was before gcc5"
      
      There are multiple small issues with the new default, but the biggest
      issue seems to be that the old - and very useful - GNU extension to
      allow a cast in front of an initializer has gone away.
      
      Patch updated by Kirill:
       "I'm pretty sure all gcc versions you can build kernel with supports
        -std=gnu89.  cc-option is redunrant.
      
        We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me"
      
      Note by Andrew Pinski:
       "Yes it was reported and both problems relating to this extension has
        been added to gnu99 and gnu11.  Though there are other issues with the
        kernel dealing with extern inline have different semantics between
        gnu89 and gnu99/11"
      
      End result: we may be able to move up to a newer stdc model eventually,
      but right now the newer models have some annoying deficiencies, so the
      traditional "gnu89" model ends up being the preferred one.
      Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Singed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Philip Müller <philm@manjaro.org>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      6e0fc212
    • Behan Webster's avatar
      staging, rtl8192e, LLVMLinux: Change extern inline to static inline · 17a9ad2b
      Behan Webster authored
      commit 6d91857d upstream.
      
      With compilers which follow the C99 standard (like modern versions of gcc and
      clang), "extern inline" does the opposite thing from older versions of gcc
      (emits code for an externally linkable version of the inline function).
      
      "static inline" does the intended behavior in all cases instead.
      Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Philip Müller <philm@manjaro.org>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      17a9ad2b
    • Konrad Rzeszutek Wilk's avatar
      config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected · 13242f93
      Konrad Rzeszutek Wilk authored
      commit a6dfa128 upstream.
      
      A huge amount of NIC drivers use the DMA API, however if
      compiled under 32-bit an very important part of the DMA API can
      be ommitted leading to the drivers not working at all
      (especially if used with 'swiotlb=force iommu=soft').
      
      As Prashant Sreedharan explains it: "the driver [tg3] uses
      DEFINE_DMA_UNMAP_ADDR(), dma_unmap_addr_set() to keep a copy of
      the dma "mapping" and dma_unmap_addr() to get the "mapping"
      value. On most of the platforms this is a no-op, but ... with
      "iommu=soft and swiotlb=force" this house keeping is required,
      ... otherwise we pass 0 while calling pci_unmap_/pci_dma_sync_
      instead of the DMA address."
      
      As such enable this even when using 32-bit kernels.
      Reported-by: default avatarIan Jackson <Ian.Jackson@eu.citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Acked-by: default avatarPrashant Sreedharan <prashant@broadcom.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: boris.ostrovsky@oracle.com
      Cc: cascardo@linux.vnet.ibm.com
      Cc: david.vrabel@citrix.com
      Cc: sanjeevb@broadcom.com
      Cc: siva.kallam@broadcom.com
      Cc: vyasevich@gmail.com
      Cc: xen-devel@lists.xensource.com
      Link: http://lkml.kernel.org/r/20150417190448.GA9462@l.oracle.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      13242f93