Skip to content

[Deepin-Kernel-SIG] [linux 6.6.y] [Upstream] Sync some docs and code clean from mainline#1634

Merged
opsiff merged 10 commits intodeepin-community:linux-6.6.yfrom
opsiff:linux-6.6.y-2026-04-17-stable
Apr 17, 2026
Merged

[Deepin-Kernel-SIG] [linux 6.6.y] [Upstream] Sync some docs and code clean from mainline#1634
opsiff merged 10 commits intodeepin-community:linux-6.6.yfrom
opsiff:linux-6.6.y-2026-04-17-stable

Conversation

@opsiff
Copy link
Copy Markdown
Member

@opsiff opsiff commented Apr 17, 2026

Summary by Sourcery

Remove obsolete code and sync comments and driver wiring with mainline for serial, thermal, SCSI and VRFB components.

Enhancements:

  • Drop unused S3C24XX-specific UART ops and fields from the Samsung serial driver, leaving only the supported variants wired up.
  • Convert the OMAP VRFB driver to use builtin_platform_driver_probe and remove an unnecessary .remove callback.
  • Switch thermal ACPI code to include the public thermal API header instead of the internal core header.
  • Remove unused keyring helper declarations from the keys security internals header.

Documentation:

  • Sync and clarify kernel comments and documentation, including GPIO count guidance for mpt3sas and overflow semantics for seq_buf, along with i915 and UVC gadget docs updates.

Chores:

  • Update the dot2 verification tool script in tools/verification/dot2/dot2k to match mainline changes.

rodrigovivi and others added 10 commits April 17, 2026 10:06
mainline inclusion
from mainline-v6.7-rc1
category: docs

Let's introduce the basic documentation about CCS.
While doing that, also removed the legacy execution flag name. That flag
simply doesn't exist for CCS and it is not needed on current context
submission. Those flag names are only needed on legacy context,
while on new ones we only need to pass the engine ID.

It is worth mention that this documentation should probably live with
the engine definitions rather than in the i915.rst file directly and
that more updates are likely need in this section. But this should
come later.

v2: Overall improvements from Matt and Tvrtko.

Fixes: 944823c ("drm/i915/xehp: Define compute class and engine")
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Sushma Venkatesh Reddy <sushma.venkatesh.reddy@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230926165107.23440-1-rodrigo.vivi@intel.com
(cherry picked from commit d38d753)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainline-v6.7-rc1
category: docs

Introduce the basic documentation about GSC CS.

This "GPU Basics" section is focused on explaining the hardware
rather than the driver/uapi, so let's make sure GSC is also
properly documented here.

v2: Fixes from Matt: typos and acronym.

Fixes: 5fd974d ("drm/i915/mtl: add initial definitions for GSC CS")
Suggested-by: Matt Roper <matthew.d.roper@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230926175554.25968-1-rodrigo.vivi@intel.com
(cherry picked from commit 587e80d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainline-v6.7-rc1
category: other

It is not necessary to include thermal_core.h into thermal_acpi.c,
because none of the code in there depends on anything in the former,
except for the linux/thermal.h, but it is better to include that one
directly instead of including the entire thermal_core.h, so make that
change.

No functional impact.

Fixes: 7a0e397 ("thermal: ACPI: Add ACPI trip point routines")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
(cherry picked from commit c27d08f)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclsuion
from mainline-v6.7-rc1
category: other

When support for various old platforms was removed in commit
1ea35b3 ("ARM: s3c: remove s3c24xx specific hacks"),
s3c24xx_serial_ops also became unused here because nothing sets port
type TYPE_S3C24XX anymore.

Remove s3c24xx_serial_ops and all the code that's unreachable now.

Fixes: 1ea35b3 ("ARM: s3c: remove s3c24xx specific hacks")
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20231019100901.4026680-1-andre.draszik@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a6149f7)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainline-v6.7-rc1
category: other

Since commit b2a4df2 ("KEYS: Expand the capacity of a keyring")
iterate_over_keyring() is never used, so can be removed.

And commit b5f545c ("[PATCH] keys: Permit running process to instantiate keys")
left behind keyring_search_instkey().

