Commit 6f9b5ed8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull char / misc / other smaller driver subsystem updates from Greg KH:
 "Here is the large set of char, misc, and other driver subsystem
  updates for 5.19-rc1. The merge request for this has been delayed as I
  wanted to get lots of linux-next testing due to some late arrivals of
  changes for the habannalabs driver.

  Highlights of this merge are:

   - habanalabs driver updates for new hardware types and fixes and
     other updates

   - IIO driver tree merge which includes loads of new IIO drivers and
     cleanups and additions

   - PHY driver tree merge with new drivers and small updates to
     existing ones

   - interconnect driver tree merge with fixes and updates

   - soundwire driver tree merge with some small fixes

   - coresight driver tree merge with small fixes and updates

   - mhi bus driver tree merge with lots of updates and new device
     support

   - firmware driver updates

   - fpga driver updates

   - lkdtm driver updates (with a merge conflict, more on that below)

   - extcon driver tree merge with small updates

   - lots of other tiny driver updates and fixes and cleanups, full
     details in the shortlog.

  All of these have been in linux-next for almost 2 weeks with no
  reported problems"

* tag 'char-misc-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (387 commits)
  habanalabs: use separate structure info for each error collect data
  habanalabs: fix missing handle shift during mmap
  habanalabs: remove hdev from hl_ctx_get args
  habanalabs: do MMU prefetch as deferred work
  habanalabs: order memory manager messages
  habanalabs: return -EFAULT on copy_to_user error
  habanalabs: use NULL for eventfd
  habanalabs: update firmware header
  habanalabs: add support for notification via eventfd
  habanalabs: add topic to memory manager buffer
  habanalabs: handle race in driver fini
  habanalabs: add device memory scrub ability through debugfs
  habanalabs: use unified memory manager for CB flow
  habanalabs: unified memory manager new code for CB flow
  habanalabs/gaudi: set arbitration timeout to a high value
  habanalabs: add put by handle method to memory manager
  habanalabs: hide memory manager page shift
  habanalabs: Add separate poll interval value for protocol
  habanalabs: use get_task_pid() to take PID
  habanalabs: add prefetch flag to the MAP operation
  ...
parents 54c2cc79 90de6805
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -19,3 +19,13 @@ Description: The file holds the OEM PK Hash value of the endpoint device
		read without having the device power on at least once, the file
		will read all 0's.
Users:		Any userspace application or clients interested in device info.

What:           /sys/bus/mhi/devices/.../soc_reset
Date:           April 2022
KernelVersion:  5.19
Contact:        mhi@lists.linux.dev
Description:	Initiates a SoC reset on the MHI controller.  A SoC reset is
                a reset of last resort, and will require a complete re-init.
                This can be useful as a method of recovery if the device is
                non-responsive, or as a means of loading new firmware as a
                system administration task.
+38 −0
Original line number Diff line number Diff line
@@ -170,6 +170,20 @@ KernelVersion: 5.1
Contact:        ogabbay@kernel.org
Description:    Sets the state of the third S/W led on the device

What:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
Date:           May 2022
KernelVersion:  5.19
Contact:        dhirschfeld@habana.ai
Description:    Allows the root user to scrub the dram memory. The scrubbing
                value can be set using the debugfs file memory_scrub_val.

What:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
Date:           May 2022
KernelVersion:  5.19
Contact:        dhirschfeld@habana.ai
Description:    The value to which the dram will be set to when the user
                scrubs the dram using 'memory_scrub' debugfs file

What:           /sys/kernel/debug/habanalabs/hl<n>/mmu
Date:           Jan 2019
KernelVersion:  5.1
@@ -190,6 +204,30 @@ Description: Check and display page fault or access violation mmu errors for
                echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
                cat /sys/kernel/debug/habanalabs/hl0/mmu_error

What:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
Date:           Mar 2022
KernelVersion:  5.19
Contact:        osharabi@habana.ai
Description:    Allows the root user to dump monitors status from the device's
                protected config space.
                This property is a binary blob that contains the result of the
                monitors registers dump.
                This custom interface is needed (instead of using the generic
                Linux user-space PCI mapping) because this space is protected
                and cannot be accessed using PCI read.
                This interface doesn't support concurrency in the same device.
                Only supported on GAUDI.

What:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
Date:           Mar 2022
KernelVersion:  5.19
Contact:        osharabi@habana.ai
Description:    Triggers dump of monitor data. The value to trigger the operation
                must be 1. Triggering the monitor dump operation initiates dump of
                current registers values of all monitors.
                When the write is finished, the user can read the "monitor_dump"
                blob

What:           /sys/kernel/debug/habanalabs/hl<n>/set_power_state
Date:           Jan 2019
KernelVersion:  5.1
+3 −2
Original line number Diff line number Diff line
@@ -20,11 +20,12 @@ properties:
    enum:
      - siliconmitus,sm5502-muic
      - siliconmitus,sm5504-muic
      - siliconmitus,sm5703-muic

  reg:
    maxItems: 1
    description: I2C slave address of the device. Usually 0x25 for SM5502,
      0x14 for SM5504.
    description: I2C slave address of the device. Usually 0x25 for SM5502
      and SM5703, 0x14 for SM5504.

  interrupts:
    maxItems: 1
+2 −1
Original line number Diff line number Diff line
@@ -19,7 +19,8 @@ properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g044-adc   # RZ/G2{L,LC}
          - renesas,r9a07g044-adc   # RZ/G2L
          - renesas,r9a07g054-adc   # RZ/V2L
      - const: renesas,rzg2l-adc

  reg:
+54 −6
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ properties:
      - sprd,sc2723-adc
      - sprd,sc2730-adc
      - sprd,sc2731-adc
      - sprd,ump9620-adc

  reg:
    maxItems: 1
@@ -33,14 +34,40 @@ properties:
  hwlocks:
    maxItems: 1

  nvmem-cells: true

  nvmem-cell-names: true

allOf:
  - if:
      not:
        properties:
          compatible:
            contains:
              enum:
                - sprd,ump9620-adc
    then:
      properties:
        nvmem-cells:
          maxItems: 2

        nvmem-cell-names:
          items:
            - const: big_scale_calib
            - const: small_scale_calib

    else:
      properties:
        nvmem-cells:
          maxItems: 6
        nvmem-cell-names:
          items:
            - const: big_scale_calib1
            - const: big_scale_calib2
            - const: small_scale_calib1
            - const: small_scale_calib2
            - const: vbat_det_cal1
            - const: vbat_det_cal2

required:
  - compatible
  - reg
@@ -69,4 +96,25 @@ examples:
            nvmem-cell-names = "big_scale_calib", "small_scale_calib";
        };
    };

  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    pmic {
        #address-cells = <1>;
        #size-cells = <0>;
        adc@504 {
            compatible = "sprd,ump9620-adc";
            reg = <0x504>;
            interrupt-parent = <&ump9620_pmic>;
            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
            #io-channel-cells = <1>;
            hwlocks = <&hwlock 4>;
            nvmem-cells = <&adc_bcal1>, <&adc_bcal2>,
                          <&adc_scal1>, <&adc_scal2>,
                          <&vbat_det_cal1>, <&vbat_det_cal2>;
            nvmem-cell-names = "big_scale_calib1", "big_scale_calib2",
                               "small_scale_calib1", "small_scale_calib2",
                               "vbat_det_cal1", "vbat_det_cal2";
        };
    };
...
Loading