28 Jul, 2014

1 commit

  • The 440 target hasn't been properly functioning for a few releases and
    before I was the only one who fixes a very serious bug that indicates to
    me that nobody used it before either.

    Furthermore KVM on 440 is slow to the extent of unusable.

    We don't have to carry along completely unused code. Remove 440 and give
    us one less thing to worry about.

    Signed-off-by: Alexander Graf

    Alexander Graf
     

11 Jun, 2014

1 commit

  • Pull powerpc updates from Ben Herrenschmidt:
    "Here is the bulk of the powerpc changes for this merge window. It got
    a bit delayed in part because I wasn't paying attention, and in part
    because I discovered I had a core PCI change without a PCI maintainer
    ack in it. Bjorn eventually agreed it was ok to merge it though we'll
    probably improve it later and I didn't want to rebase to add his ack.

    There is going to be a bit more next week, essentially fixes that I
    still want to sort through and test.

    The biggest item this time is the support to build the ppc64 LE kernel
    with our new v2 ABI. We previously supported v2 userspace but the
    kernel itself was a tougher nut to crack. This is now sorted mostly
    thanks to Anton and Rusty.

    We also have a fairly big series from Cedric that add support for
    64-bit LE zImage boot wrapper. This was made harder by the fact that
    traditionally our zImage wrapper was always 32-bit, but our new LE
    toolchains don't really support 32-bit anymore (it's somewhat there
    but not really "supported") so we didn't want to rely on it. This
    meant more churn that just endian fixes.

    This brings some more LE bits as well, such as the ability to run in
    LE mode without a hypervisor (ie. under OPAL firmware) by doing the
    right OPAL call to reinitialize the CPU to take HV interrupts in the
    right mode and the usual pile of endian fixes.

    There's another series from Gavin adding EEH improvements (one day we
    *will* have a release with less than 20 EEH patches, I promise!).

    Another highlight is the support for the "Split core" functionality on
    P8 by Michael. This allows a P8 core to be split into "sub cores" of
    4 threads which allows the subcores to run different guests under KVM
    (the HW still doesn't support a partition per thread).

    And then the usual misc bits and fixes ..."

    [ Further delayed by gmail deciding that BenH is a dirty spammer.
    Google knows. ]

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (155 commits)
    powerpc/powernv: Add missing include to LPC code
    selftests/powerpc: Test the THP bug we fixed in the previous commit
    powerpc/mm: Check paca psize is up to date for huge mappings
    powerpc/powernv: Pass buffer size to OPAL validate flash call
    powerpc/pseries: hcall functions are exported to modules, need _GLOBAL_TOC()
    powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC()
    powerpc/powernv: Set memory_block_size_bytes to 256MB
    powerpc: Allow ppc_md platform hook to override memory_block_size_bytes
    powerpc/powernv: Fix endian issues in memory error handling code
    powerpc/eeh: Skip eeh sysfs when eeh is disabled
    powerpc: 64bit sendfile is capped at 2GB
    powerpc/powernv: Provide debugfs access to the LPC bus via OPAL
    powerpc/serial: Use saner flags when creating legacy ports
    powerpc: Add cpu family documentation
    powerpc/xmon: Fix up xmon format strings
    powerpc/powernv: Add calls to support little endian host
    powerpc: Document sysfs DSCR interface
    powerpc: Fix regression of per-CPU DSCR setting
    powerpc: Split __SYSFS_SPRSETUP macro
    arch: powerpc/fadump: Cleaning up inconsistent NULL checks
    ...

    Linus Torvalds
     

05 Jun, 2014

1 commit


05 May, 2014

1 commit


27 Aug, 2013

1 commit


01 Jul, 2013

1 commit

  • Add support for EBB (Event Based Branches) on 64-bit book3s. See the
    included documentation for more details.

    EBBs are a feature which allows the hardware to branch directly to a
    specified user space address when a PMU event overflows. This can be
    used by programs for self-monitoring with no kernel involvement in the
    inner loop.

    Most of the logic is in the generic book3s code, primarily to avoid a
    proliferation of PMU callbacks.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     

01 Jun, 2013

3 commits

  • When in an active transaction that takes a signal, we need to be careful with
    the stack. It's possible that the stack has moved back up after the tbegin.
    The obvious case here is when the tbegin is called inside a function that
    returns before a tend. In this case, the stack is part of the checkpointed
    transactional memory state. If we write over this non transactionally or in
    suspend, we are in trouble because if we get a tm abort, the program counter
    and stack pointer will be back at the tbegin but our in memory stack won't be
    valid anymore.

    To avoid this, when taking a signal in an active transaction, we need to use
    the stack pointer from the checkpointed state, rather than the speculated
    state. This ensures that the signal context (written tm suspended) will be
    written below the stack required for the rollback. The transaction is aborted
    becuase of the treclaim, so any memory written between the tbegin and the
    signal will be rolled back anyway.

    For signals taken in non-TM or suspended mode, we use the
    normal/non-checkpointed stack pointer.

    Tested with 64 and 32 bit signals

    Signed-off-by: Michael Neuling
    Cc: # v3.9
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • If we are emulating an instruction inside an active user transaction that
    touches memory, the kernel can't emulate it as it operates in transactional
    suspend context. We need to abort these transactions and send them back to
    userspace for the hardware to rollback.

    We can service these if the user transaction is in suspend mode, since the
    kernel will operate in the same suspend context.

    This adds a check to all alignment faults and to specific instruction
    emulations (only string instructions for now). If the user process is in an
    active (non-suspended) transaction, we abort the transaction go back to
    userspace allowing the HW to roll back the transaction and tell the user of the
    failure. This also adds new tm abort cause codes to report the reason of the
    persistent error to the user.

    Crappy test case here http://neuling.org/devel/junkcode/aligntm.c

    Signed-off-by: Michael Neuling
    Cc: # v3.9
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • Signed-off-by: Michael Neuling
    Cc: # 3.9 only
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     

18 Apr, 2013

2 commits

  • This adds new debug feature information so that the DAWR can be
    identified by userspace tools like GDB.

    Unfortunately the DAWR doesn't sit nicely into the current description
    that ptrace provides to userspace via struct ppc_debug_info. It doesn't
    allow for specifying that only some ranges are possible or even the end
    alignment constraints (DAWR only allows 512 byte wide ranges which can't
    cross a 512 byte boundary).

    After talking to Edjunior Machado (GDB ppc developer), it was decided
    this was the best approach. Just mark it as debug feature DAWR and
    tools like GDB can internally decide the constraints.

    Signed-off-by: Michael Neuling
    Signed-off-by: Michael Ellerman

    Michael Neuling
     
  • PPC_PREP is marked as BROKEN since v2.6.15. Remove all PReP specific
    code now.

    Signed-off-by: Paul Bolle
    Signed-off-by: Michael Ellerman

    Paul Bolle
     

15 Feb, 2013

1 commit


10 Jan, 2013

1 commit


15 Nov, 2012

1 commit

  • PPC_PTRACE_GETHWDBGINFO, PPC_PTRACE_SETHWDEBUG and PPC_PTRACE_DELHWDEBUG are
    PowerPC specific ptrace flags that use the watchpoint register. While they are
    targeted primarily towards BookE users, user-space applications such as GDB
    have started using them for BookS too. This patch enables the use of generic
    hardware breakpoint interfaces for these new flags.

    Apart from the usual benefits of using generic hw-breakpoint interfaces, these
    changes allow debuggers (such as GDB) to use a common set of ptrace flags for
    their watchpoint needs and allow more precise breakpoint specification (length
    of the variable can be specified).

    Mikey added: rebased and added dbginfo.features around #ifdef
    CONFIG_HAVE_HW_BREAKPOINT

    Signed-off-by: K.Prasad
    Acked-by: David Gibson
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    K.Prasad
     

19 Mar, 2012

1 commit


23 Feb, 2012

2 commits


31 Mar, 2011

1 commit


17 Mar, 2011

1 commit


31 Jan, 2011

1 commit


14 Jan, 2011

1 commit

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    Documentation/trace/events.txt: Remove obsolete sched_signal_send.
    writeback: fix global_dirty_limits comment runtime -> real-time
    ppc: fix comment typo singal -> signal
    drivers: fix comment typo diable -> disable.
    m68k: fix comment typo diable -> disable.
    wireless: comment typo fix diable -> disable.
    media: comment typo fix diable -> disable.
    remove doc for obsolete dynamic-printk kernel-parameter
    remove extraneous 'is' from Documentation/iostats.txt
    Fix spelling milisec -> ms in snd_ps3 module parameter description
    Fix spelling mistakes in comments
    Revert conflicting V4L changes
    i7core_edac: fix typos in comments
    mm/rmap.c: fix comment
    sound, ca0106: Fix assignment to 'channel'.
    hrtimer: fix a typo in comment
    init/Kconfig: fix typo
    anon_inodes: fix wrong function name in comment
    fix comment typos concerning "consistent"
    poll: fix a typo in comment
    ...

    Fix up trivial conflicts in:
    - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)
    - fs/ext4/ext4.h

    Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.

    Linus Torvalds
     

