Skip to content

Commit d5e2d00

Browse files
committed
Merge tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc updates from Michael Ellerman: "This was delayed a day or two by some build-breakage on old toolchains which we've now fixed. There's two PCI commits both acked by Bjorn. There's one commit to mm/hugepage.c which is (co)authored by Kirill. Highlights: - Restructure Linux PTE on Book3S/64 to Radix format from Paul Mackerras - Book3s 64 MMU cleanup in preparation for Radix MMU from Aneesh Kumar K.V - Add POWER9 cputable entry from Michael Neuling - FPU/Altivec/VSX save/restore optimisations from Cyril Bur - Add support for new ftrace ABI on ppc64le from Torsten Duwe Various cleanups & minor fixes from: - Adam Buchbinder, Andrew Donnellan, Balbir Singh, Christophe Leroy, Cyril Bur, Luis Henriques, Madhavan Srinivasan, Pan Xinhui, Russell Currey, Sukadev Bhattiprolu, Suraj Jitindar Singh. General: - atomics: Allow architectures to define their own __atomic_op_* helpers from Boqun Feng - Implement atomic{, 64}_*_return_* variants and acquire/release/ relaxed variants for (cmp)xchg from Boqun Feng - Add powernv_defconfig from Jeremy Kerr - Fix BUG_ON() reporting in real mode from Balbir Singh - Add xmon command to dump OPAL msglog from Andrew Donnellan - Add xmon command to dump process/task similar to ps(1) from Douglas Miller - Clean up memory hotplug failure paths from David Gibson pci/eeh: - Redesign SR-IOV on PowerNV to give absolute isolation between VFs from Wei Yang. - EEH Support for SRIOV VFs from Wei Yang and Gavin Shan. - PCI/IOV: Rename and export virtfn_{add, remove} from Wei Yang - PCI: Add pcibios_bus_add_device() weak function from Wei Yang - MAINTAINERS: Update EEH details and maintainership from Russell Currey cxl: - Support added to the CXL driver for running on both bare-metal and hypervisor systems, from Christophe Lombard and Frederic Barrat. - Ignore probes for virtual afu pci devices from Vaibhav Jain perf: - Export Power8 generic and cache events to sysfs from Sukadev Bhattiprolu - hv-24x7: Fix usage with chip events, display change in counter values, display domain indices in sysfs, eliminate domain suffix in event names, from Sukadev Bhattiprolu Freescale: - Updates from Scott: "Highlights include 8xx optimizations, 32-bit checksum optimizations, 86xx consolidation, e5500/e6500 cpu hotplug, more fman and other dt bits, and minor fixes/cleanup" * tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (179 commits) powerpc: Fix unrecoverable SLB miss during restore_math() powerpc/8xx: Fix do_mtspr_cpu6() build on older compilers powerpc/rcpm: Fix build break when SMP=n powerpc/book3e-64: Use hardcoded mttmr opcode powerpc/fsl/dts: Add "jedec,spi-nor" flash compatible powerpc/T104xRDB: add tdm riser card node to device tree powerpc32: PAGE_EXEC required for inittext powerpc/mpc85xx: Add pcsphy nodes to FManV3 device tree powerpc/mpc85xx: Add MDIO bus muxing support to the board device tree(s) powerpc/86xx: Introduce and use common dtsi powerpc/86xx: Update device tree powerpc/86xx: Move dts files to fsl directory powerpc/86xx: Switch to kconfig fragments approach powerpc/86xx: Update defconfigs powerpc/86xx: Consolidate common platform code powerpc32: Remove one insn in mulhdu powerpc32: small optimisation in flush_icache_range() powerpc: Simplify test in __dma_sync() powerpc32: move xxxxx_dcache_range() functions inline powerpc32: Remove clear_pages() and define clear_page() inline ...
2 parents 31e1823 + 6e669f0 commit d5e2d00

File tree

324 files changed

+14760
-7155
lines changed

Some content is hidden

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

324 files changed

+14760
-7155
lines changed

Documentation/ABI/testing/sysfs-class-cxl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ Description: read only
159159
Decimal value of the Per Process MMIO space length.
160160
Users: https://github.com/ibm-capi/libcxl
161161

162-
What: /sys/class/cxl/<afu>m/pp_mmio_off
162+
What: /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
163163
Date: September 2014
164164
Contact: linuxppc-dev@lists.ozlabs.org
165165
Description: read only
@@ -183,7 +183,7 @@ Description: read only
183183
Identifies the revision level of the PSL.
184184
Users: https://github.com/ibm-capi/libcxl
185185

186-
What: /sys/class/cxl/<card>/base_image
186+
What: /sys/class/cxl/<card>/base_image (not in a guest)
187187
Date: September 2014
188188
Contact: linuxppc-dev@lists.ozlabs.org
189189
Description: read only
@@ -193,15 +193,15 @@ Description: read only
193193
during the initial program load.
194194
Users: https://github.com/ibm-capi/libcxl
195195

