10 Mar, 2017

1 commit

  • Fix typos and add the following to the scripts/spelling.txt:

    disble||disable
    disbled||disabled

    I kept the TSL2563_INT_DISBLED in /drivers/iio/light/tsl2563.c
    untouched. The macro is not referenced at all, but this commit is
    touching only comment blocks just in case.

    Link: http://lkml.kernel.org/r/1481573103-11329-20-git-send-email-yamada.masahiro@socionext.com
    Signed-off-by: Masahiro Yamada
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masahiro Yamada
     

21 Jul, 2016

1 commit


28 Jun, 2016

1 commit

  • The ARM allmodconfig build currently warngs because of the
    ux500 crypto driver not working well with the jump label
    implementation that we started using for dynamic debug, which
    breaks building with 'gcc -O0':

    In file included from /git/arm-soc/include/linux/jump_label.h:105:0,
    from /git/arm-soc/include/linux/dynamic_debug.h:5,
    from /git/arm-soc/include/linux/printk.h:289,
    from /git/arm-soc/include/linux/kernel.h:13,
    from /git/arm-soc/include/linux/clk.h:16,
    from /git/arm-soc/drivers/crypto/ux500/hash/hash_core.c:16:
    /git/arm-soc/arch/arm/include/asm/jump_label.h: In function 'hash_set_dma_transfer':
    /git/arm-soc/arch/arm/include/asm/jump_label.h:13:7: error: asm operand 0 probably doesn't match constraints [-Werror]
    asm_volatile_goto("1:\n\t"

    Turning off compiler optimizations has never really been supported
    here, and it's only used when debugging the driver. I have not found
    a good reason for doing this here, other than a misguided attempt
    to produce more readable assembly output. Also, the driver is only
    used in obsolete hardware that almost certainly nobody will spend
    time debugging any more.

    This just removes the -O0 flag from the compiler options.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Herbert Xu

    Arnd Bergmann
     

13 Jun, 2016

1 commit

  • The hash buffer is really HASH_BLOCK_SIZE bytes, someone
    must have thought that memmove takes n*u32 words by mistake.
    Tests work as good/bad as before after this patch.

    Cc: Joakim Bech
    Cc: stable@vger.kernel.org
    Reported-by: David Binderman
    Signed-off-by: Linus Walleij
    Signed-off-by: Herbert Xu

    Linus Walleij
     

11 Mar, 2016

1 commit


22 Dec, 2015

1 commit


14 Oct, 2015

1 commit


21 Sep, 2015

1 commit


18 Jun, 2015

1 commit

  • This patch fixes a number of problems in crypto driver Kconfig
    entries:

    1. Select BLKCIPHER instead of BLKCIPHER2. The latter is internal
    and should not be used outside of the crypto API itself.
    2. Do not select ALGAPI unless you use a legacy type like
    CRYPTO_ALG_TYPE_CIPHER.
    3. Select the algorithm type that you are implementing, e.g., AEAD.
    4. Do not select generic C code such as CBC/ECB unless you use them
    as a fallback.
    5. Remove default n since that is the default default.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

06 Mar, 2015

1 commit


19 Feb, 2015

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This update brings:

    - the big cleanup up by Maxime for device control and slave
    capabilities. This makes the API much cleaner.

    - new IMG MDC driver by Andrew

    - new Renesas R-Car Gen2 DMA Controller driver by Laurent along with
    bunch of fixes on rcar drivers

    - odd fixes and updates spread over driver"

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (130 commits)
    dmaengine: pl330: add DMA_PAUSE feature
    dmaengine: pl330: improve pl330_tx_status() function
    dmaengine: rcar-dmac: Disable channel 0 when using IOMMU
    dmaengine: rcar-dmac: Work around descriptor mode IOMMU errata
    dmaengine: rcar-dmac: Allocate hardware descriptors with DMAC device
    dmaengine: rcar-dmac: Fix oops due to unintialized list in error ISR
    dmaengine: rcar-dmac: Fix spinlock issues in interrupt
    dmaenegine: edma: fix sparse warnings
    dmaengine: rcar-dmac: Fix uninitialized variable usage
    dmaengine: shdmac: extend PM methods
    dmaengine: shdmac: use SET_RUNTIME_PM_OPS()
    dmaengine: pl330: fix bug that cause start the same descs in cyclic
    dmaengine: at_xdmac: allow muliple dwidths when doing slave transfers
    dmaengine: at_xdmac: simplify channel configuration stuff
    dmaengine: at_xdmac: introduce save_cc field
    dmaengine: at_xdmac: wait for in-progress transaction to complete after pausing a channel
    ioat: fail self-test if wait_for_completion times out
    dmaengine: dw: define DW_DMA_MAX_NR_MASTERS
    dmaengine: dw: amend description of dma_dev field
    dmatest: move src_off, dst_off, len inside loop
    ...

    Linus Torvalds
     

26 Jan, 2015

1 commit


22 Dec, 2014

2 commits


15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

24 Nov, 2014

1 commit


10 Nov, 2014

2 commits


20 Oct, 2014

2 commits


03 Jul, 2014

1 commit

  • The interrupt handler in the ux500 crypto driver has an obviously
    incorrect way to access the data buffer, which for a while has
    caused this build warning:

    ../ux500/cryp/cryp_core.c: In function 'cryp_interrupt_handler':
    ../ux500/cryp/cryp_core.c:234:5: warning: passing argument 1 of '__fswab32' makes integer from pointer without a cast [enabled by default]
    writel_relaxed(ctx->indata,
    ^
    In file included from ../include/linux/swab.h:4:0,
    from ../include/uapi/linux/byteorder/big_endian.h:12,
    from ../include/linux/byteorder/big_endian.h:4,
    from ../arch/arm/include/uapi/asm/byteorder.h:19,
    from ../include/asm-generic/bitops/le.h:5,
    from ../arch/arm/include/asm/bitops.h:340,
    from ../include/linux/bitops.h:33,
    from ../include/linux/kernel.h:10,
    from ../include/linux/clk.h:16,
    from ../drivers/crypto/ux500/cryp/cryp_core.c:12:
    ../include/uapi/linux/swab.h:57:119: note: expected '__u32' but argument is of type 'const u8 *'
    static inline __attribute_const__ __u32 __fswab32(__u32 val)

    There are at least two, possibly three problems here:
    a) when writing into the FIFO, we copy the pointer rather than the
    actual data we want to give to the hardware
    b) the data pointer is an array of 8-bit values, while the FIFO
    is 32-bit wide, so both the read and write access fail to do
    a proper type conversion
    c) This seems incorrect for big-endian kernels, on which we need to
    byte-swap any register access, but not normally FIFO accesses,
    at least the DMA case doesn't do it either.

    This converts the bogus loop to use the same readsl/writesl pair
    that we use for the two other modes (DMA and polling). This is
    more efficient and consistent, and probably correct for endianess.

    The bug has existed since the driver was first merged, and was
    probably never detected because nobody tried to use interrupt mode.
    It might make sense to backport this fix to stable kernels, depending
    on how the crypto maintainers feel about that.

    Signed-off-by: Arnd Bergmann
    Cc: linux-crypto@vger.kernel.org
    Cc: Fabio Baltieri
    Cc: Linus Walleij
    Cc: Herbert Xu
    Cc: "David S. Miller"
    Cc: stable@vger.kernel.org
    Signed-off-by: Herbert Xu

    Arnd Bergmann
     

