Skip to content

Commit fd50231

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Synchronize with 'net' in order to sort out some l2tp, wireless, and ipv6 GRE fixes that will be built on top of in 'net-next'. Signed-off-by: David S. Miller <[email protected]>
2 parents 8b9a4d5 + 836dc9e commit fd50231

File tree

266 files changed

+2114
-1437
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

266 files changed

+2114
-1437
lines changed

Documentation/hid/hid-sensor.txt

100755100644
File mode changed.

Documentation/kernel-parameters.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2438,7 +2438,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
24382438
real-time workloads. It can also improve energy
24392439
efficiency for asymmetric multiprocessors.
24402440

2441-
rcu_nocbs_poll [KNL,BOOT]
2441+
rcu_nocb_poll [KNL,BOOT]
24422442
Rather than requiring that offloaded CPUs
24432443
(specified by rcu_nocbs= above) explicitly
24442444
awaken the corresponding "rcuoN" kthreads,

Documentation/x86/boot.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ Protocol 2.10: (Kernel 2.6.31) Added a protocol for relaxed alignment
5757
Protocol 2.11: (Kernel 3.6) Added a field for offset of EFI handover
5858
protocol entry point.
5959

60+
Protocol 2.12: (Kernel 3.8) Added the xloadflags field and extension fields
61+
to struct boot_params for for loading bzImage and ramdisk
62+
above 4G in 64bit.
63+
6064
**** MEMORY LAYOUT
6165

6266
The traditional memory map for the kernel loader, used for Image or
@@ -182,7 +186,7 @@ Offset Proto Name Meaning
182186
0230/4 2.05+ kernel_alignment Physical addr alignment required for kernel
183187
0234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not
184188
0235/1 2.10+ min_alignment Minimum alignment, as a power of two
185-
0236/2 N/A pad3 Unused
189+
0236/2 2.12+ xloadflags Boot protocol option flags
186190
0238/4 2.06+ cmdline_size Maximum size of the kernel command line
187191
023C/4 2.07+ hardware_subarch Hardware subarchitecture
188192
0240/8 2.07+ hardware_subarch_data Subarchitecture-specific data
@@ -582,6 +586,27 @@ Protocol: 2.10+
582586
misaligned kernel. Therefore, a loader should typically try each
583587
power-of-two alignment from kernel_alignment down to this alignment.
584588

589+
Field name: xloadflags
590+
Type: read
591+
Offset/size: 0x236/2
592+
Protocol: 2.12+
593+
594+
This field is a bitmask.
595+
596+
Bit 0 (read): XLF_KERNEL_64
597+
- If 1, this kernel has the legacy 64-bit entry point at 0x200.
598+
599+
Bit 1 (read): XLF_CAN_BE_LOADED_ABOVE_4G
600+
- If 1, kernel/boot_params/cmdline/ramdisk can be above 4G.
601+
602+
Bit 2 (read): XLF_EFI_HANDOVER_32
603+
- If 1, the kernel supports the 32-bit EFI handoff entry point
604+
given at handover_offset.
605+
606+
Bit 3 (read): XLF_EFI_HANDOVER_64
607+
- If 1, the kernel supports the 64-bit EFI handoff entry point
608+
given at handover_offset + 0x200.
609+
585610
Field name: cmdline_size
586611
Type: read
587612
Offset/size: 0x238/4

Documentation/x86/zero-page.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ Offset Proto Name Meaning
1919
090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!!
2020
0A0/010 ALL sys_desc_table System description table (struct sys_desc_table)
2121
0B0/010 ALL olpc_ofw_header OLPC's OpenFirmware CIF and friends
22+
0C0/004 ALL ext_ramdisk_image ramdisk_image high 32bits
23+
0C4/004 ALL ext_ramdisk_size ramdisk_size high 32bits
24+
0C8/004 ALL ext_cmd_line_ptr cmd_line_ptr high 32bits
2225
140/080 ALL edid_info Video mode setup (struct edid_info)
2326
1C0/020 ALL efi_info EFI 32 information (struct efi_info)
2427
1E0/004 ALL alk_mem_k Alternative mem check, in KB
@@ -27,6 +30,7 @@ Offset Proto Name Meaning
2730
1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)
2831
1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer
2932
(below)
33+
1EF/001 ALL sentinel Used to detect broken bootloaders
3034
290/040 ALL edd_mbr_sig_buffer EDD MBR signatures
3135
2D0/A00 ALL e820_map E820 memory map table
3236
(array of struct e820entry)

MAINTAINERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1489,7 +1489,7 @@ AVR32 ARCHITECTURE
14891489
M: Haavard Skinnemoen <[email protected]>
14901490
M: Hans-Christian Egtvedt <[email protected]>
14911491
W: http://www.atmel.com/products/AVR32/
1492-
W: http://avr32linux.org/
1492+
W: http://mirror.egtvedt.no/avr32linux.org/
14931493
W: http://avrfreaks.net/
14941494
S: Maintained
14951495
F: arch/avr32/
@@ -7076,7 +7076,7 @@ F: include/uapi/sound/
70767076
F: sound/
70777077

70787078
SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
7079-
M: Liam Girdwood <lrg@ti.com>
7079+
M: Liam Girdwood <lgirdwood@gmail.com>
70807080
M: Mark Brown <[email protected]>
70817081
T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
70827082
L: [email protected] (moderated for non-subscribers)

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
VERSION = 3
22
PATCHLEVEL = 8
33
SUBLEVEL = 0
4-
EXTRAVERSION = -rc5
5-
NAME = Terrified Chipmunk
4+
EXTRAVERSION = -rc7
5+
NAME = Unicycling Gorilla
66

77
# *DOCUMENTATION*
88
# To see a list of typical targets execute "make help"

arch/arm/common/gic.c

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,25 @@ void __init gic_cascade_irq(unsigned int gic_nr, unsigned int irq)
351351
irq_set_chained_handler(irq, gic_handle_cascade_irq);
352352
}
353353

354+
static u8 gic_get_cpumask(struct gic_chip_data *gic)
355+
{
356+
void __iomem *base = gic_data_dist_base(gic);
357+
u32 mask, i;
358+
359+
for (i = mask = 0; i < 32; i += 4) {
360+
mask = readl_relaxed(base + GIC_DIST_TARGET + i);
361+
mask |= mask >> 16;
362+
mask |= mask >> 8;
363+
if (mask)
364+
break;
365+
}
366+
367+
if (!mask)
368+
pr_crit("GIC CPU mask not found - kernel will fail to boot.\n");
369+
370+
return mask;
371+
}
372+
354373
static void __init gic_dist_init(struct gic_chip_data *gic)
355374
{
356375
unsigned int i;
@@ -369,7 +388,9 @@ static void __init gic_dist_init(struct gic_chip_data *gic)
369388
/*
370389
* Set all global interrupts to this CPU only.
371390
*/
372-
cpumask = readl_relaxed(base + GIC_DIST_TARGET + 0);
391+
cpumask = gic_get_cpumask(gic);
392+
cpumask |= cpumask << 8;
393+
cpumask |= cpumask << 16;
373394
for (i = 32; i < gic_irqs; i += 4)
374395
writel_relaxed(cpumask, base + GIC_DIST_TARGET + i * 4 / 4);
375396

@@ -400,7 +421,7 @@ static void __cpuinit gic_cpu_init(struct gic_chip_data *gic)
400421
* Get what the GIC says our CPU mask is.
401422
*/
402423
BUG_ON(cpu >= NR_GIC_CPU_IF);
403-
cpu_mask = readl_relaxed(dist_base + GIC_DIST_TARGET + 0);
424+
cpu_mask = gic_get_cpumask(gic);
404425
gic_cpu_map[cpu] = cpu_mask;
405426

406427
/*

arch/arm/include/asm/memory.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
*/
3838
#define PAGE_OFFSET UL(CONFIG_PAGE_OFFSET)
3939
#define TASK_SIZE (UL(CONFIG_PAGE_OFFSET) - UL(0x01000000))
40-
#define TASK_UNMAPPED_BASE (UL(CONFIG_PAGE_OFFSET) / 3)
40+
#define TASK_UNMAPPED_BASE ALIGN(TASK_SIZE / 3, SZ_16M)
4141

4242
/*
4343
* The maximum size of a 26-bit user space task.

arch/arm/mach-exynos/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ config MACH_EXYNOS4_DT
414414
select CPU_EXYNOS4210
415415
select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD
416416
select PINCTRL
417-
select PINCTRL_EXYNOS4
417+
select PINCTRL_EXYNOS
418418
select USE_OF
419419
help
420420
Machine support for Samsung Exynos4 machine with device tree enabled.

arch/arm/mach-realview/include/mach/irqs-eb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
/*
116116
* Only define NR_IRQS if less than NR_IRQS_EB
117117
*/
118-
#define NR_IRQS_EB (IRQ_EB_GIC_START + 96)
118+
#define NR_IRQS_EB (IRQ_EB_GIC_START + 128)
119119

120120
#if defined(CONFIG_MACH_REALVIEW_EB) \
121121
&& (!defined(NR_IRQS) || (NR_IRQS < NR_IRQS_EB))

arch/arm/mm/dma-mapping.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
640640

641641
if (is_coherent || nommu())
642642
addr = __alloc_simple_buffer(dev, size, gfp, &page);
643-
else if (gfp & GFP_ATOMIC)
643+
else if (!(gfp & __GFP_WAIT))
644644
addr = __alloc_from_pool(size, &page);
645645
else if (!IS_ENABLED(CONFIG_CMA))
646646
addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller);

arch/avr32/include/asm/dma-mapping.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,4 +336,14 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
336336
#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
337337
#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
338338

339+
/* drivers/base/dma-mapping.c */
340+
extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma,
341+
void *cpu_addr, dma_addr_t dma_addr, size_t size);
342+
extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt,
343+
void *cpu_addr, dma_addr_t dma_addr,
344+
size_t size);
345+
346+
#define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s)
347+
#define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s)
348+
339349
#endif /* __ASM_AVR32_DMA_MAPPING_H */

arch/blackfin/include/asm/dma-mapping.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,4 +154,14 @@ dma_cache_sync(struct device *dev, void *vaddr, size_t size,
154154
_dma_sync((dma_addr_t)vaddr, size, dir);
155155
}
156156

157+
/* drivers/base/dma-mapping.c */
158+
extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma,
159+
void *cpu_addr, dma_addr_t dma_addr, size_t size);
160+
extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt,
161+
void *cpu_addr, dma_addr_t dma_addr,
162+
size_t size);
163+
164+
#define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s)
165+
#define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s)
166+
157167
#endif /* _BLACKFIN_DMA_MAPPING_H */

arch/c6x/include/asm/dma-mapping.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,19 @@ extern void dma_free_coherent(struct device *, size_t, void *, dma_addr_t);
8989
#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent((d), (s), (h), (f))
9090
#define dma_free_noncoherent(d, s, v, h) dma_free_coherent((d), (s), (v), (h))
9191

92+
/* Not supported for now */
93+
static inline int dma_mmap_coherent(struct device *dev,
94+
struct vm_area_struct *vma, void *cpu_addr,
95+
dma_addr_t dma_addr, size_t size)
96+
{
97+
return -EINVAL;
98+
}
99+
100+
static inline int dma_get_sgtable(struct device *dev, struct sg_table *sgt,
101+
void *cpu_addr, dma_addr_t dma_addr,
102+
size_t size)
103+
{
104+
return -EINVAL;
105+
}
106+
92107
#endif /* _ASM_C6X_DMA_MAPPING_H */

arch/cris/include/asm/dma-mapping.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,5 +158,15 @@ dma_cache_sync(struct device *dev, void *vaddr, size_t size,
158158
{
159159
}
160160

161+
/* drivers/base/dma-mapping.c */
162+
extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma,
163+
void *cpu_addr, dma_addr_t dma_addr, size_t size);
164+
extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt,
165+
void *cpu_addr, dma_addr_t dma_addr,
166+
size_t size);
167+
168+
#define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s)
169+
#define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s)
170+
161171

162172
#endif

arch/frv/include/asm/dma-mapping.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,19 @@ void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
132132
flush_write_buffers();
133133
}
134134

135+
/* Not supported for now */
136+
static inline int dma_mmap_coherent(struct device *dev,
137+
struct vm_area_struct *vma, void *cpu_addr,
138+
dma_addr_t dma_addr, size_t size)
139+
{
140+
return -EINVAL;
141+
}
142+
143+
static inline int dma_get_sgtable(struct device *dev, struct sg_table *sgt,
144+
void *cpu_addr, dma_addr_t dma_addr,
145+
size_t size)
146+
{
147+
return -EINVAL;
148+
}
149+
135150
#endif /* _ASM_DMA_MAPPING_H */

arch/m68k/include/asm/dma-mapping.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,14 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t handle)
115115
#include <asm-generic/dma-mapping-broken.h>
116116
#endif
117117

118+
/* drivers/base/dma-mapping.c */
119+
extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma,
120+
void *cpu_addr, dma_addr_t dma_addr, size_t size);
121+
extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt,
122+
void *cpu_addr, dma_addr_t dma_addr,
123+
size_t size);
124+
125+
#define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s)
126+
#define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s)
127+
118128
#endif /* _M68K_DMA_MAPPING_H */

