]> git.ipfire.org Git - thirdparty/kernel/linux.git/log
thirdparty/kernel/linux.git
5 weeks agof2fs: Pass a folio to WB_DATA_TYPE() and f2fs_is_cp_guaranteed()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:42 +0000 (18:03 +0100)] 
f2fs: Pass a folio to WB_DATA_TYPE() and f2fs_is_cp_guaranteed()

All callers now have a folio so pass it in.  Removes a call to
compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Use a bio in f2fs_submit_page_write()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:41 +0000 (18:03 +0100)] 
f2fs: Use a bio in f2fs_submit_page_write()

Convert bio_page to bio_folio and use it throughout.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Use a folio in f2fs_merge_page_bio()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:40 +0000 (18:03 +0100)] 
f2fs: Use a folio in f2fs_merge_page_bio()

We have two folios to deal with here; one carries the metadata and the
other points to the data.  They may be the same, but if it's compressed,
the data_folio will differ from the metadata folio.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_compress_write_end_io()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:39 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_compress_write_end_io()

The only caller has a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Convert get_page_private_data() to folio_get_f2fs_data()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:38 +0000 (18:03 +0100)] 
f2fs: Convert get_page_private_data() to folio_get_f2fs_data()

The only caller already has a folio so convert this function to be folio
based.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Convert set_page_private_data() to folio_set_f2fs_data()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:37 +0000 (18:03 +0100)] 
f2fs: Convert set_page_private_data() to folio_set_f2fs_data()

The only caller has a folio, so pass it in and operate on it.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Use a folio in f2fs_is_cp_guaranteed()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:36 +0000 (18:03 +0100)] 
f2fs: Use a folio in f2fs_is_cp_guaranteed()

Convert the passed page to a folio and use it throughout.  Removes
a use of fscrypt_is_bounce_page(), which we're trying to remove.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Add folio counterparts to page_private_flags functions
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:35 +0000 (18:03 +0100)] 
f2fs: Add folio counterparts to page_private_flags functions

Name these new functions folio_test_f2fs_*(), folio_set_f2fs_*() and
folio_clear_f2fs_*().  Convert all callers which currently have a folio
and cast back to a page.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to IS_INODE()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:34 +0000 (18:03 +0100)] 
f2fs: Pass a folio to IS_INODE()

All callers now have a folio so pass it in.  Also make it const to help
the compiler.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to ADDRS_PER_PAGE()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:33 +0000 (18:03 +0100)] 
f2fs: Pass a folio to ADDRS_PER_PAGE()

All callers now have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to get_dnode_base()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:32 +0000 (18:03 +0100)] 
f2fs: Pass a folio to get_dnode_base()

The only caller already has a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to ofs_of_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:31 +0000 (18:03 +0100)] 
f2fs: Pass a folio to ofs_of_node()

All callers now have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to IS_DNODE()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:30 +0000 (18:03 +0100)] 
f2fs: Pass a folio to IS_DNODE()

All callers now have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to is_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:29 +0000 (18:03 +0100)] 
f2fs: Pass a folio to is_node()

All three callers now have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to is_cold_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:28 +0000 (18:03 +0100)] 
f2fs: Pass a folio to is_cold_node()

All callers now have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Use folio_unlock() in f2fs_write_compressed_pages()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:27 +0000 (18:03 +0100)] 
f2fs: Use folio_unlock() in f2fs_write_compressed_pages()

Remove a call to compound_head() by replacing a call to unlock_page()
with a call to folio_unlock().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Add fio->folio
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:26 +0000 (18:03 +0100)] 
f2fs: Add fio->folio

Put fio->page insto a union with fio->folio.  This lets us remove a
lot of folio->page and page->folio conversions.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to is_dent_dnode()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:25 +0000 (18:03 +0100)] 
f2fs: Pass a folio to is_dent_dnode()

Both callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to is_fsync_dnode()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:24 +0000 (18:03 +0100)] 
f2fs: Pass a folio to is_fsync_dnode()

Both callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_recover_xattr_data()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:23 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_recover_xattr_data()

One caller passes NULL and the other caller already has a folio so
pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to cpver_of_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:22 +0000 (18:03 +0100)] 
f2fs: Pass a folio to cpver_of_node()

All callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to fill_node_footer()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:21 +0000 (18:03 +0100)] 
f2fs: Pass a folio to fill_node_footer()

All callers have a folio so pass it in.  Also mark it as const to help
the compiler.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass folios to copy_node_footer()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:20 +0000 (18:03 +0100)] 
f2fs: Pass folios to copy_node_footer()

The only caller has folios so pass them in.  Also mark them as const to help
the compiler.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to set_cold_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:19 +0000 (18:03 +0100)] 
f2fs: Pass a folio to set_cold_node()

All callers have a folio so pass it in.  Also mark it as const to help
the compiler.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to get_nid()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:18 +0000 (18:03 +0100)] 
f2fs: Pass a folio to get_nid()

All callers have a folio so pass it in.  Also mark it as const to help
the compiler.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to fill_node_footer_blkaddr()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:17 +0000 (18:03 +0100)] 
f2fs: Pass a folio to fill_node_footer_blkaddr()

The only caller has a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_inode_chksum()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:16 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_inode_chksum()

Both callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_enable_inode_chksum()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:15 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_enable_inode_chksum()

All callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_inode_chksum_set()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:14 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_inode_chksum_set()

All callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_allocate_data_block()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:13 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_allocate_data_block()

Most callers pass NULL, and the one which passes a page already has a
folio, so we can pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to set_mark()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:12 +0000 (18:03 +0100)] 
f2fs: Pass a folio to set_mark()

All callers have a folio so pass it in.  Removes a call to
compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to set_fsync_mark()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:11 +0000 (18:03 +0100)] 
f2fs: Pass a folio to set_fsync_mark()

All callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to set_dentry_mark()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:10 +0000 (18:03 +0100)] 
f2fs: Pass a folio to set_dentry_mark()

All callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to is_recoverable_dnode()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:09 +0000 (18:03 +0100)] 
f2fs: Pass a folio to is_recoverable_dnode()

All callers have a folio so pass it in.  Also make the argument const
as the function does not modify it.  Removes a call to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to nid_of_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:08 +0000 (18:03 +0100)] 
f2fs: Pass a folio to nid_of_node()

All callers have a folio so pass it in.  Also make the argument const
as the function does not modify it.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to ino_of_node()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:07 +0000 (18:03 +0100)] 
f2fs: Pass a folio to ino_of_node()

All callers have a folio so pass it in.  Also make the argument const
as the function does not modify it.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to F2FS_INODE()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:06 +0000 (18:03 +0100)] 
f2fs: Pass a folio to F2FS_INODE()

