30 Jan, 2017

1 commit

  • This patch fixes the following warning message seen when booting the
    kernel as Dom0 with Xen on Intel machines.

    [0.003000] [Firmware Bug]: CPU1: APIC id mismatch. Firmware: 0 APIC: 1]

    The code generating the warning in validate_apic_and_package_id() matches
    cpu_data(cpu).apicid (initialized in init_intel()->
    detect_extended_topology() using cpuid) against the apicid returned from
    xen_apic_read(). Now, xen_apic_read() makes a hypercall to retrieve apicid
    for the boot cpu but returns 0 otherwise. Hence the warning gets thrown
    for all but the boot cpu.

    The idea behind xen_apic_read() returning 0 for apicid is that the
    guests (even Dom0) should not need to know what physical processor their
    vcpus are running on. This is because we currently do not have topology
    information in Xen and also because xen allows more vcpus than physical
    processors. However, boot cpu's apicid is required for loading
    xen-acpi-processor driver on AMD machines. Look at following patch for
    details:

    commit 558daa289a40 ("xen/apic: Return the APIC ID (and version) for CPU
    0.")

    So to get rid of the warning, this patch modifies
    xen_cpu_present_to_apicid() to return cpu_data(cpu).apicid instead of
    calling xen_apic_read().

    The warning is not seen on AMD machines because init_amd() populates
    cpu_data(cpu).apicid by calling hard_smp_processor_id()->xen_apic_read()
    as opposed to using apicid from cpuid as is done on Intel machines.

    Signed-off-by: Mohit Gambhir
    Reviewed-by: Juergen Gross
    Signed-off-by: Boris Ostrovsky

    Mohit Gambhir
     

29 Jan, 2017

3 commits

  • In swab.h the "#if BITS_PER_LONG > 32" breaks compiling userspace programs if
    BITS_PER_LONG is #defined by userspace with the sizeof() compiler builtin.

    Solve this problem by using __BITS_PER_LONG instead. Since we now
    #include asm/bitsperlong.h avoid further potential userspace pollution
    by moving the #define of SHIFT_PER_LONG to bitops.h which is not
    exported to userspace.

    This patch unbreaks compiling qemu on hppa/parisc.

    Signed-off-by: Helge Deller
    Cc:

    Helge Deller
     
  • Pull arm64 fix from Catalin Marinas:
    "Fix kernel panic on ACPI-based systems where CPU capacity description
    is not currently handled"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: skip register_cpufreq_notifier on ACPI-based systems

    Linus Torvalds
     
  • Pull ARC fixes from Vineet Gupta:
    "Hopefully last set of changes for ARC for 4.10:

    - fix for unaligned access emulation corner case

    - fix for udelay loop inline asm regression

    - fix irq affinity finally for AXS103 board [Yuriy]

    - final fixes for setting IO-coherency sanely in SMP"

    * tag 'arc-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [arcompact] handle unaligned access delay slot corner case
    ARCv2: smp-boot: wake_flag polling by non-Masters needs to be uncached
    ARC: smp-boot: Decouple Non masters waiting API from jump to entry point
    ARCv2: MCIP: update the BCR per current changes
    ARC: udelay: fix inline assembler by adding LP_COUNT to clobber list
    ARCv2: MCIP: Deprecate setting of affinity in Device Tree

    Linus Torvalds
     

28 Jan, 2017

2 commits

  • Pull s390 fixes from Martin Schwidefsky:
    "Another two bug fixes:

    - ptrace partial write information leak

    - a guest page hinting regression introduced with v4.6"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/mm: Fix cmma unused transfer from pgste into pte
    s390/ptrace: Preserve previous registers for short regset write

    Linus Torvalds
     
  • After emulating an unaligned access in delay slot of a branch, we
    pretend as the delay slot never happened - so return back to actual
    branch target (or next PC if branch was not taken).

    Curently we did this by handling STATUS32.DE, we also need to clear the
    BTA.T bit, which is disregarded when returning from original misaligned
    exception, but could cause weirdness if it took the interrupt return
    path (in case interrupt was acive too)

    One ARC700 customer ran into this when enabling unaligned access fixup
    for kernel mode accesses as well

    Cc: stable@vger.kernel.org
    Signed-off-by: Vineet Gupta

    Vineet Gupta
     

27 Jan, 2017

1 commit

  • On ACPI based systems where the topology is setup using the API
    store_cpu_topology, at the moment we do not have necessary code
    to parse cpu capacity and handle cpufreq notifier, thus
    resulting in a kernel panic.

    Stack:
    init_cpu_capacity_callback+0xb4/0x1c8
    notifier_call_chain+0x5c/0xa0
    __blocking_notifier_call_chain+0x58/0xa0
    blocking_notifier_call_chain+0x3c/0x50
    cpufreq_set_policy+0xe4/0x328
    cpufreq_init_policy+0x80/0x100
    cpufreq_online+0x418/0x710
    cpufreq_add_dev+0x118/0x180
    subsys_interface_register+0xa4/0xf8
    cpufreq_register_driver+0x1c0/0x298
    cppc_cpufreq_init+0xdc/0x1000 [cppc_cpufreq]
    do_one_initcall+0x5c/0x168
    do_init_module+0x64/0x1e4
    load_module+0x130c/0x14d0
    SyS_finit_module+0x108/0x120
    el0_svc_naked+0x24/0x28

    Fixes: 7202bde8b7ae ("arm64: parse cpu capacity-dmips-mhz from DT")
    Acked-by: Will Deacon
    Signed-off-by: Prashanth Prakash
    Signed-off-by: Catalin Marinas

    Prashanth Prakash
     

25 Jan, 2017

8 commits

  • When CONFIG_FPU is not enabled on arch/mn10300, causes
    a build error with a call to fpu_save():

    kernel/built-in.o: In function `.L410':
    core.c:(.sched.text+0x28a): undefined reference to `fpu_save'

    Fix this by including in so that an empty
    static inline fpu_save() is defined.

    Link: http://lkml.kernel.org/r/dc421c4f-4842-4429-1b99-92865c2f24b6@infradead.org
    Signed-off-by: Randy Dunlap
    Reported-by: kbuild test robot
    Reviewed-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Some more atomic64 operations were missing and as a result frv
    allmodconfig was failing. Add the missing operations.

    Link: http://lkml.kernel.org/r/1485193844-12850-1-git-send-email-sudip.mukherjee@codethink.co.uk
    Signed-off-by: Sudip Mukherjee
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudip Mukherjee
     
  • The build of frv allmodconfig was failing with the error:
    lib/atomic64_test.c:209:9: error:

    implicit declaration of function 'atomic64_add_unless'

    All the atomic64 operations were defined in frv, but
    atomic64_add_unless() was not done.

    Implement atomic64_add_unless() as done in other arches.

    Link: http://lkml.kernel.org/r/1484781236-6698-1-git-send-email-sudipm.mukherjee@gmail.com
    Signed-off-by: Sudip Mukherjee
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudip Mukherjee
     
  • This is needed on HS38 cores, for setting up IO-Coherency aperture properly

    The polling could perturb the caches and coherecy fabric which could be
    wrong in the small window when Master is setting up IOC aperture etc
    in arc_cache_init()

    We do it only for ARCv2 based builds to not affect EZChip ARCompact
    based platform.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • For run-on-reset SMP configs, non master cores call a routine which
    waits until Master gives it a "go" signal (currently using a shared
    mem flag). The same routine then jumps off the well known entry point of
    all non Master cores i.e. @first_lines_of_secondary

    This patch moves out the last part into one single place in early boot
    code.

    This is better in terms of absraction (the wait API only waits) and
    returns, leaving out the "jump off to" part.

    In actual implementation this requires some restructuring of the early
    boot code as well as Master now jumps to BSS setup explicitly,
    vs. falling thru into it before.

    Technically this patch doesn't cause any functional change, it just
    moves the ugly #ifdef'ry from assembly code to "C"

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • commit 3c7c7a2fc8811bc ("ARC: Don't use "+l" inline asm constraint")
    modified the inline assembly to setup LP_COUNT register manually and NOT
    rely on gcc to do it (with the +l inline assembler contraint hint, now
    being retired in the compiler)

    However the fix was flawed as we didn't add LP_COUNT to asm clobber list,
    meaning gcc doesn't know that LP_COUNT or zero-delay-loops are in action
    in the inline asm.

    This resulted in some fun - as nested ZOL loops were being generared

    | mov lp_count,250000 ;16 # tmp235,
    | lp .L__GCC__LP14 #

    Vineet Gupta
     
  • Ignore value of interrupt distribution mode for common interrupts in
    IDU since setting of affinity using value from Device Tree is deprecated
    in ARC. Originally it is done in idu_irq_xlate() function and it is
    semantically wrong and does not guaranty that an affinity value will be
    set properly. idu_irq_enable() function is better place for
    initialization of common interrupts.

    By default send all common interrupts to all available online CPUs.
    The affinity of common interrupts in IDU must be set manually since
    in some cases the kernel will not call irq_set_affinity() by itself:

    1. When the kernel is not configured with support of SMP.
    2. When the kernel is configured with support of SMP but upper
    interrupt controllers does not support setting of the affinity
    and cannot propagate it to IDU.

    Signed-off-by: Yuriy Kolerov
    Signed-off-by: Vineet Gupta

    Yuriy Kolerov
     

24 Jan, 2017

3 commits


23 Jan, 2017

1 commit


22 Jan, 2017

2 commits

  • Pull ARC fixes from Vineet Gupta:

    - more intc updates [Yuriv]

    - fix module build when unwinder is turned off

    - IO Coherency Programming model updates

    - other miscellaneous

    * tag 'arc-4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: Revert "ARC: mm: IOC: Don't enable IOC by default"
    ARC: mm: split arc_cache_init to allow __init reaping of bulk
    ARCv2: IOC: Use actual memory size to setup aperture size
    ARCv2: IOC: Adhere to progamming model guidelines to avoid DMA corruption
    ARCv2: IOC: refactor the IOC and SLC operations into own functions
    ARC: module: Fix !CONFIG_ARC_DW2_UNWIND builds
    ARCv2: save r30 on kernel entry as gcc uses it for code-gen
    ARCv2: IRQ: Call entry/exit functions for chained handlers in MCIP
    ARC: IRQ: Use hwirq instead of virq in mask/unmask
    ARC: mmu: clarify the MMUv3 programming model

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    "Two fixes for fallout from the hugetlb changes we merged this cycle.

    Ten other fixes, four only affect Power9, and the rest are a bit of a
    mixture though nothing terrible.

    Thanks to: Aneesh Kumar K.V, Anton Blanchard, Benjamin Herrenschmidt,
    Dave Martin, Gavin Shan, Madhavan Srinivasan, Nicholas Piggin, Reza
    Arbab"

    * tag 'powerpc-4.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc: Ignore reserved field in DCSR and PVR reads and writes
    powerpc/ptrace: Preserve previous TM fprs/vsrs on short regset write
    powerpc/ptrace: Preserve previous fprs/vsrs on short regset write
    powerpc/perf: Use MSR to report privilege level on P9 DD1
    selftest/powerpc: Wrong PMC initialized in pmc56_overflow test
    powerpc/eeh: Enable IO path on permanent error
    powerpc/perf: Fix PM_BRU_CMPL event code for power9
    powerpc/mm: Fix little-endian 4K hugetlb
    powerpc/mm/hugetlb: Don't panic when we don't find the default huge page size
    powerpc: Fix pgtable pmd cache init
    powerpc/icp-opal: Fix missing KVM case and harden replay
    powerpc/mm: Fix memory hotplug BUG() on radix

    Linus Torvalds
     

21 Jan, 2017

3 commits

  • Pull KVM fixes from Radim Krčmář:
    "ARM:
    - Fix for timer setup on VHE machines
    - Drop spurious warning when the timer races against the vcpu running
    again
    - Prevent a vgic deadlock when the initialization fails (for stable)

    s390:
    - Fix a kernel memory exposure (for stable)

    x86:
    - Fix exception injection when hypercall instruction cannot be
    patched"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: s390: do not expose random data via facility bitmap
    KVM: x86: fix fixing of hypercalls
    KVM: arm/arm64: vgic: Fix deadlock on error handling
    KVM: arm64: Access CNTHCTL_EL2 bit fields correctly on VHE systems
    KVM: arm/arm64: Fix occasional warning from the timer work function

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:

    - avoid potential stack information leak via the ptrace ABI caused by
    uninitialised variables

    - SWIOTLB DMA API fall-back allocation fix when the SWIOTLB buffer is
    not initialised (all RAM is suitable for 32-bit DMA masks)

    - fix the bad_mode function returning for unhandled exceptions coming
    from user space

    - fix name clash in __page_to_voff()

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: avoid returning from bad_mode
    arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields
    arm64/ptrace: Avoid uninitialised struct padding in fpr_set()
    arm64/ptrace: Preserve previous registers for short regset write
    arm64/ptrace: Preserve previous registers for short regset write
    arm64/ptrace: Preserve previous registers for short regset write
    arm64: mm: avoid name clash in __page_to_voff()
    arm64: Fix swiotlb fallback allocation

    Linus Torvalds
     
  • KVM: s390: Fix for 4.10 (via kvm/master)

    Fix a kernel memory exposure.

    Radim Krčmář
     

20 Jan, 2017

8 commits

  • kvm_s390_get_machine() populates the facility bitmap by copying bytes
    from the host results that are stored in a 256 byte array in the prefix
    page. The KVM code does use the size of the target buffer (2k), thus
    copying and exposing unrelated kernel memory (mostly machine check
    related logout data).

    Let's use the size of the source buffer instead. This is ok, as the
    target buffer will always be greater or equal than the source buffer as
    the KVM internal buffers (and thus S390_ARCH_FAC_LIST_SIZE_BYTE) cover
    the maximum possible size that is allowed by STFLE, which is 256
    doublewords. All structures are zero allocated so we can leave bytes
    256-2047 unchanged.

    Add a similar fix for kvm_arch_init_vm().

    Reported-by: Heiko Carstens
    [found with smatch]
    Signed-off-by: Christian Borntraeger
    CC: stable@vger.kernel.org
    Acked-by: Cornelia Huck

    Christian Borntraeger
     
  • IBM bit 31 (for the rest of us - bit 0) is a reserved field in the
    instruction definition of mtspr and mfspr. Hardware is encouraged to
    (and does) ignore it.

    As a result, if userspace executes an mtspr DSCR with the reserved bit
    set, we get a DSCR facility unavailable exception. The kernel fails to
    match against the expected value/mask, and we silently return to
    userspace to try and re-execute the same mtspr DSCR instruction. We
    loop forever until the process is killed.

    We should do something here, and it seems mirroring what hardware does
    is the better option vs killing the process. While here, relax the
    matching of mfspr PVR too.

    Cc: stable@vger.kernel.org
    Signed-off-by: Anton Blanchard
    Signed-off-by: Michael Ellerman

    Anton Blanchard
     
  • Ensure that if userspace supplies insufficient data to PTRACE_SETREGSET
    to fill all the check pointed registers, the thread's old check pointed
    registers are preserved.

    Fixes: 9d3918f7c0e5 ("powerpc/ptrace: Enable support for NT_PPC_CVSX")
    Fixes: 19cbcbf75a0c ("powerpc/ptrace: Enable support for NT_PPC_CFPR")
    Cc: stable@vger.kernel.org # v4.8+
    Signed-off-by: Dave Martin
    Signed-off-by: Michael Ellerman

    Dave Martin
     
  • Ensure that if userspace supplies insufficient data to PTRACE_SETREGSET
    to fill all the registers, the thread's old registers are preserved.

    Fixes: c6e6771b87d4 ("powerpc: Introduce VSX thread_struct and CONFIG_VSX")
    Cc: stable@vger.kernel.org # v2.6.27+
    Signed-off-by: Dave Martin
    Signed-off-by: Michael Ellerman

    Dave Martin
     
  • Pull ARM SoC fixes from Olof Johansson:
    "We've been sitting on fixes for a while, and they keep trickling in at
    a low rate. Nothing in here comes across as particularly scary or
    noteworthy, for the most part it's a large collection of small DT
    tweaks"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (24 commits)
    ARM: dts: da850-evm: fix read access to SPI flash
    ARM: dts: omap3: Fix Card Detect and Write Protect on Logic PD SOM-LV
    ARM64: dts: meson-gxbb-odroidc2: Disable SCPI DVFS
    ARM: dts: OMAP5 / DRA7: indicate that SATA port 0 is available.
    ARM: dts: NSP: Fix DT ranges error
    ARM: multi_v7_defconfig: set bcm47xx watchdog
    ARM: multi_v7_defconfig: fix config typo
    ARM: dts: dra72-evm-revc: fix typo in ethernet-phy node
    soc: ti: wkup_m3_ipc: Fix error return code in wkup_m3_ipc_probe()
    ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation
    ARM: dts: sunxi: Change node name for pwrseq pin on Olinuxino-lime2-emmc
    ARM: dts: sun8i: Support DTB build for NanoPi M1
    ARM: dts: sun6i: hummingbird: Enable display engine again
    ARM: dts: sun6i: Disable display pipeline by default
    ARM, ARM64: dts: drop "arm,amba-bus" in favor of "simple-bus" part 3
    ARM: dts: imx6qdl-nitrogen6_som2: fix sgtl5000 pinctrl init
    ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
    ARM: OMAP1: DMA: Correct the number of logical channels
    ARM: dts: am335x-icev2: Remove the duplicated pinmux setting
    ARM: OMAP2+: Fix WL1283 Bluetooth Baud Rate
    ...

    Linus Torvalds
     
  • Read access to the SPI flash are broken on da850-evm, i.e. the data
    read is not what is actually programmed on the flash.
    According to the datasheet for the M25P64 part present on the da850-evm,
    if the SPI frequency is higher than 20MHz then the READ command is not
    usable anymore and only the FAST_READ command can be used to read data.

    This commit specifies in the DTS that we should use FAST_READ command
    instead of the READ command.

    Cc: stable@vger.kernel.org
    Tested-by: Kevin Hilman
    Signed-off-by: Fabien Parent
    [nsekhar@ti.com: subject line adjustment]
    Signed-off-by: Sekhar Nori

    Signed-off-by: Olof Johansson

    Fabien Parent
     
  • Pull PCI fixes from Bjorn Helgaas:

    - recognize that a PCI-to-PCIe bridge originates a PCIe hierarchy, so
    we enumerate that hierarchy correctly

    - X-Gene: fix a change merged for v4.10 that broke MSI

    - Keystone: avoid reading undefined registers, which can cause
    asynchronous external aborts

    - Supermicro X8DTH-i/6/iF/6F: ignore broken _CRS that caused us to
    change (and break) existing I/O port assignments

    * tag 'pci-v4.10-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI/MSI: pci-xgene-msi: Fix CPU hotplug registration handling
    PCI: Enumerate switches below PCI-to-PCIe bridges
    x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F
    PCI: designware: Check for iATU unroll only on platforms that use ATU

    Linus Torvalds
     
  • Pull two s390 bug fixes from Martin Schwidefsky:
    "Two changes, the first is a fix to add a missing memory clobber to the
    inline assembly to load control registers. This has not caused any
    issues so far, but who knows what code gcc will generate in future
    versions.

    The second change is an update for the default configurations. This
    includes CONFIG_BUG_ON_DATA_CORRUPTION=y, we want this to be enabled
    for s390. The usual approach to debug problems on production systems
    is to use crash on a system dump and for us avoiding data corruptions
    is priority one"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390: update defconfigs
    s390/ctl_reg: make __ctl_load a full memory barrier

    Linus Torvalds
     

19 Jan, 2017

8 commits

  • Generally, taking an unexpected exception should be a fatal event, and
    bad_mode is intended to cater for this. However, it should be possible
    to contain unexpected synchronous exceptions from EL0 without bringing
    the kernel down, by sending a SIGILL to the task.

    We tried to apply this approach in commit 9955ac47f4ba1c95 ("arm64:
    don't kill the kernel on a bad esr from el0"), by sending a signal for
    any bad_mode call resulting from an EL0 exception.

    However, this also applies to other unexpected exceptions, such as
    SError and FIQ. The entry paths for these exceptions branch to bad_mode
    without configuring the link register, and have no kernel_exit. Thus, if
    we take one of these exceptions from EL0, bad_mode will eventually
    return to the original user link register value.

    This patch fixes this by introducing a new bad_el0_sync handler to cater
    for the recoverable case, and restoring bad_mode to its original state,
    whereby it calls panic() and never returns. The recoverable case
    branches to bad_el0_sync with a bl, and returns to userspace via the
    usual ret_to_user mechanism.

    Signed-off-by: Mark Rutland
    Fixes: 9955ac47f4ba1c95 ("arm64: don't kill the kernel on a bad esr from el0")
    Reported-by: Mark Salter
    Cc: Will Deacon
    Cc: stable@vger.kernel.org
    Signed-off-by: Catalin Marinas

    Mark Rutland
     
  • The programming model has been fixed with prev patches so re-enable it
    by default

    This reverts commit 23cb1f644019bac49d87b4dd7c1eac0569cc4f53.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • arc_cache_init() is called for each core so can't be tagged __init.
    However bulk of it is only executed by master core and thus is candidate
    for __init reaping.

    So split it up to allow that.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • …l/git/tmlind/linux-omap into fixes

    Fixes for omaps for v4.10-rc cycle. Mostly a DMA regression fix for
    omap1, and then a handful of trivial fixes for boards and devices to
    work:

    - Fixes TI wilink bluetooth strange platform data baud rate
    - Remove duplicate pinmux line for am335x-icev2
    - Fix omap1 dma regression
    - Fix uninitialized return value for wkup_m3_ipc_probe()
    - Fix Ethernet PHY binding typo for dra72-evm
    - Fix init for omap5 and dra7 sata ports
    - Fix mmc card detect pin for Logic PD SOM-LV

    * tag 'omap-for-v4.10/fixes-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: omap3: Fix Card Detect and Write Protect on Logic PD SOM-LV
    ARM: dts: OMAP5 / DRA7: indicate that SATA port 0 is available.
    ARM: dts: dra72-evm-revc: fix typo in ethernet-phy node
    soc: ti: wkup_m3_ipc: Fix error return code in wkup_m3_ipc_probe()
    ARM: OMAP1: DMA: Correct the number of logical channels
    ARM: dts: am335x-icev2: Remove the duplicated pinmux setting
    ARM: OMAP2+: Fix WL1283 Bluetooth Baud Rate

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • vs. fixed 512M before.

    But this still assumes that all of memory is under IOC which may not be
    true for the SoC. Improve that later when this becomes a real issue, by
    specifying this from DT.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • On AXS103 release bitfiles, DMA data corruptions were seen because IOC
    setup was not following the recommended way in documentation.

    Flipping IOC on when caches are enabled or coherency transactions are in
    flight, might cause some of the memory operations to not observe
    coherency as expected.

    So strictly follow the programming model recommendations as documented
    in comment header above arc_ioc_setup()

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • - Move IOC setup into arc_ioc_setup()
    - Move SLC disabling into arc_slc_disable()

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Pull ARM fixes from Russell King:
    "A few ARM fixes:

    - fix a crash while performing TLB maintanence on early ARM SMP cores

    - blacklist Scorpion CPUs for hardware breakpoints

    - ARMs asm/types.h has been included as part of the UAPI due to the
    way the makefiles work, move it to uapi/asm/types.h to make it
    official

    - fix up ftrace syscall name matching"

    * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8613/1: Fix the uaccess crash on PB11MPCore
    MAINTAINERS: update rmk's entries
    ARM: put types.h in uapi
    ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs
    ARM: 8632/1: ftrace: fix syscall name matching

    Linus Torvalds