1. 31 May, 2022 11 commits
    • Gautam Dawar's avatar
      vhost: move the backend feature bits to vhost_types.h · 175d493c
      Gautam Dawar authored
      We should store feature bits in vhost_types.h as what has been done
      for e.g VHOST_F_LOG_ALL.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarGautam Dawar <gdawar@xilinx.com>
      Message-Id: <20220330180436.24644-2-gdawar@xilinx.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      175d493c
    • Xianting Tian's avatar
      virtio_ring: add unlikely annotation for free descs check · b4b4ff73
      Xianting Tian authored
      The 'if (vq->vq.num_free < descs_used)' check will almost always be false.
      Signed-off-by: default avatarXianting Tian <xianting.tian@linux.alibaba.com>
      Message-Id: <20220328105817.1028065-2-xianting.tian@linux.alibaba.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      b4b4ff73
    • Xianting Tian's avatar
      virtio_ring: remove unnecessary to_vvq call in vring hot path · 35c51e09
      Xianting Tian authored
      It passes '_vq' to virtqueue_use_indirect(), which still calls
      to_vvq to get 'vq', let's directly pass 'vq'. It can avoid
      unnecessary call of to_vvq in hot path.
      Signed-off-by: default avatarXianting Tian <xianting.tian@linux.alibaba.com>
      Message-Id: <20220328105817.1028065-1-xianting.tian@linux.alibaba.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      35c51e09
    • Suwan Kim's avatar
      virtio-blk: support mq_ops->queue_rqs() · 0e9911fa
      Suwan Kim authored
      This patch supports mq_ops->queue_rqs() hook. It has an advantage of
      batch submission to virtio-blk driver. It also helps polling I/O because
      polling uses batched completion of block layer. Batch submission in
      queue_rqs() can boost polling performance.
      
      In queue_rqs(), it iterates plug->mq_list, collects requests that
      belong to same HW queue until it encounters a request from other
      HW queue or sees the end of the list.
      Then, virtio-blk adds requests into virtqueue and kicks virtqueue
      to submit requests.
      
      If there is an error, it inserts error request to requeue_list and
      passes it to ordinary block layer path.
      
      For verification, I did fio test.
      (io_uring, randread, direct=1, bs=4K, iodepth=64 numjobs=N)
      I set 4 vcpu and 2 virtio-blk queues for VM and run fio test 5 times.
      It shows about 2% improvement.
      
                                       |   numjobs=2   |   numjobs=4
            -----------------------------------------------------------
              fio without queue_rqs()  |   291K IOPS   |   238K IOPS
            -----------------------------------------------------------
              fio with queue_rqs()     |   295K IOPS   |   243K IOPS
      
      For polling I/O performance, I also did fio test as below.
      (io_uring, hipri, randread, direct=1, bs=512, iodepth=64 numjobs=4)
      I set 4 vcpu and 2 poll queues for VM.
      It shows about 2% improvement in polling I/O.
      
                                            |   IOPS   |  avg latency
            -----------------------------------------------------------
              fio poll without queue_rqs()  |   424K   |   613.05 usec
            -----------------------------------------------------------
              fio poll with queue_rqs()     |   435K   |   601.01 usec
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarSuwan Kim <suwan.kim027@gmail.com>
      Message-Id: <20220406153207.163134-3-suwan.kim027@gmail.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
      0e9911fa
    • Suwan Kim's avatar
      virtio-blk: support polling I/O · 4e040052
      Suwan Kim authored
      This patch supports polling I/O via virtio-blk driver. Polling
      feature is enabled by module parameter "poll_queues" and it sets
      dedicated polling queues for virtio-blk. This patch improves the
      polling I/O throughput and latency.
      
      The virtio-blk driver doesn't not have a poll function and a poll
      queue and it has been operating in interrupt driven method even if
      the polling function is called in the upper layer.
      
      virtio-blk polling is implemented upon 'batched completion' of block
      layer. virtblk_poll() queues completed request to io_comp_batch->req_list
      and later, virtblk_complete_batch() calls unmap function and ends
      the requests in batch.
      
      virtio-blk reads the number of poll queues from module parameter
      "poll_queues". If VM sets queue parameter as below,
      ("num-queues=N" [QEMU property], "poll_queues=M" [module parameter])
      It allocates N virtqueues to virtio_blk->vqs[N] and it uses [0..(N-M-1)]
      as default queues and [(N-M)..(N-1)] as poll queues. Unlike the default
      queues, the poll queues have no callback function.
      
      Regarding HW-SW queue mapping, the default queue mapping uses the
      existing method that condsiders MSI irq vector. But the poll queue
      doesn't have an irq, so it uses the regular blk-mq cpu mapping.
      
      For verifying the improvement, I did Fio polling I/O performance test
      with io_uring engine with the options below.
      (io_uring, hipri, randread, direct=1, bs=512, iodepth=64 numjobs=N)
      I set 4 vcpu and 4 virtio-blk queues - 2 default queues and 2 poll
      queues for VM.
      
      As a result, IOPS and average latency improved about 10%.
      
      Test result:
      
      - Fio io_uring poll without virtio-blk poll support
      	-- numjobs=1 : IOPS = 339K, avg latency = 188.33us
      	-- numjobs=2 : IOPS = 367K, avg latency = 347.33us
      	-- numjobs=4 : IOPS = 383K, avg latency = 682.06us
      
      - Fio io_uring poll with virtio-blk poll support
      	-- numjobs=1 : IOPS = 385K, avg latency = 165.94us
      	-- numjobs=2 : IOPS = 408K, avg latency = 313.28us
      	-- numjobs=4 : IOPS = 424K, avg latency = 613.05us
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarMax Gurtovoy <mgurtovoy@nvidia.com>
      Signed-off-by: default avatarSuwan Kim <suwan.kim027@gmail.com>
      Message-Id: <20220406153207.163134-2-suwan.kim027@gmail.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
      4e040052
    • Eli Cohen's avatar
      vdpa/mlx5: Use readers/writers semaphore instead of mutex · 759ae7f9
      Eli Cohen authored
      Reading statistics could be done intensively and by several processes
      concurrently. Reader's lock is sufficient in this case.
      
      Change reslock from mutex to a rwsem.
      Suggested-by: default avatarSi-Wei Liu <si-wei.liu@oracle.com>
      Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
      Message-Id: <20220518133804.1075129-7-elic@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      759ae7f9
    • Eli Cohen's avatar
      vdpa/mlx5: Add support for reading descriptor statistics · 1892a3d4
      Eli Cohen authored
      Implement the get_vq_stats calback of vdpa_config_ops to return the
      statistics for a virtqueue.
      
      The statistics are provided as vendor specific statistics where the
      driver provides a pair of attribute name and attribute value.
      
      Currently supported are received descriptors and completed descriptors.
      Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
      Message-Id: <20220518133804.1075129-6-elic@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      1892a3d4
    • Eli Cohen's avatar
      net/vdpa: Use readers/writers semaphore instead of cf_mutex · a6a51adc
      Eli Cohen authored
      Replace cf_mutex with rw_semaphore to reflect the fact that some calls
      could be called concurrently but can suffice with read lock.
      Suggested-by: default avatarSi-Wei Liu <si-wei.liu@oracle.com>
      Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
      Message-Id: <20220518133804.1075129-5-elic@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      a6a51adc
    • Eli Cohen's avatar
      net/vdpa: Use readers/writers semaphore instead of vdpa_dev_mutex · 0078ad90
      Eli Cohen authored
      Use rw_semaphore instead of mutex to control access to vdpa devices.
      This can be especially beneficial in case processes poll on statistics
      information.
      Suggested-by: default avatarSi-Wei Liu <si-wei.liu@oracle.com>
      Reviewed-by: default avatarSi-Wei Liu <si-wei.liu@oracle.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
      Message-Id: <20220518133804.1075129-4-elic@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      0078ad90
    • Eli Cohen's avatar
      vdpa: Add support for querying vendor statistics · 13b00b13
      Eli Cohen authored
      Allows to read vendor statistics of a vdpa device. The specific
      statistics data are received from the upstream driver in the form of an
      (attribute name, attribute value) pairs.
      
      An example of statistics for mlx5_vdpa device are:
      
      received_desc - number of descriptors received by the virtqueue
      completed_desc - number of descriptors completed by the virtqueue
      
      A descriptor using indirect buffers is still counted as 1. In addition,
      N chained descriptors are counted correctly N times as one would expect.
      
      A new callback was added to vdpa_config_ops which provides the means for
      the vdpa driver to return statistics results.
      
      The interface allows for reading all the supported virtqueues, including
      the control virtqueue if it exists.
      
      Below are some examples taken from mlx5_vdpa which are introduced in the
      following patch:
      
      1. Read statistics for the virtqueue at index 1
      
      $ vdpa dev vstats show vdpa-a qidx 1
      vdpa-a:
      queue_type tx queue_index 1 received_desc 3844836 completed_desc 3844836
      
      2. Read statistics for the virtqueue at index 32
      $ vdpa dev vstats show vdpa-a qidx 32
      vdpa-a:
      queue_type control_vq queue_index 32 received_desc 62 completed_desc 62
      
      3. Read statisitics for the virtqueue at index 0 with json output
      $ vdpa -j dev vstats show vdpa-a qidx 0
      {"vstats":{"vdpa-a":{
      "queue_type":"rx","queue_index":0,"name":"received_desc","value":417776,\
       "name":"completed_desc","value":417548}}}
      
      4. Read statistics for the virtqueue at index 0 with preety json output
      $ vdpa -jp dev vstats show vdpa-a qidx 0
      {
          "vstats": {
              "vdpa-a": {
      
                  "queue_type": "rx",
                  "queue_index": 0,
                  "name": "received_desc",
                  "value": 417776,
                  "name": "completed_desc",
                  "value": 417548
              }
          }
      }
      Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
      Message-Id: <20220518133804.1075129-3-elic@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      13b00b13
    • Eli Cohen's avatar
      vdpa: Fix error logic in vdpa_nl_cmd_dev_get_doit · 7a6691f1
      Eli Cohen authored
      In vdpa_nl_cmd_dev_get_doit(), if the call to genlmsg_reply() fails we
      must not call nlmsg_free() since this is done inside genlmsg_reply().
      
      Fix it.
      
      Fixes: bc0d90ee ("vdpa: Enable user to query vdpa device info")
      Reviewed-by: default avatarSi-Wei Liu <si-wei.liu@oracle.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarEli Cohen <elic@nvidia.com>
      Message-Id: <20220518133804.1075129-2-elic@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      7a6691f1
  2. 30 May, 2022 17 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 8ab2afa2
      Linus Torvalds authored
      Pull fbdev fixes and updates from Helge Deller:
       "A buch of small fixes and cleanups, including:
      
         - vesafb: Fix a use-after-free due early fb_info cleanup
      
         - clcdfb: Fix refcount leak in clcdfb_of_vram_setup
      
         - hyperv_fb: Allow resolutions with size > 64 MB for Gen1
      
         - pxa3xx-gcu: release the resources correctly in
           pxa3xx_gcu_probe/remove()
      
         - omapfb: Prevent compiler warning regarding
           hwa742_update_window_async()"
      
      * tag 'for-5.19/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        video: fbdev: omap: Add prototype for hwa742_update_window_async()
        video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup
        video: fbdev: radeon: Fix spelling typo in comment
        video: fbdev: xen: remove setting of 'transp' parameter
        video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
        video: fbdev: omapfb: simplify the return expression of nec_8048_connect()
        video: fbdev: omapfb: simplify the return expression of dsi_init_pll_data()
        video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
        video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1
      8ab2afa2
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/parisc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · e11a9356
      Linus Torvalds authored
      Pull parisc architecture updates from Helge Deller:
       "Minor cleanups and code optimizations, e.g.:
      
         - improvements in assembly statements in the tmpalias code path
      
         - added some additionals compile time checks
      
         - drop some unneccesary assembler DMA syncs"
      
      * tag 'for-5.19/parisc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Drop __ARCH_WANT_OLD_READDIR and __ARCH_WANT_SYS_OLDUMOUNT
        parisc: Optimize tmpalias function calls
        parisc: Add dep_safe() macro to deposit a register in 32- and 64-kernels
        parisc: Fix wrong comment for shr macro
        parisc: Prevent ldil() to sign-extend into upper 32 bits
        parisc: Don't hardcode assembler bit definitions in tmpalias code
        parisc: Don't enforce DMA completion order in cache flushes
        parisc: video: fbdev: stifb: Add sti_dump_font() to dump STI font
      e11a9356
    • Linus Torvalds's avatar
      Merge tag 'pm-5.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1ff7bc3b
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These update the ARM cpufreq drivers and fix up the CPPC cpufreq
        driver after recent changes, update the OPP code and PM documentation
        and add power sequences support to the system reboot and power off
        code.
      
        Specifics:
      
         - Add Tegra234 cpufreq support (Sumit Gupta)
      
         - Clean up and enhance the Mediatek cpufreq driver (Wan Jiabing,
           Rex-BC Chen, and Jia-Wei Chang)
      
         - Fix up the CPPC cpufreq driver after recent changes (Zheng Bin,
           Pierre Gondois)
      
         - Minor update to dt-binding for Qcom's opp-v2-kryo-cpu (Yassine
           Oudjana)
      
         - Use list iterator only inside the list_for_each_entry loop
           (Xiaomeng Tong, and Jakob Koschel)
      
         - New APIs related to finding OPP based on interconnect bandwidth
           (Krzysztof Kozlowski)
      
         - Fix the missing of_node_put() in _bandwidth_supported() (Dan
           Carpenter)
      
         - Cleanups (Krzysztof Kozlowski, and Viresh Kumar)
      
         - Add Out of Band mode description to the intel-speed-select utility
           documentation (Srinivas Pandruvada)
      
         - Add power sequences support to the system reboot and power off code
           and make related platform-specific changes for multiple platforms
           (Dmitry Osipenko, Geert Uytterhoeven)"
      
      * tag 'pm-5.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (60 commits)
        cpufreq: CPPC: Fix unused-function warning
        cpufreq: CPPC: Fix build error without CONFIG_ACPI_CPPC_CPUFREQ_FIE
        Documentation: admin-guide: PM: Add Out of Band mode
        kernel/reboot: Change registration order of legacy power-off handler
        m68k: virt: Switch to new sys-off handler API
        kernel/reboot: Add devm_register_restart_handler()
        kernel/reboot: Add devm_register_power_off_handler()
        soc/tegra: pmc: Use sys-off handler API to power off Nexus 7 properly
        reboot: Remove pm_power_off_prepare()
        regulator: pfuze100: Use devm_register_sys_off_handler()
        ACPI: power: Switch to sys-off handler API
        memory: emif: Use kernel_can_power_off()
        mips: Use do_kernel_power_off()
        ia64: Use do_kernel_power_off()
        x86: Use do_kernel_power_off()
        sh: Use do_kernel_power_off()
        m68k: Switch to new sys-off handler API
        powerpc: Use do_kernel_power_off()
        xen/x86: Use do_kernel_power_off()
        parisc: Use do_kernel_power_off()
        ...
      1ff7bc3b
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 32665a9e
      Linus Torvalds authored
      Pull additional thermal control update from Rafael Wysocki:
       "Add Meteor Lake PCI device ID to the int340x thermal control driver
        (Sumeet Pawnikar)"
      
      * tag 'thermal-5.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: int340x: Add Meteor Lake PCI device ID
      32665a9e
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 527953ef
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These add some new device IDs, update a few drivers (processor,
        battery, backlight) and clean up code in a few places.
      
        Specifics:
      
         - Add Meteor Lake ACPI IDs for DPTF devices (Sumeet Pawnikar)
      
         - Rearrange find_child_checks() to simplify code (Rafael Wysocki)
      
         - Use memremap() to map the UCSI mailbox that is always in main
           memory and drop acpi_release_memory() that has no more users
           (Heikki Krogerus, Dan Carpenter)
      
         - Make max_cstate/nocst/bm_check_disable processor module parameters
           visible in sysfs (Yajun Deng)
      
         - Fix typo in the CPPC driver (Julia Lawall)
      
         - Make the ACPI battery driver show the "not-charging" status by
           default unless "charging" or "full" is directly indicated (Werner
           Sembach)
      
         - Improve the PM notifier in the ACPI backlight driver (Zhang Rui)
      
         - Clean up some white space in the ACPI code (Ian Cowan)"
      
      * tag 'acpi-5.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        usb: typec: ucsi: acpi: fix a NULL vs IS_ERR() check in probe
        ACPI: DPTF: Support Meteor Lake
        ACPI: CPPC: fix typo in comment
        ACPI: video: improve PM notifer callback
        ACPI: clean up white space in a few places for consistency
        ACPI: glue: Rearrange find_child_checks()
        ACPI: processor: idle: Expose max_cstate/nocst/bm_check_disable read-only in sysfs
        ACPI: battery: Make "not-charging" the default on no charging or full info
        ACPI: OSL: Remove the helper for deactivating memory region
        usb: typec: ucsi: acpi: Map the mailbox with memremap()
      527953ef
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 2c5ca23f
      Linus Torvalds authored
      Pull overlayfs updates from Miklos Szeredi:
      
       - Support idmapped layers in overlayfs (Christian Brauner)
      
       - Add a fix to exportfs that is relevant to open_by_handle_at(2) as
         well
      
       - Introduce new lookup helpers that allow passing mnt_userns into
         inode_permission()
      
      * tag 'ovl-update-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: support idmapped layers
        ovl: handle idmappings in ovl_xattr_{g,s}et()
        ovl: handle idmappings in layer open helpers
        ovl: handle idmappings in ovl_permission()
        ovl: use ovl_copy_{real,upper}attr() wrappers
        ovl: store lower path in ovl_inode
        ovl: handle idmappings for layer lookup
        ovl: handle idmappings for layer fileattrs
        ovl: use ovl_path_getxattr() wrapper
        ovl: use ovl_lookup_upper() wrapper
        ovl: use ovl_do_notify_change() wrapper
        ovl: pass layer mnt to ovl_open_realfile()
        ovl: pass ofs to setattr operations
        ovl: handle idmappings in creation operations
        ovl: add ovl_upper_mnt_userns() wrapper
        ovl: pass ofs to creation operations
        ovl: use wrappers to all vfs_*xattr() calls
        exportfs: support idmapped mounts
        fs: add two trivial lookup helpers
      2c5ca23f
    • Linus Torvalds's avatar
      Merge tag 'mips_5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 73d15ba6
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
       "Cleanups and fixes"
      
      * tag 'mips_5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (38 commits)
        MIPS: RALINK: Define pci_remap_iospace under CONFIG_PCI_DRIVERS_GENERIC
        MIPS: Use memblock_add_node() in early_parse_mem() under CONFIG_NUMA
        MIPS: Return -EINVAL if mem parameter is empty in early_parse_mem()
        MIPS: Kconfig: Fix indentation and add endif comment
        MIPS: bmips: Fix compiler warning observed on W=1 build
        MIPS: Rewrite `csum_tcpudp_nofold' in plain C
        mips: setup: use strscpy to replace strlcpy
        MIPS: Octeon: add SNIC10E board
        MIPS: Ingenic: Refresh defconfig for CU1000-Neo and CU1830-Neo.
        MIPS: Ingenic: Refresh device tree for Ingenic SoCs and boards.
        MIPS: Ingenic: Add PWM nodes for X1830.
        MIPS: Octeon: fix typo in comment
        MIPS: loongson32: Kconfig: Remove extra space
        MIPS: Sibyte: remove unnecessary return variable
        MIPS: Use NOKPROBE_SYMBOL() instead of __kprobes annotation
        selftests/ftrace: Save kprobe_events to test log
        MIPS: tools: no need to initialise statics to 0
        MIPS: Loongson: Use hwmon_device_register_with_groups() to register hwmon
        MIPS: VR41xx: Drop redundant spinlock initialization
        MIPS: smp: optimization for flush_tlb_mm when exiting
        ...
      73d15ba6
    • Linus Torvalds's avatar
      Merge tag 'm68knommu-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 2d2da475
      Linus Torvalds authored
      Pull m68knommu updates from Greg Ungerer:
       "A collection of changes to add elf-fdpic loader support for m68k.
      
        Also a collection of various fixes. They include typo corrections,
        undefined symbol compilation fixes, removal of the ISA_DMA_API support
        and removal of unused code.
      
        Summary:
      
         - correctly set up ZERO_PAGE pointer
      
         - drop ISA_DMA_API support
      
         - fix comment typos
      
         - fixes for undefined symbols
      
         - remove unused code and variables
      
         - elf-fdpic loader support for m68k"
      
      * tag 'm68knommu-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68knommu: fix 68000 CPU link with no platform selected
        m68k: removed unused "mach_get_ss"
        m68knommu: fix undefined reference to `mach_get_rtc_pll'
        m68knommu: fix undefined reference to `_init_sp'
        m68knommu: allow elf_fdpic loader to be selected
        m68knommu: add definitions to support elf_fdpic program loader
        m68knommu: implement minimal regset support
        m68knommu: use asm-generic/mmu.h for nommu setups
        m68k: fix typos in comments
        m68k: coldfire: drop ISA_DMA_API support
        m68knommu: set ZERO_PAGE() to the allocated zeroed page
      2d2da475
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-battery', 'acpi-video' and 'acpi-misc' · 4a577fca
      Rafael J. Wysocki authored
      Merge ACPI battery and backlight driver update and miscellaneous
      cleanup for 5.19-rc1:
      
       - Make the ACPI battery driver show the "not-charging" status by
         default unless "charging" or "full" is directly indicated (Werner
         Sembach).
      
       - Improve the PM notifier in the ACPI backlight driver (Zhang Rui).
      
       - Clean up some white space in the ACPI code (Ian Cowan).
      
      * acpi-battery:
        ACPI: battery: Make "not-charging" the default on no charging or full info
      
      * acpi-video:
        ACPI: video: improve PM notifer callback
      
      * acpi-misc:
        ACPI: clean up white space in a few places for consistency
      4a577fca
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-glue', 'acpi-osl', 'acpi-processor' and 'acpi-cppc' · 15f4bb9a
      Rafael J. Wysocki authored
      Merge general ACPI cleanups and processor support updates for 5.19-rc1:
      
       - Rearrange find_child_checks() to simplify code (Rafael Wysocki).
      
       - Use memremap() to map the UCSI mailbox that is always in main memory
         and drop acpi_release_memory() that has no more users (Heikki
         Krogerus, Dan Carpenter).
      
       - Make max_cstate/nocst/bm_check_disable processor module parameters
         visible in sysfs (Yajun Deng).
      
       - Fix typo in the CPPC driver (Julia Lawall).
      
      * acpi-glue:
        ACPI: glue: Rearrange find_child_checks()
      
      * acpi-osl:
        usb: typec: ucsi: acpi: fix a NULL vs IS_ERR() check in probe
        ACPI: OSL: Remove the helper for deactivating memory region
        usb: typec: ucsi: acpi: Map the mailbox with memremap()
      
      * acpi-processor:
        ACPI: processor: idle: Expose max_cstate/nocst/bm_check_disable read-only in sysfs
      
      * acpi-cppc:
        ACPI: CPPC: fix typo in comment
      15f4bb9a
    • Dan Carpenter's avatar
      usb: typec: ucsi: acpi: fix a NULL vs IS_ERR() check in probe · a9face89
      Dan Carpenter authored
      The devm_memremap() function never returns NULL.  It returns error
      pointers.
      
      Fixes: cdc3d2ab ("usb: typec: ucsi: acpi: Map the mailbox with memremap()")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a9face89
    • Helge Deller's avatar
      parisc: Drop __ARCH_WANT_OLD_READDIR and __ARCH_WANT_SYS_OLDUMOUNT · 72acadfe
      Helge Deller authored
      Those old syscalls aren't exported via our syscall table, so just drop
      them.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      72acadfe
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sysoff' · 9f9c1f68
      Rafael J. Wysocki authored
      Merge system power off handling rework from Dmitry Osipenko for
      5.19-rc1.
      
      This introduces a mechanism allowing power sequences to be used for
      powering off the system and makes related changes in platform-specific
      code for multiple platforms.
      
      * pm-sysoff: (29 commits)
        kernel/reboot: Change registration order of legacy power-off handler
        m68k: virt: Switch to new sys-off handler API
        kernel/reboot: Add devm_register_restart_handler()
        kernel/reboot: Add devm_register_power_off_handler()
        soc/tegra: pmc: Use sys-off handler API to power off Nexus 7 properly
        reboot: Remove pm_power_off_prepare()
        regulator: pfuze100: Use devm_register_sys_off_handler()
        ACPI: power: Switch to sys-off handler API
        memory: emif: Use kernel_can_power_off()
        mips: Use do_kernel_power_off()
        ia64: Use do_kernel_power_off()
        x86: Use do_kernel_power_off()
        sh: Use do_kernel_power_off()
        m68k: Switch to new sys-off handler API
        powerpc: Use do_kernel_power_off()
        xen/x86: Use do_kernel_power_off()
        parisc: Use do_kernel_power_off()
        arm64: Use do_kernel_power_off()
        riscv: Use do_kernel_power_off()
        csky: Use do_kernel_power_off()
        ...
      9f9c1f68
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-docs' · 1cdc5ba0
      Rafael J. Wysocki authored
      Merge PM documentation update for 5.19-rc1.
      
      * pm-docs:
        Documentation: admin-guide: PM: Add Out of Band mode
      1cdc5ba0
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-opp' · 22ffff6d
      Rafael J. Wysocki authored
      Merge OPP (Operating Performance Points) changes for 5.19-rc1:
      
       - Minor update to dt-binding for Qcom's opp-v2-kryo-cpu (Yassine
         Oudjana).
      
       - Use list iterator only inside the list_for_each_entry loop (Xiaomeng
         Tong, and Jakob Koschel).
      
       - New APIs related to finding OPP based on interconnect bandwidth
         (Krzysztof Kozlowski).
      
       - Fix the missing of_node_put() in _bandwidth_supported() (Dan
         Carpenter).
      
       - Cleanups (Krzysztof Kozlowski, and Viresh Kumar).
      
      * pm-opp:
        opp: Reorder definition of ceil/floor helpers
        opp: Add apis to retrieve opps with interconnect bandwidth
        dt-bindings: opp: opp-v2-kryo-cpu: Remove SMEM
        opp: use list iterator only inside the loop
        opp: replace usage of found with dedicated list iterator variable
        PM: opp: simplify with dev_err_probe()
        OPP: call of_node_put() on error path in _bandwidth_supported()
      22ffff6d
    • Pierre Gondois's avatar
      cpufreq: CPPC: Fix unused-function warning · da436345
      Pierre Gondois authored
      Building the cppc_cpufreq driver with for arm64 with
      CONFIG_ENERGY_MODEL=n triggers the following warnings:
       drivers/cpufreq/cppc_cpufreq.c:550:12: error: ‘cppc_get_cpu_cost’ defined but not used
      [-Werror=unused-function]
         550 | static int cppc_get_cpu_cost(struct device *cpu_dev, unsigned long KHz,
             |            ^~~~~~~~~~~~~~~~~
       drivers/cpufreq/cppc_cpufreq.c:481:12: error: ‘cppc_get_cpu_power’ defined but not used
      [-Werror=unused-function]
         481 | static int cppc_get_cpu_power(struct device *cpu_dev,
             |            ^~~~~~~~~~~~~~~~~~
      
      Move the Energy Model related functions into specific guards.
      This allows to fix the warning and prevent doing extra work
      when the Energy Model is not present.
      
      Fixes: 740fcdc2 ("cpufreq: CPPC: Register EM based on efficiency class information")
      Reported-by: default avatarShaokun Zhang <zhangshaokun@hisilicon.com>
      Signed-off-by: default avatarPierre Gondois <pierre.gondois@arm.com>
      Tested-by: default avatarShaokun Zhang <zhangshaokun@hisilicon.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      da436345
    • Zheng Bin's avatar
      cpufreq: CPPC: Fix build error without CONFIG_ACPI_CPPC_CPUFREQ_FIE · a3f083e0
      Zheng Bin authored
      If CONFIG_ACPI_CPPC_CPUFREQ_FIE is not set, building fails:
      
      drivers/cpufreq/cppc_cpufreq.c: In function ‘populate_efficiency_class’:
      drivers/cpufreq/cppc_cpufreq.c:584:2: error: ‘cppc_cpufreq_driver’ undeclared (first use in this function); did you mean ‘cpufreq_driver’?
        cppc_cpufreq_driver.register_em = cppc_cpufreq_register_em;
        ^~~~~~~~~~~~~~~~~~~
        cpufreq_driver
      
      Make declare of cppc_cpufreq_driver out of CONFIG_ACPI_CPPC_CPUFREQ_FIE
      to fix this.
      
      Fixes: 740fcdc2 ("cpufreq: CPPC: Register EM based on efficiency class information")
      Signed-off-by: default avatarZheng Bin <zhengbin13@huawei.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a3f083e0
  3. 29 May, 2022 5 commits
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · b00ed48b
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "Nothing special, this includes a couple of new device support and new
        driver support and bunch of driver updates.
      
        New support:
      
         - Tegra gpcdma driver support
      
         - Qualcomm SM8350, Sm8450 and SC7280 device support
      
         - Renesas RZN1 dma and platform support
      
        Updates:
      
         - stm32 device pause/resume support and updates
      
         - DMA memset ops Documentation and usage clarification
      
         - deprecate '#dma-channels' & '#dma-requests' bindings
      
         - driver updates for stm32, ptdma idsx etc"
      
      * tag 'dmaengine-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (87 commits)
        dmaengine: idxd: make idxd_wq_enable() return 0 if wq is already enabled
        dmaengine: sun6i: Add support for the D1 variant
        dmaengine: sun6i: Add support for 34-bit physical addresses
        dmaengine: sun6i: Do not use virt_to_phys
        dt-bindings: dma: sun50i-a64: Add compatible for D1
        dmaengine: tegra: Remove unused switch case
        dmaengine: tegra: Fix uninitialized variable usage
        dmaengine: stm32-dma: add device_pause/device_resume support
        dmaengine: stm32-dma: rename pm ops before dma pause/resume introduction
        dmaengine: stm32-dma: pass DMA_SxSCR value to stm32_dma_handle_chan_done()
        dmaengine: stm32-dma: introduce stm32_dma_sg_inc to manage chan->next_sg
        dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor
        dmaengine: qcom: gpi: Add support for sc7280
        dt-bindings: dma: pl330: Add power-domains
        dmaengine: stm32-mdma: use dev_dbg on non-busy channel spurious it
        dmaengine: stm32-mdma: fix chan initialization in stm32_mdma_irq_handler()
        dmaengine: stm32-mdma: remove GISR1 register
        dmaengine: ti: deprecate '#dma-channels'
        dmaengine: mmp: deprecate '#dma-channels'
        dmaengine: pxa: deprecate '#dma-channels' and '#dma-requests'
        ...
      b00ed48b
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · c3a9a3c5
      Linus Torvalds authored
      Pull tracing tool updates from Steven Rostedt:
      
       - Various clean ups and fixes to rtla (Real Time Linux Analysis)
      
      * tag 'trace-tools-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        rtla: Remove procps-ng dependency
        rtla: Fix __set_sched_attr error message
        rtla: Minor grammar fix for rtla README
        rtla: Don't overwrite existing directory mode
        rtla: Avoid record NULL pointer dereference
        rtla/Makefile: Properly handle dependencies
      c3a9a3c5
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 76bfd3de
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "The majority of the changes are for fixes and clean ups.
      
        Notable changes:
      
         - Rework trace event triggers code to be easier to interact with.
      
         - Support for embedding bootconfig with the kernel (as suppose to
           having it embedded in initram). This is useful for embedded boards
           without initram disks.
      
         - Speed up boot by parallelizing the creation of tracefs files.
      
         - Allow absolute ring buffer timestamps handle timestamps that use
           more than 59 bits.
      
         - Added new tracing clock "TAI" (International Atomic Time)
      
         - Have weak functions show up in available_filter_function list as:
           __ftrace_invalid_address___<invalid-offset> instead of using the
           name of the function before it"
      
      * tag 'trace-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (52 commits)
        ftrace: Add FTRACE_MCOUNT_MAX_OFFSET to avoid adding weak function
        tracing: Fix comments for event_trigger_separate_filter()
        x86/traceponit: Fix comment about irq vector tracepoints
        x86,tracing: Remove unused headers
        ftrace: Clean up hash direct_functions on register failures
        tracing: Fix comments of create_filter()
        tracing: Disable kcov on trace_preemptirq.c
        tracing: Initialize integer variable to prevent garbage return value
        ftrace: Fix typo in comment
        ftrace: Remove return value of ftrace_arch_modify_*()
        tracing: Cleanup code by removing init "char *name"
        tracing: Change "char *" string form to "char []"
        tracing/timerlat: Do not wakeup the thread if the trace stops at the IRQ
        tracing/timerlat: Print stacktrace in the IRQ handler if needed
        tracing/timerlat: Notify IRQ new max latency only if stop tracing is set
        kprobes: Fix build errors with CONFIG_KRETPROBES=n
        tracing: Fix return value of trace_pid_write()
        tracing: Fix potential double free in create_var_ref()
        tracing: Use strim() to remove whitespace instead of doing it manually
        ftrace: Deal with error return code of the ftrace_process_locs() function
        ...
      76bfd3de
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.19-2022-05-28' of... · 09f73a1a
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.19-2022-05-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Add BPF based off-CPU profiling
      
       - Improvements for system wide recording, specially for Intel PT
      
       - Improve DWARF unwinding on arm64
      
       - Support Arm CoreSight trace data disassembly in 'perf script' python
      
       - Fix build with new libbpf version, related to supporting older
         versions of distro released libbpf packages
      
       - Fix event syntax error caused by ExtSel in the JSON events infra
      
       - Use stdio interface if slang is not supported in 'perf c2c'
      
       - Add 'perf test' checking for perf stat CSV output
      
       - Sync the msr-index.h copy with the kernel sources
      
      * tag 'perf-tools-for-v5.19-2022-05-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (38 commits)
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        perf scripts python: Support Arm CoreSight trace data disassembly
        perf scripting python: Expose dso and map information
        perf jevents: Fix event syntax error caused by ExtSel
        perf tools arm64: Add support for VG register
        perf unwind arm64: Decouple Libunwind register names from Perf
        perf unwind: Use dynamic register set for DWARF unwind
        perf tools arm64: Copy perf_regs.h from the kernel
        perf unwind arm64: Use perf's copy of kernel headers
        perf c2c: Use stdio interface if slang is not supported
        perf test: Add a basic offcpu profiling test
        perf record: Add cgroup support for off-cpu profiling
        perf record: Handle argument change in sched_switch
        perf record: Implement basic filtering for off-cpu
        perf record: Enable off-cpu analysis with BPF
        perf report: Do not extend sample type of bpf-output event
        perf test: Add checking for perf stat CSV output.
        perf tools: Allow system-wide events to keep their own threads
        perf tools: Allow system-wide events to keep their own CPUs
        libperf evsel: Add comments for booleans
        ...
      09f73a1a
    • Helge Deller's avatar
      video: fbdev: omap: Add prototype for hwa742_update_window_async() · 79b66128
      Helge Deller authored
      The symbol hwa742_update_window_async() is exported, but there is no
      prototype defined for it. That's why gcc complains:
      
      drivers-video-fbdev-omap-hwa742.c:warning:no-previous-prototype-for-hwa742_update_window_async
      
      Add the prototype, but I wonder if we couldn't drop exporting the symbol
      instead. Since omapfb_update_window_async() is exported the same way,
      are there any users outside of the tree?
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      79b66128
  4. 28 May, 2022 7 commits
    • Linus Torvalds's avatar
      Merge tag 'input-for-v5.19-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 664a393a
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a new driver for the Azoteq IQS7222A/B/C capacitive touch controller
      
       - a new driver for Raspberry Pi Sense HAT joystick
      
       - sun4i-lradc-keys gained support of R329 and D1 variants, plus it can
         be now used as a wakeup source
      
       - pm8941-pwrkey can now properly handle PON GEN3 variants; the driver
         also implements software debouncing and has a workaround for missing
         key press events
      
       - assorted driver fixes and cleanups
      
      * tag 'input-for-v5.19-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (29 commits)
        Input: stmfts - do not leave device disabled in stmfts_input_open
        Input: gpio-keys - cancel delayed work only in case of GPIO
        Input: cypress_ps2 - fix typo in comment
        Input: vmmouse - disable vmmouse before entering suspend mode
        dt-bindings: google,cros-ec-keyb: Fixup bad compatible match
        Input: cros-ec-keyb - allow skipping keyboard registration
        dt-bindings: google,cros-ec-keyb: Introduce switches only compatible
        Input: psmouse-smbus - avoid flush_scheduled_work() usage
        Input: bcm-keypad - remove unneeded NULL check before clk_disable_unprepare
        Input: sparcspkr - fix refcount leak in bbc_beep_probe
        Input: sun4i-lradc-keys - add support for R329 and D1
        Input: sun4i-lradc-keys - add optional clock/reset support
        dt-bindings: input: sun4i-lradc-keys: Add R329 and D1 compatibles
        Input: sun4i-lradc-keys - add wakeup support
        Input: pm8941-pwrkey - simulate missed key press events
        Input: pm8941-pwrkey - add software key press debouncing support
        Input: pm8941-pwrkey - add support for PON GEN3 base addresses
        Input: pm8941-pwrkey - fix error message
        Input: synaptics-rmi4 - remove unnecessary flush_workqueue()
        Input: ep93xx_keypad - use devm_platform_ioremap_resource() helper
        ...
      664a393a
    • Linus Torvalds's avatar
      drm: fix EDID struct for old ARM OABI format · 47f15561
      Linus Torvalds authored
      When building the kernel for arm with the "-mabi=apcs-gnu" option, gcc
      will force alignment of all structures and unions to a word boundary
      (see also STRUCTURE_SIZE_BOUNDARY and the "-mstructure-size-boundary=XX"
      option if you're a gcc person), even when the members of said structures
      do not want or need said alignment.
      
      This completely messes up the structure alignment of 'struct edid' on
      those targets, because even though all the embedded structures are
      marked with "__attribute__((packed))", the unions that contain them are
      not.
      
      This was exposed by commit f1e4c916 ("drm/edid: add EDID block count
      and size helpers"), but the bug is pre-existing.  That commit just made
      the structure layout problem cause a build failure due to the addition
      of the
      
              BUILD_BUG_ON(sizeof(*edid) != EDID_LENGTH);
      
      sanity check in drivers/gpu/drm/drm_edid.c:edid_block_data().
      
      This legacy union alignment should probably not be used in the first
      place, but we can fix the layout by adding the packed attribute to the
      union entries even when each member is already packed and it shouldn't
      matter in a sane build environment.
      
      You can see this issue with a trivial test program:
      
        union {
      	struct {
      		char c[5];
      	};
      	struct {
      		char d;
      		unsigned e;
      	} __attribute__((packed));
        } a = { "1234" };
      
      where building this with a normal "gcc -S" will result in the expected
      5-byte size of said union:
      
      	.type	a, @object
      	.size	a, 5
      
      but with an ARM compiler and the old ABI:
      
          arm-linux-gnu-gcc -mabi=apcs-gnu -mfloat-abi=soft -S t.c
      
      you get
      
      	.type	a, %object
      	.size	a, 8
      
      instead, because even though each member of the union is packed, the
      union itself still gets aligned.
      
      This was reported by Sudip for the spear3xx_defconfig target.
      
      Link: https://lore.kernel.org/lkml/YpCUzStDnSgQLNFN@debian/Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      47f15561
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20220528' of... · f56dbdda
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20220528' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
      
       - Harden hv_sock driver (Andrea Parri)
      
       - Harden Hyper-V PCI driver (Andrea Parri)
      
       - Fix multi-MSI for Hyper-V PCI driver (Jeffrey Hugo)
      
       - Fix Hyper-V PCI to reduce boot time (Dexuan Cui)
      
       - Remove code for long EOL'ed Hyper-V versions (Michael Kelley, Saurabh
         Sengar)
      
       - Fix balloon driver error handling (Shradha Gupta)
      
       - Fix a typo in vmbus driver (Julia Lawall)
      
       - Ignore vmbus IMC device (Michael Kelley)
      
       - Add a new error message to Hyper-V DRM driver (Saurabh Sengar)
      
      * tag 'hyperv-next-signed-20220528' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (28 commits)
        hv_balloon: Fix balloon_probe() and balloon_remove() error handling
        scsi: storvsc: Removing Pre Win8 related logic
        Drivers: hv: vmbus: fix typo in comment
        PCI: hv: Fix synchronization between channel callback and hv_pci_bus_exit()
        PCI: hv: Add validation for untrusted Hyper-V values
        PCI: hv: Fix interrupt mapping for multi-MSI
        PCI: hv: Reuse existing IRTE allocation in compose_msi_msg()
        drm/hyperv: Remove support for Hyper-V 2008 and 2008R2/Win7
        video: hyperv_fb: Remove support for Hyper-V 2008 and 2008R2/Win7
        scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7
        Drivers: hv: vmbus: Remove support for Hyper-V 2008 and Hyper-V 2008R2/Win7
        x86/hyperv: Disable hardlockup detector by default in Hyper-V guests
        drm/hyperv: Add error message for fb size greater than allocated
        PCI: hv: Do not set PCI_COMMAND_MEMORY to reduce VM boot time
        PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI
        Drivers: hv: vmbus: Refactor the ring-buffer iterator functions
        Drivers: hv: vmbus: Accept hv_sock offers in isolated guests
        hv_sock: Add validation for untrusted Hyper-V values
        hv_sock: Copy packets sent by Hyper-V out of the ring buffer
        hv_sock: Check hv_pkt_iter_first_raw()'s return value
        ...
      f56dbdda
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 6112bd00
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Convert to the generic mmap support (ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT)
      
       - Add support for outline-only KASAN with 64-bit Radix MMU (P9 or later)
      
       - Increase SIGSTKSZ and MINSIGSTKSZ and add support for AT_MINSIGSTKSZ
      
       - Enable the DAWR (Data Address Watchpoint) on POWER9 DD2.3 or later
      
       - Drop support for system call instruction emulation
      
       - Many other small features and fixes
      
      Thanks to Alexey Kardashevskiy, Alistair Popple, Andy Shevchenko, Bagas
      Sanjaya, Bjorn Helgaas, Bo Liu, Chen Huang, Christophe Leroy, Colin Ian
      King, Daniel Axtens, Dwaipayan Ray, Fabiano Rosas, Finn Thain, Frank
      Rowand, Fuqian Huang, Guilherme G. Piccoli, Hangyu Hua, Haowen Bai,
      Haren Myneni, Hari Bathini, He Ying, Jason Wang, Jiapeng Chong, Jing
      Yangyang, Joel Stanley, Julia Lawall, Kajol Jain, Kevin Hao, Krzysztof
      Kozlowski, Laurent Dufour, Lv Ruyi, Madhavan Srinivasan, Magali Lemes,
      Miaoqian Lin, Minghao Chi, Nathan Chancellor, Naveen N. Rao, Nicholas
      Piggin, Oliver O'Halloran, Oscar Salvador, Pali Rohár, Paul Mackerras,
      Peng Wu, Qing Wang, Randy Dunlap, Reza Arbab, Russell Currey, Sohaib
      Mohamed, Vaibhav Jain, Vasant Hegde, Wang Qing, Wang Wensheng, Xiang
      wangx, Xiaomeng Tong, Xu Wang, Yang Guang, Yang Li, Ye Bin, YueHaibing,
      Yu Kuai, Zheng Bin, Zou Wei, and Zucheng Zheng.
      
      * tag 'powerpc-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (200 commits)
        powerpc/64: Include cache.h directly in paca.h
        powerpc/64s: Only set HAVE_ARCH_UNMAPPED_AREA when CONFIG_PPC_64S_HASH_MMU is set
        powerpc/xics: Include missing header
        powerpc/powernv/pci: Drop VF MPS fixup
        powerpc/fsl_book3e: Don't set rodata RO too early
        powerpc/microwatt: Add mmu bits to device tree
        powerpc/powernv/flash: Check OPAL flash calls exist before using
        powerpc/powermac: constify device_node in of_irq_parse_oldworld()
        powerpc/powermac: add missing g5_phy_disable_cpu1() declaration
        selftests/powerpc/pmu: fix spelling mistake "mis-match" -> "mismatch"
        powerpc: Enable the DAWR on POWER9 DD2.3 and above
        powerpc/64s: Add CPU_FTRS_POWER10 to ALWAYS mask
        powerpc/64s: Add CPU_FTRS_POWER9_DD2_2 to CPU_FTRS_ALWAYS mask
        powerpc: Fix all occurences of "the the"
        selftests/powerpc/pmu/ebb: remove fixed_instruction.S
        powerpc/platforms/83xx: Use of_device_get_match_data()
        powerpc/eeh: Drop redundant spinlock initialization
        powerpc/iommu: Add missing of_node_put in iommu_init_early_dart
        powerpc/pseries/vas: Call misc_deregister if sysfs init fails
        powerpc/papr_scm: Fix leaking nvdimm_events_map elements
        ...
      6112bd00
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 907bb57a
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "Pretty big this time. Mostly due to (nice) Renesas refactorings.
      
        Core changes:
      
         - New helpers from Andy such as for_each_gpiochip_node() affecting
           both GPIO and pin control, improving a bunch of drivers in the
           process.
      
         - Pulled in Marc Zyngiers work to make IRQ chips immutable, and
           started to apply fixups on top.
      
        New drivers:
      
         - New driver for Marvell MVEBU 98DX2530.
      
         - New driver for Mediatek MT8195.
      
         - Support Qualcomm PMX65 and PM6125.
      
         - New driver for Qualcomm SC7280 LPASS pin control.
      
         - New driver for Rockchip RK3588.
      
         - New driver for NXP Freescale i.MXRT1170.
      
         - New driver for Mediatek MT6795 Helio X10.
      
        Improvements:
      
         - Several Aspeed G6 cleanups and non-critical fixes.
      
         - Thorought refactoring of some of the ever improving Renesas
           drivers.
      
         - Clean up Mediatek MT8192 bindings a bit.
      
         - PWM output and clock monitoring in the Ocelot LAN966x driver.
      
         - Thorough refactoring and cleanup of the Ralink drivers such as
           RT2880, RT3883, RT305X, MT7620, MT7621, MT7628 splitting these into
           proper sub-drivers"
      
      * tag 'pinctrl-v5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (161 commits)
        pinctrl: apple: Use a raw spinlock for the regmap
        pinctrl: berlin: bg4ct: Use devm_platform_*ioremap_resource() APIs
        pinctrl: intel: Fix kernel doc format, i.e. add return sections
        dt-bindings: pinctrl: qcom: Drop 'maxItems' on 'wakeup-parent'
        pinctrl: starfive: Make the irqchip immutable
        pinctrl: mediatek: Add pinctrl driver for MT6795 Helio X10
        dt-bindings: pinctrl: Add MediaTek MT6795 pinctrl bindings
        pinctrl: freescale: Add i.MXRT1170 pinctrl driver support
        dt-bindings: pinctrl: add i.MXRT1170 pinctrl Documentation
        dt-bindings: pinctrl: rockchip: increase max amount of device functions
        dt-bindings: pinctrl: qcom,pmic-gpio: add 'gpio-reserved-ranges'
        dt-bindings: pinctrl: qcom,pmic-gpio: add 'input-disable'
        dt-bindings: pinctrl: qcom,pmic-gpio: describe gpio-line-names
        dt-bindings: pinctrl: qcom,pmic-gpio: fix matching pin config
        dt-bindings: pinctrl: qcom,pmic-gpio: document PM8150L and PMM8155AU
        pinctrl: qcom: spmi-gpio: Add pm6125 compatible
        dt-bindings: pinctrl: qcom-pmic-gpio: Add pm6125 compatible
        pinctrl: intel: Drop unused irqchip member in struct intel_pinctrl
        pinctrl: intel: make irq_chip immutable
        pinctrl: cherryview: Use GPIO chip pointer in chv_gpio_irq_mask_unmask()
        ...
      907bb57a
    • Javier Martinez Canillas's avatar
      video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup · acde4003
      Javier Martinez Canillas authored
      Commit b3c9a924 ("fbdev: vesafb: Cleanup fb_info in .fb_destroy rather
      than .remove") fixed a use-after-free error due the vesafb driver freeing
      the fb_info in the .remove handler instead of doing it in .fb_destroy.
      
      This can happen if the .fb_destroy callback is executed after the .remove
      callback, since the former tries to access a pointer freed by the latter.
      
      But that change didn't take into account that another possible scenario is
      that .fb_destroy is called before the .remove callback. For example, if no
      process has the fbdev chardev opened by the time the driver is removed.
      
      If that's the case, fb_info will be freed when unregister_framebuffer() is
      called, making the fb_info pointer accessed in vesafb_remove() after that
      to no longer be valid.
      
      To prevent that, move the expression containing the info->par to happen
      before the unregister_framebuffer() function call.
      
      Fixes: b3c9a924 ("fbdev: vesafb: Cleanup fb_info in .fb_destroy rather than .remove")
      Reported-by: default avatarPascal Ernster <dri-devel@hardfalcon.net>
      Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Tested-by: default avatarPascal Ernster <dri-devel@hardfalcon.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      acde4003
    • Jason A. Donenfeld's avatar
      Revert "crypto: poly1305 - cleanup stray CRYPTO_LIB_POLY1305_RSIZE" · ca7984df
      Jason A. Donenfeld authored
      This reverts commit 8bdc2a19.
      
      It got merged a bit prematurely and shortly after the kernel test robot
      and Sudip pointed out build failures:
      
        arm: imx_v6_v7_defconfig and multi_v7_defconfig
        mips: decstation_64_defconfig, decstation_defconfig, decstation_r4k_defconfig
      
        In file included from crypto/chacha20poly1305.c:13:
        include/crypto/poly1305.h:56:46: error: 'CONFIG_CRYPTO_LIB_POLY1305_RSIZE' undeclared here (not in a function); did you mean 'CONFIG_CRYPTO_POLY1305_MODULE'?
           56 |                 struct poly1305_key opaque_r[CONFIG_CRYPTO_LIB_POLY1305_RSIZE];
              |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      We could attempt to fix this by listing the dependencies piecemeal, but
      it's not as obvious as it looks: drivers like caam use this macro in
      headers even if there's no .o compiled in that makes use of it.  So
      actually fixing this might require a bit more of a comprehensive
      approach, rather than whack-a-mole with hunting down which drivers use
      which headers which use this macro.
      
      Therefore, this commit just reverts the change, and maybe the problem
      can be visited on the next rainy day.
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Fixes: 8bdc2a19 ("crypto: poly1305 - cleanup stray CRYPTO_LIB_POLY1305_RSIZE")
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca7984df