12 Jan, 2011

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (72 commits)
    powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA
    powerpc/pseries: Fix VPHN build errors on non-SMP systems
    powerpc/83xx: add mpc8308_p1m DMA controller device-tree node
    powerpc/83xx: add DMA controller to mpc8308 device-tree node
    powerpc/512x: try to free dma descriptors in case of allocation failure
    powerpc/512x: add MPC8308 dma support
    powerpc/512x: fix the hanged dma transfer issue
    powerpc/512x: scatter/gather dma fix
    powerpc/powermac: Make auto-loading of therm_pm72 possible
    of/address: Use propper endianess in get_flags
    powerpc/pci: Use printf extension %pR for struct resource
    powerpc: Remove unnecessary casts of void ptr
    powerpc: Disable VPHN polling during a suspend operation
    powerpc/pseries: Poll VPA for topology changes and update NUMA maps
    powerpc: iommu: Add device name to iommu error printks
    powerpc: Record vma->phys_addr in ioremap()
    powerpc: Update compat_arch_ptrace
    powerpc: Fix PPC_PTRACE_SETHWDEBUG on PPC_BOOK3S
    powerpc/time: printk time stamp init not correct
    powerpc: Minor cleanups for machdep.h
    ...

    Linus Torvalds
     

24 Dec, 2010

