Skip to content

Commit

Permalink
Merge remote-tracking branch 'drm/drm-next' into drm-misc-next-fixes
Browse files Browse the repository at this point in the history
A regression was caused by commit e4b5ccd ("drm/v3d: Ensure job pointer is set to NULL
after job completion"), but this commit is not yet in next-fixes,
fast-forward it.

Try Rust-for-Linux#2, first one didn't have v6.13 in it.

Signed-off-by: Maarten Lankhorst <[email protected]>
  • Loading branch information
Maarten Lankhorst committed Jan 23, 2025
2 parents db8b2c0 + 07c5b27 commit 37ba6c7
Show file tree
Hide file tree
Showing 472 changed files with 4,396 additions and 2,636 deletions.
3 changes: 3 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ Ben Widawsky <[email protected]> <[email protected]>
Benjamin Poirier <[email protected]> <[email protected]>
Benjamin Tissoires <[email protected]> <[email protected]>
Benjamin Tissoires <[email protected]> <[email protected]>
Bingwu Zhang <[email protected]> <[email protected]>
Bingwu Zhang <[email protected]> <[email protected]>
Bjorn Andersson <[email protected]> <[email protected]>
Bjorn Andersson <[email protected]> <[email protected]>
Bjorn Andersson <[email protected]> <[email protected]>
Expand Down Expand Up @@ -200,6 +202,7 @@ Elliot Berman <[email protected]> <[email protected]>
Enric Balletbo i Serra <[email protected]> <[email protected]>
Enric Balletbo i Serra <[email protected]> <[email protected]>
Erik Kaneda <[email protected]> <[email protected]>
Ethan Carter Edwards <[email protected]> Ethan Edwards <[email protected]>
Eugen Hristev <[email protected]> <[email protected]>
Eugen Hristev <[email protected]> <[email protected]>
Evgeniy Polyakov <[email protected]>
Expand Down
12 changes: 12 additions & 0 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ N: Thomas Abraham
E: [email protected]
D: Samsung pin controller driver

N: Jose Abreu
E: [email protected]
D: Synopsys DesignWare XPCS MDIO/PCS driver.

N: Dragos Acostachioaie
E: [email protected]
W: http://www.arbornet.org/~dragos
Expand Down Expand Up @@ -1428,6 +1432,10 @@ S: 8124 Constitution Apt. 7
S: Sterling Heights, Michigan 48313
S: USA

N: Andy Gospodarek
E: [email protected]
D: Maintenance and contributions to the network interface bonding driver.

N: Wolfgang Grandegger
E: [email protected]
D: Controller Area Network (device drivers)
Expand Down Expand Up @@ -1812,6 +1820,10 @@ D: Author/maintainer of most DRM drivers (especially ATI, MGA)
D: Core DRM templates, general DRM and 3D-related hacking
S: No fixed address

N: Woojung Huh
E: [email protected]
D: Microchip LAN78XX USB Ethernet driver

N: Kenn Humborg
E: [email protected]
D: Mods to loop device to support sparse backing files
Expand Down
72 changes: 31 additions & 41 deletions Documentation/admin-guide/pm/cpuidle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -269,27 +269,7 @@ Namely, when invoked to select an idle state for a CPU (i.e. an idle state that
the CPU will ask the processor hardware to enter), it attempts to predict the
idle duration and uses the predicted value for idle state selection.

It first obtains the time until the closest timer event with the assumption
that the scheduler tick will be stopped. That time, referred to as the *sleep
length* in what follows, is the upper bound on the time before the next CPU
wakeup. It is used to determine the sleep length range, which in turn is needed
to get the sleep length correction factor.

The ``menu`` governor maintains two arrays of sleep length correction factors.
One of them is used when tasks previously running on the given CPU are waiting
for some I/O operations to complete and the other one is used when that is not
the case. Each array contains several correction factor values that correspond
to different sleep length ranges organized so that each range represented in the
array is approximately 10 times wider than the previous one.

The correction factor for the given sleep length range (determined before
selecting the idle state for the CPU) is updated after the CPU has been woken
up and the closer the sleep length is to the observed idle duration, the closer
to 1 the correction factor becomes (it must fall between 0 and 1 inclusive).
The sleep length is multiplied by the correction factor for the range that it
falls into to obtain the first approximation of the predicted idle duration.

Next, the governor uses a simple pattern recognition algorithm to refine its
It first uses a simple pattern recognition algorithm to obtain a preliminary
idle duration prediction. Namely, it saves the last 8 observed idle duration
values and, when predicting the idle duration next time, it computes the average
and variance of them. If the variance is small (smaller than 400 square
Expand All @@ -301,29 +281,39 @@ Again, if the variance of them is small (in the above sense), the average is
taken as the "typical interval" value and so on, until either the "typical
interval" is determined or too many data points are disregarded, in which case
the "typical interval" is assumed to equal "infinity" (the maximum unsigned
integer value). The "typical interval" computed this way is compared with the
sleep length multiplied by the correction factor and the minimum of the two is
taken as the predicted idle duration.

Then, the governor computes an extra latency limit to help "interactive"
workloads. It uses the observation that if the exit latency of the selected
idle state is comparable with the predicted idle duration, the total time spent
in that state probably will be very short and the amount of energy to save by
entering it will be relatively small, so likely it is better to avoid the
overhead related to entering that state and exiting it. Thus selecting a
shallower state is likely to be a better option then. The first approximation
of the extra latency limit is the predicted idle duration itself which
additionally is divided by a value depending on the number of tasks that
previously ran on the given CPU and now they are waiting for I/O operations to
complete. The result of that division is compared with the latency limit coming
from the power management quality of service, or `PM QoS <cpu-pm-qos_>`_,
framework and the minimum of the two is taken as the limit for the idle states'
exit latency.
integer value).

If the "typical interval" computed this way is long enough, the governor obtains
the time until the closest timer event with the assumption that the scheduler
tick will be stopped. That time, referred to as the *sleep length* in what follows,
is the upper bound on the time before the next CPU wakeup. It is used to determine
the sleep length range, which in turn is needed to get the sleep length correction
factor.

The ``menu`` governor maintains an array containing several correction factor
values that correspond to different sleep length ranges organized so that each
range represented in the array is approximately 10 times wider than the previous
one.

The correction factor for the given sleep length range (determined before
selecting the idle state for the CPU) is updated after the CPU has been woken
up and the closer the sleep length is to the observed idle duration, the closer
to 1 the correction factor becomes (it must fall between 0 and 1 inclusive).
The sleep length is multiplied by the correction factor for the range that it
falls into to obtain an approximation of the predicted idle duration that is
compared to the "typical interval" determined previously and the minimum of
the two is taken as the idle duration prediction.

If the "typical interval" value is small, which means that the CPU is likely
to be woken up soon enough, the sleep length computation is skipped as it may
be costly and the idle duration is simply predicted to equal the "typical
interval" value.

Now, the governor is ready to walk the list of idle states and choose one of
them. For this purpose, it compares the target residency of each state with
the predicted idle duration and the exit latency of it with the computed latency
limit. It selects the state with the target residency closest to the predicted
the predicted idle duration and the exit latency of it with the with the latency
limit coming from the power management quality of service, or `PM QoS <cpu-pm-qos_>`_,
framework. It selects the state with the target residency closest to the predicted
idle duration, but still below it, and exit latency that does not exceed the
limit.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ properties:
interrupts:
maxItems: 1

'#sound-dai-cells':
const: 0

ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
Expand Down Expand Up @@ -85,7 +88,21 @@ required:
- ports
- max-linkrate-mhz

additionalProperties: false
allOf:
- $ref: /schemas/sound/dai-common.yaml#
- if:
not:
properties:
compatible:
contains:
enum:
- mediatek,mt8188-dp-tx
- mediatek,mt8195-dp-tx
then:
properties:
'#sound-dai-cells': false

unevaluatedProperties: false

examples:
- |
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/iio/st,st-sensors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ properties:
- st,lsm9ds0-gyro
- description: STMicroelectronics Magnetometers
enum:
- st,iis2mdc
- st,lis2mdl
- st,lis3mdl-magn
- st,lsm303agr-magn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ properties:
List of phandles, each pointing to the power supply for the
corresponding pairset named in 'pairset-names'. This property
aligns with IEEE 802.3-2022, Section 33.2.3 and 145.2.4.
PSE Pinout Alternatives (as per IEEE 802.3-2022 Table 145\u20133)
PSE Pinout Alternatives (as per IEEE 802.3-2022 Table 145-3)
|-----------|---------------|---------------|---------------|---------------|
| Conductor | Alternative A | Alternative A | Alternative B | Alternative B |
| | (MDI-X) | (MDI) | (X) | (S) |
Expand Down
Loading

0 comments on commit 37ba6c7

Please sign in to comment.