12 Jan, 2012

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)
    x86/PCI: Expand the x86_msi_ops to have a restore MSIs.
    PCI: Increase resource array mask bit size in pcim_iomap_regions()
    PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES
    PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)
    PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB
    x86/PCI: amd: factor out MMCONFIG discovery
    PCI: Enable ATS at the device state restore
    PCI: msi: fix imbalanced refcount of msi irq sysfs objects
    PCI: kconfig: English typo in pci/pcie/Kconfig
    PCI/PM/Runtime: make PCI traces quieter
    PCI: remove pci_create_bus()
    xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources
    x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()
    x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()
    x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan
    sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources
    sparc/PCI: convert to pci_create_root_bus()
    sh/PCI: convert to pci_scan_root_bus() for correct root bus resources
    powerpc/PCI: convert to pci_create_root_bus()
    powerpc/PCI: split PHB part out of pcibios_map_io_space()
    ...

    Fix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due
    to the same patches being applied in other branches.

    Linus Torvalds
     

07 Jan, 2012

1 commit


05 Jan, 2012

2 commits


19 Dec, 2011

1 commit

  • sched_clock() is yet another blocker on the road to the single
    image. This patch implements an idea by Russell King:

    http://www.spinics.net/lists/linux-omap/msg49561.html

    Instead of asking the platform to implement both sched_clock()
    itself and the rollover callback, simply register a read()
    function, and let the ARM code care about sched_clock() itself,
    the conversion to ns and the rollover. sched_clock() uses
    this read() function as an indirection to the platform code.
    If the platform doesn't provide a read(), the code falls back
    to the jiffy counter (just like the default sched_clock).

    This allow some simplifications and possibly some footprint gain
    when multiple platforms are compiled in. Among the drawbacks,
    the removal of the *_fixed_sched_clock optimization which could
    negatively impact some platforms (sa1100, tegra, versatile
    and omap).

    Tested on 11MPCore, OMAP4 and Tegra.

    Cc: Imre Kaloz
    Cc: Eric Miao
    Cc: Colin Cross
    Cc: Erik Gilling
    Cc: Olof Johansson
    Cc: Sascha Hauer
    Cc: Alessandro Rubini
    Cc: STEricsson
    Cc: Lennert Buytenhek
    Cc: Ben Dooks
    Tested-by: Jamie Iles
    Tested-by: Tony Lindgren
    Tested-by: Kyungmin Park
    Acked-by: Linus Walleij
    Acked-by: Nicolas Pitre
    Acked-by: Krzysztof Halasa
    Acked-by: Kukjin Kim
    Signed-off-by: Marc Zyngier
    Signed-off-by: Russell King

    Marc Zyngier
     

19 Nov, 2011

1 commit


01 Nov, 2011

1 commit


13 Jul, 2011

1 commit

  • Convert PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to variables to allow
    multi-platform builds. This also removes the requirement for a platform to
    have a mach/hardware.h.

    The default values for i/o and mem are 0x1000 and 0x01000000, respectively.
    Per Arnd Bergmann, other values are likely to be incorrect, but this commit
    does not try to address that issue.

    Signed-off-by: Rob Herring
    Acked-by: Nicolas Pitre
    Reviewed-by: Arnd Bergmann

    Rob Herring
     

21 Jun, 2011

1 commit


10 Apr, 2011

1 commit


06 Jan, 2011

1 commit


23 Dec, 2010

3 commits


19 Dec, 2010

1 commit


04 Dec, 2010

1 commit

  • Include sched.h to ensure sched_clock() has the notrace
    annotation, and mark any functions it calls as notrace
    too.
    Include sched.h to ensure sched_clock() has the notrace
    annotation, and mark any functions it calls as notrace
    too.

    Acked-by: Dan Williams
    Signed-off-by: Rabin Vincent
    Signed-off-by: Russell King

    Rabin Vincent
     

31 Jul, 2010

1 commit


27 Jul, 2010

1 commit


22 Jul, 2010

1 commit


30 Apr, 2010

1 commit


16 Feb, 2010

1 commit

  • This allows the procfs vmallocinfo file to show who created the ioremap
    regions. Note: __builtin_return_address(0) doesn't do what's expected
    if its used in an inline function, so we leave __arm_ioremap callers
    in such places alone.

    Signed-off-by: Russell King

    Russell King
     

30 Oct, 2009