1 commit

  • Information about the pagesize and read-only-status may also come from
    the devicetree. Parse this data, too, and act accordingly. While we are
    here, change the initialization printout a bit. write_max is useful to
    know to detect performance bottlenecks, the rest is superfluous.

    Signed-off-by: Wolfram Sang
    Signed-off-by: Grant Likely

    Wolfram Sang
     

29 Nov, 2010

2 commits


02 Nov, 2010

1 commit

  • "gadget", "through", "command", "maintain", "maintain", "controller", "address",
    "between", "initiali[zs]e", "instead", "function", "select", "already",
    "equal", "access", "management", "hierarchy", "registration", "interest",
    "relative", "memory", "offset", "already",

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Jiri Kosina

    Uwe Kleine-König
     

23 Oct, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (141 commits)
    USB: mct_u232: fix broken close
    USB: gadget: amd5536udc.c: fix error path
    USB: imx21-hcd - fix off by one resource size calculation
    usb: gadget: fix Kconfig warning
    usb: r8a66597-udc: Add processing when USB was removed.
    mxc_udc: add workaround for ENGcm09152 for i.MX35
    USB: ftdi_sio: add device ids for ScienceScope
    USB: musb: AM35x: Workaround for fifo read issue
    USB: musb: add musb support for AM35x
    USB: AM35x: Add musb support
    usb: Fix linker errors with CONFIG_PM=n
    USB: ohci-sh - use resource_size instead of defining its own resource_len macro
    USB: isp1362-hcd - use resource_size instead of defining its own resource_len macro
    USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro
    USB: xhci: Fix compile error when CONFIG_PM=n
    USB: accept some invalid ep0-maxpacket values
    USB: xHCI: PCI power management implementation
    USB: xHCI: bus power management implementation
    USB: xHCI: port remote wakeup implementation
    USB: xHCI: port power management implementation
    ...

    Manually fix up (non-data) conflict: the SCSI merge gad renamed the
    'hw_sector_size' member to 'physical_block_size', and the USB tree
    brought a new use of it.

    Linus Torvalds
     
  • Extends FSL EHCI platform driver glue layer to support
    MPC5121 USB controllers. MPC5121 Rev 2.0 silicon EHCI
    registers are in big endian format. The appropriate flags
    are set using the information in the platform data structure.
    MPC83xx system interface registers are not available on
    MPC512x, so the access to these registers is isolated in
    MPC512x case. Furthermore the USB controller clocks
    must be enabled before 512x register accesses which is
    done by providing platform specific init callback.

    The MPC512x internal USB PHY doesn't provide supply voltage.
    For boards using different power switches allow specifying
    DRVVBUS and PWR_FAULT signal polarity of the MPC5121 internal
    PHY using "fsl,invert-drvvbus" and "fsl,invert-pwr-fault"
    properties in the device tree USB nodes. Adds documentation
    for this new device tree bindings.

    Signed-off-by: Anatolij Gustschin
    Cc: Grant Likely
    Signed-off-by: Greg Kroah-Hartman

    Anatolij Gustschin
     