All callers now have a folio, so pass it in.  Also make it const as
F2FS_INODE() does not modify the struct folio passed in (the data it
describes is mutable, but it does not change the contents of the struct).
This may improve code generation.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to inode_has_blocks()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:05 +0000 (18:03 +0100)] 
f2fs: Pass a folio to inode_has_blocks()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_sanity_check_inline_data()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:04 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_sanity_check_inline_data()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to sanity_check_inode()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:03 +0000 (18:03 +0100)] 
f2fs: Pass a folio to sanity_check_inode()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to sanity_check_extent_cache()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:02 +0000 (18:03 +0100)] 
f2fs: Pass a folio to sanity_check_extent_cache()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to f2fs_recover_inode_page()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:01 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_recover_inode_page()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to recover_quota_data()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:00 +0000 (18:03 +0100)] 
f2fs: Pass a folio to recover_quota_data()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to recover_inode()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:02:59 +0000 (18:02 +0100)] 
f2fs: Pass a folio to recover_inode()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agof2fs: Pass a folio to recover_dentry()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:02:58 +0000 (18:02 +0100)] 
f2fs: Pass a folio to recover_dentry()

The only caller has a folio, so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
5 weeks agoMerge branch 'pm-sleep'
Rafael J. Wysocki [Tue, 22 Jul 2025 15:49:34 +0000 (17:49 +0200)] 
Merge branch 'pm-sleep'

Merge updates related to system sleep for 6.17-rc1:

 - Extend the asynchronous suspend and resume of devices to handle
   suppliers like parents and consumers like children (Rafael Wysocki)

 - Make pm_runtime_force_resume() work for drivers that set the
   DPM_FLAG_SMART_SUSPEND flag and allow PCI drivers and drivers that
   collaborate with the general ACPI PM domain to set it (Rafael
   Wysocki)

 - Add kernel parameter to disable asynchronous suspend/resume of
   devices (Tudor Ambarus)

 - Drop redundant might_sleep() calls from some functions in the device
   suspend/resume core code (Zhongqiu Han)

 - Fix the handling of monitors connected right before waking up the
   system from sleep (tuhaowen)

 - Clean up MAINTAINERS entries for suspend and hibernation (Rafael
   Wysocki)

 - Fix error code path in the KEXEC_JUMP flow and drop a redundant
   pm_restore_gfp_mask() call from it (Rafael Wysocki)

 - Rearrange suspend/resume error handling in the core device suspend
   and resume code (Rafael Wysocki)

 - Fix up white space that does not follow coding style in the
   hibernation core code (Darshan Rathod)

* pm-sleep:
  PM: hibernate: Fix up white space that does not follow coding style
  PM: sleep: Rearrange suspend/resume error handling in the core
  kexec_core: Drop redundant pm_restore_gfp_mask() call
  kexec_core: Fix error code path in the KEXEC_JUMP flow
  PM: sleep: Clean up MAINTAINERS entries for suspend and hibernation
  PM: sleep: add kernel parameter to disable asynchronous suspend/resume
  PCI/PM: Set power.strict_midlayer in pci_pm_init()
  ACPI: PM: Set/clear power.strict_midlayer in prepare/complete
  PM: sleep: Add strict_midlayer flag to struct dev_pm_info
  PM: runtime: Introduce __rpm_get_driver_callback()
  PM: Check power.needs_force_resume in pm_runtime_force_suspend()
  PM: runtime: Clear power.needs_force_resume in pm_runtime_reinit()
  PM: Make pm_runtime_force_resume() work with DPM_FLAG_SMART_SUSPEND
  PM: Move two sleep-related functions under CONFIG_PM_SLEEP
  PM: Use true/false as power.needs_force_resume values
  PM: sleep: Make async suspend handle suppliers like parents
  PM: sleep: Make async resume handle consumers like children
  PM: sleep: Drop superfluous might_sleep() calls
  PM: sleep: console: Fix the black screen issue

5 weeks agoMerge branches 'pm-cpuidle', 'pm-qos', 'pm-devfreq' and 'pm-opp'
Rafael J. Wysocki [Tue, 22 Jul 2025 15:40:32 +0000 (17:40 +0200)] 
Merge branches 'pm-cpuidle', 'pm-qos', 'pm-devfreq' and 'pm-opp'

Merge a cpuidle update, a PM QoS update, devfreq updates, and an OPP
(operating performance points) update for 6.17-rc1:

 - Fix opencoded for_each_cpu() in idle_state_valid() in the DT cpuidle
   driver (Yury Norov)

 - Remove info about non-existing QoS interfaces from the PM QoS
   documentation (Ulf Hansson)

 - Use c_* types via kernel prelude in Rust for OPP (Abhinav Ananthu)

 - Add HiSilicon uncore frequency scaling driver to devfreq (Jie Zhan)

 - Allow devfreq drivers to add custom sysfs ABIs (Jie Zhan)

 - Simplify the sun8i-a33-mbus devfreq driver by using more devm
   functions (Uwe Kleine-König)

 - Fix an index typo in trans_stat() in devfreq (Chanwoo Choi)

 - Check devfreq governor before using governor->name (Lifeng Zheng)

 - Remove a redundant devfreq_get_freq_range() call from
   devfreq_add_device() (Lifeng Zheng)

 - Limit max_freq with scaling_min_freq in devfreq (Lifeng Zheng)

 - Replace sscanf() with kstrtoul() in set_freq_store() (Lifeng Zheng)

* pm-cpuidle:
  cpuidle: dt: fix opencoded for_each_cpu() in idle_state_valid()

* pm-qos:
  Documentation: power: Remove info about non-existing QoS interfaces

* pm-devfreq:
  PM / devfreq: Add HiSilicon uncore frequency scaling driver
  PM / devfreq: Allow devfreq driver to add custom sysfs ABIs
  PM / devfreq: sun8i-a33-mbus: Simplify by using more devm functions
  PM / devfreq: Fix a index typo in trans_stat
  PM / devfreq: Check governor before using governor->name
  PM / devfreq: Remove redundant devfreq_get_freq_range() calling in devfreq_add_device()
  PM / devfreq: Limit max_freq with scaling_min_freq
  PM / devfreq: governor: Replace sscanf() with kstrtoul() in set_freq_store()

* pm-opp:
  rust: opp: use c_* types via kernel prelude

5 weeks agoarm64/entry: Mask DAIF in cpu_switch_to(), call_on_irq_stack()
Ada Couprie Diaz [Fri, 18 Jul 2025 14:28:14 +0000 (15:28 +0100)] 
arm64/entry: Mask DAIF in cpu_switch_to(), call_on_irq_stack()

