Commit graph

1,216,791 commits

Author SHA1 Message Date
Wentong Wu
78876f71b3 media: pci: intel: ivsc: Add ACE submodule
ACE is a submodule of IVSC which controls camera sensor's
ownership, belonging to host or IVSC. When IVSC owns camera
sensor, it is for algorithm computing. When host wants to
control camera sensor, ACE module needs to be informed of
ownership with defined interface.

The interface is via MEI. There is a separate MEI UUID, which
this driver uses to enumerate.

To switch ownership of camera sensor between IVSC and host,
the caller specifies the defined ownership information which
will be sent to firmware by sending MEI command.

Device link(device_link_add) is used to set the right camera
sensor ownership before accessing the sensor via I2C. With
DL_FLAG_PM_RUNTIME and DL_FLAG_RPM_ACTIVE, the supplier device
will be PM runtime resumed before the consumer(camera sensor).
So use runtime PM callbacks to transfer the ownership between
host and IVSC.

Signed-off-by: Wentong Wu <wentong.wu@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-08-14 20:27:55 +02:00
Wentong Wu
29006e196a media: pci: intel: ivsc: Add CSI submodule
CSI is a submodule of IVSC which can route camera sensor data
to the outbound MIPI CSI-2 interface.

The interface communicating with firmware is via MEI. There is
a separate MEI UUID, which this driver uses to enumerate.

To route camera sensor data to host, the information of link
frequency and number of data lanes is sent to firmware by
sending MEI command when starting stream.

CSI also provides a privacy mode. When privacy mode is turned
on, camera sensor can't be used. This means that both IVSC and
host Image Processing Unit(IPU) can't get image data. And when
this mode is turned on, user is notified via v4l2 control
callback.

Link: https://lore.kernel.org/linux-media/20230803115550.1601965-2-sakari.ailus@linux.intel.com
Signed-off-by: Wentong Wu <wentong.wu@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-08-14 20:26:06 +02:00
Arnd Bergmann
eeb751c410 mvebu dt for 6.6 (part 1)
Fix style issue and incorrect syntax
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZNek6gAKCRALBhiOFHI7
 1UqnAKCQifHuE4qcgZPXvjLL+Y+skZ5ROwCcCYPui+H/sjdA10J7+lSNTPIn5JM=
 =eHV2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaX3UACgkQYKtH/8kJ
 Uicc2BAAlV3f/rJR4ozyvpB7JJZpsVde6i6fQA3sq/WJDuOZlahD9aEWdgPNLSvm
 KfJzKGk0AMVoW+hWiz8srw9BFvrYD5sZznS1OwigrYkh6m8g9eD4FmVMiB8/Xydg
 jMm5X667wYoDKdbEW9WfkXZAz1y8A+IzptgTv3hjUUI0wy2V+N9gJzc7dDZg0bwd
 PFKKC7OxmxFlFHMjNpjsJU2STYfgYdGFIkKzOi9VUDyn/rRW+lrlyWPRKXwXAZcL
 edGuE+cLr/tm7QUQuUeqpAPz0I2BAl8dr1T+vhSvNkhwgBV4m4IWD/Jm0wulurlH
 aNXF1NznQwMOO+Dxq4XBYNU/RpZD9GlU3SKmsApTVCjuJy8GpzfYgBGA68UtybcZ
 1zXFseF2xk8rhORldWCYQfjUJ6saKr9U0NxW++UekOPzy08v6Q0FORtJtNnnSoGq
 knFT7+QutjtUw48OVnhm4nQ7wjVt0253Rym+70yAo4gnCMuaIxPF78xkZcejrVf6
 +MfDzwgOeRYp00SK4w0a9LKKJfHevWwGSarHSYIWyOp91ifkVWj9EacdRgCZL2b8
 e/sF5K8ffPcbOBT9/akD3E/qPsvdwG+YOeUaI8zZ91fXd9BVT1mJIgRwFJh5VOsA
 x1pfq+pQFK5bmRWxjkty1Wc4A+bSWH+Ws7fpDi8xKQjeikewuyY=
 =jAQC
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt for 6.6 (part 1)

Fix style issue and incorrect syntax