13 Oct, 2010

1 commit


21 Aug, 2010

1 commit


17 Aug, 2010

1 commit


11 Aug, 2010

1 commit


06 Aug, 2010

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (79 commits)
    powerpc/8xx: Add support for the MPC8xx based boards from TQC
    powerpc/85xx: Introduce support for the Freescale P1022DS reference board
    powerpc/85xx: Adding DTS for the STx GP3-SSA MPC8555 board
    powerpc/85xx: Change deprecated binding for 85xx-based boards
    powerpc/tqm85xx: add a quirk for ti1520 PCMCIA bridge
    powerpc/tqm85xx: update PCI interrupt-map attribute
    powerpc/mpc8308rdb: support for MPC8308RDB board from Freescale
    powerpc/fsl_pci: add quirk for mpc8308 pcie bridge
    powerpc/85xx: Cleanup QE initialization for MPC85xxMDS boards
    powerpc/85xx: Fix booting for P1021MDS boards
    powerpc/85xx: Fix SWIOTLB initalization for MPC85xxMDS boards
    powerpc/85xx: kexec for SMP 85xx BookE systems
    powerpc/5200/i2c: improve i2c bus error recovery
    of/xilinxfb: update tft compatible versions
    powerpc/fsl-diu-fb: Support setting display mode using EDID
    powerpc/5121: doc/dts-bindings: update doc of FSL DIU bindings
    powerpc/5121: shared DIU framebuffer support
    powerpc/5121: move fsl-diu-fb.h to include/linux
    powerpc/5121: fsl-diu-fb: fix issue with re-enabling DIU area descriptor
    powerpc/512x: add clock structure for Video-IN (VIU) unit
    ...

    Linus Torvalds
     

04 Aug, 2010