`cpu_switch_to()` and `call_on_irq_stack()` manipulate SP to change
to different stacks along with the Shadow Call Stack if it is enabled.
Those two stack changes cannot be done atomically and both functions
can be interrupted by SErrors or Debug Exceptions which, though unlikely,
is very much broken : if interrupted, we can end up with mismatched stacks
and Shadow Call Stack leading to clobbered stacks.

In `cpu_switch_to()`, it can happen when SP_EL0 points to the new task,
but x18 stills points to the old task's SCS. When the interrupt handler
tries to save the task's SCS pointer, it will save the old task
SCS pointer (x18) into the new task struct (pointed to by SP_EL0),
clobbering it.

In `call_on_irq_stack()`, it can happen when switching from the task stack
to the IRQ stack and when switching back. In both cases, we can be
interrupted when the SCS pointer points to the IRQ SCS, but SP points to
the task stack. The nested interrupt handler pushes its return addresses
on the IRQ SCS. It then detects that SP points to the task stack,
calls `call_on_irq_stack()` and clobbers the task SCS pointer with
the IRQ SCS pointer, which it will also use !

This leads to tasks returning to addresses on the wrong SCS,
or even on the IRQ SCS, triggering kernel panics via CONFIG_VMAP_STACK
or FPAC if enabled.

This is possible on a default config, but unlikely.
However, when enabling CONFIG_ARM64_PSEUDO_NMI, DAIF is unmasked and
instead the GIC is responsible for filtering what interrupts the CPU
should receive based on priority.
Given the goal of emulating NMIs, pseudo-NMIs can be received by the CPU
even in `cpu_switch_to()` and `call_on_irq_stack()`, possibly *very*
frequently depending on the system configuration and workload, leading
to unpredictable kernel panics.

Completely mask DAIF in `cpu_switch_to()` and restore it when returning.
Do the same in `call_on_irq_stack()`, but restore and mask around
the branch.
Mask DAIF even if CONFIG_SHADOW_CALL_STACK is not enabled for consistency
of behaviour between all configurations.

Introduce and use an assembly macro for saving and masking DAIF,
as the existing one saves but only masks IF.

Cc: <stable@vger.kernel.org>
Signed-off-by: Ada Couprie Diaz <ada.coupriediaz@arm.com>
Reported-by: Cristian Prundeanu <cpru@amazon.com>
Fixes: 59b37fe52f49 ("arm64: Stash shadow stack pointer in the task struct on interrupt")
Tested-by: Cristian Prundeanu <cpru@amazon.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20250718142814.133329-1-ada.coupriediaz@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
5 weeks agoMerge branch 'pm-cpufreq'
Rafael J. Wysocki [Tue, 22 Jul 2025 15:24:59 +0000 (17:24 +0200)] 
Merge branch 'pm-cpufreq'

Merge cpufreq updates for 6.17-rc1:

 - Fix two initialization ordering issues in the cpufreq core and a
   governor initialization error path in it, and clean it up (Lifeng
   Zheng)

 - Add Granite Rapids support in no-HWP mode to the intel_pstate cpufreq
   driver (Li RongQing)

 - Make intel_pstate always use HWP_DESIRED_PERF in passive mode (Rafael
   Wysocki)

 - Allow building the tegra124 cpufreq driver as a module (Aaron Kling)

 - Do minor cleanups for Rust cpufreq and cpumask APIs and fix MAINTAINERS
   entry for cpu.rs (Abhinav Ananthu, Ritvik Gupta, Lukas Bulwahn)

 - Clean up assorted cpufreq drivers (Arnd Bergmann, Dan Carpenter,
   Krzysztof Kozlowski, Sven Peter, Svyatoslav Ryhel, Lifeng Zheng)

 - Add the NEED_UPDATE_LIMITS flag to the CPPC cpufreq driver (Prashant
   Malani)

 - Fix minimum performance state label error in the amd-pstate driver
   documentation (Shouye Liu)

 - Add the CPUFREQ_GOV_STRICT_TARGET flag to the userspace cpufreq
   governor and explain HW coordination influence on it in the
   documentation (Shashank Balaji)

* pm-cpufreq: (27 commits)
  cpufreq: CPPC: Mark driver with NEED_UPDATE_LIMITS flag
  Documentation: amd-pstate:fix minimum performance state label error
  drivers: cpufreq: add Tegra114 support
  rust: cpumask: Replace `MaybeUninit` and `mem::zeroed` with `Opaque` APIs
  cpufreq: Exit governor when failed to start old governor
  cpufreq: Move the check of cpufreq_driver->get into cpufreq_verify_current_freq()
  cpufreq: Init policy->rwsem before it may be possibly used
  cpufreq: Initialize cpufreq-based frequency-invariance later
  cpufreq: Remove duplicate check in __cpufreq_offline()
  cpufreq: Contain scaling_cur_freq.attr in cpufreq_attrs
  cpufreq: intel_pstate: Add Granite Rapids support in no-HWP mode
  cpufreq: intel_pstate: Always use HWP_DESIRED_PERF in passive mode
  cpufreq: tegra124: Allow building as a module
  cpufreq: dt: Add register helper
  cpufreq: Export disable_cpufreq()
  cpufreq: armada-8k: Fix off by one in armada_8k_cpufreq_free_table()
  cpufreq: armada-8k: make both cpu masks static
  rust: cpufreq: use c_ types from kernel prelude
  rust: cpufreq: Ensure C ABI compatibility in all unsafe
  cpufreq: brcmstb-avs: Fully open-code compatible for grepping
  ...

5 weeks agoremoteproc: xlnx: Fix kernel-doc warnings
Tanmay Shah [Wed, 16 Jul 2025 21:30:48 +0000 (14:30 -0700)] 
remoteproc: xlnx: Fix kernel-doc warnings

Fix kernel-doc warnings generated by following command:

`scripts/kernel-doc -Werror -Wshort-desc -Wall \
drivers/remoteproc/xlnx_r5_remoteproc.c > /dev/null`

warning: missing initial short description on line:
 * struct mbox_info

...

Total 8 warnings fixed

Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
Link: https://lore.kernel.org/r/20250716213048.2316424-3-tanmay.shah@amd.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
5 weeks agoMerge branch 'acpi-misc'
Rafael J. Wysocki [Tue, 22 Jul 2025 15:12:57 +0000 (17:12 +0200)] 
Merge branch 'acpi-misc'

Merge an update fixing typos in ACPI documentation and comments for
6.17-rc1 (Bjorn Helgaas).

* acpi-misc:
  ACPI: Fix typos

5 weeks agoum: Replace __ASSEMBLY__ with __ASSEMBLER__ in the usermode headers
Thomas Huth [Fri, 14 Mar 2025 07:10:06 +0000 (08:10 +0100)] 
um: Replace __ASSEMBLY__ with __ASSEMBLER__ in the usermode headers

