Skip to content

Commit 2bfb20b

Browse files
committed
spi: rpc-if: Add resume support for RZ/G3E
Merge series from Biju Das <[email protected]>: On RZ/G3E using PSCI, s2ram powers down the SoC. After resume, reinitialize the hardware for SPI operations. Also Replace the macro SIMPLE_DEV_PM_OPS->DEFINE_SIMPLE_DEV_PM_OPS macro and use pm_sleep_ptr(). This lets us drop the check for CONFIG_PM_SLEEP and __maybe_unused attribute from PM functions.
2 parents 089558a + ad47287 commit 2bfb20b

253 files changed

Lines changed: 2294 additions & 992 deletions

File tree

Some content is hidden

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

Documentation/netlink/specs/conntrack.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -575,8 +575,8 @@ operations:
575575
- nat-dst
576576
- timeout
577577
- mark
578-
- counter-orig
579-
- counter-reply
578+
- counters-orig
579+
- counters-reply
580580
- use
581581
- id
582582
- nat-dst
@@ -591,7 +591,6 @@ operations:
591591
request:
592592
value: 0x101
593593
attributes:
594-
- nfgen-family
595594
- mark
596595
- filter
597596
- status
@@ -608,8 +607,8 @@ operations:
608607
- nat-dst
609608
- timeout
610609
- mark
611-
- counter-orig
612-
- counter-reply
610+
- counters-orig
611+
- counters-reply
613612
- use
614613
- id
615614
- nat-dst

Documentation/netlink/specs/mptcp_pm.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ definitions:
2828
traffic-patterns it can take a long time until the
2929
MPTCP_EVENT_ESTABLISHED is sent.
3030
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
31-
dport, server-side.
31+
dport, server-side, [flags].
3232
-
3333
name: established
3434
doc: >-
3535
A MPTCP connection is established (can start new subflows).
3636
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
37-
dport, server-side.
37+
dport, server-side, [flags].
3838
-
3939
name: closed
4040
doc: >-

Documentation/sound/alsa-configuration.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2293,7 +2293,7 @@ delayed_register
22932293
notice the need.
22942294
skip_validation
22952295
Skip unit descriptor validation (default: no).
2296-
The option is used to ignores the validation errors with the hexdump
2296+
The option is used to ignore the validation errors with the hexdump
22972297
of the unit descriptor instead of a driver probe error, so that we
22982298
can check its details.
22992299
quirk_flags

MAINTAINERS

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7440,7 +7440,7 @@ S: Supported
74407440
F: Documentation/devicetree/bindings/dpll/dpll-device.yaml
74417441
F: Documentation/devicetree/bindings/dpll/dpll-pin.yaml
74427442
F: Documentation/driver-api/dpll.rst
7443-
F: drivers/dpll/*
7443+
F: drivers/dpll/
74447444
F: include/linux/dpll.h
74457445
F: include/uapi/linux/dpll.h
74467446

@@ -16206,6 +16206,7 @@ R: Rik van Riel <[email protected]>
1620616206
R: Liam R. Howlett <[email protected]>
1620716207
R: Vlastimil Babka <[email protected]>
1620816208
R: Harry Yoo <[email protected]>
16209+
R: Jann Horn <[email protected]>
1620916210
1621016211
S: Maintained
1621116212
F: include/linux/rmap.h
@@ -16250,6 +16251,7 @@ R: Nico Pache <[email protected]>
1625016251
R: Ryan Roberts <[email protected]>
1625116252
R: Dev Jain <[email protected]>
1625216253
R: Barry Song <[email protected]>
16254+
R: Lance Yang <[email protected]>
1625316255
1625416256
S: Maintained
1625516257
W: http://www.linux-mm.org
@@ -22060,6 +22062,7 @@ F: drivers/infiniband/ulp/rtrs/
2206022062

2206122063
RUNTIME VERIFICATION (RV)
2206222064
M: Steven Rostedt <[email protected]>
22065+
M: Gabriele Monaco <[email protected]>
2206322066
2206422067
S: Maintained
2206522068
F: Documentation/trace/rv/
@@ -24267,7 +24270,7 @@ F: Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
2426724270
F: drivers/input/keyboard/sun4i-lradc-keys.c
2426824271

2426924272
SUNDANCE NETWORK DRIVER
24270-
M: Denis Kirjanov <[email protected]>
24273+
M: Denis Kirjanov <[email protected]>
2427124274
2427224275
S: Maintained
2427324276
F: drivers/net/ethernet/dlink/sundance.c

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 17
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc6
5+
EXTRAVERSION = -rc7
66
NAME = Baby Opossum Posse
77

88
# *DOCUMENTATION*

arch/arm64/include/asm/kvm_host.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,6 +1369,7 @@ static inline bool kvm_system_needs_idmapped_vectors(void)
13691369
}
13701370

13711371
void kvm_init_host_debug_data(void);
1372+
void kvm_debug_init_vhe(void);
13721373
void kvm_vcpu_load_debug(struct kvm_vcpu *vcpu);
13731374
void kvm_vcpu_put_debug(struct kvm_vcpu *vcpu);
13741375
void kvm_debug_set_guest_ownership(struct kvm_vcpu *vcpu);

arch/arm64/include/asm/kvm_pgtable.h

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -355,11 +355,6 @@ static inline kvm_pte_t *kvm_dereference_pteref(struct kvm_pgtable_walker *walke
355355
return pteref;
356356
}
357357

358-
static inline kvm_pte_t *kvm_dereference_pteref_raw(kvm_pteref_t pteref)
359-
{
360-
return pteref;
361-
}
362-
363358
static inline int kvm_pgtable_walk_begin(struct kvm_pgtable_walker *walker)
364359
{
365360
/*
@@ -389,11 +384,6 @@ static inline kvm_pte_t *kvm_dereference_pteref(struct kvm_pgtable_walker *walke
389384
return rcu_dereference_check(pteref, !(walker->flags & KVM_PGTABLE_WALK_SHARED));
390385
}
391386

392-
static inline kvm_pte_t *kvm_dereference_pteref_raw(kvm_pteref_t pteref)
393-
{
394-
return rcu_dereference_raw(pteref);
395-
}
396-
397387
static inline int kvm_pgtable_walk_begin(struct kvm_pgtable_walker *walker)
398388
{
399389
if (walker->flags & KVM_PGTABLE_WALK_SHARED)
@@ -561,26 +551,6 @@ static inline int kvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2
561551
*/
562552
void kvm_pgtable_stage2_destroy(struct kvm_pgtable *pgt);
563553

564-
/**
565-
* kvm_pgtable_stage2_destroy_range() - Destroy the unlinked range of addresses.
566-
* @pgt: Page-table structure initialised by kvm_pgtable_stage2_init*().
567-
* @addr: Intermediate physical address at which to place the mapping.
568-
* @size: Size of the mapping.
569-
*
570-
* The page-table is assumed to be unreachable by any hardware walkers prior
571-
* to freeing and therefore no TLB invalidation is performed.
572-
*/
573-
void kvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
574-
u64 addr, u64 size);
575-
576-
/**
577-
* kvm_pgtable_stage2_destroy_pgd() - Destroy the PGD of guest stage-2 page-table.
578-
* @pgt: Page-table structure initialised by kvm_pgtable_stage2_init*().
579-
*
580-
* It is assumed that the rest of the page-table is freed before this operation.
581-
*/
582-
void kvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt);
583-
584554
/**
585555
* kvm_pgtable_stage2_free_unlinked() - Free an unlinked stage-2 paging structure.
586556
* @mm_ops: Memory management callbacks.

arch/arm64/include/asm/kvm_pkvm.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,7 @@ struct pkvm_mapping {
179179

180180
int pkvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu,
181181
struct kvm_pgtable_mm_ops *mm_ops);
182-
void pkvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
183-
u64 addr, u64 size);
184-
void pkvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt);
182+
void pkvm_pgtable_stage2_destroy(struct kvm_pgtable *pgt);
185183
int pkvm_pgtable_stage2_map(struct kvm_pgtable *pgt, u64 addr, u64 size, u64 phys,
186184
enum kvm_pgtable_prot prot, void *mc,
187185
enum kvm_pgtable_walk_flags flags);

arch/arm64/kvm/arm.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2113,8 +2113,10 @@ static void cpu_hyp_init_features(void)
21132113
{
21142114
cpu_set_hyp_vector();
21152115

2116-
if (is_kernel_in_hyp_mode())
2116+
if (is_kernel_in_hyp_mode()) {
21172117
kvm_timer_init_vhe();
2118+
kvm_debug_init_vhe();
2119+
}
21182120

21192121
if (vgic_present)
21202122
kvm_vgic_init_cpu_hardware();

arch/arm64/kvm/debug.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,13 @@ void kvm_init_host_debug_data(void)
9696
}
9797
}
9898

99+
void kvm_debug_init_vhe(void)
100+
{
101+
/* Clear PMSCR_EL1.E{0,1}SPE which reset to UNKNOWN values. */
102+
if (SYS_FIELD_GET(ID_AA64DFR0_EL1, PMSVer, read_sysreg(id_aa64dfr0_el1)))
103+
write_sysreg_el1(0, SYS_PMSCR);
104+
}
105+
99106
/*
100107
* Configures the 'external' MDSCR_EL1 value for the guest, i.e. when the host
101108
* has taken over MDSCR_EL1.
@@ -138,6 +145,9 @@ void kvm_vcpu_load_debug(struct kvm_vcpu *vcpu)
138145
/* Must be called before kvm_vcpu_load_vhe() */
139146
KVM_BUG_ON(vcpu_get_flag(vcpu, SYSREGS_ON_CPU), vcpu->kvm);
140147

148+
if (has_vhe())
149+
*host_data_ptr(host_debug_state.mdcr_el2) = read_sysreg(mdcr_el2);
150+
141151
/*
142152
* Determine which of the possible debug states we're in:
143153
*
@@ -184,6 +194,9 @@ void kvm_vcpu_load_debug(struct kvm_vcpu *vcpu)
184194

185195
void kvm_vcpu_put_debug(struct kvm_vcpu *vcpu)
186196
{
197+
if (has_vhe())
198+
write_sysreg(*host_data_ptr(host_debug_state.mdcr_el2), mdcr_el2);
199+
187200
if (likely(!(vcpu->guest_debug & KVM_GUESTDBG_SINGLESTEP)))
188201
return;
189202

0 commit comments

Comments
 (0)