01 Aug, 2013

1 commit

  • Logging messages without newlines are possibly interleaved
    with other messages. Add terminating newlines to avoid
    this.

    Other miscellaneous changes:

    Make arrays const to reduce data size
    Add pr_fmt to prefix pr_, remove now unused DEV_DBG_NAME
    Coalesce formats, align arguments
    Remove unnecessary OOM messages as dump_stack is already done
    Remove unnecessary cast of void *
    Change kzalloc(sizeof(struct)...) to kzalloc(sizeof(*var), ...)
    Reduce indents in struct definitions

    Signed-off-by: Joe Perches
    Acked-by: Linus Walleij
    Signed-off-by: Herbert Xu

    Joe Perches
     

06 Jul, 2013

1 commit

  • Pull crypto update from Herbert Xu:
    - Do not idle omap device between crypto operations in one session.
    - Added sha224/sha384 shims for SSSE3.
    - More optimisations for camellia-aesni-avx2.
    - Removed defunct blowfish/twofish AVX2 implementations.
    - Added unaligned buffer self-tests.
    - Added PCLMULQDQ optimisation for CRCT10DIF.
    - Added support for Freescale's DCP co-processor
    - Misc fixes.

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (44 commits)
    crypto: testmgr - test hash implementations with unaligned buffers
    crypto: testmgr - test AEADs with unaligned buffers
    crypto: testmgr - test skciphers with unaligned buffers
    crypto: testmgr - check that entries in alg_test_descs are in correct order
    Revert "crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher"
    Revert "crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher"
    crypto: camellia-aesni-avx2 - tune assembly code for more performance
    hwrng: bcm2835 - fix MODULE_LICENSE tag
    hwrng: nomadik - use clk_prepare_enable()
    crypto: picoxcell - replace strict_strtoul() with kstrtoul()
    crypto: dcp - Staticize local symbols
    crypto: dcp - Use NULL instead of 0
    crypto: dcp - Use devm_* APIs
    crypto: dcp - Remove redundant platform_set_drvdata()
    hwrng: use platform_{get,set}_drvdata()
    crypto: omap-aes - Don't idle/start AES device between Encrypt operations
    crypto: crct10dif - Use PTR_RET
    crypto: ux500 - Cocci spatch "resource_size.spatch"
    crypto: sha256_ssse3 - add sha224 support
    crypto: sha512_ssse3 - add sha384 support
    ...

    Linus Torvalds
     