196-
What: /sys/class/cxl/<card>/image_loaded
196+
What: /sys/class/cxl/<card>/image_loaded (not in a guest)
197197
Date: September 2014
198198
Contact: linuxppc-dev@lists.ozlabs.org
199199
Description: read only
200200
Will return "user" or "factory" depending on the image loaded
201201
onto the card.
202202
Users: https://github.com/ibm-capi/libcxl
203203

204-
What: /sys/class/cxl/<card>/load_image_on_perst
204+
What: /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
205205
Date: December 2014
206206
Contact: linuxppc-dev@lists.ozlabs.org
207207
Description: read/write
@@ -224,7 +224,7 @@ Description: write only
224224
to reload the FPGA depending on load_image_on_perst.
225225
Users: https://github.com/ibm-capi/libcxl
226226

227-
What: /sys/class/cxl/<card>/perst_reloads_same_image
227+
What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
228228
Date: July 2015
229229
Contact: linuxppc-dev@lists.ozlabs.org
230230
Description: read/write

Documentation/devicetree/bindings/powerpc/fsl/fman.txt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,16 @@ PROPERTIES
315315
Value type: <phandle>
316316
Definition: A phandle for 1EEE1588 timer.
317317

318+
- pcsphy-handle
319+
Usage required for "fsl,fman-memac" MACs
320+
Value type: <phandle>
321+
Definition: A phandle for pcsphy.
322+
323+
- tbi-handle
324+
Usage required for "fsl,fman-dtsec" MACs
325+
Value type: <phandle>
326+
Definition: A phandle for tbiphy.
327+
318328
EXAMPLE
319329