While the GCC and Clang compilers already define __ASSEMBLER__
automatically when compiling assembly code, __ASSEMBLY__ is a
macro that only gets defined by the Makefiles in the kernel.
This can be very confusing when switching between userspace
and kernelspace coding, so let's standardize on the __ASSEMBLER__
macro that is provided by the compilers now.

This is a completely mechanical patch (done with a simple "sed -i"
statement).

Cc: Richard Weinberger <richard@nod.at>
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-um@lists.infradead.org
Signed-off-by: Thomas Huth <thuth@redhat.com>
Link: https://patch.msgid.link/20250314071013.1575167-36-thuth@redhat.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 weeks agoACPI: Fix typos
Bjorn Helgaas [Mon, 21 Jul 2025 21:37:14 +0000 (16:37 -0500)] 
ACPI: Fix typos

Fix typos in documentation and comments.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20250722132653.GA2781885@bhelgaas
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
5 weeks agoMerge tag 'mtk-arm32-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 22 Jul 2025 14:47:52 +0000 (16:47 +0200)] 
Merge tag 'mtk-arm32-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/arm

MediaTek mach ARM32 updates

This adds support for the MediaTek MT6572 SoC, found in various
old smartphones and tablets from various manufacturers.

In particular, this adds a board_dt_compat entry for this SoC
and its SMP bring up sequence to enable secondary cores.

* tag 'mtk-arm32-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  ARM: mediatek: add MT6572 smp bring up code
  ARM: mediatek: add board_dt_compat entry for the MT6572 SoC

Link: https://lore.kernel.org/r/20250711083656.33538-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
5 weeks agoARM: sa110/gpio: convert set_multiple() to returning an integer
Bartosz Golaszewski [Tue, 22 Jul 2025 07:15:42 +0000 (09:15 +0200)] 
ARM: sa110/gpio: convert set_multiple() to returning an integer

The conversion to using the new GPIO line setter callbacks missed the
set_multiple() in this file. Convert it to using the new callback.

Fixes: 9c3782118a57 ("ARM: sa1100/gpio: use new line value setter callbacks")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
5 weeks agodrm/bridge: ti-sn65dsi86: Remove extra semicolon in ti_sn_bridge_probe()
Douglas Anderson [Mon, 14 Jul 2025 20:06:32 +0000 (13:06 -0700)] 
drm/bridge: ti-sn65dsi86: Remove extra semicolon in ti_sn_bridge_probe()

As reported by the kernel test robot, a recent patch introduced an
unnecessary semicolon. Remove it.

Fixes: 55e8ff842051 ("drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506301704.0SBj6ply-lkp@intel.com/
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20250714130631.1.I1cfae3222e344a3b3c770d079ee6b6f7f3b5d636@changeid
5 weeks agoplatform/x86: oxpec: Add support for OneXPlayer X1 Mini Pro (Strix Point)
Antheas Kapenekakis [Fri, 18 Jul 2025 16:33:05 +0000 (18:33 +0200)] 
platform/x86: oxpec: Add support for OneXPlayer X1 Mini Pro (Strix Point)

The OneXPlayer X1 Mini Pro (which is the Strix Point variant of the Mini)
uses the same registers as the X1 Mini, so re-use the quirk.

Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Link: https://lore.kernel.org/r/20250718163305.159232-2-lkml@antheas.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86: oxpec: Fix turbo register for G1 AMD
Antheas Kapenekakis [Fri, 18 Jul 2025 16:33:04 +0000 (18:33 +0200)] 
platform/x86: oxpec: Fix turbo register for G1 AMD

Turns out that the AMD variant of the G1 uses different EC registers
than the Intel variant. Differentiate them and apply the correct ones
to the AMD variant.

Fixes: b369395c895b ("platform/x86: oxpec: Add support for the OneXPlayer G1")
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Link: https://lore.kernel.org/r/20250718163305.159232-1-lkml@antheas.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoUSB: serial: option: add Foxconn T99W709
Slark Xiao [Mon, 21 Jul 2025 11:39:19 +0000 (19:39 +0800)] 
USB: serial: option: add Foxconn T99W709

T99W709 is designed based on MTK T300(5G redcap) chip. There are
7 serial ports to be enumerated: AP_LOG, GNSS, AP_META, AT,
MD_META, NPT, DBG. RSVD(5) for ADB port.

test evidence as below:
T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0489 ProdID=e15f Rev=00.01
S:  Manufacturer=MediaTek Inc.
S:  Product=USB DATA CARD
S:  SerialNumber=355511220000399
C:  #Ifs=10 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=usbfs
I:  If#=0x6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x9 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option

Signed-off-by: Slark Xiao <slark_xiao@163.com>
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
5 weeks agoplatform/x86/intel/pmt: support BMG crashlog
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:43 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: support BMG crashlog

The Battlemage GPU has the type 1 version 2 crashlog feature.

Update the crashlog driver to support this crashlog version.

Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-14-michael.j.ruhl@intel.com
[ij: make crashlog_type1_ver2 static]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: use a version struct
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:42 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: use a version struct

In preparation for supporting multiple crashlog versions, use a struct
to keep bit offset info for the status and control bits.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-13-michael.j.ruhl@intel.com
[ij: move crashlog_type1_ver0 to its final place & add consts to crashlog_info]
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: refactor base parameter
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:41 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: refactor base parameter

To support an upcoming crashlog change, use the parent of
struct intel_pmt_entry, struct crashlog_entry, as a main parameter.

Using struct crashlog_entry will allow for a more flexible interface
to control the crashlog feature.

- Refactor to use struct crashlog_entry in place of
  struct intel_pmt_entry
- Rename variables from "entry" to "crashlog"

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-12-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: add register access helpers
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:40 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: add register access helpers

The control register is used in a read/modify/write pattern.
The status register is used in a read/check bit pattern.

Add helpers to eliminate common code.

Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-11-michael.j.ruhl@intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: decouple sysfs and namespace
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:39 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: decouple sysfs and namespace

The PMT namespace includes the crashlog sysfs attribute information.
Other crashlog version/types may need different sysfs attributes.
Coupling the attributes with the namespace blocks this usage.

Decouple sysfs attributes from the name space and add them to the
specific entry.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-10-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: correct types
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:38 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: correct types

A couple of local variables do not match the return types of some of
the functions.

Update the mismatched types to match.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-9-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: re-order trigger logic
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:37 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: re-order trigger logic

Setting the clear bit or checking the complete bit before checking to
see if crashlog is disabled seems incorrect.

Check disable before accessing any other bits.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-8-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: use guard(mutex)
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:36 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: use guard(mutex)

Update the mutex paths to use the new guard() mechanism.

With the removal of goto, do some minor cleanup of the current logic
path.

Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-7-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: mutex clean up
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:35 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: mutex clean up

The header file for mutex usage and mutex_destroy() cleanup code is
absent from the crashlog.c module.

Add the header file and mutex_destroy().

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-6-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: white space cleanup
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:34 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: white space cleanup

Noticed two white space issues; cleaned them.

Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-5-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agodrm/xe: Correct BMG VSEC header sizing
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:33 +0000 (13:29 -0400)] 
drm/xe: Correct BMG VSEC header sizing