03 Jul, 2013

1 commit

  • Pull ARM SoC driver specific changes from Arnd Bergmann:
    "These changes are all driver specific and cross over between arm-soc
    contents and some other subsystem, in these cases cpufreq, crypto,
    dma, pinctrl, mailbox and usb, and the subsystem owners agreed to have
    these changes merged through arm-soc.

    As we proceed to untangle the dependencies between platform code and
    driver code, the amount of changes in this category is fortunately
    shrinking, for 3.11 we have 16 branches here and 101 non-merge
    changesets, the majority of which are for the stedma40 dma engine
    driver used in the ux500 platform. Cleaning up that code touches
    multiple subsystems, but gets rid of the dependency in the end.

    The mailbox code moved out from mach-omap2 to drivers/mailbox is an
    intermediate step and is still omap specific at the moment. Patches
    exist to generalize the subsystem and add other drivers with the same
    API, but those did not make it for 3.11."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (101 commits)
    crypto: ux500: use dmaengine_submit API
    crypto: ux500: use dmaengine_prep_slave_sg API
    crypto: ux500: use dmaengine_device_control API
    crypto: ux500/crypt: add missing __iomem qualifiers
    crypto: ux500/hash: add missing static qualifiers
    crypto: ux500/hash: use readl on iomem addresses
    dmaengine: ste_dma40: Declare memcpy config as static
    ARM: ux500: Remove mop500_snowball_ethernet_clock_enable()
    ARM: ux500: Correct the EN_3v3 regulator's on/off GPIO
    ARM: ux500: Provide a AB8500 GPIO Device Tree node
    gpio: rcar: fix gpio_rcar_of_table
    gpio-rcar: Remove #ifdef CONFIG_OF around OF-specific sections
    gpio-rcar: Reference core gpio documentation in the DT bindings
    clk: exynos5250: Add enum entries for divider clock of i2s1 and i2s2
    ARM: dts: Update Samsung I2S documentation
    ARM: dts: add clock provider information for i2s controllers in Exynos5250
    ARM: dts: add Exynos audio subsystem clock controller node
    clk: samsung: register audio subsystem clocks using common clock framework
    ARM: dts: use #include for all device trees for Samsung
    pinctrl: s3c24xx: use correct header for chained_irq functions
    ...

    Linus Torvalds
     

25 Jun, 2013

6 commits


28 May, 2013

1 commit


27 May, 2013

2 commits

  • By providing an OF match table with a suitable compatible string, we
    can ensure the ux500-hasht driver is probed by supplying an associated
    DT node in a given platform's Device Tree.

    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     
  • By providing an OF match table with a suitable compatible string, we
    can ensure the ux500-crypt driver is probed by supplying an associated
    DT node in a given platform's Device Tree.

    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     

24 May, 2013

