Unverified Commit 0089d6ee authored by Rodrigo Vivi's avatar Rodrigo Vivi
Browse files

Merge drm/drm-next into drm-xe-next



Catch up on i915 changes to be able to include mtd
driver for both xe and i915.

Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parents 3972872e 36c52fb7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -426,6 +426,9 @@ Krzysztof Wilczyński <kwilczynski@kernel.org> <krzysztof.wilczynski@linux.com>
Krzysztof Wilczyński <kwilczynski@kernel.org> <kw@linux.com>
Kshitiz Godara <quic_kgodara@quicinc.com> <kgodara@codeaurora.org>
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Kuniyuki Iwashima <kuniyu@google.com> <kuniyu@amazon.com>
Kuniyuki Iwashima <kuniyu@google.com> <kuniyu@amazon.co.jp>
Kuniyuki Iwashima <kuniyu@google.com> <kuni1840@gmail.com>
Kuogee Hsieh <quic_khsieh@quicinc.com> <khsieh@codeaurora.org>
Lee Jones <lee@kernel.org> <joneslee@google.com>
Lee Jones <lee@kernel.org> <lee.jones@canonical.com>
@@ -719,6 +722,7 @@ Srinivas Ramana <quic_sramana@quicinc.com> <sramana@codeaurora.org>
Sriram R <quic_srirrama@quicinc.com> <srirrama@codeaurora.org>
Sriram Yagnaraman <sriram.yagnaraman@ericsson.com> <sriram.yagnaraman@est.tech>
Stanislav Fomichev <sdf@fomichev.me> <sdf@google.com>
Stanislav Fomichev <sdf@fomichev.me> <stfomichev@gmail.com>
Stefan Wahren <wahrenst@gmx.net> <stefan.wahren@i2se.com>
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
Stephen Hemminger <stephen@networkplumber.org> <shemminger@linux-foundation.org>
+18 −0
Original line number Diff line number Diff line
What:		/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ce_count
Date:		May 2025
KernelVersion:	6.17
Contact:	dri-devel@lists.freedesktop.org
Description:	Number of correctable errors received from device since driver is loaded.

What:		/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ue_count
Date:		May 2025
KernelVersion:	6.17
Contact:	dri-devel@lists.freedesktop.org
Description:	Number of uncorrectable errors received from device since driver is loaded.

What:		/sys/bus/pci/drivers/qaic/XXXX:XX:XX.X/ue_nonfatal_count
Date:		May 2025
KernelVersion:	6.17
Contact:	dri-devel@lists.freedesktop.org
Description:	Number of uncorrectable non-fatal errors received from device since driver
		is loaded.
+2 −0
Original line number Diff line number Diff line
@@ -270,6 +270,8 @@ configured for Unix Extensions (and the client has not disabled
illegal Windows/NTFS/SMB characters to a remap range (this mount parameter
is the default for SMB3). This remap (``mapposix``) range is also
compatible with Mac (and "Services for Mac" on some older Windows).
When POSIX Extensions for SMB 3.1.1 are negotiated, remapping is automatically
disabled.

CIFS VFS Mount Options
======================
+77 −0
Original line number Diff line number Diff line
@@ -352,6 +352,83 @@ For reaching best IO performance, ublk server should align its segment
parameter of `struct ublk_param_segment` with backend for avoiding
unnecessary IO split, which usually hurts io_uring performance.

Auto Buffer Registration
------------------------

The ``UBLK_F_AUTO_BUF_REG`` feature automatically handles buffer registration
and unregistration for I/O requests, which simplifies the buffer management
process and reduces overhead in the ublk server implementation.

This is another feature flag for using zero copy, and it is compatible with
``UBLK_F_SUPPORT_ZERO_COPY``.

Feature Overview
~~~~~~~~~~~~~~~~

This feature automatically registers request buffers to the io_uring context
before delivering I/O commands to the ublk server and unregisters them when
completing I/O commands. This eliminates the need for manual buffer
registration/unregistration via ``UBLK_IO_REGISTER_IO_BUF`` and
``UBLK_IO_UNREGISTER_IO_BUF`` commands, then IO handling in ublk server
can avoid dependency on the two uring_cmd operations.

IOs can't be issued concurrently to io_uring if there is any dependency
among these IOs. So this way not only simplifies ublk server implementation,
but also makes concurrent IO handling becomes possible by removing the
dependency on buffer registration & unregistration commands.

Usage Requirements
~~~~~~~~~~~~~~~~~~

1. The ublk server must create a sparse buffer table on the same ``io_ring_ctx``
   used for ``UBLK_IO_FETCH_REQ`` and ``UBLK_IO_COMMIT_AND_FETCH_REQ``. If
   uring_cmd is issued on a different ``io_ring_ctx``, manual buffer
   unregistration is required.

2. Buffer registration data must be passed via uring_cmd's ``sqe->addr`` with the
   following structure::

    struct ublk_auto_buf_reg {
        __u16 index;      /* Buffer index for registration */
        __u8 flags;       /* Registration flags */
        __u8 reserved0;   /* Reserved for future use */
        __u32 reserved1;  /* Reserved for future use */
    };

   ublk_auto_buf_reg_to_sqe_addr() is for converting the above structure into
   ``sqe->addr``.

3. All reserved fields in ``ublk_auto_buf_reg`` must be zeroed.

4. Optional flags can be passed via ``ublk_auto_buf_reg.flags``.

Fallback Behavior
~~~~~~~~~~~~~~~~~

If auto buffer registration fails:

1. When ``UBLK_AUTO_BUF_REG_FALLBACK`` is enabled:

   - The uring_cmd is completed
   - ``UBLK_IO_F_NEED_REG_BUF`` is set in ``ublksrv_io_desc.op_flags``
   - The ublk server must manually deal with the failure, such as, register
     the buffer manually, or using user copy feature for retrieving the data
     for handling ublk IO

2. If fallback is not enabled:

   - The ublk I/O request fails silently
   - The uring_cmd won't be completed

Limitations
~~~~~~~~~~~

- Requires same ``io_ring_ctx`` for all operations
- May require manual buffer management in fallback cases
- io_ring_ctx buffer table has a max size of 16K, which may not be enough
  in case that too many ublk devices are handled by this single io_ring_ctx
  and each one has very large queue depth

References
==========

+32 −2
Original line number Diff line number Diff line
@@ -24,9 +24,11 @@ properties:
      - allwinner,sun50i-a64-de2-mixer-0
      - allwinner,sun50i-a64-de2-mixer-1
      - allwinner,sun50i-h6-de3-mixer-0
      - allwinner,sun50i-h616-de33-mixer-0

  reg:
    maxItems: 1
  reg: true

  reg-names: true

  clocks:
    items:
@@ -61,6 +63,34 @@ properties:
    required:
      - port@1

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - allwinner,sun50i-h616-de33-mixer-0
    then:
      properties:
        reg:
          description: |
            Registers for controlling individual layers of the display
            engine (layers), global control (top), and display blending
            control (display). Names are from Allwinner BSP kernel.
          maxItems: 3
        reg-names:
          items:
            - const: layers
            - const: top
            - const: display
      required:
        - reg-names

    else:
      properties:
        reg:
          maxItems: 1

required:
  - compatible
  - reg
Loading