1 commit

  • Below you will find an updated version from the original series bunching all patches into one big patch
    updating broken web addresses that are located in Documentation/*
    Some of the addresses date as far far back as 1995 etc... so searching became a bit difficult,
    the best way to deal with these is to use web.archive.org to locate these addresses that are outdated.
    Now there are also some addresses pointing to .spec files some are located, but some(after searching
    on the companies site)where still no where to be found. In this case I just changed the address
    to the company site this way the users can contact the company and they can locate them for the users.

    Signed-off-by: Justin P. Mattock
    Signed-off-by: Thomas Weber
    Signed-off-by: Mike Frysinger
    Cc: Paulo Marques
    Cc: Randy Dunlap
    Cc: Michael Neuling
    Signed-off-by: Jiri Kosina

    Justin P. Mattock
     

02 Aug, 2010

3 commits

  • This patch improves the recovery of the MPC's I2C bus from errors like bus
    hangs resulting in timeouts:
    1. make the bus timeout configurable, as it depends on the bus clock and
    the attached slave chip(s); default is still 1 second;
    2. detect any of the cases indicated by the CF, BB and RXAK MSR flags if a
    timeout occurs, and add a missing (required) MAL reset;
    3. use a more reliable method to fixup the bus if a hang has been detected.
    The sequence is sent 9 times which seems to be necessary if a slave
    "misses" more than one clock cycle. For 400 kHz bus speed, the fixup is
    also ~70us (81us vs. 150us) faster.

    Tested on a custom Lite5200b derived board, with a Dallas RTC, AD sensors
    and NXP IO expander chips attached to the i2c.

    Changes vs. v1:
    - use improved bus fixup sequence for all chips (not only the 5200)
    - calculate real clock from defaults if no clock is given in the device tree
    - better description (I hope) of the changes.

    I didn't split the changes in this file into three parts as recommended by
    Grant, as they actually belong together (i.e. they address one single
    problem, just in three places of one single source file).

    Signed-off-by: Albrecht Dreß
    [grant.likely@secretlab.ca: fixup for ->node to ->dev.of_node transition]
    Signed-off-by: Grant Likely

    Albrecht Dreß
     
  • Adds support for encoding display mode information
    in the device tree using verbatim EDID block.

    If the EDID entry in the DIU node is present, the
    driver will build mode database using EDID data
    and allow setting the display modes from this database.
    Otherwise display mode will be set using mode
    entries from driver's internal database as usual.

    This patch also updates device tree bindings.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Timur Tabi
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • Update compatible and interrupt properties description.
    Furthermore an example for the MPC5121 has been added.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Timur Tabi
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     

22 May, 2010

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (92 commits)
    powerpc: Remove unused 'protect4gb' boot parameter
    powerpc: Build-in e1000e for pseries & ppc64_defconfig
    powerpc/pseries: Make request_ras_irqs() available to other pseries code
    powerpc/numa: Use ibm,architecture-vec-5 to detect form 1 affinity
    powerpc/numa: Set a smaller value for RECLAIM_DISTANCE to enable zone reclaim
    powerpc: Use smt_snooze_delay=-1 to always busy loop
    powerpc: Remove check of ibm,smt-snooze-delay OF property
    powerpc/kdump: Fix race in kdump shutdown
    powerpc/kexec: Fix race in kexec shutdown
    powerpc/kexec: Speedup kexec hash PTE tear down
    powerpc/pseries: Add hcall to read 4 ptes at a time in real mode
    powerpc: Use more accurate limit for first segment memory allocations
    powerpc/kdump: Use chip->shutdown to disable IRQs
    powerpc/kdump: CPUs assume the context of the oopsing CPU
    powerpc/crashdump: Do not fail on NULL pointer dereferencing
    powerpc/eeh: Fix oops when probing in early boot
    powerpc/pci: Check devices status property when scanning OF tree
    powerpc/vio: Switch VIO Bus PM to use generic helpers
    powerpc: Avoid bad relocations in iSeries code
    powerpc: Use common cpu_die (fixes SMP+SUSPEND build)
    ...

    Linus Torvalds
     

17 May, 2010

1 commit


06 May, 2010

1 commit

  • By setting "reset_type" to one of the following values, the default
    software reset mechanism may be overidden. Here the possible values of
    "reset_type":

    1 - PPC4xx core reset
    2 - PPC4xx chip reset
    3 - PPC4xx system reset (default)

    This will be used by a new PPC440SPe board port, which needs a "chip
    reset" instead of the default "system reset" to be asserted.

    Signed-off-by: Stefan Roese
    Cc: Josh Boyer
    Cc: Benjamin Herrenschmidt
    Acked-by: Josh Boyer
    Signed-off-by: Josh Boyer

    Stefan Roese