5 commits

  • The Cryp driver is currently silent and the Hash driver prints the
    name of its probe function unnecessarily. Let's just put a nice
    descriptive one-liner there instead.

    Cc: David S. Miller
    Cc: Andreas Westin
    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     
  • The DMA controller currently takes configuration information from
    information passed though dma_channel_request(), but it shouldn't.
    Using the API, the DMA channel should only be configured during
    a dma_slave_config() call.

    Cc: David S. Miller
    Cc: Andreas Westin
    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Acked-by: Arnd Bergmann
    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     
  • If we fail to prepare the ux500-cryp clock before enabling it the
    platform will fail to boot. Here we insure this happens.

    Cc: David S. Miller
    Cc: Andreas Westin
    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Acked-by: Ulf Hansson
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     
  • The DMA controller currently takes configuration information from
    information passed though dma_channel_request(), but it shouldn't.
    Using the API, the DMA channel should only be configured during
    a dma_slave_config() call.

    Cc: David S. Miller
    Cc: Andreas Westin
    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     
  • If we fail to prepare the ux500-hash clock before enabling it the
    platform will fail to boot. Here we insure this happens.

    Cc: David S. Miller
    Cc: Andreas Westin
    Cc: linux-crypto@vger.kernel.org
    Acked-by: Herbert Xu
    Acked-by: Arnd Bergmann
    Acked-by: Ulf Hansson
    Signed-off-by: Lee Jones
    Signed-off-by: Linus Walleij

    Lee Jones
     

03 May, 2013

2 commits

  • Pull crypto update from Herbert Xu:

    - XTS mode optimisation for twofish/cast6/camellia/aes on x86

    - AVX2/x86_64 implementation for blowfish/twofish/serpent/camellia

    - SSSE3/AVX/AVX2 optimisations for sha256/sha512

    - Added driver for SAHARA2 crypto accelerator

    - Fix for GMAC when used in non-IPsec secnarios

    - Added generic CMAC implementation (including IPsec glue)

    - IP update for crypto/atmel

    - Support for more than one device in hwrng/timeriomem

    - Added Broadcom BCM2835 RNG driver

    - Misc fixes

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (59 commits)
    crypto: caam - fix job ring cleanup code
    crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher
    crypto: serpent - add AVX2/x86_64 assembler implementation of serpent cipher
    crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher
    crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher
    crypto: tcrypt - add async cipher speed tests for blowfish
    crypto: testmgr - extend camellia test-vectors for camellia-aesni/avx2
    crypto: aesni_intel - fix Kconfig problem with CRYPTO_GLUE_HELPER_X86
    crypto: aesni_intel - add more optimized XTS mode for x86-64
    crypto: x86/camellia-aesni-avx - add more optimized XTS code
    crypto: cast6-avx: use new optimized XTS code
    crypto: x86/twofish-avx - use optimized XTS code
    crypto: x86 - add more optimized XTS-mode for serpent-avx
    xfrm: add rfc4494 AES-CMAC-96 support
    crypto: add CMAC support to CryptoAPI
    crypto: testmgr - add empty test vectors for null ciphers
    crypto: testmgr - add AES GMAC test vectors
    crypto: gcm - fix rfc4543 to handle async crypto correctly
    crypto: gcm - make GMAC work when dst and src are different
    hwrng: timeriomem - added devicetree hooks
    ...

    Linus Torvalds
     
  • Pull ARM SoC multiplatform updates from Olof Johansson:
    "More multiplatform enablement for ARM platforms. The ones converted
    in this branch are:

    - bcm2835
    - cns3xxx
    - sirf
    - nomadik
    - msx
    - spear
    - tegra
    - ux500

    We're getting close to having most of them converted!

    One of the larger platforms remaining is Samsung Exynos, and there are
    a bunch of supporting patches in this merge window for it. There was
    a patch in this branch to a early version of multiplatform conversion,
    but it ended up being reverted due to need of more bake time. The
    revert commit is part of the branch since it would have required
    rebasing multiple dependent branches and they were stable by then"

    * tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
    mmc: sdhci-s3c: Fix operation on non-single image Samsung platforms
    clocksource: nomadik-mtu: fix up clocksource/timer
    Revert "ARM: exynos: enable multiplatform support"
    ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
    ARM: exynos: enable multiplatform support
    rtc: s3c: make header file local
    mtd: onenand/samsung: make regs-onenand.h file local
    thermal/exynos: remove unnecessary header inclusions
    mmc: sdhci-s3c: remove platform dependencies
    ARM: samsung: move mfc device definition to s5p-dev-mfc.c
    ARM: exynos: move debug-macro.S to include/debug/
    ARM: exynos: prepare for sparse IRQ
    ARM: exynos: introduce EXYNOS_ATAGS symbol
    ARM: tegra: build assembly files with -march=armv7-a
    ARM: Push selects for TWD/SCU into machine entries
    ARM: ux500: build hotplug.o for ARMv7-a
    ARM: ux500: move to multiplatform
    ARM: ux500: make remaining headers local
    ARM: ux500: make irqs.h local to platform
    ARM: ux500: get rid of
    ...

    Linus Torvalds