Fixes: b2a4df2 ("KEYS: Expand the capacity of a keyring")
Fixes: b5f545c ("[PATCH] keys: Permit running process to instantiate keys")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
(cherry picked from commit 03acb9c)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainline-v6.8-rc1
category: other

May reduce confusion for users of MPI2_CONFIG_PAGE_IO_UNIT_3::GPIOVal[].

Fixes: a1c4d77 ("scsi: mpt3sas: Replace unnecessary dynamic allocation with a static one")
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: James Seo <james@equiv.tech>
Link: https://lore.kernel.org/r/20230806170604.16143-10-james@equiv.tech
Tested-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 8a3db51)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainline-v6.7-rc1
category: bugfix

OMAP2_VRFB is a bool, so the vrfb driver can never be compiled as a
module. With that __exit_p(vrfb_remove) always evaluates to NULL and
vrfb_remove() is unused.

If the driver was compilable as a module, it would fail to build because
the type of vrfb_remove() isn't compatible with struct
platform_driver::remove(). (The former returns void, the latter int.)

Fixes: aa1e49a ("OMAPDSS: VRFB: add omap_vrfb_supported()")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Helge Deller <deller@gmx.de>
(cherry picked from commit fc6699d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainlein-v6.7-rc1
category: other

The presence of duplicate import lines appears to be a typo.
Removing them.

Link: https://lore.kernel.org/r/20230906155703.3917918-1-alessandro.carminati@gmail.com

Fixes: 24bce20 ("tools/rv: Add dot2k")
Signed-off-by: Alessandro Carminati (Red Hat) <alessandro.carminati@gmail.com>
Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org>
(cherry picked from commit a0c04a3)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclsion
from mainline-v6.7-rc1
category: docs

The comment for seq_buf_has_overflowed() says that an overflow condition is
marked by len == size, but that's not what the code is testing.  Make the
comment match reality.

Link: https://lkml.kernel.org/r/87pm19kp0m.fsf@meer.lwn.net

Fixes: 8cd709a ("tracing: Have seq_buf use full buffer")
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
(cherry picked from commit 845e31e)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
mainline inclusion
from mainline-v6.7-rc1
category: docs

Fix a typo in the path of this reference.

Fixes: 094f391 ("docs: usb: Add documentation for the UVC Gadget")
Cc: Daniel Scally <dan.scally@ideasonboard.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <20231022185311.919325-1-vegard.nossum@oracle.com>
(cherry picked from commit 16794ed)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai bot commented Apr 17, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR syncs several small cleanups and documentation updates from mainline: removes the unused legacy S3C24XX UART implementation paths, simplifies the OMAP VRFB platform driver registration, drops unused keyring helper declarations, switches a thermal ACPI include to the public thermal header, and adjusts a few comments/docs for accuracy and consistency.

Class diagram for updated Samsung serial UART structures and ops

classDiagram
    class uart_port {
        +unsigned long iobase
        +void __iomem *membase
        +unsigned int irq
        +unsigned int uartclk
        +unsigned int fifosize
        +unsigned int line
        +unsigned int iotype
        +unsigned long flags
        +struct uart_ops *ops
    }

    class s3c24xx_uart_info {
        +enum s3c24xx_port_type type
    }

    class s3c24xx_uart_dma {
        +dma_addr_t tx_dma_addr
        +dma_addr_t rx_dma_addr
        +struct dma_chan *tx_chan
        +struct dma_chan *rx_chan
    }

    class s3c24xx_uart_port {
        +unsigned char rx_enabled
        +unsigned char tx_enabled
        +unsigned int pm_level
        +unsigned int tx_in_progress
        +int rx_irq
        +int tx_irq
        +struct s3c24xx_uart_dma *dma
        +struct s3c24xx_uart_info *info
        +struct uart_port port
        +int tx_mode
    }

    class uart_ops {
        <<interface>>
        +void pm(uart_port *port, unsigned int state, unsigned int oldstate)
        +unsigned int tx_empty(uart_port *port)
        +unsigned int get_mctrl(uart_port *port)
        +void set_mctrl(uart_port *port, unsigned int mctrl)
        +void stop_tx(uart_port *port)
        +void start_tx(uart_port *port)
        +void stop_rx(uart_port *port)
        +void break_ctl(uart_port *port, int break_state)
        +int startup(uart_port *port)
        +void shutdown(uart_port *port)
        +void set_termios(uart_port *port, struct ktermios *termios, struct ktermios *old)
        +const char *type(uart_port *port)
        +void config_port(uart_port *port, int flags)
        +int verify_port(uart_port *port, struct serial_struct *ser)
    }

    class s3c64xx_serial_ops {
        <<uart_ops implementation>>
    }

    class apple_s5l_serial_ops {
        <<uart_ops implementation>>
    }

    class s3c24xx_port_type {
        <<enum>>
        +TYPE_S3C6400
        +TYPE_APPLE_S5L
    }

    s3c24xx_uart_port --> uart_port : composition
    s3c24xx_uart_port --> s3c24xx_uart_dma : aggregation
    s3c24xx_uart_port --> s3c24xx_uart_info : aggregation
    s3c24xx_uart_info --> s3c24xx_port_type

    uart_ops <|.. s3c64xx_serial_ops
    uart_ops <|.. apple_s5l_serial_ops

    uart_port --> uart_ops : uses

    note for s3c24xx_uart_port "Fields rx_claimed and tx_claimed were removed"
Loading

File-Level Changes

Change Details Files
Remove unused legacy S3C24XX UART support paths from the Samsung serial driver
  • Drop TYPE_S3C24XX from the port type enum and associated type string handling
  • Remove rx_claimed/tx_claimed fields and related IRQ startup/shutdown logic that were only used by S3C24XX-specific ops
  • Delete s3c24xx_serial_startup/shutdown and the s3c24xx_serial_ops uart_ops table
  • Stop assigning s3c24xx_serial_ops in port init and probe, and remove S3C24XX-specific TX IRQ setup
drivers/tty/serial/samsung_tty.c
Simplify OMAP VRFB driver lifecycle for built‑in usage
  • Remove vrfb_remove callback that only flipped vrfb_loaded flag
  • Use builtin_platform_driver_probe instead of module_platform_driver_probe to register the driver
drivers/video/fbdev/omap2/omapfb/vrfb.c
Clean up unused keyring internal APIs
  • Remove unused declarations for keyring_search_instkey and iterate_over_keyring from key security internals header
security/keys/internal.h
Use public thermal framework header in ACPI thermal driver
  • Replace local thermal_core.h include with linux/thermal.h to align with upstream header usage
drivers/thermal/thermal_acpi.c
Correct and clarify comments / docs in various subsystems
  • Update MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX comment to specify 36 instead of one as the expected define value
  • Adjust seq_buf overflow documentation comment to state that len becomes greater than size when overflowed
  • Sync documentation and tooling stubs for i915 GPU, USB gadget UVC, and verification tool dot2k from mainline (no functional kernel changes)
drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h
include/linux/seq_buf.h
Documentation/gpu/i915.rst
Documentation/usb/gadget_uvc.rst
tools/verification/dot2/dot2k

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@deepin-ci-robot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from opsiff. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Copy Markdown

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 2 issues

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="Documentation/gpu/i915.rst" line_range="282-285" />
<code_context>
+  Also sometimes called 'VEBOX' in hardware documentation.
+- Compute Command Streamer (CCS). An engine that has access to the media and
+  GPGPU pipelines, but not the 3D pipeline.
+- Graphics Security Controller (GSCCS). A dedicated engine for internal
+  communication with GSC controller on security related tasks like
+  High-bandwidth Digital Content Protection (HDCP), Protected Xe Path (PXP),
+  and HuC firmware authentication.
</code_context>
<issue_to_address>
**suggestion (typo):** The GSCCS expansion and the phrase "GSC controller" are potentially inconsistent/redundant.

Using "Graphics Security Controller (GSCCS)" is misleading, since GSCCS usually means "GSC Command Streamer," and "GSC controller" then expands to "Graphics Security Controller controller." Prefer something like "GSC Command Streamer (GSCCS)" here and then refer to it as "the GSC" later in the sentence.

```suggestion
- GSC Command Streamer (GSCCS). A dedicated engine for internal
-  communication with the GSC on security related tasks like
-  High-bandwidth Digital Content Protection (HDCP), Protected Xe Path (PXP),
-  and HuC firmware authentication.
```
</issue_to_address>

### Comment 2
<location path="Documentation/gpu/i915.rst" line_range="283" />
<code_context>
+- Compute Command Streamer (CCS). An engine that has access to the media and
+  GPGPU pipelines, but not the 3D pipeline.
+- Graphics Security Controller (GSCCS). A dedicated engine for internal
+  communication with GSC controller on security related tasks like
+  High-bandwidth Digital Content Protection (HDCP), Protected Xe Path (PXP),
+  and HuC firmware authentication.
</code_context>
<issue_to_address>
**nitpick (typo):** Hyphenate "security-related" for correct grammar.

Here it functions as a compound adjective before a noun, so it should be written as “security-related tasks.”

```suggestion
  communication with GSC controller on security-related tasks like
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +282 to +285
- Graphics Security Controller (GSCCS). A dedicated engine for internal
communication with GSC controller on security related tasks like
High-bandwidth Digital Content Protection (HDCP), Protected Xe Path (PXP),
and HuC firmware authentication.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (typo): The GSCCS expansion and the phrase "GSC controller" are potentially inconsistent/redundant.

Using "Graphics Security Controller (GSCCS)" is misleading, since GSCCS usually means "GSC Command Streamer," and "GSC controller" then expands to "Graphics Security Controller controller." Prefer something like "GSC Command Streamer (GSCCS)" here and then refer to it as "the GSC" later in the sentence.

Suggested change
- Graphics Security Controller (GSCCS). A dedicated engine for internal
communication with GSC controller on security related tasks like
High-bandwidth Digital Content Protection (HDCP), Protected Xe Path (PXP),
and HuC firmware authentication.
- GSC Command Streamer (GSCCS). A dedicated engine for internal
- communication with the GSC on security related tasks like
- High-bandwidth Digital Content Protection (HDCP), Protected Xe Path (PXP),
- and HuC firmware authentication.

- Compute Command Streamer (CCS). An engine that has access to the media and
GPGPU pipelines, but not the 3D pipeline.
- Graphics Security Controller (GSCCS). A dedicated engine for internal
communication with GSC controller on security related tasks like
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (typo): Hyphenate "security-related" for correct grammar.

Here it functions as a compound adjective before a noun, so it should be written as “security-related tasks.”

Suggested change
communication with GSC controller on security related tasks like
communication with GSC controller on security-related tasks like

@opsiff opsiff merged commit 1da53c4 into deepin-community:linux-6.6.y Apr 17, 2026
14 of 16 checks passed
@Avenger-285714
Copy link
Copy Markdown
Member

/approve

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Syncs a Deepin 6.6.y kernel tree with upstream/mainline by removing obsolete code paths and aligning comments/docs and driver wiring across several subsystems.

Changes:

  • Simplifies/cleans drivers by removing unused legacy Samsung UART pieces and adjusting OMAP VRFB driver registration to match mainline.
  • Aligns headers and internal interfaces (thermal ACPI uses public thermal header; drops unused keyring helper declarations).
  • Updates documentation/comments for correctness (seq_buf overflow semantics, mpt3sas GPIO guidance, i915 engine descriptions, UVC gadget doc link) and updates the dot2 verification tool script.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/verification/dot2/dot2k Cleans up imports in the dot2k helper script to match upstream.
security/keys/internal.h Removes unused internal keyring helper declarations.
include/linux/seq_buf.h Clarifies overflow semantics for seq_buf in comments.
drivers/video/fbdev/omap2/omapfb/vrfb.c Switches to builtin_platform_driver_probe() and drops unnecessary remove path.
drivers/tty/serial/samsung_tty.c Removes S3C24XX-only UART ops/fields and keeps supported variants wired up.
drivers/thermal/thermal_acpi.c Uses public thermal API header (<linux/thermal.h>) instead of internal core header.
drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h Updates GPIO count guidance comment to reflect correct max value.
Documentation/usb/gadget_uvc.rst Fixes/updates the referenced pixel format documentation path.
Documentation/gpu/i915.rst Updates and expands Intel GPU engine type descriptions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants