]> git.ipfire.org Git - thirdparty/linux.git/log
thirdparty/linux.git
7 weeks agof2fs: Use F2FS_F_SB() in f2fs_read_end_io()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:52 +0000 (18:03 +0100)] 
f2fs: Use F2FS_F_SB() in f2fs_read_end_io()

Get the folio from the bio instead of the 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>
7 weeks agof2fs: Use a folio in f2fs_encrypted_get_link()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:51 +0000 (18:03 +0100)] 
f2fs: Use a folio in f2fs_encrypted_get_link()

Use a folio instead of a page when dealing with the page cache.  Removes
a hidden 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>
7 weeks agof2fs: Pass a folio to f2fs_cache_compressed_page()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:50 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_cache_compressed_page()

The only caller already has a folio so pass it in.
f2fs_cache_compressed_page() is not used outside compress.c so
make it static.  This requires a forward declaration (or would require
rearranging this file, but I've chosen not to do that for readability of
the diff).

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
7 weeks agof2fs: Pass a folio to F2FS_NODE()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:49 +0000 (18:03 +0100)] 
f2fs: Pass a folio to F2FS_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>
7 weeks agof2fs: Pass the nat_blk to __update_nat_bits()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:48 +0000 (18:03 +0100)] 
f2fs: Pass the nat_blk to __update_nat_bits()

The page argument is only used to look up the address of the nat_blk.
Since the caller already has it, pass it in instead.  Also mark it const
as the nat_blk isn't modified by this function.

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

Return a folio from this function and convert its one caller.
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>
7 weeks agof2fs: Pass a folio to f2fs_is_compressed_page()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:46 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_is_compressed_page()

All callers now have a folio so pass it in.  Also remove the test for
the private flag; it is redundant with checking folio->private for being
NULL.

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

Change from bio_for_each_segment_all() to bio_for_each_folio_all()
to iterate over each folio instead of each 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>
7 weeks agof2fs: Pass a folio to f2fs_end_read_compressed_page()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:44 +0000 (18:03 +0100)] 
f2fs: Pass a folio to f2fs_end_read_compressed_page()

Both 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>
7 weeks agof2fs: Use a folio iterator in f2fs_handle_step_decompress()
Matthew Wilcox (Oracle) [Tue, 8 Jul 2025 17:03:43 +0000 (18:03 +0100)] 
f2fs: Use a folio iterator in f2fs_handle_step_decompress()

Change from bio_for_each_segment_all() to bio_for_each_folio_all()
to iterate over each folio instead of each 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

7 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

7 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>
7 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
  ...

7 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>
7 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

7 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>
7 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>
7 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>
7 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>
7 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
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

7 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()

7 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>
7 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

7 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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>