]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'parisc-hd/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 4 Nov 2015 23:33:36 +0000 (10:33 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 4 Nov 2015 23:33:36 +0000 (10:33 +1100)
arch/parisc/include/asm/cache.h
arch/parisc/include/uapi/asm/unistd.h
arch/parisc/kernel/syscall_table.S
drivers/parisc/lba_pci.c
drivers/tty/serial/mux.c
include/linux/netdevice.h

index 47f11c707b655c6568fef6a57717ca5f4df34ae1..3d0e17bcc8e905ece06053ae15b3ff5443e6b033 100644 (file)
@@ -7,20 +7,12 @@
 
 
 /*
- * PA 2.0 processors have 64-byte cachelines; PA 1.1 processors have
- * 32-byte cachelines.  The default configuration is not for SMP anyway,
- * so if you're building for SMP, you should select the appropriate
- * processor type.  There is a potential livelock danger when running
- * a machine with this value set too small, but it's more probable you'll
- * just ruin performance.
+ * PA 2.0 processors have 64 and 128-byte L2 cachelines; PA 1.1 processors
+ * have 32-byte cachelines.  The L1 length appears to be 16 bytes but this
+ * is not clearly documented.
  */
-#ifdef CONFIG_PA20
-#define L1_CACHE_BYTES 64
-#define L1_CACHE_SHIFT 6
-#else
-#define L1_CACHE_BYTES 32
-#define L1_CACHE_SHIFT 5
-#endif
+#define L1_CACHE_BYTES 16
+#define L1_CACHE_SHIFT 4
 
 #ifndef __ASSEMBLY__
 
index 2e639d7604f6a05bdcb51b9d1bbf937d762e9f4c..33170384d3ac1a7fdd835c7b8f04484aaf1f244c 100644 (file)
 #define __NR_memfd_create      (__NR_Linux + 340)
 #define __NR_bpf               (__NR_Linux + 341)
 #define __NR_execveat          (__NR_Linux + 342)
+#define __NR_membarrier                (__NR_Linux + 343)
+#define __NR_userfaultfd       (__NR_Linux + 344)
 
-#define __NR_Linux_syscalls    (__NR_execveat + 1)
+#define __NR_Linux_syscalls    (__NR_userfaultfd + 1)
 
 
 #define __IGNORE_select                /* newselect */
index 8eefb12d1d33f3fc87195a0cd9efe0d0fd0301b2..78c3ef8c348d5cfdef2b50670a1da348ee49566e 100644 (file)
        ENTRY_SAME(memfd_create)        /* 340 */
        ENTRY_SAME(bpf)
        ENTRY_COMP(execveat)
+       ENTRY_SAME(membarrier)
+       ENTRY_SAME(userfaultfd)
 
 
 .ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
index a32c1f6c252cd91660b358ae8cd754d28953ce3b..42844c2bc065bcd8bc486a11ae9714e9d31adc20 100644 (file)
@@ -624,6 +624,10 @@ extend_lmmio_len(unsigned long start, unsigned long end, unsigned long lba_len)
 {
        struct resource *tmp;
 
+       /* exit if not a C8000 */
+       if (boot_cpu_data.cpu_type < mako)
+               return end;
+
        pr_debug("LMMIO mismatch: PAT length = 0x%lx, MASK register = 0x%lx\n",
                end - start, lba_len);
 
@@ -631,10 +635,6 @@ extend_lmmio_len(unsigned long start, unsigned long end, unsigned long lba_len)
 
        pr_debug("LBA: lmmio_space [0x%lx-0x%lx] - original\n", start, end);
 
-       if (boot_cpu_data.cpu_type < mako) {
-               pr_info("LBA: Not a C8000 system - not extending LMMIO range.\n");
-               return end;
-       }
 
        end += lba_len;
        if (end < start) /* fix overflow */
@@ -1557,9 +1557,9 @@ lba_driver_probe(struct parisc_device *dev)
                pci_add_resource_offset(&resources, &lba_dev->hba.lmmio_space,
                                        lba_dev->hba.lmmio_space_offset);
        if (lba_dev->hba.gmmio_space.flags) {
+               /* Not registering GMMIO space - according to docs it's not
+                * even used on HP-UX. */
                /* pci_add_resource(&resources, &lba_dev->hba.gmmio_space); */
-               pr_warn("LBA: Not registering GMMIO space %pR\n",
-                       &lba_dev->hba.gmmio_space);
        }
 
        pci_add_resource(&resources, &lba_dev->hba.bus_num);
index dd26511ad8754fa171114c96c18fdd01e4e66d73..8a4be4b73723381a6bcba7b89cb1137ed3b5ac96 100644 (file)
@@ -412,19 +412,14 @@ static int mux_console_setup(struct console *co, char *options)
         return 0;
 }
 
-struct tty_driver *mux_console_device(struct console *co, int *index)
-{
-        *index = co->index;
-       return mux_driver.tty_driver;
-}
-
 static struct console mux_console = {
        .name =         "ttyB",
        .write =        mux_console_write,
-       .device =       mux_console_device,
+       .device =       uart_console_device,
        .setup =        mux_console_setup,
        .flags =        CON_ENABLED | CON_PRINTBUFFER,
        .index =        0,
+       .data =         &mux_driver,
 };
 
 #define MUX_CONSOLE    &mux_console
index 4ac653b7b8ace2a9a2f2ee0feae07aab1bbcf459..a9e3bf42d287317b17d5a6666658ba34b22381f8 100644 (file)
@@ -718,8 +718,8 @@ struct xps_map {
        u16 queues[0];
 };
 #define XPS_MAP_SIZE(_num) (sizeof(struct xps_map) + ((_num) * sizeof(u16)))
-#define XPS_MIN_MAP_ALLOC ((L1_CACHE_BYTES - sizeof(struct xps_map))   \
-    / sizeof(u16))
+#define XPS_MIN_MAP_ALLOC ((L1_CACHE_ALIGN(offsetof(struct xps_map, queues[1])) \
+       - sizeof(struct xps_map)) / sizeof(u16))
 
 /*
  * This structure holds all XPS maps for device.  Maps are indexed by CPU.