From: Linus Torvalds Date: Fri, 6 Sep 2013 18:14:33 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile X-Git-Tag: v3.12-rc1~120 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4de9ad9bc08b4953fc03336ad38908496e2f8826;p=profile%2Fivi%2Fkernel-x86-ivi.git Merge git://git./linux/kernel/git/cmetcalf/linux-tile Pull Tile arch updates from Chris Metcalf: "These changes bring in a bunch of new functionality that has been maintained internally at Tilera over the last year, plus other stray bits of work that I've taken into the tile tree from other folks. The changes include some PCI root complex work, interrupt-driven console support, support for performing fast-path unaligned data fixups by kernel-based JIT code generation, CONFIG_PREEMPT support, vDSO support for gettimeofday(), a serial driver for the tilegx on-chip UART, KGDB support, more optimized string routines, support for ftrace and kprobes, improved ASLR, and many bug fixes. We also remove support for the old TILE64 chip, which is no longer buildable" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (85 commits) tile: refresh tile defconfig files tile: rework tile PCI RC: make default consistent DMA mask 32-bit tile: add null check for kzalloc in tile/kernel/setup.c tile: make __write_once a synonym for __read_mostly tile: remove support for TILE64 tile: use asm-generic/bitops/builtin-*.h tile: eliminate no-op "noatomichash" boot argument tile: use standard tile_bundle_bits type in traps.c tile: simplify code referencing hypervisor API addresses tile: change to in comments tile: mark pcibios_init() as __init tile: check for correct compiler earlier in asm-offsets.c tile: use standard 'generic-y' model for tile: use asm-generic version of tile PCI RC: add comment about "PCI hole" problem tile: remove DEBUG_EXTRA_FLAGS kernel config option tile: add virt_to_kpte() API and clean up and document behavior tile: support FRAME_POINTER tile: support reporting Tilera hypervisor statistics ... --- 4de9ad9bc08b4953fc03336ad38908496e2f8826 diff --cc arch/tile/kernel/pci_gx.c index 6640e7b,29acac6..a97a645 --- a/arch/tile/kernel/pci_gx.c +++ b/arch/tile/kernel/pci_gx.c @@@ -502,14 -596,19 +596,14 @@@ static void fixup_read_and_payload_size (mac << TRIO_CFG_REGION_ADDR__MAC_SEL_SHIFT); rc_dev_cap.word = __gxio_mmio_read32(trio_context->mmio_base_mac + - reg_offset); + reg_offset); rc_dev_cap.mps_sup = 1; __gxio_mmio_write32(trio_context->mmio_base_mac + reg_offset, - rc_dev_cap.word); + rc_dev_cap.word); /* Configure PCI Express MPS setting. */ - list_for_each_entry(child, &root_bus->children, node) { - struct pci_dev *self = child->self; - if (!self) - continue; - - pcie_bus_configure_settings(child, self->pcie_mpss); - } + list_for_each_entry(child, &root_bus->children, node) + pcie_bus_configure_settings(child); /* * Set the mac_config register in trio based on the MPS/MRS of the link. diff --cc arch/tile/kernel/smpboot.c index a535655,dee7f13..732e9d1 --- a/arch/tile/kernel/smpboot.c +++ b/arch/tile/kernel/smpboot.c @@@ -140,9 -140,13 +140,13 @@@ static struct cpumask cpu_started * to this path without knowing what you're doing, since SMP booting * is pretty fragile. */ -static void __cpuinit start_secondary(void) +static void start_secondary(void) { - int cpuid = smp_processor_id(); + int cpuid; + + preempt_disable(); + + cpuid = smp_processor_id(); /* Set our thread pointer appropriately. */ set_my_cpu_offset(__per_cpu_offset[cpuid]); diff --cc drivers/tty/serial/Makefile index 47b679c,3d0f097..3068c77 --- a/drivers/tty/serial/Makefile +++ b/drivers/tty/serial/Makefile @@@ -65,7 -65,7 +65,8 @@@ obj-$(CONFIG_SERIAL_KGDB_NMI) += kgdb_n obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o obj-$(CONFIG_SERIAL_OMAP) += omap-serial.o obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o +obj-$(CONFIG_SERIAL_ST_ASC) += st-asc.o + obj-$(CONFIG_SERIAL_TILEGX) += tilegx.o obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o obj-$(CONFIG_SERIAL_QE) += ucc_uart.o obj-$(CONFIG_SERIAL_TIMBERDALE) += timbuart.o diff --cc include/uapi/linux/serial_core.h index e40ebe1,b466487..b47dba2 --- a/include/uapi/linux/serial_core.h +++ b/include/uapi/linux/serial_core.h @@@ -232,7 -232,7 +232,10 @@@ /* SH-SCI */ #define PORT_HSCIF 104 +/* ST ASC type numbers */ +#define PORT_ASC 105 + + /* Tilera TILE-Gx UART */ -#define PORT_TILEGX 105 ++#define PORT_TILEGX 106 + #endif /* _UAPILINUX_SERIAL_CORE_H */