320330
fman1_tx28: port@a8000 {
@@ -340,6 +350,7 @@ ethernet@e0000 {
340350
reg = <0xe0000 0x1000>;
341351
fsl,fman-ports = <&fman1_rx8 &fman1_tx28>;
342352
ptp-timer = <&ptp-timer>;
353+
tbi-handle = <&tbi0>;
343354
};
344355

345356
============================================================================
@@ -415,6 +426,13 @@ PROPERTIES
415426
The settings and programming routines for internal/external
416427
MDIO are different. Must be included for internal MDIO.
417428

429+
For internal PHY device on internal mdio bus, a PHY node should be created.
430+
See the definition of the PHY node in booting-without-of.txt for an
431+
example of how to define a PHY (Internal PHY has no interrupt line).
432+
- For "fsl,fman-mdio" compatible internal mdio bus, the PHY is TBI PHY.
433+
- For "fsl,fman-memac-mdio" compatible internal mdio bus, the PHY is PCS PHY,
434+
PCS PHY addr must be '0'.
435+
418436
EXAMPLE
419437

420438
Example for FMan v2 external MDIO:
@@ -425,12 +443,29 @@ mdio@f1000 {
425443
interrupts = <101 2 0 0>;
426444
};
427445

446+
Example for FMan v2 internal MDIO:
447+
448+
mdio@e3120 {
449+
compatible = "fsl,fman-mdio";
450+
reg = <0xe3120 0xee0>;
451+
fsl,fman-internal-mdio;
452+
453+
tbi1: tbi-phy@8 {
454+
reg = <0x8>;
455+
device_type = "tbi-phy";
456+
};
457+
};
458+
428459
Example for FMan v3 internal MDIO:
429460

430461
mdio@f1000 {
431462
compatible = "fsl,fman-memac-mdio";
432463
reg = <0xf1000 0x1000>;
433464
fsl,fman-internal-mdio;
465+
466+
pcsphy6: ethernet-phy@0 {
467+
reg = <0x0>;
468+
};
434469
};
435470

436471
=============================================================================
@@ -568,34 +603,39 @@ fman@400000 {
568603
cell-index = <0>;
569604
reg = <0xe0000 0x1000>;
570605
fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>;
606+
tbi-handle = <&tbi5>;
571607
};
572608

573609
ethernet@e2000 {
574610
compatible = "fsl,fman-dtsec";
575611
cell-index = <1>;
576612
reg = <0xe2000 0x1000>;
577613
fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>;
614+
tbi-handle = <&tbi6>;
578615
};
579616

580617
ethernet@e4000 {
581618
compatible = "fsl,fman-dtsec";
582619
cell-index = <2>;
583620
reg = <0xe4000 0x1000>;
584621
fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>;
622+
tbi-handle = <&tbi7>;
585623
};
586624

587625
ethernet@e6000 {
588626
compatible = "fsl,fman-dtsec";
589627
cell-index = <3>;
590628
reg = <0xe6000 0x1000>;
591629
fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>;
630+
tbi-handle = <&tbi8>;
592631
};
593632

594633
ethernet@e8000 {
595634
compatible = "fsl,fman-dtsec";
596635
cell-index = <4>;
597636
reg = <0xf0000 0x1000>;
598637
fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>;
638+
tbi-handle = <&tbi9>;
599639

600640
ethernet@f0000 {
601641
cell-index = <8>;
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
* Run Control and Power Management
2+
-------------------------------------------
3+
The RCPM performs all device-level tasks associated with device run control
4+
and power management.
5+
6+
Required properites:
7+
- reg : Offset and length of the register set of the RCPM block.
8+
- fsl,#rcpm-wakeup-cells : The number of IPPDEXPCR register cells in the
9+
fsl,rcpm-wakeup property.
10+
- compatible : Must contain a chip-specific RCPM block compatible string
11+
and (if applicable) may contain a chassis-version RCPM compatible
12+
string. Chip-specific strings are of the form "fsl,<chip>-rcpm",
13+
such as:
14+
* "fsl,p2041-rcpm"
15+
* "fsl,p5020-rcpm"
16+
* "fsl,t4240-rcpm"
17+
18+
Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>",
19+
such as:
20+
* "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm
21+
* "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm
22+
* "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm
23+
24+
All references to "1.0" and "2.0" refer to the QorIQ chassis version to
25+
which the chip complies.
26+
Chassis Version Example Chips
27+
--------------- -------------------------------
28+
1.0 p4080, p5020, p5040, p2041, p3041
29+
2.0 t4240, b4860, b4420
30+
2.1 t1040, ls1021
31+
32+
Example:
33+
The RCPM node for T4240:
34+
rcpm: global-utilities@e2000 {
35+
compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
36+
reg = <0xe2000 0x1000>;
37+
fsl,#rcpm-wakeup-cells = <2>;
38+
};
39+
40+
* Freescale RCPM Wakeup Source Device Tree Bindings
41+
-------------------------------------------
42+
Required fsl,rcpm-wakeup property should be added to a device node if the device
43+
can be used as a wakeup source.
44+
45+
- fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR
46+
register cells. The number of IPPDEXPCR register cells is defined in
47+
"fsl,#rcpm-wakeup-cells" in the rcpm node. The first register cell is
48+
the bit mask that should be set in IPPDEXPCR0, and the second register
49+
cell is for IPPDEXPCR1, and so on.
50+
51+
Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a
52+
mechanism for keeping certain blocks awake during STANDBY and MEM, in
53+
order to use them as wake-up sources.
54+
55+
Example:
56+
lpuart0: serial@2950000 {
57+
compatible = "fsl,ls1021a-lpuart";
58+
reg = <0x0 0x2950000 0x0 0x1000>;
59+
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
60+
clocks = <&sysclk>;
61+
clock-names = "ipg";
62+
fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>;
63+
};

Documentation/kernel-parameters.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2620,7 +2620,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
26202620
nolapic_timer [X86-32,APIC] Do not use the local APIC timer.
26212621

26222622
noltlbs [PPC] Do not use large page/tlb entries for kernel
2623-
lowmem mapping on PPC40x.
2623+
lowmem mapping on PPC40x and PPC8xx
26242624

26252625
nomca [IA-64] Disable machine check abort handling
26262626

Documentation/powerpc/cxl.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ Work Element Descriptor (WED)
116116
User API
117117
========
118118

119+
1. AFU character devices
120+
119121
For AFUs operating in AFU directed mode, two character device
120122
files will be created. /dev/cxl/afu0.0m will correspond to a
121123
master context and /dev/cxl/afu0.0s will correspond to a slave
@@ -362,6 +364,59 @@ read
362364
reserved fields:
363365
For future extensions and padding
364366

367+
368+
2. Card character device (powerVM guest only)
369+
370+
In a powerVM guest, an extra character device is created for the
371+
card. The device is only used to write (flash) a new image on the
372+
FPGA accelerator. Once the image is written and verified, the
373+
device tree is updated and the card is reset to reload the updated
374+
image.
375+
376+
open
377+
----
378+
379+
Opens the device and allocates a file descriptor to be used with
380+
the rest of the API. The device can only be opened once.
381+
382+
ioctl
383+
-----
384+
385+
CXL_IOCTL_DOWNLOAD_IMAGE:
386+
CXL_IOCTL_VALIDATE_IMAGE:
387+
Starts and controls flashing a new FPGA image. Partial
388+
reconfiguration is not supported (yet), so the image must contain
389+
a copy of the PSL and AFU(s). Since an image can be quite large,
390+
the caller may have to iterate, splitting the image in smaller
391+
chunks.
392+
393+
Takes a pointer to a struct cxl_adapter_image:
394+
struct cxl_adapter_image {
395+
__u64 flags;
396+
__u64 data;
397+
__u64 len_data;
398+
__u64 len_image;
399+
__u64 reserved1;
400+
__u64 reserved2;
401+
__u64 reserved3;
402+
__u64 reserved4;
403+
};
404+
405+
flags:
406+
These flags indicate which optional fields are present in
407+
this struct. Currently all fields are mandatory.
408+
409+
data:
410+
Pointer to a buffer with part of the image to write to the
411+
card.
412+
413+
len_data:
414+
Size of the buffer pointed to by data.
415+
416+
len_image:
417+
Full size of the image.
418+
419+
365420
Sysfs Class
366421
===========
367422

MAINTAINERS

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4250,13 +4250,6 @@ M: Maxim Levitsky <maximlevitsky@gmail.com>
42504250
S: Maintained
42514251
F: drivers/media/rc/ene_ir.*
42524252

4253-
ENHANCED ERROR HANDLING (EEH)
4254-
M: Gavin Shan <shangw@linux.vnet.ibm.com>
4255-
L: linuxppc-dev@lists.ozlabs.org
4256-
S: Supported
4257-
F: Documentation/powerpc/eeh-pci-error-recovery.txt
4258-
F: arch/powerpc/kernel/eeh*.c
4259-
42604253
EPSON S1D13XXX FRAMEBUFFER DRIVER
42614254
M: Kristoffer Ericson <kristoffer.ericson@gmail.com>
42624255
S: Maintained
@@ -8315,6 +8308,15 @@ L: linux-pci@vger.kernel.org
83158308
S: Supported
83168309
F: Documentation/PCI/pci-error-recovery.txt
83178310

8311+
PCI ENHANCED ERROR HANDLING (EEH) FOR POWERPC
8312+
M: Russell Currey <ruscur@russell.cc>
8313+
L: linuxppc-dev@lists.ozlabs.org
8314+
S: Supported
8315+
F: Documentation/powerpc/eeh-pci-error-recovery.txt
8316+
F: arch/powerpc/kernel/eeh*.c
8317+
F: arch/powerpc/platforms/*/eeh*.c
8318+
F: arch/powerpc/include/*/eeh*.h
8319+
83188320
PCI SUBSYSTEM
83198321
M: Bjorn Helgaas <bhelgaas@google.com>
83208322
L: linux-pci@vger.kernel.org

arch/powerpc/Kconfig

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ config PPC
9494
select OF_RESERVED_MEM
9595
select HAVE_FTRACE_MCOUNT_RECORD
9696
select HAVE_DYNAMIC_FTRACE
97+
select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
9798
select HAVE_FUNCTION_TRACER
9899
select HAVE_FUNCTION_GRAPH_TRACER
99100
select SYSCTL_EXCEPTION_TRACE
@@ -304,7 +305,7 @@ config ZONE_DMA32
304305
config PGTABLE_LEVELS
305306
int
306307
default 2 if !PPC64
307-
default 3 if PPC_64K_PAGES
308+
default 3 if PPC_64K_PAGES && !PPC_BOOK3S_64
308309
default 4
309310

310311
source "init/Kconfig"
@@ -374,6 +375,24 @@ config PPC_TRANSACTIONAL_MEM
374375
---help---
375376
Support user-mode Transactional Memory on POWERPC.
376377

378+
config DISABLE_MPROFILE_KERNEL
379+
bool "Disable use of mprofile-kernel for kernel tracing"
380+
depends on PPC64 && CPU_LITTLE_ENDIAN
381+
default y
382+
help
383+
Selecting this options disables use of the mprofile-kernel ABI for
384+
kernel tracing. That will cause options such as live patching
385+
(CONFIG_LIVEPATCH) which depend on CONFIG_DYNAMIC_FTRACE_WITH_REGS to
386+
be disabled also.
387+
388+
If you have a toolchain which supports mprofile-kernel, then you can
389+
enable this. Otherwise leave it disabled. If you're not sure, say
390+
"N".
391+
392+
config MPROFILE_KERNEL
393+
depends on PPC64 && CPU_LITTLE_ENDIAN
394+
def_bool !DISABLE_MPROFILE_KERNEL
395+
377396
config IOMMU_HELPER
378397
def_bool PPC64
379398

@@ -390,7 +409,7 @@ config SWIOTLB
390409
config HOTPLUG_CPU
391410
bool "Support for enabling/disabling CPUs"
392411
depends on SMP && (PPC_PSERIES || \
393-
PPC_PMAC || PPC_POWERNV || (PPC_85xx && !PPC_E500MC))
412+
PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE)
394413
---help---
395414
Say Y here to be able to disable and re-enable individual
396415
CPUs at runtime on SMP machines.

0 commit comments

Comments
 (0)