aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn
Commit message (Collapse)AuthorAge
* [IA64-SGI] fix SGI Altix tioce_reserve_m32() bugMike Habeck2006-04-27
| | | | | | | | | The following patch fixes a bug in the SGI Altix tioce_reserve_m32() code. The bug was that we could walking past the end of the CE ASIC 32/40bit PMU ATE Buffer, resulting in a PIO Reply Error. Signed-off-by: Mike Habeck <habeck@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] - Reduce overhead of reading sn_topologyJack Steiner2006-04-27
| | | | | | | | | | | | | | | MPI programs using certain debug options have a long startup time. This was traced to a "vmalloc/vfree" in the code that reads /proc/sgi_sn/sn_topology. On large systems, vfree requires an IPI to all cpus to do TLB purging. Replace the vmalloc/vfree with kmalloc/kfree. Although the size of the structure being allocated is unknown, it will not not exceed 96 bytes. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64-SGI] - Fix discover of nearest cpu node to IO nodeJack Steiner2006-04-27
| | | | | | | | Fix a bug that causes discovery of the nearest node/cpu to a TIO (IO node) to fail. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Remove redundant NULL checks before kfreeJesper Juhl2006-04-20
| | | | | Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] 'msg' may be used uninitialized in xpc_initiate_allocate()Tony Luck2006-04-04
| | | | | | Found by gcc4.1 and reported by Dean Nelson. Signed-off-by: Tony Luck <tony.luck@intel.com>
* Merge branch 'release' of ↵Linus Torvalds2006-03-30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] ioremap() should prefer WB over UC [IA64] Add __mca_table to the DISCARD list in gate.lds [IA64] Move __mca_table out of the __init section [IA64] simplify some condition checks in iosapic_check_gsi_range [IA64] correct some messages and fixes some minor things [IA64-SGI] fix for-loop in sn_hwperf_geoid_to_cnode() [IA64-SGI] sn_hwperf use of num_online_cpus() [IA64] optimize flush_tlb_range on large numa box [IA64] lazy_mmu_prot_update needs to be aware of huge pages
| * [IA64-SGI] fix for-loop in sn_hwperf_geoid_to_cnode()Dean Roe2006-03-28
| | | | | | | | | | | | | | | | | | | | Fix a for-loop in sn_hwperf_geoid_to_cnode(). It needs to loop over num_cnodes to ensure it can still process TIO nodes in addition to compute nodes on systems with many nodes. Interim fix until better support for many (>265) nodes is complete. Signed-off-by: Dean Roe <roe@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * [IA64-SGI] sn_hwperf use of num_online_cpus()hawkes@sgi.com2006-03-27
| | | | | | | | | | | | | | | | Eliminate an unnecessary -- and flawed -- use of the expensive num_online_cpus(). Signed-off-by: John Hawkes <hawkes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [PATCH] ia64: const f_ops fixAndrew Morton2006-03-28
|/ | | | | | | | Tweak the proc setup code so things work OK with const proc_dir_entry.proc_fops. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] EFI: keep physical table addresses in efi structureBjorn Helgaas2006-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Almost all users of the table addresses from the EFI system table want physical addresses. So rather than doing the pa->va->pa conversion, just keep physical addresses in struct efi. This fixes a DMI bug: the efi structure contained the physical SMBIOS address on x86 but the virtual address on ia64, so dmi_scan_machine() used ioremap() on a virtual address on ia64. This is essentially the same as an earlier patch by Matt Tolentino: http://marc.theaimsgroup.com/?l=linux-kernel&m=112130292316281&w=2 except that this changes all table addresses, not just ACPI addresses. Matt's original patch was backed out because it caused MCAs on HP sx1000 systems. That problem is resolved by the ioremap() attribute checking added for ia64. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Matt Domsch <Matt_Domsch@dell.com> Cc: "Tolentino, Matthew E" <matthew.e.tolentino@intel.com> Cc: "Brown, Len" <len.brown@intel.com> Cc: Andi Kleen <ak@muc.de> Acked-by: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'release' of ↵Linus Torvalds2006-03-25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] New IA64 core/thread detection patch [IA64] Increase max node count on SN platforms [IA64] Increase max node count on SN platforms [IA64] Increase max node count on SN platforms [IA64] Increase max node count on SN platforms [IA64] Tollhouse HP: IA64 arch changes [IA64] cleanup dig_irq_init [IA64] MCA recovery: kernel context recovery table IA64: Use early_parm to handle mvec_name and nomca [IA64] move patchlist and machvec into init section [IA64] add init declaration - nolwsys [IA64] add init declaration - gate page functions [IA64] add init declaration to memory initialization functions [IA64] add init declaration to cpu initialization functions [IA64] add __init declaration to mca functions [IA64] Ignore disabled Local SAPIC Affinity Structure in SRAT [IA64] sn_check_intr: use ia64_get_irr() [IA64] fix ia64 is_hugepage_only_range
| * [IA64] Tollhouse HP: IA64 arch changesPrarit Bhargava2006-03-24
| | | | | | | | | | | | | | | | | | arch/ia64/sn and include/asm-ia64/sn changes required to support Tollhouse system PCI hotplug, fixes the ia64_sn_sysctl_ioboard_get call, and introduces the PRF_HOTPLUG_SUPPORT feature bit. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * [IA64] sn_check_intr: use ia64_get_irr()Bjorn Helgaas2006-03-22
| | | | | | | | | | | | | | | | Use the recently-added ia64_get_irr() rather than duplicating the code. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Acked-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [PATCH] s/;;/;/gAlexey Dobriyan2006-03-24
|/ | | | | | Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Pull sn2-reduce-kmalloc-wrap into release branchTony Luck2006-03-21
|\
| * [IA64-SGI] SN2-XP reduce kmalloc wrapper inliningJes Sorensen2006-02-27
| | | | | | | | | | | | | | | | | | Take advantage of kzalloc() as well as reduce the size of code generated for the error returns in xpc_setup_infrastructure(). Signed-off-by: Jes Sorensen <jes@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | Pull icc-cleanup into release branchTony Luck2006-03-21
|\ \
| * | [IA64-SGI] - Eliminate SN pio_phys_xxx macros. Move to assemblyJack Steiner2006-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the SN pio_phys_xxx macros in assembly language. This avoids issues with the Intel icc compiler. Function call overhead is not an issue - the functions reference PIOs and take 100's nsec to complete. In addition, the functions should likely be in assembly language anyway - they reference memory using physical addressing mode. One function executes with psr.ic disabled. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | Pull sn2-mmio-writes into release branchTony Luck2006-03-21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Hand-fixed conflicts: include/asm-ia64/machvec_sn2.h Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64] hooks to wait for mmio writes to drain when migrating processesBrent Casavant2006-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On SN2, MMIO writes which are issued from separate processors are not guaranteed to arrive in any particular order at the IO hardware. When performing such writes from the kernel this is not a problem, as a kernel thread will not migrate to another CPU during execution, and mmiowb() calls can guarantee write ordering when control of the IO resource is allowed to move between threads. However, when MMIO writes can be performed from user space (e.g. DRM) there are no such guarantees and mechanisms, as the process may context-switch at any time, and may migrate to a different CPU as part of the switch. For such programs/hardware to operate correctly, it is required that the MMIO writes from the old CPU be accepted by the IO hardware before subsequent writes from the new CPU can be issued. The following patch implements this behavior on SN2 by waiting for a Shub register to indicate that these writes have been accepted. This is placed in the context switch-in path, and only performs the wait when the newly scheduled task changes CPUs. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Brent Casavant <bcasavan@sgi.com>
* | | | Pull altix-ce1.0-asic into release branchTony Luck2006-03-21
|\ \ \ \
| * | | | [IA64-SGI] driver bugfixes and hardware workarounds for CE1.0 asicMark Maule2006-01-26
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various bugfixes and hardware bug workarounds necessary for the rev 1.0 version of the altix TIO CE asic. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | | [IA64] don't report !sn2 or !summit hardware as an errorBjorn Helgaas2006-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This stuff is all in the generic ia64 kernel, and the new initcall error reporting complains about them. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | | [IA64-SGI] revert export sn_pcidev_info_getChristoph Hellwig2006-02-27
| |_|/ |/| | | | | | | | | | | | | | | | | Christoph Hellwig <hch@infradead.org> pointed that there are no in-tree uses of this. So revert 9c65cb9be62ac4993a5b392304b82e4f04f010fd Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64] ia64: simplify and fix udelay()hawkes@sgi.com2006-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original ia64 udelay() was simple, but flawed for platforms without synchronized ITCs: a preemption and migration to another CPU during the while-loop likely resulted in too-early termination or very, very lengthy looping. The first fix (now in 2.6.15) broke the delay loop into smaller, non-preemptible chunks, reenabling preemption between the chunks. This fix is flawed in that the total udelay is computed to be the sum of just the non-premptible while-loop pieces, i.e., not counting the time spent in the interim preemptible periods. If an interrupt or a migration occurs during one of these interim periods, then that time is invisible and only serves to lengthen the effective udelay(). This new fix backs out the current flawed fix and returns to a simple udelay(), fully preemptible and interruptible. It implements two simple alternative udelay() routines: one a default generic version that uses ia64_get_itc(), and the other an sn-specific version that uses that platform's RTC. Signed-off-by: John Hawkes <hawkes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] enforce proper ordering of callouts by XPCDean Nelson2006-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix XPC so that it does not deliver any messages until the connected callout has returned, as well as, prevent the disconnected callout to occur before the disconnecting callout has returned. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] fix the size of __sn_cnodeid_to_nasidDean Roe2006-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The __sn_cnodeid_to_nasid array was incorrectly sized at MAX_NUMNODES. On a large system, this array could overflow. The following patch corrects this by defining it to MAX_COMPACT_NODES. Signed-off-by: Dean Roe <roe@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] export sn_pcidev_info_getMark Maule2006-02-15
| | | | | | | | | | | | | | | | | | | | | Export sn_pcidev_info_get. Signed-off-by Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] remove compile time warningJes Sorensen2006-02-15
| | | | | | | | | | | | | | | | | | | | | This one falls into the "present for Andrew Morton" category to address his wishlist for a compiler warning free build ;-) Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64] remove obsolete corporate addressJes Sorensen2006-02-15
| | | | | | | | | | | | | | | | | | | | | Remove obsolete SGI address Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] sn2 minor fixes and cleanupsJes Sorensen2006-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | General SN2 code cleanup: - Do not initialize global variables to zero - Use kzalloc instead of kmalloc+memset - Check kmalloc return values - Do not obfuscate spin lock calls - Remove some unused code - Various formatting cleanups Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] Small cleanup for misuse of list_for_each to list_for_each_safe.Prarit Bhargava2006-02-09
| | | | | | | | | | | | | | | | | | | | | Patch was suggested by Kenneth W. Chen here Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | [IA64-SGI] Hotplug driver related fix in the SN ia64 code.Prarit Bhargava2006-02-09
| | | | | | | | | | | | | | | | | | | | | | | | Remove an erroneous kfree, and unlink the pcidev_info struct from the pcidev_info list prior to free'ing the pcidev_info struct. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | Merge branch 'release' of ↵Linus Torvalds2006-02-08
|\ \ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
| * | | [IA64] prevent sn2 specific code to be run in generic kernelsJes Sorensen2006-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent SN2 specific code to be executed on non SN2 platforms when running a generic kernel. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | [IA64] Fix CONFIG_PRINTK_TIMETony Luck2006-02-07
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two problems with enabling the PRINTK_TIME config option: 1) The first calls to printk() occur before per-cpu data virtual address is pinned into the TLB, so sched_clock() can fault. 2) sched_clock() is based on ar.itc, which may not be synchronized across cpus. Ken Chen started this patch, Tony Luck tinkered with it, and Jes Sorensen perfected it. Signed-off-by: Tony Luck <tony.luck@intel.com>
* / | [PATCH] drive_info removal outside of arch/i386Al Viro2006-02-07
|/ / | | | | | | | | | | drive_info is used only by hd.c and that happens under #ifdef __i386__. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | [IA64-SGI] Shub2 BTE address fixRuss Anderson2006-02-06
| | | | | | | | | | | | | | | | | | | | | | After converting the cpu physical address to shub2 physical addressing, the address was run through TO_PHYS() which clobbered a high node offset bit causing the BTE to fail on shub2 nodes with large memory. This fix corrects that problem. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck <tony.luck@intel.com>
* | Pull sn-recursive-flags-for-select-builds into release branchTony Luck2006-02-06
|\ \
| * | [IA64-SGI] Recursive flags do not work for selective buildsKeith Owens2006-01-26
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | arch/ia64/sn/Makefile sets CPPFLAGS, expecting that setting to propogate to all the subdirectories. For a normal build with its recursive descent it does work, but doing a selective build like 'make arch/ia64/sn/kernel/io_init.i' does not do a recursive descent, it goes directly to arch/ia64/sn/kernel/Makefile so the flags do not get set. To support selective builds, set the flags in all the subordinate Makefiles. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] Fix XPC code which sleeps with spin_lock_irqsave().Robin Holt2006-02-02
| | | | | | | | | | | | | | | | | | During some testing, we got a warning about trying to allocate memory while holding a lock. This fixes that problem. Signed-off-by: Robin Holt <holt@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] sn2 housekeepingJes Sorensen2006-02-02
| | | | | | | | | | | | | | | | | | | | | | Maintenance patch: - Add missing __init calls - Do not zero initialize global variables - No need to typecast function call returns to void - Some formatting Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] disable msi for all altix pci devicesMark Maule2006-02-02
| | | | | | | | | | | | | | | | Temporary patch to make pci_enable_msi() fail gracefully on altix. Will be removed after 2.6.16 releases and the msi abstraction patches start flowing. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] fix smp_affinity redirection when using CONFIG_PCI_MSIMark Maule2006-02-02
| | | | | | | | | | | | | | | | | | | | Redirecting interrupts using smp_affinity on altix does not work on kernels built with CONFIG_PCI_MSI. The problem is that move_irq() turns into a noop if MSI is built in. This patch calls move_native_irq() instead of move_irq() to get around that. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | Pull update-tlbflush-sn into release branchTony Luck2006-02-02
|\ \
| * | [IA64-SGI] Update TLB flushing code for SN platformJack Steiner2006-01-26
| |/ | | | | | | | | | | | | | | | | | | | | This patch finishes support for SHUB2 (the new chipset). Most of the changes are performance related. A few changes are workarounds for "interesting" chipset features. Some temporary debugging code has also been deleted. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] Add PROM feature set for device flush listPrarit Bhargava2006-01-26
| | | | | | | | | | | | | | Introduce PRF_DEVICE_FLUSH_LIST flag for older PROMs. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] XPC remove unnecessary GFP_DMA flagJes Sorensen2006-01-24
| | | | | | | | | | | | | | | | Remove the GFP_DMA flag from XPC kmalloc() calls. Signed-off-by: Jes Sorensen <jes@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* | [IA64-SGI] sn_dma_alloc_coherent should use gfp flagsTakashi Iwai2006-01-24
|/ | | | | | | | | | | Takashi helped us track down a bad page state bug we thought was coming from alsa. It turns out we weren't paying attention to the gfp flags that were passed in to sn_dma_alloc_coherent(). From: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Edwards <edwardsg@sgi.com> Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Jes Sorensen <jes@sgi.com>
* [IA64-SGI] sn2 mutex conversionJes Sorensen2006-01-17
| | | | | | | | | Migrate sn2 code to use mutex and completion events rather than semaphores. Signed-off-by: Jes Sorensen <jes@sgi.com> Acked-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>