* tag 'mvebu-dt-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dts: marvell: dove: drop incorrect reg in fixed regulators
  ARM: dts: marvell: armada: drop incorrect reg in fixed regulators
  ARM: dts: marvell: add missing space before {

Link: https://lore.kernel.org/r/87h6p4t0lv.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 19:08:05 +02:00
Arnd Bergmann
7cb74e0c66 mvebu dt64 for 6.6 (part 1)
Add the NAND Flash Controller on the AC5/AC5X SOC device tree
 Fix style issue
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZNekOAAKCRALBhiOFHI7
 1R8/AKCD9XFuQvGMfQwOXwXZPid3XfTQdgCgpN4VE28m8CJLuqww7rjdM1xZaRI=
 =cCrk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaX2EACgkQYKtH/8kJ
 UieETBAAqkZ6cuolx4vFbmHaejPJ9cKwg51Lk2AOqiuxvJTjf8oRhOdnaDCFNL0B
 KncUoimtJYXMhoq+lUZeHdNntTmPzaz6OJg/3Q0P4tm/+8VzLjFwdF54n+E7U/YU
 tXIbKLNavfeSbq8R4vvIl4rWbLDCZ1+NZ3sVT2gf6EYZxpA1MFlJ8gKgCXVgAjTk
 8uRGRr6zr8DW+1HC3tpePZXZ8qXedMDQb5JlBMzArQkhDsbgPWjMWSoNcBCXOIn6
 nm3KOD9W/HtluZWxC7zgqN1X0B1rTbtgSiSL1+6+KAq5j1qpgDdyfdrnNsdPMt5o
 d15u78RN9JZmWHnDGfX1ZD9JOtgASIfgWYIJSFMq1AP54HL2fSD5PSOcY6+0xa75
 F+g28rVprCi6HuqJ1WHl2qmB2CVKlE56glVvW/K4/fXyfwyTJJmtB6bow3vN7pZ9
 pW54xBsReiNeDHnBnRBT57ygtyekD35SJszocbz73Z441CMwRbLKY+OYWFWr9+Wr
 532MODDC5IxirZl/VCO62pg5Aso87eWIdnZ+p1hIds5fcnbTXKbsYt5R0GqJ+dMT
 5EfsVfi60swmb30ub/5Vyi8+40IRtHaXIGsCOm+nqnbZwsxMtcPXgJ9kA3o8Cmb5
 gdhHvyzbBpZ1oM6MF8CIlYsWDfpJkv+I+6NLefFoizWyBrOhxlM=
 =h8gM
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.6 (part 1)

Add the NAND Flash Controller on the AC5/AC5X SOC device tree
Fix style issue

* tag 'mvebu-dt64-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: Add NAND flash controller to AC5
  arm64: dts: marvell: add missing space before {

Link: https://lore.kernel.org/r/87edk8t0kl.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 19:07:45 +02:00
Arnd Bergmann
87382eadde PCI/sysfs: Move declarations to linux/pci.h
A couple of architectures build the __weak versions of
pci_create_resource_files() and pci_remove_resource_files() but don't
have prototypes for these, which causes warnings:

  drivers/pci/pci-sysfs.c:1253:12: error: no previous prototype for 'pci_create_resource_files' [-Werror=missing-prototypes]
   1253 | int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
  drivers/pci/pci-sysfs.c:1254:13: error: no previous prototype for 'pci_remove_resource_files' [-Werror=missing-prototypes]
   1254 | void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }

Move the prototypes from alpha architecture into the global header to avoid
these warnings for all of them.

Link: https://lore.kernel.org/r/20230810141947.1236730-5-arnd@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2023-08-14 12:05:18 -05:00
Zheng Zengkai
0e8207f54c PCI/P2PDMA: Use pci_dev_id() to simplify the code
When we have a struct pci_dev *, use pci_dev_id() instead of manually
composing the ID from dev->bus->number and dev->devfn.

[bhelgaas: commit log]
Link: https://lore.kernel.org/r/20230811111057.31900-1-zhengzengkai@huawei.com
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
2023-08-14 12:05:05 -05:00
Christian Brauner
22ed7ecdae
fs: add FSCONFIG_CMD_CREATE_EXCL
Summary
=======

This introduces FSCONFIG_CMD_CREATE_EXCL which will allows userspace to
implement something like mount -t ext4 --exclusive /dev/sda /B which
fails if a superblock for the requested filesystem does already exist:

Before this patch
-----------------

$ sudo ./move-mount -f xfs -o source=/dev/sda4 /A
Requesting filesystem type xfs
Mount options requested: source=/dev/sda4
Attaching mount at /A
Moving single attached mount
Setting key(source) with val(/dev/sda4)

$ sudo ./move-mount -f xfs -o source=/dev/sda4 /B
Requesting filesystem type xfs
Mount options requested: source=/dev/sda4
Attaching mount at /B
Moving single attached mount
Setting key(source) with val(/dev/sda4)

After this patch with --exclusive as a switch for FSCONFIG_CMD_CREATE_EXCL
--------------------------------------------------------------------------

$ sudo ./move-mount -f xfs --exclusive -o source=/dev/sda4 /A
Requesting filesystem type xfs
Request exclusive superblock creation
Mount options requested: source=/dev/sda4
Attaching mount at /A
Moving single attached mount
Setting key(source) with val(/dev/sda4)

$ sudo ./move-mount -f xfs --exclusive -o source=/dev/sda4 /B
Requesting filesystem type xfs
Request exclusive superblock creation
Mount options requested: source=/dev/sda4
Attaching mount at /B
Moving single attached mount
Setting key(source) with val(/dev/sda4)
Device or resource busy | move-mount.c: 300: do_fsconfig: i xfs: reusing existing filesystem not allowed

Details
=======

As mentioned on the list (cf. [1]-[3]) mount requests like
mount -t ext4 /dev/sda /A are ambigous for userspace. Either a new
superblock has been created and mounted or an existing superblock has
been reused and a bind-mount has been created.

This becomes clear in the following example where two processes create
the same mount for the same block device:

P1                                                              P2
fd_fs = fsopen("ext4");                                         fd_fs = fsopen("ext4");
fsconfig(fd_fs, FSCONFIG_SET_STRING, "source", "/dev/sda");     fsconfig(fd_fs, FSCONFIG_SET_STRING, "source", "/dev/sda");
fsconfig(fd_fs, FSCONFIG_SET_STRING, "dax", "always");          fsconfig(fd_fs, FSCONFIG_SET_STRING, "resuid", "1000");

// wins and creates superblock
fsconfig(fd_fs, FSCONFIG_CMD_CREATE, ...)
                                                                // finds compatible superblock of P1
                                                                // spins until P1 sets SB_BORN and grabs a reference
                                                                fsconfig(fd_fs, FSCONFIG_CMD_CREATE, ...)

fd_mnt1 = fsmount(fd_fs);                                       fd_mnt2 = fsmount(fd_fs);
move_mount(fd_mnt1, "/A")                                       move_mount(fd_mnt2, "/B")

Not just does P2 get a bind-mount but the mount options that P2
requestes are silently ignored. The VFS itself doesn't, can't and
shouldn't enforce filesystem specific mount option compatibility. It
only enforces incompatibility for read-only <-> read-write transitions:

mount -t ext4       /dev/sda /A
mount -t ext4 -o ro /dev/sda /B

The read-only request will fail with EBUSY as the VFS can't just
silently transition a superblock from read-write to read-only or vica
versa without risking security issues.

To userspace this silent superblock reuse can become a security issue in
because there is currently no straightforward way for userspace to know
that they did indeed manage to create a new superblock and didn't just
reuse an existing one.

This adds a new FSCONFIG_CMD_CREATE_EXCL command to fsconfig() that
returns EBUSY if an existing superblock would be reused. Userspace that
needs to be sure that it did create a new superblock with the requested
mount options can request superblock creation using this command. If the
command succeeds they can be sure that they did create a new superblock
with the requested mount options.

This requires the new mount api. With the old mount api it would be
necessary to plumb this through every legacy filesystem's
file_system_type->mount() method. If they want this feature they are
most welcome to switch to the new mount api.

Following is an analysis of the effect of FSCONFIG_CMD_CREATE_EXCL on
each high-level superblock creation helper:

(1) get_tree_nodev()

    Always allocate new superblock. Hence, FSCONFIG_CMD_CREATE and
    FSCONFIG_CMD_CREATE_EXCL are equivalent.

    The binderfs or overlayfs filesystems are examples.

(4) get_tree_keyed()

    Finds an existing superblock based on sb->s_fs_info. Hence,
    FSCONFIG_CMD_CREATE would reuse an existing superblock whereas
    FSCONFIG_CMD_CREATE_EXCL would reject it with EBUSY.

    The mqueue or nfsd filesystems are examples.

(2) get_tree_bdev()

    This effectively works like get_tree_keyed().

    The ext4 or xfs filesystems are examples.

(3) get_tree_single()

    Only one superblock of this filesystem type can ever exist.
    Hence, FSCONFIG_CMD_CREATE would reuse an existing superblock
    whereas FSCONFIG_CMD_CREATE_EXCL would reject it with EBUSY.

    The securityfs or configfs filesystems are examples.

    Note that some single-instance filesystems never destroy the
    superblock once it has been created during the first mount. For
    example, if securityfs has been mounted at least onces then the
    created superblock will never be destroyed again as long as there is
    still an LSM making use it. Consequently, even if securityfs is
    unmounted and the superblock seemingly destroyed it really isn't
    which means that FSCONFIG_CMD_CREATE_EXCL will continue rejecting
    reusing an existing superblock.

    This is acceptable thugh since special purpose filesystems such as
    this shouldn't have a need to use FSCONFIG_CMD_CREATE_EXCL anyway
    and if they do it's probably to make sure that mount options aren't
    ignored.

Following is an analysis of the effect of FSCONFIG_CMD_CREATE_EXCL on
filesystems that make use of the low-level sget_fc() helper directly.
They're all effectively variants on get_tree_keyed(), get_tree_bdev(),
or get_tree_nodev():

(5) mtd_get_sb()

    Similar logic to get_tree_keyed().

(6) afs_get_tree()

    Similar logic to get_tree_keyed().

(7) ceph_get_tree()

    Similar logic to get_tree_keyed().

    Already explicitly allows forcing the allocation of a new superblock
    via CEPH_OPT_NOSHARE. This turns it into get_tree_nodev().

(8) fuse_get_tree_submount()

    Similar logic to get_tree_nodev().

(9) fuse_get_tree()

    Forces reuse of existing FUSE superblock.

    Forces reuse of existing superblock if passed in file refers to an
    existing FUSE connection.
    If FSCONFIG_CMD_CREATE_EXCL is specified together with an fd
    referring to an existing FUSE connections this would cause the
    superblock reusal to fail. If reusing is the intent then
    FSCONFIG_CMD_CREATE_EXCL shouldn't be specified.

(10) fuse_get_tree()
     -> get_tree_nodev()

    Same logic as in get_tree_nodev().

(11) fuse_get_tree()
     -> get_tree_bdev()

    Same logic as in get_tree_bdev().

(12) virtio_fs_get_tree()

     Same logic as get_tree_keyed().

(13) gfs2_meta_get_tree()

     Forces reuse of existing gfs2 superblock.

     Mounting gfs2meta enforces that a gf2s superblock must already
     exist. If not, it will error out. Consequently, mounting gfs2meta
     with FSCONFIG_CMD_CREATE_EXCL would always fail. If reusing is the
     intent then FSCONFIG_CMD_CREATE_EXCL shouldn't be specified.

(14) kernfs_get_tree()

     Similar logic to get_tree_keyed().

(15) nfs_get_tree_common()

    Similar logic to get_tree_keyed().

    Already explicitly allows forcing the allocation of a new superblock
    via NFS_MOUNT_UNSHARED. This effectively turns it into
    get_tree_nodev().

Link: [1] https://lore.kernel.org/linux-block/20230704-fasching-wertarbeit-7c6ffb01c83d@brauner
Link: [2] https://lore.kernel.org/linux-block/20230705-pumpwerk-vielversprechend-a4b1fd947b65@brauner
Link: [3] https://lore.kernel.org/linux-fsdevel/20230725-einnahmen-warnschilder-17779aec0a97@brauner
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Aleksa Sarai <cyphar@cyphar.com>
Message-Id: <20230802-vfs-super-exclusive-v2-4-95dc4e41b870@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2023-08-14 18:48:02 +02:00
Christian Brauner
11a51d8c13
fs: add vfs_cmd_reconfigure()
Split the steps to reconfigure a superblock into a tiny helper instead
of open-coding it in the switch.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Aleksa Sarai <cyphar@cyphar.com>
Message-Id: <20230802-vfs-super-exclusive-v2-3-95dc4e41b870@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2023-08-14 18:48:02 +02:00
Christian Brauner
dae8b08d5d
fs: add vfs_cmd_create()
Split the steps to create a superblock into a tiny helper. This will
make the next patch easier to follow.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Aleksa Sarai <cyphar@cyphar.com>
Message-Id: <20230802-vfs-super-exclusive-v2-2-95dc4e41b870@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2023-08-14 18:48:02 +02:00
Christian Brauner
e062abaec6
super: remove get_tree_single_reconf()
The get_tree_single_reconf() helper isn't used anywhere. Remove it.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Aleksa Sarai <cyphar@cyphar.com>
Message-Id: <20230802-vfs-super-exclusive-v2-1-95dc4e41b870@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2023-08-14 18:48:02 +02:00
Arnd Bergmann
0aea47fa0e TI K3 defconfig updates for v6.6
- Various configs for K3 boards including ECAP, Thermal,
   RTI watchdog, mailbox, sound, MCAN, UFS.
 - Enable PRUSS for am64/am65x boards such as IOT2050.
 - Enable IT66121 for BeaglePlay HDMI.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmTaSFkACgkQ3bWEnRc2
 JJ16EA/8DYLPqbYVvsr4U1S4cGqQHc4fZf5J41kKIshGIi+mmjFv+yQQzIToVP6w
 ttEOitSXay86CNI/SHAHPghXxJ66BvlAD0/1WDBYg9mTfHyVfsss97KqTivuAq3L
 1RNOGedXjbyJK2+/1VwutdfiTF2Eyogc0L2ODofLBoKHIXrAvU3tq6hCaWmGgNrr
 FkH98j+FDvGsBX1g+cVuwmJmUg5+B0nhJT5u3tylw2taZM/ReU+xUy/5kH+ijfyN
 WIQp9ThUoZo8iMC59FCYs8yUYjFGxkOSdFlx9aefzzLX3IKowqqaYjwZRmzOj8xm
 pJkg57gPpUOBhtweeAMpEyfjxUeG4U4AivzXtsE3NeBWWH7IuWxYc6Tr0mKkRrhp
 TX33dCs32o/ufKoHpRgFaNx9ffDJ3xaJIaKID/lIIuGEIyce/dd11VXxsz+/deum
 tGFEt/mi7cZsYMnzwyg4Jlzkxh97nZAV8x7Xt+PBO5fPJ4sGjADdq88o2NNylBZ0
 psAACmFF5jYCkxCMn5IlOUvVW62rVDdQ42Jb1gIygKvmPzhuILMJNHesna6+8PD+
 ii83D/ggCqAOMMAXQDdGDVf/0DBGFMGXjSxMNuvubMPV6joW8K0dQvYfJLKBjngW
 5hgkGitLRR0lTd8I8uzI4bhNkBeH8X8E+Tev/mMxhW6h9ax3Hbk=
 =h0+r
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaWlAACgkQYKtH/8kJ
 Uif1CBAAk3WEDsIa07zyE6aTlTmmK71K3naNYwH3gpz/4nLs/umMr6fqNcRv3M9r
 22NoDtaNvtyn+0d72Spm8FxhJgwOAXq55skC2TgloYukAp9eVAsMwcizPYDbNu7L
 am2R7e2XqiWwxFwJD2wh+8pZGnzIYi3Z+sVzJJPP7wNS8SslxK7OqItdSEsRbyoY
 Bymwd33iqsfEB9HempmibEUEAj7dlW4T1DcqKVZr/N/sqjz+foXGp8DS/cWwoM66
 t+DGrp0tIdKS8Nao74uKug97/C8q+fvs06BbY0wl6hnqokSWWa4nWlJKBTRApmvf
 mrUin1DuZSGR4qq8s5GbVtJRn0tD9dZvoDFRUbGMgTxlOXhw2XBVePYjN5FdZGPI
 7M7Fi/rbH6vMsT/yOQphCX9L2oMXRJmVWmqceQ9CMFCN4gwEBXo+VanfJIYzWsVG
 vb6n8gOwXGzZ0E3L1EDLT1SCh9NB3XKaTTL19U67zxwb37VG7XEeehTrVbXv/rBj
 0tPcgZBPoM+nK5psykegJ0ULDbOdcoFs9MOQJQF0gGFQ0kGfAy9ZwQub2mPxs3lj
 uWqdiWydyJ2ZQM4m+0HqoGAWoJkQOfqhN/6dF15YYXT0cV7M5zHQg20XhXyISlCJ
 q8+eAar4kMLQ7ghW3W9VVfxEeTB2JlRq1kavBk9CkeJp9/iZC3o=
 =IWCP
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-config-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/defconfig

TI K3 defconfig updates for v6.6

- Various configs for K3 boards including ECAP, Thermal,
  RTI watchdog, mailbox, sound, MCAN, UFS.
- Enable PRUSS for am64/am65x boards such as IOT2050.
- Enable IT66121 for BeaglePlay HDMI.

* tag 'ti-k3-config-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: defconfig: Enable ITE_IT66121 HDMI transmitter
  arm64: defconfig: Enable TI PRUSS
  arm64: defconfig: Enable various configs for TI K3 platforms

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:46:07 +02:00
Arnd Bergmann
20cf932af8 i.MX defconfig change for 6.6:
- Enable i.MX93 device drivers in arm64 defconfig.
 - Enable Redpine 91X WLAN and NXP UART Bluetooth driver.
 - Enable DRM_IMX_LCDIF, IMX_REMOTEPROC and RPMSG_VIRTIO drivers.
 - Enable SL28VPD NVMEM layout support.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYmwEUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7uJAf9GpMUE7NNIFUp/zfJwVy9AOlwqH7k
 rWayxRGAIE3UgRwJHMuS5kBGE3qWn0HKCmY5n8qzGcHyC8FjVD7EVMXLSzC2amOw
 r2X11EOYxCYyYOLh6CUufVv30bsJkpowm1zAfsrMEEzvcTKPVKpZPjFV2tEJ/aKF
 uQuDz1PYBSR2SVwu3hzSpuiKq3bO8ATV8qSTq76bxZjZnBrV47i/Y4k7wDWYj7Nc
 /Sx648wA8JlMMW3YgfovkL4ckYEMhMWaI5LTvEzAERPkg0437M0+WS4g2MOOSQUv
 TVtowPLC5OfysUqQdSgeNNo12WRrI4NF6RUEnF8JDVg2Uq9YL1J1GMJivA==
 =j4c2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaWgAACgkQYKtH/8kJ
 UifpNxAAlBJaJOiZOcn6ZEmKEXnYtqtH03HFUC7ja6hNxKoUmRJxt5FKvtzIogeE
 U4J0D/0C2PuPepkcGaspeM+h2QLEmNo33aJYF42O5y3WxD9w00CRdkQTedaSPY4i
 VeNw3PBRp4ig3QEAmmdNkivyiT4NTNB53CsZgjQH8ZL9kbCeb4e5bLrlyfKlnBcG
 sVZy5+BFAeTAfmUKp8GmPSNENwqz8lebqiIXDxCQEWFDIGUxoQapGVYwBvr+xBGg
 c8W1n9OPAubW01F5SOyPX/TGN1A+gZIVXYP1U+CYC+caQ862TROf8VuwAwgBDnC7
 AFQtX4vQ0d4Ij0kibgcTNkn/0qclwhEPTPxveUP0uz1O2fraDOndG7AHX25ZzcD8
 rlzgcUGMXlbFGV6YeCKrBafv2VDeGyPDjZYJlpMLB4g3ZuyriQsTHiU0pQtb0oQF
 qtJBrZawGxpgtKidtRyJzT4bnPJlPcM5e5JUGH3HdkUZwEyfH5wzzywGO6d+8tTc
 foETY8u5WTH1GKjaxRBRArKOZarg/ckm5UkBLAhpsXIcM1NIKEA06Wzm6eR3fVV1
 16VKy5U6NQ3G3mvRaFpW3oPIsQnv8kelkoIuKQdGPqrb52Ny8qC+ZhVufmhWf+Jz
 MFX+pfsNI+SYnd2pVC0IiP3OF5tJmfFFmHGVGXjToIqMsbMo2Ew=
 =PYgU
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/defconfig

i.MX defconfig change for 6.6:

- Enable i.MX93 device drivers in arm64 defconfig.
- Enable Redpine 91X WLAN and NXP UART Bluetooth driver.
- Enable DRM_IMX_LCDIF, IMX_REMOTEPROC and RPMSG_VIRTIO drivers.
- Enable SL28VPD NVMEM layout support.

* tag 'imx-defconfig-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Enable Redpine 91X wlan driver
  arm64: defconfig: Enable CONFIG_DRM_IMX_LCDIF
  arm64: defconfig: enable driver for bluetooth nxp uart
  arm64: defconfig: Enable i.MX93 devices
  arm64: defconfig: select IMX_REMOTEPROC and RPMSG_VIRTIO
  arm64: defconfig: enable SL28VPD NVMEM layout

Link: https://lore.kernel.org/r/20230813133354.847010-6-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:44:48 +02:00
Yipeng Zou
83a89c4b6a selftests/bpf: Clean up fmod_ret in bench_rename test script
Running the bench_rename test script, the following error occurs:

  # ./benchs/run_bench_rename.sh
  base      :    0.819 ± 0.012M/s
  kprobe    :    0.538 ± 0.009M/s
  kretprobe :    0.503 ± 0.004M/s
  rawtp     :    0.779 ± 0.020M/s
  fentry    :    0.726 ± 0.007M/s
  fexit     :    0.691 ± 0.007M/s
  benchmark 'rename-fmodret' not found

The bench_rename_fmodret has been removed in commit b000def2e0
("selftests: Remove fmod_ret from test_overhead"), thus remove it
from the runners in the test script.

Fixes: b000def2e0 ("selftests: Remove fmod_ret from test_overhead")
Signed-off-by: Yipeng Zou <zouyipeng@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20230814030727.3010390-1-zouyipeng@huawei.com
2023-08-14 18:43:04 +02:00
Arnd Bergmann
3cb5b035d8 Memory controller drivers for v6.6
1. Tegra:
  - Extend support for Tegra234 SoC Memory Controllers with DRM and GPU
    clients.
  - Tegra186: Skip MRQ DVFS where it is not supported and do not fail
    probe.
 2. Wide cleanup of DT includes.
 3. Devicetree bindings:
  - Reference common peripheral (client) properties in Ingenic NEMC and
    TI GPMC.
  - Convert Davicom DM9000 to DT schema.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmTaFZAQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD18seEACbP3gOtRxG8hRnZ6mZvV+6bfEaQAKLuVN2
 cuQ/cuyHYzCtCxoo3dJyobTJOR5LFXNlNb5ch5+QrzPXFj9YeJxuXKn+eYrLssDu
 pkzMkAskDm1Xi181pylsmTh878u7G2jmvuq87l5yc+U3YxryIkhTejW/zl995JtP
 pS28viuP6ywa0RyAquoc9mWQQQc++tR/Z958jBAkiECsb0Q7KOsXP0+XqHYxRCQ8
 ea/tLzbs1sdDNE0PBRB9zZ9yS3DAVZkBmdWpNexNWFJAdkOLeUqTe2qMTOorPxkA
 YzYyl9nTbNMcAh3Uj6J9eONNqiSZuBAqmSVG2S7G2HP1xMReElnLu5BNaWplr2me
 xr39F0RPPtV6pSj30D80uyB+Gbuo3KFCXbs2rTPPlGWZeKBEVbaOrvcQnb9XSSGZ
 W3DwwTKi/Fgus5cTRtHvYY78596734XZzd4QtA9b3fIF59qUZwoxreSPbpAVwyjX
 P1Nhpc0T/65S63VIJYiiv1L+9efu9IhGON6eNmUAr416/otzkYNEtXG+kMY70k6e
 9vuWdc9/J3eQqHuVtHYmX162aqIImIEJOYu+M5p8hIgaNBan8GkwIiyRsPIXH0h1
 tFn4nicO0TU0B3G2TdKRJcZsNLcdzEZ0pzYQrYnrgsIPCIcOOj2y/qgKuy2m5oev
 sfWxLOmm9g==
 =2YX2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaVh8ACgkQYKtH/8kJ
 UicVMw//WLPFEadd/RKZfQQWJ2/I0LVwG/lasQd9ZXiHMKWuUvfmFsO/cdiwMWZf
 S+5g0vR/zRtvaEmLM+ICLzIxwuHG9IdmiIB+K2aVF3s2vttycG6KS2Hak4ryaYXK
 Yzo7W6GFGeK+Yn763tj/5GVWdHqzqLzs7vBoZbjoIZDX3sVouTmBENUh+Trmwv/j
 Vm/7Jz5napGwqICFkcPFh2BKQ9BxlO7oL8nx/qKmjCWRnccgQJEjKLaIcYNQKUYN
 gUHX8bUjRPu2/KJq/Z0unMi57vSra0hVA+G7izmGznSOllIEfa3p+AbBVQ4Zpj1P
 d3Npvfub2iDTI/liHUEmjRRCGOS/mL9BrWs+YymlMmr40Hgqf0VjsJiABLkZuemB
 RbIBMwuLJsEo5VLLMk+DSHV20tm800zSoF7aX1CER2pzNTGiJ+fIMqp6igbasE3k
 bpHElXh3AnrqUsKnazJGsZI1zw6Sk/9JhCh+oECZo48Mfa7YXhj0kJF+R1NtQn0/
 yPEElcaKLuo1fJgQi4aLdvUKu2fPmfOj9w7Ivbxt6FmsOfzzlhSasSoMSROFtApa
 5LpS8DiNUyFVEqvMYrBqb9oI2bI02XBt8nqPl5tnu2JkZ5zjDmYp1oBiIMOJg6r1
 22edeNdbnaaCDxxcQtgaB3reYxurmhRe/gPOlFupHdH9dt5a51I=
 =19if
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.6

1. Tegra:
 - Extend support for Tegra234 SoC Memory Controllers with DRM and GPU
   clients.
 - Tegra186: Skip MRQ DVFS where it is not supported and do not fail
   probe.
2. Wide cleanup of DT includes.
3. Devicetree bindings:
 - Reference common peripheral (client) properties in Ingenic NEMC and
   TI GPMC.
 - Convert Davicom DM9000 to DT schema.

* tag 'memory-controller-drv-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: tegra: add MC client for Tegra234 GPU
  dt-bindings: net: davicom,dm9000: convert to DT schema
  dt-bindings: memory-controllers: reference TI GPMC peripheral properties
  dt-bindings: memory-controllers: ingenic,nemc: reference peripheral properties
  memory: Explicitly include correct DT includes
  memory: tegra: Prefer octal over symbolic permissions
  memory: tegra: add check if MRQ_EMC_DVFS_LATENCY is supported
  memory: tegra: Add clients used by DRM in Tegra234
  memory: tegra: sort tegra234_mc_clients table as per register offsets
  memory: tegra: make icc_set_bw return zero if BWMGR not supported
  memory: tegra: Add dummy implementation on Tegra194

Link: https://lore.kernel.org/r/20230814120052.27485-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:28:15 +02:00
Arnd Bergmann
93e0acaec3 TI SoC driver updates for v6.6
- Generic fixups: Explicitly include correct DT include.
 - omap_prm: Cosmetic fixups for using devm_ api for ioremap_resource
 - ti_sci: Documentation fixups, Using system_state to determine if
   polling is needed.
 - k3-ringcc: Documentation fixups, cleanup of log messages, using
   devm_ to handle ioremap_resource.
 - k3-socinfo: Add AM62PX detection.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmTaSAgACgkQ3bWEnRc2
 JJ2bHhAArQBIlE2hSKOhQp2voNiSywrs94YOrrFKX+rb4DZFPUt3PtqMut8N86oS
 Hq8HeztxyCL5Lsi5p4eqi4DICAT6cdLqLQu4o1Nk8G+/1xC9bUSMxxDAvp9WqcKe
 VRjSnDrO5USU/FSQh2OVtBzYYqeNtrXtHIhih/XurH2C0RMev27RIMg2IeMq1ZBg
 OqerwxoV9FdjnUB74RrLhWPehSMGO3P7x2rwS8EndZ7CbQekHyhWDNW7SrIyvfre
 X5GpdRjOT4eCEKpEVvDoHPZZkwvGSYtXEuRKq0W3faCv+uHL3CAvWVuYWwZvYUUK
 SbJfJb/j94U24B75MynOSLYYyzDVwz1vvrfKeA+ZS+v/T1HqOPVHyCR8rff+fvBa
 jbk950oMwqJdRJ0wyrtlhQXCzXJ+8kVG5VOYW8eef0bMUsqVt/r+40V3imyVmn3E
 SqYisWOXUSZBgMdUiQwCw6+ZNeZEeBwT7328y+tpLBbNtp5psDLH9NWii79f0JiL
 Gy8hbYAzVnozLYd0Z0IHueQ7zTHJ/GLR1NphArwlj9nL9ZOlxWibADMdyc0rsp8h
 RSxTmbxY8/wwh+8wqgAoafzxeigL4Aer6KOb3xpbVqxUTx8aq9Bh0Jg6izhZCSrj
 cd2TQuamXE8lIKpmQfsHIlaTpP/YelSOSZgMpIHwnUJzEaGYHvA=
 =vMl/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaVbMACgkQYKtH/8kJ
 Uid/Sw//ar4Qf8XWgGThf08hP2Xv6fQEHwNiCOxP6+Jozfr8cKW3nX/ZXLSoGfC3
 fSThkm8Nny2b45cZax03JSaBOkFZMxBshISVkl9mUSelEGPMIfQejx+P1xQVW+V4
 50NbxE62Ezs6NPpF6yIOE8OYURZyMNUNioiKy6j3mlIPCVHuLixPdh1192SfHg8N
 GyIE6SEPA29j0rr8OwyXTIIct2ol0UStvrK8zx4Qmp14P+XbxMZI6YMNHXDJPy3i
 l/0HqSS0hFWCiLq8pa/Fl03QWfqDTYBSiBn2onYuMSg6msQgIkH6IPEA2NfY5itJ
 AFutvTH4YtUdfyGGac+zchtcVQHUDm2oJQxMHBpluU8695DWNWmqw7/ttP9gCwtk
 x2qtnwgu+k0C+fLWjMhv/hCg1tfB4j4aVZxAL9WKKpV4S4E7oWf8KCOJ8bn1DWUI
 slLKTVPSYSs4D9+66imjBYRF7tNqk+LDVYuRMQPW3bUFMRRIsK0ZVLBdYxC9w9Yj
 jFHeKvDmeMhCHjIB8pDC7626J7lTndHF0uRVLA591IYaRd3z8Oh4MCv0BsIVExPH
 31FPoEKIrhv6sQyShF6fYcO4V4I46rLaXszq+uRPOcucRrNQpQwIEa5DUJtr23ha
 n05PtlaOniNS7O2a2J9/kgyBupQCoO1IMS089IvLB/9wEaqV7j8=
 =wz6q
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.6

- Generic fixups: Explicitly include correct DT include.
- omap_prm: Cosmetic fixups for using devm_ api for ioremap_resource
- ti_sci: Documentation fixups, Using system_state to determine if
  polling is needed.
- k3-ringcc: Documentation fixups, cleanup of log messages, using
  devm_ to handle ioremap_resource.
- k3-socinfo: Add AM62PX detection.

* tag 'ti-driver-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
  soc: ti: Use devm_platform_ioremap_resource_byname simplify logic
  soc: ti: k3-ringacc: remove non-fatal probe deferral log
  soc: ti: Explicitly include correct DT includes
  soc: ti: omap-prm: Use devm_platform_get_and_ioremap_resource()
  soc: ti: k3-ringacc: Fixup documentation errors
  firmware: ti_sci: Fixup documentation errors
  firmware: ti_sci: Use system_state to determine polling

Link: https://lore.kernel.org/r/20230814160633.my3xbk5k2pxkvjyi@degrease
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:26:27 +02:00
Chengfeng Ye
4caf4cb1ea i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue
iproc_i2c_rd_reg() and iproc_i2c_wr_reg() are called from both
interrupt context (e.g. bcm_iproc_i2c_isr) and process context
(e.g. bcm_iproc_i2c_suspend). Therefore, interrupts should be
disabled to avoid potential deadlock. To prevent this scenario,
use spin_lock_irqsave().

Fixes: 9a10387280 ("i2c: iproc: add NIC I2C support")
Signed-off-by: Chengfeng Ye <dg573847474@gmail.com>
Acked-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:17:13 +02:00
Arnd Bergmann
446f0a4b33 TI keystone SoC updates for v6.6
Updates:
  - Consolidation of files and drop pm_domain.c and keystone.h
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmTaSXkACgkQ3bWEnRc2
 JJ3xwQ//aXbS2nrgWMUgK8JkcoPKSnRYL8DVp9ng3gsJb3VrVxKsYjqCvKVfeJ37
 ppRIR/5SFMu/vT1fWWVS28sQOoEb211avY6bd2x0Hoj58uTQ5lch40R63j6e6vT1
 cWrJose27KYJELY9tGnDYlKp+eh+0RhBJUCmwdLkPwFlldXqlpzFFLzD1baXHaYL
 R2wZJl1EQuc/o3r2G2kQIX6PlV/F3+/8RGrVqpbXWbe9pFRiZZeKiuHnaXxd45AS
 +mbdxYYUQCnylfxg1q34qjB5AQ33Vl/LZLhsh2lblBqZITo11hiv2+XIsxMhBJQ1
 lJO7fNe6wWrZ8HJUzu9NtTpy1omQCFBHWG/iN3vyYzbIgfqDqyz8lSGpze/UOoX6
 AwvDPhPrHB/LyNOC/tHt68dGaqSTtfv75JgyLJf48fxngOBjPO8kqYDCtFpJvAUC
 M/hhkJlm7MCVK8y0gtQhwSyjC957DzSvxKHsYKXfMdR68JU+uD7MI7kx2stWxY22
 /WjWqAQIGoRpb9vDC2ylgGVPuGtfSJBwIRg+0biceB3AiMnbGCxFBxC68UGQ4dW2
 2+8AHmeyr35QMH5U+uZxhZtwULzVSQKhH62IPEg5eK7XZOQzkcne59qae2zwiL1h
 qSuO29xqr9lknY3cUG8Cvfs5dQ7wVauAjrmQGobzDzgPbMLxPL0=
 =QSA2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaU1QACgkQYKtH/8kJ
 UicCRQ//Q+1UQlzbh0cYP2Rrn6KOoCbyhepYE52/MVOhSR+UiRJjjuTI7niOgzsK
 2X0ZS0LYM1aaVju1RVsi4wk5MpjSXf9R0WhfH7MnPGCalx5NvuvXS46pu6mvUE6U
 oc8MKJZl8BPSvW63BT72UhA4d2MMoEZgeIUVc8x6ZsWkO+0crkNuy6qypAJWUctA
 2br5137l4JmuwxSPTsZ3Dz1q3xbHvdX4oL13OlokMpLMwTEw0IPEnCFjRscs8qa+
 YiK5V7I00CvVOZZf2R4VahJkFpehgQS8oKXghhQKcg34sKvFj/YKmAg8sZPSyQfI
 ETEHFmsnCMJhIW094OrdaY29TfE6E+6hPyBW5QNiOq2pLlD3kn1o6adnSG1gAc4A
 frSsPbQ4jxZWSKkpkUWl9e47pHsp/2sN9+5Ga/YLtcorbX8xzs4hZmSLSrMA8Spm
 H7MfPZZ7aJH8K4aYcoiHNpki+aUolIRqxTjssu86lrRnHs16qcFtjNHH5OnMYxu9
 8w20/rW9ahqrpkf9kvwhvB1OOW3b1JATGGCejoL4DoZ4W2CISqo6rJjIxCDUcMSN
 uykFDFvQV3o53ybAJkpQk7+JjOBkmKG3NVlk0vWevGoPyBiT/rmH/ziwLmpG3Bah
 qklejmjPUzkcDAn8TwWCj2Zq5mudOXlscevVeVC7PvUjyWts4lI=
 =kFIn
 -----END PGP SIGNATURE-----

Merge tag 'ti-keystone-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/arm

TI keystone SoC updates for v6.6

Updates:
 - Consolidation of files and drop pm_domain.c and keystone.h

* tag 'ti-keystone-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  ARM: keystone: Merge PM function into main support file
  ARM: keystone: Merge memory.h into the only file that uses it
  ARM: keystone: Drop unused includes

Link: https://lore.kernel.org/r/20230814160702.6l2fcujbx33eogap@junction
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:16:20 +02:00
Rob Herring
8787bc51a7
ARM: s5pv210: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it was merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230720172751.2918776-1-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230814114051.25840-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:15:48 +02:00
Uwe Kleine-König
7d711966f9 i2c: Update documentation to use .probe() again
Since commit 03c835f498 ("i2c: Switch .probe() to not take an id
parameter") .probe() is the recommended callback to implement (again).
Reflect this in the documentation and don't mention .probe_new() any
more.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:14:04 +02:00
Arnd Bergmann
f15897c25f Final OXNAS removal PR for v6.6:
- Remove irq-versatile-fpga compatible entry
 - Mark irq-versatile-fpga oxnas compatible as deprecated
 - Remove OXNAS maintainers entry
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmTZ5ecACgkQd9zb2sjI
 SdGOKxAAjXW4Biv9iZkhWJjeGaYiCh/O7WUuwChw9GAFDO5cnOt0C3ztgV8nR+Zu
 +Tm58QG6RE5tBIDcfZSa+CITXUol3s0VF5xHRF4kk2aBc7PS1fBt0vIvSMlxgHvv
 IGAbkHVZ10XLViByrQvQn9U3sRPdZkZaJECANSxDSrPD3toV7DdMz+lHdBr42Lz7
 jiAc1YYhBrqRSWenuukmuBOVNNDSY9jze6cBrRb88evNMIWqPemRTgIDlkVzpDQJ
 W8jDvZpQltZXYkJV3diVmynsjOnMS15l5MgAY3jxb+nRuGZzv+GWxwuVBjnMDm5B
 Nkk5vESCsH6+5EYv0KMDQT8Rf1/HO23kgNTGKWwqdrdHoOl57W9lNqgBa1xsgIGj
 R/FcnunJhYNoVl4xUkD/5CAJ8L0k4aD6L5MKjJOA2vtnvB5xkG6d+ko50Wiub+C/
 QurDZEji7zD+Wa3aAEmNP9rR/orUyzLqdeyK3a2DO8ZJvBMZEcOKiUTNDyqHi7tp
 F6esWNwN1wD+LNL2zsPiYDTj6GNxXNGN3N2SBiRckq7T85Ic2w14bY+goZCA3sEC
 yYCDctmhp0nIUvMWIuHYf/hifpQuyPR8ioRHIwbQtVCkUiL7WmAJxycqyEL1h18W
 mePcnUP2g2DxkdA84y9mMKBlrITbNBaT/Ua8cnQHnToOnVRaeto=
 =WB4/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaUsUACgkQYKtH/8kJ
 Uick1hAA0BoCOpZvgIShdMi7o+RStYPeJgJTH6ySuMjzRUXAQsyH/u6K0Qc8/aCk
 3ojXvPGiLUnYcdPpw+FHTpn6yOeZkVBW8hmbpx8Fr8uEqsJtY3Lp4X1KlF82qVml
 WiNwYtSqjEidNuFUQO+CZ3/v/q8aBujfbTuVHVy9hp6sc+lnKAgOSKtla1wjCQ+t
 LXDriw6cn+L79j+Ckl61FLe39pkK/yJuqz9LyZULuMmSeiqCKcEQrp60xUGc1hmo
 j0WiROd8CNmWleEVVJUQxWTX9HgCPbkJN/TjAsjV5aTQS/amtNJrhNF2RLp2GS52
 xYOJAWPmfHgwVd4E6AaE7dJ/PA+0u1JELkGbukn8jFUM8VemWiFQcVfT2NkkYofk
 5oHcurwp558mtaJxoH4gbIpFVOZ28MhHqXTkRjzm+o33Bpd9IwlXaqll09Ywxl7z
 mdr3wDIysdsH3JyKKeMDAWeWDl+B+AZPKhslFtBXDWNS6Gn7omSATRehtPUpuQk5
 GRck81A3F/8NvHpmyY82U7u7+JAyLGqtZmei9yeEW6LmyxwDY2tSr+5fJ7oKEXQE
 TEK9PjQ0fx3MUhHagcPwlkXdsL/skXBaWafK7VdYjkV5nxLK7HeJqarsBE1OtByV
 skL7FWr77SJJvP1Nt2oFmEwYtfnPVhN5/oPJ3Ik7BTHsNx2aucA=
 =lc8i
 -----END PGP SIGNATURE-----

Merge tag 'oxnas-final-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas into soc/drivers

Final OXNAS removal PR for v6.6:
- Remove irq-versatile-fpga compatible entry
- Mark irq-versatile-fpga oxnas compatible as deprecated
- Remove OXNAS maintainers entry

* tag 'oxnas-final-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas:
  MAINTAINERS: remove OXNAS entry
  dt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible as deprecated
  irqchip: irq-versatile-fpga: remove obsolete oxnas compatible

Link: https://lore.kernel.org/r/3f91bb89-bf7b-d967-a302-2a8e1b0c3b01@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:13:56 +02:00
Yangtao Li
08e3351b4b i2c: pnx: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:10:14 +02:00
Yangtao Li
733f41f702 i2c: pxa: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:10:10 +02:00
Yangtao Li
b15eb80322 i2c: s3c2410: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:10:05 +02:00
Yangtao Li
3735e4318f i2c: sh_mobile: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:10:01 +02:00
Yangtao Li
8f2056ff20 i2c: st: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:57 +02:00
Yangtao Li
02ebc01dde i2c: qcom-geni: Convert to devm_platform_ioremap_resource()
Use devm_platform_ioremap_resource() to simplify code.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:53 +02:00
Yangtao Li
8086ea443d i2c: stm32f4: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:48 +02:00
Yangtao Li
8f4bc41800 i2c: mlxbf: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:44 +02:00
Yangtao Li
f9dce8d649 i2c: brcmstb: Convert to devm_platform_ioremap_resource()
Use devm_platform_ioremap_resource() to simplify code.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by:  Kamal Dasu <kamal.dasu@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:39 +02:00
Yangtao Li
c71d80d384 i2c: iproc: Convert to devm_platform_ioremap_resource()
Use devm_platform_ioremap_resource() to simplify code.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Acked-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:35 +02:00
Yangtao Li
0a310eef70 i2c: at91: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 18:09:30 +02:00
Yipeng Zou
811915db67 selftests/bpf: Fix repeat option when kfunc_call verification fails
There is no way where topts.repeat can be set to 1 when tc_test fails.
Fix the typo where the break statement slipped by one line.

Fixes: fb66223a24 ("selftests/bpf: add test for accessing ctx from syscall program type")
Signed-off-by: Yipeng Zou <zouyipeng@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Li Zetao <lizetao1@huawei.com>
Link: https://lore.kernel.org/bpf/20230814031434.3077944-1-zouyipeng@huawei.com
2023-08-14 18:03:00 +02:00
Sven Eckelmann
6f96d46f9a batman-adv: Drop per algo GW section class code
This code was  only used in the past for the sysfs interface. But since
this was replace with netlink, it was never executed. The function pointer
was only checked to figure out whether the limit 255 (B.A.T.M.A.N. IV) or
2**32-1 (B.A.T.M.A.N. V) should be used as limit.

So instead of keeping the function pointer, just store the limits directly
in struct batadv_algo_gw_ops.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2023-08-14 18:01:21 +02:00
Sven Eckelmann
02e61f06a9 batman-adv: Keep batadv_netlink_notify_* static
The batadv_netlink_notify_*() functions are not used by any other source
file. Just keep them local to netlink.c to get informed by the compiler
when they are not used anymore.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2023-08-14 18:01:21 +02:00
Sven Eckelmann
950c92bbaa batman-adv: Drop unused function batadv_gw_bandwidth_set
This function is no longer used since the sysfs support was removed from
batman-adv.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
2023-08-14 18:01:21 +02:00
Arnd Bergmann
9fb9ae8061 i.MX drivers update for 6.6:
- A series from NXP i.MX developers (Peng Fan, etc.) to update imx-scu
   and imx-scu-irq firmware drivers.
 - Add dedicated lockdep class for nested genpd locks to fix a lockdep
   warning in imx93-blk-ctrl driver.
 - A change from Rob to explicitly include correct DT headers for i.MX
   SoC drivers.
 - Use devm_platform_ioremap_resource() in imx-weim bus driver.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYNCAUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7x+wgAsB65MMhY74a8pjuO0q1nJierjc46
 of2ayxR8I1jXQK/3IUijBZpg+8bnQkhXiVK1uyzvLmUc28iw1y6B2dWec/hXRld8
 mc516IWjGa0Re+dOeliKPFNWzj6TZRi3TmqKIfg5XIb0poBtxBiXm7tvjm1oYRQl
 ijkCqauOXJmK3yMMTQqxknGQG+B8wQDTPnbssk0A46ShD4RrYXmC3wjTEb27WoGk
 nw18XT5XpS+LomctRcqza3Bcdry6YPmI0hOt9Oy9db2sBtXbz+bf9tLGKztvfxGz
 44R0+Rz/XncJHwRXGgUNR71ps0+WP55qKsqoTw/zHhkS2BPl8gMxhBtQbQ==
 =T2Uo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaT8sACgkQYKtH/8kJ
 UieFHQ//YrvUhNJjVtQeUcZ4s43MKKJsq7HNnki02ZRlIOdcG+vM7JzWe6PsRDbK
 8jeV1tM3ZE67VBeIZU1+ELshebiU01VQY4ZobmGOPMajDFXZmu1Znzr8O6RASrmd
 u+aFhpTGleg4SQQ2avdaQIQ4gpw19ciellxCTx37Y/hae06nANXzFFTlnPO4qseW
 rzJzgh2h3Z1Gv/LdqtlfMAeI2aEQy/+hfKmZs4f20/Rs8wwH7lzrNLSUideY6cqt
 RM1nX3F97b+glRJ4siqRoUISVSW6naWkb5qZ+VZXN4e7xrczuV/1Sp2dqINWXxKp
 dR3WpOfb2V9sIGQOiAb8XSFBkxvDVG6ze6l2RkXA0szqpVBRMOTGshykMqt2I2tN
 8Eeek9+XXZHZxNR6omFX4cvTjRW7hvhB0W35UdoZr1qteC8jV/H1DBYV3v8ri1d8
 z17Y0JGBFrtQFBF/jq1yK0WND4RIb2aHYxrojDQ3/mtqsMailIuogwGpMQyhsCll
 nX2NeKpaKe3MwEtKPOSTkUD5k8TLBfDOn/fcoLRQ6Ys6fsBAcplJ+6Sp3Hv/mgWQ
 W9eWaeBAh0BllI66twAxeTKdy/1IsGpsLyNVDJliAExW3Z1ISPUMw6pI4M+H/QZY
 W+joqcvJYAAiOfIvRqQWvyt40I/2JYx6otsJKN4JB9Qlh3QRvxg=
 =2iHc
 -----END PGP SIGNATURE-----

Merge tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers

i.MX drivers update for 6.6:

- A series from NXP i.MX developers (Peng Fan, etc.) to update imx-scu
  and imx-scu-irq firmware drivers.
- Add dedicated lockdep class for nested genpd locks to fix a lockdep
  warning in imx93-blk-ctrl driver.
- A change from Rob to explicitly include correct DT headers for i.MX
  SoC drivers.
- Use devm_platform_ioremap_resource() in imx-weim bus driver.

* tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs
  firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP
  firmware: imx: scu-irq: add imx_scu_irq_get_status
  firmware: imx: scu-irq: fix RCU complaint after M4 partition reset
  firmware: imx: scu: use EOPNOTSUPP
  firmware: imx: scu: use soc name for soc_id
  firmware: imx: scu: increase RPC timeout
  firmware: imx: scu: change init level to subsys_initcall_sync
  soc: imx: Explicitly include correct DT includes
  bus: imx-weim: use devm_platform_ioremap_resource
  soc: imx: imx93-blk-ctrl: Add dedicated lockdep class for nested genpd locks

Link: https://lore.kernel.org/r/20230813133354.847010-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:01:15 +02:00
Jani Nikula
423ffe62c0 drm/i915: fix display probe for IVB Q and IVB D GT2 server
The current display probe is unable to differentiate between IVB Q and
IVB D GT2 server, as they both have the same device id, but different
subvendor and subdevice. This leads to the latter being misidentified as
the former, and should just end up not having a display. However, the no
display case returns a NULL as the display device info, and promptly
oopses.

As the IVB Q case is rare, and we're anyway moving towards GMD ID,
handle the identification requiring subvendor and subdevice as a special
case first, instead of unnecessarily growing the intel_display_ids[]
array with subvendor and subdevice.

[    5.425298] BUG: kernel NULL pointer dereference, address: 0000000000000000
[    5.426059] #PF: supervisor read access in kernel mode
[    5.426810] #PF: error_code(0x0000) - not-present page
[    5.427570] PGD 0 P4D 0
[    5.428285] Oops: 0000 [#1] PREEMPT SMP PTI
[    5.429035] CPU: 0 PID: 137 Comm: (udev-worker) Not tainted 6.4.0-1-amd64 #1  Debian 6.4.4-1
[    5.429759] Hardware name: HP HP Z220 SFF Workstation/HP Z220 SFF Workstation, BIOS 4.19-218-gb184e6e0a1 02/02/2023
[    5.430485] RIP: 0010:intel_device_info_driver_create+0xf1/0x120 [i915]
[    5.431338] Code: 48 8b 97 80 1b 00 00 89 8f c0 1b 00 00 48 89 b7 b0 1b 00 00 48 89 97 b8 1b 00 00 0f b7 fd e8 76 e8 14 00 48 89 83 50 1b 00 00 <48> 8b 08 48 89 8b c4 1b 00 00 48 8b 48 08 48 89 8b cc 1b 00 00 8b
[    5.432920] RSP: 0018:ffffb8254044fb98 EFLAGS: 00010206
[    5.433707] RAX: 0000000000000000 RBX: ffff923076e80000 RCX: 0000000000000000
[    5.434494] RDX: 0000000000000260 RSI: 0000000100001000 RDI: 000000000000016a
[    5.435277] RBP: 000000000000016a R08: ffffb8254044fb00 R09: 0000000000000000
[    5.436055] R10: ffff922d02761de8 R11: 00657361656c6572 R12: ffffffffc0e5d140
[    5.436867] R13: ffff922d00b720d0 R14: 0000000076e80000 R15: ffff923078c0cae8
[    5.437646] FS:  00007febd19a18c0(0000) GS:ffff92307c000000(0000) knlGS:0000000000000000
[    5.438434] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    5.439218] CR2: 0000000000000000 CR3: 000000010256e002 CR4: 00000000001706f0
[    5.440009] Call Trace:
[    5.440824]  <TASK>
[    5.441611]  ? __die+0x23/0x70
[    5.442394]  ? page_fault_oops+0x17d/0x4c0
[    5.443173]  ? exc_page_fault+0x7f/0x180
[    5.443949]  ? asm_exc_page_fault+0x26/0x30
[    5.444756]  ? intel_device_info_driver_create+0xf1/0x120 [i915]
[    5.445652]  ? intel_device_info_driver_create+0xea/0x120 [i915]
[    5.446545]  i915_driver_probe+0x7f/0xb60 [i915]
[    5.447431]  ? drm_privacy_screen_get+0x15c/0x1a0 [drm]
[    5.448240]  local_pci_probe+0x45/0xa0
[    5.449013]  pci_device_probe+0xc7/0x240
[    5.449748]  really_probe+0x19e/0x3e0
[    5.450464]  ? __pfx___driver_attach+0x10/0x10
[    5.451172]  __driver_probe_device+0x78/0x160
[    5.451870]  driver_probe_device+0x1f/0x90
[    5.452601]  __driver_attach+0xd2/0x1c0
[    5.453293]  bus_for_each_dev+0x88/0xd0
[    5.453989]  bus_add_driver+0x116/0x220
[    5.454672]  driver_register+0x59/0x100
[    5.455336]  i915_init+0x25/0xc0 [i915]
[    5.456104]  ? __pfx_i915_init+0x10/0x10 [i915]
[    5.456882]  do_one_initcall+0x5d/0x240
[    5.457511]  do_init_module+0x60/0x250
[    5.458126]  __do_sys_finit_module+0xac/0x120
[    5.458721]  do_syscall_64+0x60/0xc0
[    5.459314]  ? syscall_exit_to_user_mode+0x1b/0x40
[    5.459897]  ? do_syscall_64+0x6c/0xc0
[    5.460510]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
[    5.461082] RIP: 0033:0x7febd20b0eb9
[    5.461648] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 2f 1f 0d 00 f7 d8 64 89 01 48
[    5.462905] RSP: 002b:00007fffabb1ba78 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[    5.463554] RAX: ffffffffffffffda RBX: 0000561e6304f410 RCX: 00007febd20b0eb9
[    5.464201] RDX: 0000000000000000 RSI: 00007febd2244f0d RDI: 0000000000000015
[    5.464869] RBP: 00007febd2244f0d R08: 0000000000000000 R09: 000000000000000a
[    5.465512] R10: 0000000000000015 R11: 0000000000000246 R12: 0000000000020000
[    5.466124] R13: 0000000000000000 R14: 0000561e63032b60 R15: 000000000000000a
[    5.466700]  </TASK>
[    5.467271] Modules linked in: i915(+) drm_buddy video crc32_pclmul sr_mod hid_generic wmi crc32c_intel i2c_algo_bit sd_mod cdrom drm_display_helper cec usbhid rc_core ghash_clmulni_intel hid sha512_ssse3 ttm sha512_generic xhci_pci ehci_pci xhci_hcd ehci_hcd nvme ahci drm_kms_helper nvme_core libahci t10_pi libata psmouse aesni_intel scsi_mod crypto_simd i2c_i801 scsi_common crc64_rocksoft_generic cryptd i2c_smbus drm lpc_ich crc64_rocksoft crc_t10dif e1000e usbcore crct10dif_generic usb_common crct10dif_pclmul crc64 crct10dif_common button
[    5.469750] CR2: 0000000000000000
[    5.470364] ---[ end trace 0000000000000000 ]---
[    5.470971] RIP: 0010:intel_device_info_driver_create+0xf1/0x120 [i915]
[    5.471699] Code: 48 8b 97 80 1b 00 00 89 8f c0 1b 00 00 48 89 b7 b0 1b 00 00 48 89 97 b8 1b 00 00 0f b7 fd e8 76 e8 14 00 48 89 83 50 1b 00 00 <48> 8b 08 48 89 8b c4 1b 00 00 48 8b 48 08 48 89 8b cc 1b 00 00 8b
[    5.473034] RSP: 0018:ffffb8254044fb98 EFLAGS: 00010206
[    5.473698] RAX: 0000000000000000 RBX: ffff923076e80000 RCX: 0000000000000000
[    5.474371] RDX: 0000000000000260 RSI: 0000000100001000 RDI: 000000000000016a
[    5.475045] RBP: 000000000000016a R08: ffffb8254044fb00 R09: 0000000000000000
[    5.475725] R10: ffff922d02761de8 R11: 00657361656c6572 R12: ffffffffc0e5d140
[    5.476405] R13: ffff922d00b720d0 R14: 0000000076e80000 R15: ffff923078c0cae8
[    5.477124] FS:  00007febd19a18c0(0000) GS:ffff92307c000000(0000) knlGS:0000000000000000
[    5.477811] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    5.478499] CR2: 0000000000000000 CR3: 000000010256e002 CR4: 00000000001706f0

Fixes: 69d439818f ("drm/i915/display: Make display responsible for probing its own IP")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8991
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Reviewed-by: Luca Coelho <luciano.coelho@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230804084600.1005818-1-jani.nikula@intel.com
(cherry picked from commit 1435188307)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2023-08-14 11:59:30 -04:00
Jani Nikula
2002eb6d3e drm/i915/sdvo: fix panel_type initialization
Commit 3f9ffce576 ("drm/i915: Do panel VBT init early if the VBT
declares an explicit panel type") started using -1 as the value for
unset panel_type. It gets initialized in intel_panel_init_alloc(), but
the SDVO code never calls it.

Call intel_panel_init_alloc() to initialize the panel, including the
panel_type.

Reported-by: Tomi Leppänen <tomi@tomin.site>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8896
Fixes: 3f9ffce576 ("drm/i915: Do panel VBT init early if the VBT declares an explicit panel type")
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org> # v6.1+
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Tested-by: Tomi Leppänen <tomi@tomin.site>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230803122706.838721-1-jani.nikula@intel.com
(cherry picked from commit 26e60294e8)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2023-08-14 11:59:26 -04:00
Vinay Belgaumkar
5598c9bfdb drm/i915/guc/slpc: Restore efficient freq earlier
This should be done before the soft min/max frequencies are restored.
When we disable the "Ignore efficient frequency" flag, GuC does not
actually bring the requested freq down to RPn.

Specifically, this scenario-

- ignore efficient freq set to true
- reduce min to RPn (from efficient)
- suspend
- resume (includes GuC load, restore soft min/max, restore efficient freq)
- validate min freq has been resored to RPn

This will fail if we didn't first restore(disable, in this case) efficient
freq flag before setting the soft min frequency.

v2: Bring the min freq down to RPn when we disable efficient freq (Rodrigo)
Also made the change to set the min softlimit to RPn at init. Otherwise, we
were storing RPe there.

Link: https://gitlab.freedesktop.org/drm/intel/-/issues/8736
Fixes: 55f9720dbf ("drm/i915/guc/slpc: Provide sysfs for efficient freq")
Fixes: 95ccf312a1 ("drm/i915/guc/slpc: Allow SLPC to use efficient frequency")
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230726010044.3280402-1-vinay.belgaumkar@intel.com
(cherry picked from commit 28e671114f)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2023-08-14 11:59:22 -04:00
Dan Carpenter
0abbf0ac10 i2c: sun6i-p2wi: Fix an error message in probe()
The "ret" variable is uninitialized.  It was the "p2wi->rstc" variable
that was intended.  We can also use the %pe string format to print the
error code name instead of just the number.

Fixes: 75ff8a340a ("i2c: sun6i-p2wi: Use devm_clk_get_enabled()")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 17:52:58 +02:00
Miguel Ojeda
9418e68604 rust: enable no_mangle_with_rust_abi Clippy lint
Introduced in Rust 1.69.0 [1], this lint prevents forgetting to set
the C ABI when using `#[no_mangle]` (or thinking it is implied).

For instance, it would have prevented the issue [2] fixed by commit
c682e4c37d ("rust: kernel: Mark rust_fmt_argument as extern "C"").

    error: `#[no_mangle]` set on a function with the default (`Rust`) ABI
      --> rust/kernel/print.rs:21:1
       |
    21 | / unsafe fn rust_fmt_argument(
    22 | |     buf: *mut c_char,
    23 | |     end: *mut c_char,
    24 | |     ptr: *const c_void,
    25 | | ) -> *mut c_char {
       | |________________^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_mangle_with_rust_abi
       = note: requested on the command line with `-D clippy::no-mangle-with-rust-abi`
    help: set an ABI
       |
    21 | unsafe extern "C" fn rust_fmt_argument(
       |        ++++++++++
    help: or explicitly set the default
       |
    21 | unsafe extern "Rust" fn rust_fmt_argument(
       |        +++++++++++++

Thus enable it.

In rare cases, we may need to use the Rust ABI even with `#[no_mangle]`
(e.g. one case, before 1.71.0, would have been the `__rust_*`
functions). In those cases, we would need to `#[allow(...)]` the lint,
since using `extern "Rust"` explicitly (as the compiler suggests)
currently gets overwritten by `rustfmt` [3].

Link: https://github.com/rust-lang/rust-clippy/issues/10347 [1]
Link: https://github.com/Rust-for-Linux/linux/pull/967 [2]
Link: https://github.com/rust-lang/rustfmt/issues/5701 [3]
Reviewed-by: Trevor Gross <tmgross@umich.edu>
Reviewed-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Link: https://lore.kernel.org/r/20230729220317.416771-2-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-08-14 17:50:12 +02:00
Miguel Ojeda
89eed1ab11 rust: upgrade to Rust 1.71.1
This is the second upgrade to the Rust toolchain, from 1.68.2 to 1.71.1
(i.e. the latest).

See the upgrade policy [1] and the comments on the first upgrade in
commit 3ed03f4da0 ("rust: upgrade to Rust 1.68.2").

# Unstable features

No unstable features (that we use) were stabilized.

Therefore, the only unstable feature allowed to be used outside
the `kernel` crate is still `new_uninit`, though other code to be
upstreamed may increase the list.

Please see [2] for details.

# Required changes

For the upgrade, this patch requires the following changes:

  - Removal of the `__rust_*` allocator functions, together with
    the addition of the `__rust_no_alloc_shim_is_unstable` static.
    See [3] for details.

  - Some more compiler builtins added due to `<f{32,64}>::midpoint()`
    that got added in Rust 1.71 [4].

# `alloc` upgrade and reviewing

The vast majority of changes are due to our `alloc` fork being upgraded
at once.

There are two kinds of changes to be aware of: the ones coming from
upstream, which we should follow as closely as possible, and the updates
needed in our added fallible APIs to keep them matching the newer
infallible APIs coming from upstream.

Instead of taking a look at the diff of this patch, an alternative
approach is reviewing a diff of the changes between upstream `alloc` and
the kernel's. This allows to easily inspect the kernel additions only,
especially to check if the fallible methods we already have still match
the infallible ones in the new version coming from upstream.

Another approach is reviewing the changes introduced in the additions in
the kernel fork between the two versions. This is useful to spot
potentially unintended changes to our additions.

To apply these approaches, one may follow steps similar to the following
to generate a pair of patches that show the differences between upstream
Rust and the kernel (for the subset of `alloc` we use) before and after
applying this patch:

    # Get the difference with respect to the old version.
    git -C rust checkout $(linux/scripts/min-tool-version.sh rustc)
    git -C linux ls-tree -r --name-only HEAD -- rust/alloc |
        cut -d/ -f3- |
        grep -Fv README.md |
        xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH
    git -C linux diff --patch-with-stat --summary -R > old.patch
    git -C linux restore rust/alloc

    # Apply this patch.
    git -C linux am rust-upgrade.patch

    # Get the difference with respect to the new version.
    git -C rust checkout $(linux/scripts/min-tool-version.sh rustc)
    git -C linux ls-tree -r --name-only HEAD -- rust/alloc |
        cut -d/ -f3- |
        grep -Fv README.md |
        xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH
    git -C linux diff --patch-with-stat --summary -R > new.patch
    git -C linux restore rust/alloc

Now one may check the `new.patch` to take a look at the additions (first
approach) or at the difference between those two patches (second
approach). For the latter, a side-by-side tool is recommended.

Link: https://rust-for-linux.com/rust-version-policy [1]
Link: https://github.com/Rust-for-Linux/linux/issues/2 [2]
Link: https://github.com/rust-lang/rust/pull/86844 [3]
Link: https://github.com/rust-lang/rust/pull/92048 [4]
Closes: https://github.com/Rust-for-Linux/linux/issues/68
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: Trevor Gross <tmgross@umich.edu>
Link: https://lore.kernel.org/r/20230729220317.416771-1-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-08-14 17:50:02 +02:00
Rob Herring
59738ab266 I2C: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-14 17:47:21 +02:00
Marco Vedovati
8e50750f12 libbpf: Set close-on-exec flag on gzopen
Enable the close-on-exec flag when using gzopen. This is especially important
for multithreaded programs making use of libbpf, where a fork + exec could
race with libbpf library calls, potentially resulting in a file descriptor
leaked to the new process. This got missed in 59842c5451 ("libbpf: Ensure
libbpf always opens files with O_CLOEXEC").

Fixes: 59842c5451 ("libbpf: Ensure libbpf always opens files with O_CLOEXEC")
Signed-off-by: Marco Vedovati <marco.vedovati@crowdstrike.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20230810214350.106301-1-martin.kelly@crowdstrike.com
2023-08-14 17:35:32 +02:00
Arnd Bergmann
d6d3ddaba5 i.MX SoC change for 6.6:
- A change from Rob Herring to drop unused includes from i.MX platform
   code.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYNPcUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4zRgf/eziTRkeRHBICxz31RK1n3WXasdHc
 tyGCdkcMwtBKrhBqxOPVFuo73tTBg0Rra5eEBx4s67xI8wMYDe/SerNCHWus6kGt
 LqhnuStwD7FhK7OVRPOX4eixWpZTrrTKRcslU5daE7FaRKZ8KA2sNr0GvUMNZgGi
 hVbSQNuxvTqyrW21HbKVN5UsKR8utA8l6HBCYNmKX2NoktsjFL4KH9L7HI20NI/1
 13icDnJIwVudrM3+PnEWspBe65LtK5AztCPjmVUtXQq8AcKGpfJ/k2E5hTrPChGI
 ATSDFV5zNF5PRtqZgeYqFGUK3+WEiLhB0F9U1L1OtUC7hy6kCu3OdZ+4ZQ==
 =nLh3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaR4EACgkQYKtH/8kJ
 UifvHRAAhx1azg+WTSdEe69X4Z+hLKwkNtu3O37ftZJOXoUDz2fBByRVe4B/oG+n
 m4QcHWfKRIcQ3ABE0NVNR7NQLMmzZB54mePVJtpeumqeGAe9hZbaBWk6FkWXDsa4
 l1zT1aNyYnpWjXIxcVrU1KKyvZkfigOOYhxrEhHe1qVb6X26aNN6J7jpAXo0QIvH
 2yRCGMQKcRWir6qkE3x8K9vGsRXaCbHHBAPVORHlwvkankgZEZmsbgcfo5yvVWLd
 cgSATCp+zrr4QOTQBlXo6b7flpg4xLpso1gKYz+fFyI2ppa0DdA6iKelqzWAfGG2
 SR++XTTAHXyHBDm8OZMvSO/oePtWK+NCd/7IStGjdEyZG/jt7UOIQm4uarOC2rBa
 f6wqpR2LfB6DMTzvGnzV6KCwwwfQiABlqx8mSRg8R9IZi5o6eIn2Dm8XwgXYgG20
 witjw8zYiypq4TOzXSqYWG0/i0oZmmQOf/ALjGz9ymnuAqw4XyQkFjUckarbD+Sg
 cLbJsno9igGCxAOHW8KIJW48w+BMXRyaFrXBS1+uWwez92MjAoNcwlAqb867mvaX
 fM9tSWHYGh9IL3QsL/f6cZxtHHIgwPWNX2BxgF2QEgMybN2kRS5xqdIm3Kn2kQtL
 y0EmYvTt6NHvRu0Cqqwp9DXOQox8cHoniF6LFfoKhM1yc6+un6c=
 =Euth
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/arm

i.MX SoC change for 6.6:

- A change from Rob Herring to drop unused includes from i.MX platform
  code.

* tag 'imx-soc-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: Drop unused includes

Link: https://lore.kernel.org/r/20230813133354.847010-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 17:25:53 +02:00
Arnd Bergmann
00e1ff04d5 mvebu arm for 6.6 (part 1)
DT related headers clean-up
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZNf4EQAKCRALBhiOFHI7
 1UCXAJ9sd4lhmw3oCWzRIoPpzbRJbFVtuQCghS++U38PcHepkvO6jV2IFEyJgRs=
 =BXy4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaQr0ACgkQYKtH/8kJ
 UiexaQ/9FHwS424Bzq/wVT+PdgBwUabQ9SCcgENNEcP/J15i0eMwXdbsy/b+R38t
 705zrgW1MZVOZm4hV5u8WL99MuDTIsv5xl/RABqDD49xdDy5JAAIZyJbI3LkmG1c
 G7ECzLTeQHG83IrqZHvbR/BY5B95sOW+94pYstLXiT8yioUEsSrLdqZYOqZ5PPRU
 EKVneebxFhzZZCrgk3TjXzdY0HpG4kTzcRvXFNycFsLJwiREEeO2Ja5oUtvaIeCR
 P5XKrRL2ltIWXyhK0B9louOYhEvSCl8j+Qkh7OeFPYvqInivh7Oyin4GHwJ9exjd
 D6EX+UYgA4HFbDX3cB6dS+rTERWEVWnJMgy6NM0k4j1ChR44ElkJVJGek3rS6p6B
 P4Am5gm69230GQFA1qIR4kWiHEA1+jJiVWiYme0Cwua3SboZ1NBRxasZ1tQfQ05W
 +rOdx7XF+FwdUHeQOPeIRDsF+r9GfAQWGNnAksnDu3dV1i4HU9ZVnam6y7jYouv5
 c+K+MG7Np/1uU/u4afdzURiTzj5cRwsmgDcRu7YO//nJJMBZY9SJflK0kP9oJGzj
 4zIiOGbOl6TeavvK/FW1qxWX79QqqN+en/FzeBquG821v4ATyc7Y+g99BFLr6M1Q
 0qu1MSAivC8Gcnprlh3R1QKhuCLRcKtDVp+J4mhJwmu5Ee8Rz8M=
 =VVJO
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/arm

mvebu arm for 6.6 (part 1)

DT related headers clean-up

* tag 'mvebu-arm-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dove: Drop unused includes
  ARM: mvebu: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/87jzu0t0mu.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 17:05:33 +02:00
Peter Zijlstra
7170509cad sched: Simplify sched_core_cpu_{starting,deactivate}()
Use guards to reduce gotos and simplify control flow.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20230801211812.371787909@infradead.org
2023-08-14 17:01:27 +02:00
Peter Zijlstra
b4e1fa1e14 sched: Simplify try_steal_cookie()
Use guards to reduce gotos and simplify control flow.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20230801211812.304154828@infradead.org
2023-08-14 17:01:27 +02:00
Peter Zijlstra
6dafc713e3 sched: Simplify sched_tick_remote()
Use guards to reduce gotos and simplify control flow.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20230801211812.236247952@infradead.org
2023-08-14 17:01:26 +02:00
Peter Zijlstra
4bdada79f3 sched: Simplify sched_exec()
Use guards to reduce gotos and simplify control flow.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20230801211812.168490417@infradead.org
2023-08-14 17:01:26 +02:00