4 commits

  • This adds a better sched_clock() to the IOP platform,
    implemented using its new clocksource support.

    Tested on n2100, compile-tested for all plat-iop machines.

    [dan.j.williams@intel.com: allow early cp6 access]
    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     
  • This updates the IOP platform to use the kernel's generic time
    framework. With clockevent support in place, this reduces to
    selecting GENERIC_TIME and removing the platform's private timer
    ->offset() operation (iop_gettimeoffset).

    Tested on n2100, compile-tested for all plat-iop machines.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     
  • This updates the IOP platform to expose the interrupting
    timer 0 as a clockevent object. The timer interrupt handler
    is changed to call the clockevent ->event_handler() instead
    of timer_tick(), and ->set_next_event() and ->set_mode()
    operations are added to allow the mode of the timer to be
    updated (required for ONESHOT/NOHZ mode).

    Timer 0 must now be properly initialised, which requires
    a new write_tcr0() function from the mach-specific code.

    The mode of timer 0 must be read at the start of ->set_mode(),
    which requires a new read_tmr0() function from the mach-
    specific code.

    Initial setup of timer 0 is also rewritten to be more robust.

    Tested on n2100, compile-tested for all plat-iop machines.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     
  • This updates the IOP platform to expose the free-running
    timer 1 as a clocksource object. This timer is now also
    properly initialised, which requires a new write_tcr1()
    function from the mach-specific code. Apart from the
    explicit initialisation, there is no functional change
    in how timer 1 is programmed.

    Tested on n2100, compile-tested for all plat-iop machines.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     

03 Oct, 2009

1 commit


23 Sep, 2009

1 commit


16 Sep, 2009

1 commit


09 Sep, 2009

2 commits


19 Aug, 2009

2 commits

  • The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
    but is perhaps more readable.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @haskernel@
    @@

    #include

    @depends on haskernel@
    expression x,__divisor;
    @@

    - (((x) + ((__divisor) / 2)) / (__divisor))
    + DIV_ROUND_CLOSEST(x,__divisor)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Dan Williams

    Julia Lawall
     
  • There are two 64 MB outbound memory windows at bus addresses
    0x80000000..0x83ffffff and 0x84000000..0x87ffffff for PCI
    memory. Currently, on iop32x, only the lower window is available for
    allocations, limiting the available space to 64 MB. On iop33x the full
    128 MB can be allocated, but the translation value is wrong for the
    upper window.

    The patch enables the full 128 MB space on iop32x and corrects the
    initialization of OMWTVR1. Redundant definitions are deleted. Tested
    using a Thecus N2100 board with a graphics adapter in the expansion
    slot. Both windows are in use:

    00:05.0 VGA compatible controller: XGI Technology Inc. (eXtreme Graphics
    Innovation) Volari Z7 (prog-if 00 [VGA controller])
    [...]
    Region 0: Memory at 80000000 (32-bit, prefetchable) [size=64M]
    Region 1: Memory at 84080000 (32-bit, non-prefetchable) [size=256K]

    Signed-off-by: Aaro Koskinen
    Cc: Lennert Buytenhek
    Signed-off-by: Dan Williams

    Aaro Koskinen
     

09 Apr, 2009

1 commit

  • 'zero_sum' does not properly describe the operation of generating parity
    and checking that it validates against an existing buffer. Change the
    name of the operation to 'val' (for 'validate'). This is in
    anticipation of the p+q case where it is a requirement to identify the
    target parity buffers separately from the source buffers, because the
    target parity buffers will not have corresponding pq coefficients.

    Reviewed-by: Andre Noll
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Dan Williams
     

07 Apr, 2009

2 commits


09 Nov, 2008

1 commit

  • Mikael Pettersson reported:

    The 2.6.28-rc kernels fail to detect PCI device 0000:00:01.0
    (the first ethernet port) on my Thecus n2100 XScale box.

    There is however still a strange "ghost" device that gets partially
    detected in 2.6.28-rc2 vanilla.

    The IOP321 manual says:

    The user designates the memory region containing the OCCDR as
    non-cacheable and non-bufferable from the IntelR XScaleTM core.
    This guarantees that all load/stores to the OCCDR are only of
    DWORD quantities.

    Ensure that the OCCDR is so mapped.

    Signed-off-by: Russell King

    Russell King
     

06 Sep, 2008

1 commit


07 Aug, 2008

3 commits