[roll] Roll fuchsia [kernel][gicv3] Don't wait when GICR_WAKER is RAZ/WI

This change fixes a bug in gic_redistributor_sleep.  Prior to this
change if GICR_WAKER was RAZ/WI (as is the case on Sorrel),
gic_redistributor_sleep would wait for WAKER_CHILDREN_ASLEEP to read
as 1, which would never happen.  The result was that the call would
appear to hang for about 1.4 seconds.

gic_redistributor_sleep(true) now checks whether its write to
WAKER_PROCESSOR_SLEEP worked and only waits if it did.

This change fixes observed slow CPU shutdown on Sorrel (k mp unplug).

Before:
```
$ k mp unplug 3 ;  k mp unplug 2 ; k mp unplug 1
[00025.764] 00000:01050> CPU 3: active -> offline
[00027.224] 03636:03638> CPU 3 unplug succeeded 0
[00027.226] 00000:01049> CPU 2: active -> offline
[00028.686] 03636:03638> CPU 2 unplug succeeded 0
[00028.689] 00000:01048> CPU 1: active -> offline
[00030.156] 03636:03638> CPU 1 unplug succeeded 0
```

After:
```
$ k mp unplug 3 ;  k mp unplug 2 ; k mp unplug 1
[00025.454] 00000:01050> CPU 3: active -> offline
[00025.455] 03624:03626> CPU 3 unplug succeeded 0
[00025.457] 00000:01049> CPU 2: active -> offline
[00025.458] 03624:03626> CPU 2 unplug succeeded 0
$ [00025.460] 00000:01048> CPU 1: active -> offline
[00025.462] 03624:03626> CPU 1 unplug succeeded 0
```

Original-Bug: 414456459
Original-Fixed: 415390485
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1268925
Original-Revision: 60ac5aecf0138e176b7158bc5b8ce3271e78cf09
GitOrigin-RevId: b6cc256132e88f2a4d6ccf416e075b24f316dea7
Change-Id: I5eb917cd8ed81718a2e8374318598da31b283a39
1 file changed
tree: 2977c183983051d3df33567edca009dc6b767775
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.