The intel_vsec_header information for the crashlog feature is
incorrect.

Update the VSEC header with correct sizing and count.

Since the crashlog entries are "merged" (num_entries = 2), the
separate capabilities entries must be merged as well.

Fixes: 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices")
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-4-michael.j.ruhl@intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agodrm/xe: Correct the rev value for the DVSEC entries
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:32 +0000 (13:29 -0400)] 
drm/xe: Correct the rev value for the DVSEC entries

By definition, the Designated Vendor Specific Extended Capability
(DVSEC) revision should be 1.

Add the rev value to be correct.

Fixes: 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices")
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-3-michael.j.ruhl@intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86/intel/pmt: fix a crashlog NULL pointer access
Michael J. Ruhl [Sun, 13 Jul 2025 17:29:31 +0000 (13:29 -0400)] 
platform/x86/intel/pmt: fix a crashlog NULL pointer access

Usage of the intel_pmt_read() for binary sysfs, requires a pcidev. The
current use of the endpoint value is only valid for telemetry endpoint
usage.

Without the ep, the crashlog usage causes the following NULL pointer
exception:

BUG: kernel NULL pointer dereference, address: 0000000000000000
Oops: Oops: 0000 [#1] SMP NOPTI
RIP: 0010:intel_pmt_read+0x3b/0x70 [pmt_class]
Code:
Call Trace:
 <TASK>
 ? sysfs_kf_bin_read+0xc0/0xe0
 kernfs_fop_read_iter+0xac/0x1a0
 vfs_read+0x26d/0x350
 ksys_read+0x6b/0xe0
 __x64_sys_read+0x1d/0x30
 x64_sys_call+0x1bc8/0x1d70
 do_syscall_64+0x6d/0x110

Augment struct intel_pmt_entry with a pointer to the pcidev to avoid
the NULL pointer exception.

Fixes: 045a513040cc ("platform/x86/intel/pmt: Use PMT callbacks")
Cc: stable@vger.kernel.org
Reviewed-by: David E. Box <david.e.box@linux.intel.com>
Reviewed-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20250713172943.7335-2-michael.j.ruhl@intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86: samsung-laptop: Expose charge_types
Jelle van der Waa [Wed, 2 Jul 2025 18:28:43 +0000 (20:28 +0200)] 
platform/x86: samsung-laptop: Expose charge_types

Support the newly introduced charge_types sysfs attribute as a
replacement for the custom `battery_life_extender` attribute. Setting
charge_types to `Long Life` enables battery life extending mode.

This change is similar to the recent Ideapad patch adding support for
charge_types.

Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
Link: https://lore.kernel.org/r/20250702182844.107706-1-jvanderwaa@redhat.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoASoC: SDCA: Fix implicit cast from le16
Charles Keepax [Tue, 22 Jul 2025 11:47:05 +0000 (12:47 +0100)] 
ASoC: SDCA: Fix implicit cast from le16

As the HID wDescriptorLength is explicitly marked as little endian it
should be converted to host endian before being used.

Fixes: ac558015dfd8 ("ASoC: SDCA: add a HID device for HIDE entity")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202507221024.M18hWD6q-lkp@intel.com/
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20250722114705.2816910-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
5 weeks agoremoteproc: xlnx: Disable unsupported features
Tanmay Shah [Wed, 16 Jul 2025 21:30:47 +0000 (14:30 -0700)] 
remoteproc: xlnx: Disable unsupported features

AMD-Xilinx platform driver does not support iommu or recovery mechanism
yet. Disable both features in platform driver.

Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
Link: https://lore.kernel.org/r/20250716213048.2316424-2-tanmay.shah@amd.com
Fixes: 6b291e8020a8 ("drivers: remoteproc: Add Xilinx r5 remoteproc driver")
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
5 weeks agoMerge branches 'acpi-debug' and 'acpi-docs'
Rafael J. Wysocki [Tue, 22 Jul 2025 14:02:02 +0000 (16:02 +0200)] 
Merge branches 'acpi-debug' and 'acpi-docs'

Merge an update related to ACPI debugging and ACPI documentation updates
for 6.17-rc1:

 - Enable CONFIG_ACPI_DEBUG by default to make it easier to get ACPI
   debug messages from OEM platforms (Mario Limonciello)

 - Fix parent device references in ASL examples in the ACPI
   documentation and fix spelling and style in the gpio-properties
   documentation in firmware-guide (Andy Shevchenko)

* acpi-debug:
  ACPI: Enable CONFIG_ACPI_DEBUG by default

* acpi-docs:
  Documentation: ACPI: Fix parent device references
  Documentation: firmware-guide: gpio-properties: Spelling and style fixes

5 weeks agoMerge branches 'acpi-soc', 'acpi-fan', 'acpi-dptf', 'acpi-pfrut', 'acpi-prm' and...
Rafael J. Wysocki [Tue, 22 Jul 2025 13:59:47 +0000 (15:59 +0200)] 
Merge branches 'acpi-soc', 'acpi-fan', 'acpi-dptf', 'acpi-pfrut', 'acpi-prm' and 'acpi-tad'

Merge updates of assorted ACPI drivers for 6.17-rc1:

 - Remove an AudioDSP-related ID from the ACPI LPSS driver (Andy
   Shevchenko)

 - Replace sprintf()/scnprintf() with sysfs_emit() in the ACPI fan
   driver and update a debug message in fan_get_state_acpi4() (Eslam
   Khafagy, Abdelrahman Fekry, Sumeet Pawnikar)

 - Add Intel Wildcat Lake support to the ACPI DPTF driver (Srinivas
   Pandruvada)

 - Add more debug information regarding failing firmware updates to the
   ACPI pfr_update driver (Chen Yu)

 - Reduce the verbosity of the ACPI PRM (platform runtime mechanism)
   driver to avoid user confusion (Zhu Qiyu)

 - Replace sprintf() with sysfs_emit() in the ACPI TAD (time and alarm
   device) driver (Sukrut Heroorkar)

* acpi-soc:
  ACPI: LPSS: Remove AudioDSP related ID

* acpi-fan:
  ACPI: fan: Update debug message in fan_get_state_acpi4()
  ACPI: fan: Replace sprintf() with sysfs_emit()
  ACPI: fan: Replace sprintf()/scnprintf() with sysfs_emit() in show() functions

* acpi-dptf:
  ACPI: DPTF: Support for Wildcat Lake

* acpi-pfrut:
  ACPI: pfr_update: Add more debug information when firmware update failed

* acpi-prm:
  ACPI: PRM: Reduce unnecessary printing to avoid user confusion

* acpi-tad:
  ACPI: TAD: Replace sprintf() with sysfs_emit()

5 weeks agoNFS: Fix filehandle bounds checking in nfs_fh_to_dentry()
Trond Myklebust [Tue, 22 Jul 2025 13:24:58 +0000 (09:24 -0400)] 
NFS: Fix filehandle bounds checking in nfs_fh_to_dentry()

The function needs to check the minimal filehandle length before it can
access the embedded filehandle.

Reported-by: zhangjian <zhangjian496@huawei.com>
Fixes: 20fa19027286 ("nfs: add export operations")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
5 weeks agoMerge branch 'acpi-apei'
Rafael J. Wysocki [Tue, 22 Jul 2025 13:50:20 +0000 (15:50 +0200)] 
Merge branch 'acpi-apei'

Merge ACPI APEI updates for 6.17-rc1:

 - Fix iomem-related sparse warnings in the APEI EINJ driver (Zaid
   Alali, Tony Luck)

 - Add EINJv2 error injection support to the APEI EINJ driver (Zaid
   Alali)

 - Fix memory corruption in error_type_set() in the APEI EINJ driver (Dan
   Carpenter)

 - Fix less than zero comparison on a size_t variable in the APEI EINJ
   driver (Colin Ian King)

 - Fix check and iounmap of an uninitialized pointer in the APEI EINJ
   driver (Colin Ian King)

 - Add TAINT_MACHINE_CHECK to the GHES panic path in APEI to improve
   diagnostics and post-mortem analysis (Breno Leitao)

 - Update APEI reviewer records in MAINTAINERS (Rafael Wysocki)

 - Fix the handling of synchronous uncorrected memory errors in APEI
   (Shuai Xue)

* acpi-apei:
  ACPI: APEI: handle synchronous exceptions in task work
  ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered
  ACPI: APEI: MAINTAINERS: Update reviewers for APEI
  ACPI: APEI: EINJ: Fix trigger actions
  ACPI: APEI: GHES: add TAINT_MACHINE_CHECK on GHES panic path
  ACPI: APEI: EINJ: Fix check and iounmap of uninitialized pointer p
  ACPI: APEI: EINJ: Fix less than zero comparison on a size_t variable
  ACPI: APEI: EINJ: prevent memory corruption in error_type_set()
  ACPI: APEI: EINJ: Update the documentation for EINJv2 support
  ACPI: APEI: EINJ: Enable EINJv2 error injections
  ACPI: APEI: EINJ: Create debugfs files to enter device id and syndrome
  ACPI: APEI: EINJ: Discover EINJv2 parameters
  ACPI: APEI: EINJ: Add einjv2 extension struct
  ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities
  ACPI: APEI: EINJ: Fix kernel test sparse warnings

5 weeks agoMerge branches 'acpica', 'acpi-proc', 'acpi-processor' and 'acpi-pm'
Rafael J. Wysocki [Tue, 22 Jul 2025 13:48:55 +0000 (15:48 +0200)] 
Merge branches 'acpica', 'acpi-proc', 'acpi-processor' and 'acpi-pm'

Merge an ACPICA update, ACPI proc interface updates, ACPI processor
driver updates, and ACPI power management updates for 6.17-rc1:

 - Printing the address in acpi_ex_trace_point() is either incorrect
   during early kernel boot or not really useful later when pathnames
   resolve properly, so stop doing it (Mario Limonciello)

 - Address several minor issues in the legacy ACPI proc interface (Andy
   Shevchenko)

 - Fix acpi_object union initialization in the ACPI processor driver to
   avoid using memory that contains leftover data (Sebastian Ott).

 - Make the ACPI processor perflib driver take the initial _PPC limit
   into account as appropriate (Jiayi Li).

 - Fix message formatting in the ACPI processor throttling driver (Colin
   Ian King).

 - Clean up general ACPI PM domain handling (Rafael Wysocki)

* acpica:
  ACPICA: Decrease `AcpiExTracePoint` verbosity

* acpi-proc:
  ACPI: proc: Prefer to use octal permission
  ACPI: proc: Use str_enabled_disabled() helper
  ACPI: proc: Remove unused header
  ACPI: proc: Use correct format specifier and drop casting
  ACPI: wakeup: Drop unneeded casting for sleep_state

* acpi-processor:
  ACPI: processor: throttling: Remove space before newline
  ACPI: processor: perflib: Fix initial _PPC limit application
  ACPI: processor: fix acpi_object initialization

* acpi-pm:
  ACPI: PM: Set .detach in acpi_general_pm_domain definition

5 weeks agoMerge branch 'octeontx2-af-rpm-misc-feaures'
Paolo Abeni [Tue, 22 Jul 2025 13:36:40 +0000 (15:36 +0200)] 
Merge branch 'octeontx2-af-rpm-misc-feaures'

Hariprasad Kelam says:

====================
Octeontx2-af: RPM: misc feaures

This series patches adds different features like debugfs
support for shared firmware structure and DMAC filter
related enhancements.

Patch1: Saves interface MAC address configured from DMAC filters.

Patch2: Disables the stale DMAC filters in driver initialization

Patch3: Configure dma mask for CGX/RPM drivers

Patch4: Debugfs support for shared firmware data.
====================

Link: https://patch.msgid.link/20250720163638.1560323-1-hkelam@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
5 weeks agoOcteontx2-af: Debugfs support for firmware data
Hariprasad Kelam [Sun, 20 Jul 2025 16:36:38 +0000 (22:06 +0530)] 
Octeontx2-af: Debugfs support for firmware data

MAC address, Link modes (supported and advertised) and eeprom data
for the Netdev interface are read from the shared firmware data.
This patch adds debugfs support for the same.

Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Link: https://patch.msgid.link/20250720163638.1560323-5-hkelam@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
5 weeks agoOcteontx2-af: RPM: Update DMA mask
Hariprasad Kelam [Sun, 20 Jul 2025 16:36:37 +0000 (22:06 +0530)] 
Octeontx2-af: RPM: Update DMA mask

CGX/RPM driver supports 48 bits of DMA addressing. Update
the DMA mask accordingly.

Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250720163638.1560323-4-hkelam@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
5 weeks agoOcteontx2-af: Disable stale DMAC filters
Subbaraya Sundeep [Sun, 20 Jul 2025 16:36:36 +0000 (22:06 +0530)] 
Octeontx2-af: Disable stale DMAC filters

During driver initialization disable stale DMAC filters
in CGX/RPM set by firmware.

Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250720163638.1560323-3-hkelam@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
5 weeks agoOcteontx2-af: Add programmed macaddr to RVU pfvf
Hariprasad Kelam [Sun, 20 Jul 2025 16:36:35 +0000 (22:06 +0530)] 
Octeontx2-af: Add programmed macaddr to RVU pfvf

Octeontx2/CN10k MAC block supports DMAC filters. DMAC filters
can be installed on the interface through ethtool.

When a user installs a DMAC filter, the interface's MAC address
is implicitly added to the filter list. To ensure consistency,
this MAC address must be kept in sync with the pfvf->mac_addr field,
which is used to install MAC-based NPC rules.

This patch updates the pfvf->mac_addr field with the programmed MAC
address and also enables VF interfaces to install DMAC filters.

Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250720163638.1560323-2-hkelam@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
5 weeks agophy: qcom: phy-qcom-m31: Update IPQ5332 M31 USB phy initialization sequence
Kathiravan Thirumoorthy [Mon, 30 Jun 2025 08:18:13 +0000 (13:48 +0530)] 
phy: qcom: phy-qcom-m31: Update IPQ5332 M31 USB phy initialization sequence

The current configuration used for the IPQ5332 M31 USB PHY fails the
Near End High Speed Signal Quality compliance test. To resolve this,
update the initialization sequence as specified in the Hardware Design
Document.

Fixes: 08e49af50701 ("phy: qcom: Introduce M31 USB PHY driver")
Cc: stable@kernel.org
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250630-ipq5332_hsphy_complaince-v2-1-63621439ebdb@oss.qualcomm.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agodt-bindings: phy: Convert brcm,sr-usb-combo-phy to DT schema
Rob Herring (Arm) [Fri, 27 Jun 2025 22:01:25 +0000 (17:01 -0500)] 
dt-bindings: phy: Convert brcm,sr-usb-combo-phy to DT schema

Convert the Broadcom Stingray USB PHY binding to DT schema format. It's
a straight forward conversion.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20250627220126.214577-1-robh@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agodt-bindings: phy: Convert ti,da830-usb-phy to DT schema
Rob Herring (Arm) [Fri, 27 Jun 2025 22:01:06 +0000 (17:01 -0500)] 
dt-bindings: phy: Convert ti,da830-usb-phy to DT schema

Convert the TI DA830 USB PHY binding to DT schema format. Add "clocks"
and "clock-names" which are already in use. As they are always present,
make them required as well.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: David Lechner <david@lechnology.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250627220107.214162-1-robh@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agodt-bindings: phy: marvell,mmp2-usb-phy: Drop status from the example
Krzysztof Kozlowski [Tue, 1 Jul 2025 06:36:37 +0000 (08:36 +0200)] 
dt-bindings: phy: marvell,mmp2-usb-phy: Drop status from the example

Examples should not have the 'status' property and 'okay' is anyway by
default.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250701063636.23872-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agodt-bindings: phy: mixel, mipi-dsi-phy: Allow assigned-clock* properties
Liu Ying [Mon, 7 Jul 2025 02:47:00 +0000 (10:47 +0800)] 
dt-bindings: phy: mixel, mipi-dsi-phy: Allow assigned-clock* properties

assigned-clock* properties can be used by default now, so allow them.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250707-dt-bindings-phy-mixel-mipi-dsi-phy-allow-assign-clock-properties-v1-1-5e34b257e1ef@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agophy: exynos-mipi-video: correct cam0 sysreg property name for exynos7870
Kaustabh Chakraborty [Thu, 10 Jul 2025 11:12:48 +0000 (16:42 +0530)] 
phy: exynos-mipi-video: correct cam0 sysreg property name for exynos7870

Fix the cam0 sysreg property name (samsung,cam0-sysreg), which has been
erroneously declared as samsung,cam-sysreg. This follows the same name
used in Exynos5433 PHY.

Fixes: 543f5e314282 ("phy: exynos-mipi-video: introduce support for exynos7870")
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Link: https://lore.kernel.org/r/20250710-exynos7870-mipi-phy-fix-v2-1-5cf50d69c9d7@disroot.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agoibmveth: Add multi buffers rx replenishment hcall support
Mingming Cao [Sat, 19 Jul 2025 09:13:56 +0000 (05:13 -0400)] 
ibmveth: Add multi buffers rx replenishment hcall support

This patch enables batched RX buffer replenishment in ibmveth by
using the new firmware-supported h_add_logical_lan_buffers() hcall
 to submit up to 8 RX buffers in a single call, instead of repeatedly
calling the single-buffer h_add_logical_lan_buffer() hcall.

During the probe, with the patch, the driver queries ILLAN attributes
to detect IBMVETH_ILLAN_RX_MULTI_BUFF_SUPPORT bit. If the attribute is
present, rx_buffers_per_hcall is set to 8, enabling batched replenishment.
Otherwise, it defaults to 1, preserving the original upstream behavior
 with no change in code flow for unsupported systems.

The core rx replenish logic remains the same. But when batching
is enabled, the driver aggregates up to 8 fully prepared descriptors
into a single h_add_logical_lan_buffers() hypercall. If any allocation
or DMA mapping fails while preparing a batch, only the successfully
prepared buffers are submitted, and the remaining are deferred for
the next replenish cycle.

If at runtime the firmware stops accepting the batched hcall—e,g,
after a Live Partition Migration (LPM) to a host that does not
support h_add_logical_lan_buffers(), the hypercall returns H_FUNCTION.
In that case, the driver transparently disables batching, resets
rx_buffers_per_hcall to 1, and falls back to the single-buffer hcall
in next future replenishments to take care of these and future buffers.

Test were done on systems with firmware that both supports and
does not support the new h_add_logical_lan_buffers hcall.

On supported firmware, this reduces hypercall overhead significantly
over multiple buffers. SAR measurements showed about a 15% improvement
in packet processing rate under moderate RX load, with heavier traffic
seeing gains more than 30%

Signed-off-by: Mingming Cao <mmc@linux.ibm.com>
Reviewed-by: Brian King <bjking1@linux.ibm.com>
Reviewed-by: Haren Myneni <haren@linux.ibm.com>
Reviewed-by: Dave Marquardt <davemarq@linux.ibm.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250719091356.57252-1-mmc@linux.ibm.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
5 weeks agoplatform/x86/amd: pmc: Add Lenovo Yoga 6 13ALC6 to pmc quirk list
Mario Limonciello [Fri, 18 Jul 2025 17:23:05 +0000 (12:23 -0500)] 
platform/x86/amd: pmc: Add Lenovo Yoga 6 13ALC6 to pmc quirk list

The Lenovo Yoga 6 13ACL6 82ND has a similar BIOS problem as other Lenovo
laptops from that vintage that causes a rather long resume from suspend.

Add it to the quirk list that manipulates the scratch register to avoid
the issue.

Reported-by: Adam Berglund <adam.f.berglund@hotmail.com>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4434
Tested-by: Adam Berglund <adam.f.berglund@hotmail.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Link: https://lore.kernel.org/r/20250718172307.1928744-1-superm1@kernel.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoplatform/x86: dell-uart-backlight: Use blacklight power constant
Thomas Zimmermann [Tue, 15 Jul 2025 12:24:38 +0000 (14:24 +0200)] 
platform/x86: dell-uart-backlight: Use blacklight power constant

The backlight subsystem has gotten its own power constants. Replace
FB_BLANK_UNBLANK with BACKLIGHT_POWER_ON.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Link: https://lore.kernel.org/r/20250715122643.137027-2-tzimmermann@suse.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
5 weeks agoMerge back earlier thermal control updates for 6.17
Rafael J. Wysocki [Tue, 22 Jul 2025 12:47:07 +0000 (14:47 +0200)] 
Merge back earlier thermal control updates for 6.17

5 weeks agoMerge tag 'thermal-v6.17-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git...
Rafael J. Wysocki [Tue, 22 Jul 2025 12:45:51 +0000 (14:45 +0200)] 
Merge tag 'thermal-v6.17-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux

Merge thermal driver updates for 6.17-rc1 from Daniel Lezcano:

"- Enable the stage 2 shutdown and support to more SPMI variants
   (Anjelique Melendez)

 - Constify thermal_zone_device_ops structure when possible in the
   different thermal drivers (Christophe Jaillet)

 - Use the dev_fwnode() helper instead of of_fwnode_handle() which is
   more adequate wherever is possible in the thermal drivers (Jiri
   Slaby)

 - Implement and document One-Time Programmable fuse support for the
   Rockchip driver in order to increase the precision of the
   measurements (Nicolas Frattaroli)

 - Change the way the Mediatek LTVS driver stores the initialization
   data sequence to support different sequences regarding the current
   platform. Introduce the mt7988 support with a new initialization
   sequence (Mason Chang)

 - Document the QCom TSens Milos Temperature Sensor DT bindings (Luca
   Weiss)

 - Add the fallback compatible string for MT7981 and MT8516 DT bindings
   (Aleksander Jan Bajkowski)

 - Add the compatible string for Tegra210B01 SOC_THERM driver (Aaron Kling)"

* tag 'thermal-v6.17-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
  dt-bindings: thermal: tegra: Document Tegra210B01
  dt-bindings: thermal: mediatek: Add fallback compatible string for MT7981 and MT8516
  dt-bindings: thermal: qcom-tsens: document the Milos Temperature Sensor
  thermal/drivers/mediatek/lvts_thermal: Add mt7988 lvts commands
  thermal/drivers/mediatek/lvts_thermal: Add lvts commands and their sizes to driver data
  thermal/drivers/mediatek/lvts_thermal: Change lvts commands array to static const
  thermal/drivers/rockchip: Support reading trim values from OTP
  dt-bindings: thermal: rockchip: document otp thermal trim
  thermal/drivers/rockchip: Support RK3576 SoC in the thermal driver
  dt-bindings: rockchip-thermal: Add RK3576 compatible
  thermal/drivers/rockchip: Rename rk_tsadcv3_tshut_mode
  thermal: Use dev_fwnode()
  thermal: Constify struct thermal_zone_device_ops
  thermal/drivers/loongson2: Constify struct thermal_zone_device_ops
  thermal/drivers/qcom-spmi-temp-alarm: Add support for LITE PMIC peripherals
  thermal/drivers/qcom-spmi-temp-alarm: Add support for GEN2 rev 2 PMIC peripherals
  thermal/drivers/qcom-spmi-temp-alarm: Prepare to support additional Temp Alarm subtypes
  thermal/drivers/qcom-spmi-temp-alarm: Add temp alarm data struct based on HW subtype
  thermal/drivers/qcom-spmi-temp-alarm: Enable stage 2 shutdown when required

5 weeks agophy: qcom: phy-qcom-snps-eusb2: Update init sequence per HPG 1.0.2
Luca Weiss [Tue, 15 Jul 2025 07:29:37 +0000 (09:29 +0200)] 
phy: qcom: phy-qcom-snps-eusb2: Update init sequence per HPG 1.0.2

The eUSB2 HPG version 1.0.2 asks to clear bits [7:1] on all targets.
Implement that change in the driver to follow.

See also https://lore.kernel.org/linux-arm-msm/7d073433-f254-4d75-a68b-d184f900294a@oss.qualcomm.com/

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250715-sm7635-eusb-phy-v3-4-6c3224085eb6@fairphone.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agophy: qcom: phy-qcom-snps-eusb2: Add missing write from init sequence
Luca Weiss [Tue, 15 Jul 2025 07:29:36 +0000 (09:29 +0200)] 
phy: qcom: phy-qcom-snps-eusb2: Add missing write from init sequence

As per a commit from Qualcomm's downstream 6.1 kernel[0], the init
sequence is missing setting the CMN_CTRL_OVERRIDE_EN bit back to 0 at
the end, as per the 'latest' HPG revision (as of November 2023).

[0] https://git.codelinaro.org/clo/la/kernel/qcom/-/commit/b77774a89e3fda3246e09dd39e16e2ab43cd1329

Fixes: 80090810f5d3 ("phy: qcom: Add QCOM SNPS eUSB2 driver")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20250715-sm7635-eusb-phy-v3-3-6c3224085eb6@fairphone.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agodt-bindings: phy: qcom,snps-eusb2: document the Milos Synopsys eUSB2 PHY
Luca Weiss [Tue, 15 Jul 2025 07:29:35 +0000 (09:29 +0200)] 
dt-bindings: phy: qcom,snps-eusb2: document the Milos Synopsys eUSB2 PHY

Document the Synopsys eUSB2 PHY on the Milos SoC by using the SM8550 as
fallback.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20250715-sm7635-eusb-phy-v3-2-6c3224085eb6@fairphone.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
5 weeks agodt-bindings: usb: qcom,snps-dwc3: Add Milos compatible
Luca Weiss [Tue, 15 Jul 2025 07:29:34 +0000 (09:29 +0200)] 
dt-bindings: usb: qcom,snps-dwc3: Add Milos compatible

Document the Milos dwc3 compatible.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20250715-sm7635-eusb-phy-v3-1-6c3224085eb6@fairphone.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>