Skip to content

Commit ca5ad73

Browse files
committed
Merge branch 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm into sunxi/dt-for-6.17
Signed-off-by: Chen-Yu Tsai <[email protected]>
2 parents 082c6a2 + f99d4fc commit ca5ad73

File tree

331 files changed

+2443
-1388
lines changed

Some content is hidden

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

331 files changed

+2443
-1388
lines changed

.mailmap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,9 @@ Krzysztof Wilczyński <[email protected]> <[email protected]>
426426
Krzysztof Wilczyński <[email protected]> <[email protected]>
427427
428428
Kuninori Morimoto <[email protected]>
429+
430+
431+
429432
430433
431434
@@ -719,6 +722,7 @@ Srinivas Ramana <[email protected]> <[email protected]>
719722
720723
721724
Stanislav Fomichev <[email protected]> <[email protected]>
725+
Stanislav Fomichev <[email protected]> <[email protected]>
722726
723727
Stéphane Witzmann <[email protected]>
724728

Documentation/admin-guide/cifs/usage.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,8 @@ configured for Unix Extensions (and the client has not disabled
270270
illegal Windows/NTFS/SMB characters to a remap range (this mount parameter
271271
is the default for SMB3). This remap (``mapposix``) range is also
272272
compatible with Mac (and "Services for Mac" on some older Windows).
273+
When POSIX Extensions for SMB 3.1.1 are negotiated, remapping is automatically
274+
disabled.
273275

274276
CIFS VFS Mount Options
275277
======================

Documentation/block/ublk.rst

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,83 @@ For reaching best IO performance, ublk server should align its segment
352352
parameter of `struct ublk_param_segment` with backend for avoiding
353353
unnecessary IO split, which usually hurts io_uring performance.
354354

355+
Auto Buffer Registration
356+
------------------------
357+
358+
The ``UBLK_F_AUTO_BUF_REG`` feature automatically handles buffer registration
359+
and unregistration for I/O requests, which simplifies the buffer management
360+
process and reduces overhead in the ublk server implementation.
361+
362+
This is another feature flag for using zero copy, and it is compatible with
363+
``UBLK_F_SUPPORT_ZERO_COPY``.
364+
365+
Feature Overview
366+
~~~~~~~~~~~~~~~~
367+
368+
This feature automatically registers request buffers to the io_uring context
369+
before delivering I/O commands to the ublk server and unregisters them when
370+
completing I/O commands. This eliminates the need for manual buffer
371+
registration/unregistration via ``UBLK_IO_REGISTER_IO_BUF`` and
372+
``UBLK_IO_UNREGISTER_IO_BUF`` commands, then IO handling in ublk server
373+
can avoid dependency on the two uring_cmd operations.
374+
375+
IOs can't be issued concurrently to io_uring if there is any dependency
376+
among these IOs. So this way not only simplifies ublk server implementation,
377+
but also makes concurrent IO handling becomes possible by removing the
378+
dependency on buffer registration & unregistration commands.
379+
380+
Usage Requirements
381+
~~~~~~~~~~~~~~~~~~
382+
383+
1. The ublk server must create a sparse buffer table on the same ``io_ring_ctx``
384+
used for ``UBLK_IO_FETCH_REQ`` and ``UBLK_IO_COMMIT_AND_FETCH_REQ``. If
385+
uring_cmd is issued on a different ``io_ring_ctx``, manual buffer
386+
unregistration is required.
387+
388+
2. Buffer registration data must be passed via uring_cmd's ``sqe->addr`` with the
389+
following structure::
390+
391+
struct ublk_auto_buf_reg {
392+
__u16 index; /* Buffer index for registration */
393+
__u8 flags; /* Registration flags */
394+
__u8 reserved0; /* Reserved for future use */
395+
__u32 reserved1; /* Reserved for future use */
396+
};
397+
398+
ublk_auto_buf_reg_to_sqe_addr() is for converting the above structure into
399+
``sqe->addr``.
400+
401+
3. All reserved fields in ``ublk_auto_buf_reg`` must be zeroed.
402+
403+
4. Optional flags can be passed via ``ublk_auto_buf_reg.flags``.
404+
405+
Fallback Behavior
406+
~~~~~~~~~~~~~~~~~
407+
408+
If auto buffer registration fails:
409+
410+
1. When ``UBLK_AUTO_BUF_REG_FALLBACK`` is enabled:
411+
412+
- The uring_cmd is completed
413+
- ``UBLK_IO_F_NEED_REG_BUF`` is set in ``ublksrv_io_desc.op_flags``
414+
- The ublk server must manually deal with the failure, such as, register
415+
the buffer manually, or using user copy feature for retrieving the data
416+
for handling ublk IO
417+
418+
2. If fallback is not enabled:
419+
420+
- The ublk I/O request fails silently
421+
- The uring_cmd won't be completed
422+
423+
Limitations
424+
~~~~~~~~~~~
425+
426+
- Requires same ``io_ring_ctx`` for all operations
427+
- May require manual buffer management in fallback cases
428+
- io_ring_ctx buffer table has a max size of 16K, which may not be enough
429+
in case that too many ublk devices are handled by this single io_ring_ctx
430+
and each one has very large queue depth
431+
355432
References
356433
==========
357434

Documentation/devicetree/bindings/arm/rockchip/pmu.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ select:
2525
- rockchip,rk3288-pmu
2626
- rockchip,rk3368-pmu
2727
- rockchip,rk3399-pmu
28+
- rockchip,rk3528-pmu
2829
- rockchip,rk3562-pmu
2930
- rockchip,rk3568-pmu
3031
- rockchip,rk3576-pmu
@@ -44,6 +45,7 @@ properties:
4445
- rockchip,rk3288-pmu
4546
- rockchip,rk3368-pmu
4647
- rockchip,rk3399-pmu
48+
- rockchip,rk3528-pmu
4749
- rockchip,rk3562-pmu
4850
- rockchip,rk3568-pmu
4951
- rockchip,rk3576-pmu

Documentation/devicetree/bindings/firmware/thead,th1520-aon.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ properties:
3232
items:
3333
- const: aon
3434

35+
resets:
36+
maxItems: 1
37+
38+
reset-names:
39+
items:
40+
- const: gpu-clkgen
41+
3542
"#power-domain-cells":
3643
const: 1
3744

Documentation/devicetree/bindings/pinctrl/starfive,jh7110-aon-pinctrl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ description: |
1515
Some peripherals such as PWM have their I/O go through the 4 "GPIOs".
1616
1717
maintainers:
18-
- Jianlong Huang <jianlong.huang@starfivetech.com>
18+
- Hal Feng <hal.feng@starfivetech.com>
1919

2020
properties:
2121
compatible:

Documentation/devicetree/bindings/pinctrl/starfive,jh7110-sys-pinctrl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ description: |
1818
any GPIO can be set up to be controlled by any of the peripherals.
1919
2020
maintainers:
21-
- Jianlong Huang <jianlong.huang@starfivetech.com>
21+
- Hal Feng <hal.feng@starfivetech.com>
2222

2323
properties:
2424
compatible:

Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ description:
1616
properties:
1717
compatible:
1818
enum:
19-
- allwinner,sun20i-d1-ppu
2019
- allwinner,sun8i-v853-ppu
20+
- allwinner,sun20i-d1-ppu
21+
- allwinner,sun55i-a523-pck-600
22+
- allwinner,sun55i-a523-ppu
2123

2224
reg:
2325
maxItems: 1

Documentation/devicetree/bindings/power/qcom,rpmpd.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ properties:
1818
oneOf:
1919
- enum:
2020
- qcom,mdm9607-rpmpd
21+
- qcom,milos-rpmhpd
2122
- qcom,msm8226-rpmpd
2223
- qcom,msm8909-rpmpd
2324
- qcom,msm8916-rpmpd

Documentation/devicetree/bindings/power/rockchip,power-controller.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ properties:
4040
- rockchip,rk3366-power-controller
4141
- rockchip,rk3368-power-controller
4242
- rockchip,rk3399-power-controller
43+
- rockchip,rk3528-power-controller
4344
- rockchip,rk3562-power-controller
4445
- rockchip,rk3568-power-controller
4546
- rockchip,rk3576-power-controller

0 commit comments

Comments
 (0)