arch/mips/bcm47xx/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ config BCM47XX_SSB
88
select SSB_DRIVER_EXTIF
99
select SSB_EMBEDDED
1010
select SSB_B43_PCI_BRIDGE if PCI
11+
select SSB_DRIVER_PCICORE if PCI
1112
select SSB_PCICORE_HOSTMODE if PCI
1213
select SSB_DRIVER_GPIO
14+
select GPIOLIB
1315
default y
1416
help
1517
Add support for old Broadcom BCM47xx boards with Sonics Silicon Backplane support.
@@ -25,6 +27,7 @@ config BCM47XX_BCMA
2527
select BCMA_HOST_PCI if PCI
2628
select BCMA_DRIVER_PCI_HOSTMODE if PCI
2729
select BCMA_DRIVER_GPIO
30+
select GPIOLIB
2831
default y
2932
help
3033
Add support for new Broadcom BCM47xx boards with Broadcom specific Advanced Microcontroller Bus.

arch/mips/cavium-octeon/executive/cvmx-l2c.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
* measurement, and debugging facilities.
3131
*/
3232

33+
#include <linux/compiler.h>
3334
#include <linux/irqflags.h>
3435
#include <asm/octeon/cvmx.h>
3536
#include <asm/octeon/cvmx-l2c.h>
@@ -285,22 +286,22 @@ uint64_t cvmx_l2c_read_perf(uint32_t counter)
285286
*/
286287
static void fault_in(uint64_t addr, int len)
287288
{
288-
volatile char *ptr;
289-
volatile char dummy;
289+
char *ptr;
290+
290291
/*
291292
* Adjust addr and length so we get all cache lines even for
292293
* small ranges spanning two cache lines.
293294
*/
294295
len += addr & CVMX_CACHE_LINE_MASK;
295296
addr &= ~CVMX_CACHE_LINE_MASK;
296-
ptr = (volatile char *)cvmx_phys_to_ptr(addr);
297+
ptr = cvmx_phys_to_ptr(addr);
297298
/*
298299
* Invalidate L1 cache to make sure all loads result in data
299300
* being in L2.
300301
*/
301302
CVMX_DCACHE_INVALIDATE;
302303
while (len > 0) {
303-
dummy += *ptr;
304+
ACCESS_ONCE(*ptr);
304305
len -= CVMX_CACHE_LINE_SIZE;
305306
ptr += CVMX_CACHE_LINE_SIZE;
306307
}

arch/mips/include/asm/dsp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <asm/mipsregs.h>
1717

1818
#define DSP_DEFAULT 0x00000000
19-
#define DSP_MASK 0x3ff
19+
#define DSP_MASK 0x3f
2020

2121
#define __enable_dsp_hazard() \
2222
do { \

arch/mips/include/asm/inst.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,7 @@ union mips_instruction {
353353
struct u_format u_format;
354354
struct c_format c_format;
355355
struct r_format r_format;
356+
struct p_format p_format;
356357
struct f_format f_format;
357358
struct ma_format ma_format;
358359
struct b_format b_format;

arch/mips/include/asm/mach-pnx833x/war.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
#define R10000_LLSC_WAR 0
2222
#define MIPS34K_MISSED_ITLB_WAR 0
2323

24-
#endif /* __ASM_MIPS_MACH_PNX8550_WAR_H */
24+
#endif /* __ASM_MIPS_MACH_PNX833X_WAR_H */

arch/mips/include/asm/pgtable-64.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ static inline void pud_clear(pud_t *pudp)
230230
#else
231231
#define pte_pfn(x) ((unsigned long)((x).pte >> _PFN_SHIFT))
232232
#define pfn_pte(pfn, prot) __pte(((pfn) << _PFN_SHIFT) | pgprot_val(prot))
233+
#define pfn_pmd(pfn, prot) __pmd(((pfn) << _PFN_SHIFT) | pgprot_val(prot))
233234
#endif
234235

235236
#define __pgd_offset(address) pgd_index(address)

arch/mips/include/uapi/asm/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ include include/uapi/asm-generic/Kbuild.asm
33

44
header-y += auxvec.h
55
header-y += bitsperlong.h
6+
header-y += break.h
67
header-y += byteorder.h
78
header-y += cachectl.h
89
header-y += errno.h
File renamed without changes.

0 commit comments

Comments
 (0)