Commit 9aa900c8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull char/misc driver updates from Greg KH:
 "Here is the large set of char/misc driver patches for 5.8-rc1

  Included in here are:

   - habanalabs driver updates, loads

   - mhi bus driver updates

   - extcon driver updates

   - clk driver updates (approved by the clock maintainer)

   - firmware driver updates

   - fpga driver updates

   - gnss driver updates

   - coresight driver updates

   - interconnect driver updates

   - parport driver updates (it's still alive!)

   - nvmem driver updates

   - soundwire driver updates

   - visorbus driver updates

   - w1 driver updates

   - various misc driver updates

  In short, loads of different driver subsystem updates along with the
  drivers as well.

  All have been in linux-next for a while with no reported issues"

* tag 'char-misc-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (233 commits)
  habanalabs: correctly cast u64 to void*
  habanalabs: initialize variable to default value
  extcon: arizona: Fix runtime PM imbalance on error
  extcon: max14577: Add proper dt-compatible strings
  extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
  extcon: remove redundant assignment to variable idx
  w1: omap-hdq: print dev_err if irq flags are not cleared
  w1: omap-hdq: fix interrupt handling which did show spurious timeouts
  w1: omap-hdq: fix return value to be -1 if there is a timeout
  w1: omap-hdq: cleanup to add missing newline for some dev_dbg
  /dev/mem: Revoke mappings when a driver claims the region
  misc: xilinx-sdfec: convert get_user_pages() --> pin_user_pages()
  misc: xilinx-sdfec: cleanup return value in xsdfec_table_write()
  misc: xilinx-sdfec: improve get_user_pages_fast() error handling
  nvmem: qfprom: remove incorrect write support
  habanalabs: handle MMU cache invalidation timeout
  habanalabs: don't allow hard reset with open processes
  habanalabs: GAUDI does not support soft-reset
  habanalabs: add print for soft reset due to event
  habanalabs: improve MMU cache invalidation code
  ...
parents f558b836 05c8a4fc
Loading
Loading
Loading
Loading
+103 −0
Original line number Diff line number Diff line
What:		/sys/devices/platform/firmware\:zynqmp-firmware/ggs*
Date:		March 2020
KernelVersion:	5.6
Contact:	"Jolly Shah" <jollys@xilinx.com>
Description:
		Read/Write PMU global general storage register value,
		GLOBAL_GEN_STORAGE{0:3}.
		Global general storage register that can be used
		by system to pass information between masters.

		The register is reset during system or power-on
		resets. Three registers are used by the FSBL and
		other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}.

		Usage:
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
		# echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0

		Example:
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
		# echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0

Users:		Xilinx

What:		/sys/devices/platform/firmware\:zynqmp-firmware/pggs*
Date:		March 2020
KernelVersion:	5.6
Contact:	"Jolly Shah" <jollys@xilinx.com>
Description:
		Read/Write PMU persistent global general storage register
		value, PERS_GLOB_GEN_STORAGE{0:3}.
		Persistent global general storage register that
		can be used by system to pass information between
		masters.

		This register is only reset by the power-on reset
		and maintains its value through a system reset.
		Four registers are used by the FSBL and other Xilinx
		software products: PERS_GLOB_GEN_STORAGE{4:7}.
		Register is reset only by a POR reset.

		Usage:
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
		# echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0

		Example:
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
		# echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0

Users:		Xilinx

What:		/sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
Date:		March 2020
KernelVersion:	5.6
Contact:	"Jolly Shah" <jollys@xilinx.com>
Description:
		This sysfs interface allows to set the shutdown scope for the
		next shutdown request. When the next shutdown is performed, the
		platform specific portion of PSCI-system_off can use the chosen
		shutdown scope.

		Following are available shutdown scopes(subtypes):

		subsystem:	Only the APU along with all of its peripherals
				not used by other processing units will be
				shut down. This may result in the FPD power
				domain being shut down provided that no other
				processing unit uses FPD peripherals or DRAM.
		ps_only:	The complete PS will be shut down, including the
				RPU, PMU, etc.  Only the PL domain (FPGA)
				remains untouched.
		system:		The complete system/device is shut down.

		Usage:
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
		# echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope

		Example:
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
		# echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope

Users:		Xilinx

What:		/sys/devices/platform/firmware\:zynqmp-firmware/health_status
Date:		March 2020
KernelVersion:	5.6
Contact:	"Jolly Shah" <jollys@xilinx.com>
Description:
		This sysfs interface allows to set the health status. If PMUFW
		is compiled with CHECK_HEALTHY_BOOT, it will check the healthy
		bit on FPD WDT expiration. If healthy bit is set by a user
		application running in Linux, PMUFW will do APU only restart. If
		healthy bit is not set during FPD WDT expiration, PMUFW will do
		system restart.

		Usage:
		Set healthy bit
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status

		Unset healthy bit
		# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status

Users:		Xilinx
+17 −0
Original line number Diff line number Diff line
@@ -8,6 +8,16 @@ Description: Sets the device address to be used for read or write through
                only when the IOMMU is disabled.
                The acceptable value is a string that starts with "0x"

What:           /sys/kernel/debug/habanalabs/hl<n>/clk_gate
Date:           May 2020
KernelVersion:  5.8
Contact:        oded.gabbay@gmail.com
Description:    Allow the root user to disable/enable in runtime the clock
                gating mechanism in Gaudi. Due to how Gaudi is built, the
                clock gating needs to be disabled in order to access the
                registers of the TPC and MME engines. This is sometimes needed
                during debug by the user and hence the user needs this option

What:           /sys/kernel/debug/habanalabs/hl<n>/command_buffers
Date:           Jan 2019
KernelVersion:  5.1
@@ -150,3 +160,10 @@ KernelVersion: 5.1
Contact:        oded.gabbay@gmail.com
Description:    Displays a list with information about all the active virtual
                address mappings per ASID

What:           /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
Date:           Mar 2020
KernelVersion:  5.6
Contact:        oded.gabbay@gmail.com
Description:    Sets the stop-on_error option for the device engines. Value of
                "0" is for disable, otherwise enable.
+104 −0
Original line number Diff line number Diff line
What:		/sys/bus/event_source/devices/dfl_fmeX/format
Date:		April 2020
KernelVersion:  5.8
Contact:	Wu Hao <hao.wu@intel.com>
Description:	Read-only. Attribute group to describe the magic bits
		that go into perf_event_attr.config for a particular pmu.
		(See ABI/testing/sysfs-bus-event_source-devices-format).

		Each attribute under this group defines a bit range of the
		perf_event_attr.config. All supported attributes are listed
		below.

		    event  = "config:0-11"  - event ID
		    evtype = "config:12-15" - event type
		    portid = "config:16-23" - event source

		For example,

		    fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff"

		It shows this fab_mmio_read is a fabric type (0x02) event with
		0x06 local event id for overall monitoring (portid=0xff).

What:		/sys/bus/event_source/devices/dfl_fmeX/cpumask
Date:		April 2020
KernelVersion:  5.8
Contact:	Wu Hao <hao.wu@intel.com>
Description:	Read-only. This file always returns cpu which the PMU is bound
		for access to all fme pmu performance monitoring events.

What:		/sys/bus/event_source/devices/dfl_fmeX/events
Date:		April 2020
KernelVersion:  5.8
Contact:	Wu Hao <hao.wu@intel.com>
Description:	Read-only. Attribute group to describe performance monitoring
		events specific to fme. Each attribute in this group describes
		a single performance monitoring event supported by this fme pmu.
		The name of the file is the name of the event.
		(See ABI/testing/sysfs-bus-event_source-devices-events).

		All supported performance monitoring events are listed below.

		Basic events (evtype=0x00)

		    clock = "event=0x00,evtype=0x00,portid=0xff"

		Cache events (evtype=0x01)

		    cache_read_hit      = "event=0x00,evtype=0x01,portid=0xff"
		    cache_read_miss     = "event=0x01,evtype=0x01,portid=0xff"
		    cache_write_hit     = "event=0x02,evtype=0x01,portid=0xff"
		    cache_write_miss    = "event=0x03,evtype=0x01,portid=0xff"
		    cache_hold_request  = "event=0x05,evtype=0x01,portid=0xff"
		    cache_data_write_port_contention =
		                          "event=0x06,evtype=0x01,portid=0xff"
		    cache_tag_write_port_contention =
		                          "event=0x07,evtype=0x01,portid=0xff"
		    cache_tx_req_stall  = "event=0x08,evtype=0x01,portid=0xff"
		    cache_rx_req_stall  = "event=0x09,evtype=0x01,portid=0xff"
		    cache_eviction      = "event=0x0a,evtype=0x01,portid=0xff"

		Fabric events (evtype=0x02)

		    fab_pcie0_read       = "event=0x00,evtype=0x02,portid=0xff"
		    fab_pcie0_write      = "event=0x01,evtype=0x02,portid=0xff"
		    fab_pcie1_read       = "event=0x02,evtype=0x02,portid=0xff"
		    fab_pcie1_write      = "event=0x03,evtype=0x02,portid=0xff"
		    fab_upi_read         = "event=0x04,evtype=0x02,portid=0xff"
		    fab_upi_write        = "event=0x05,evtype=0x02,portid=0xff"
		    fab_mmio_read        = "event=0x06,evtype=0x02,portid=0xff"
		    fab_mmio_write       = "event=0x07,evtype=0x02,portid=0xff"
		    fab_port_pcie0_read  = "event=0x00,evtype=0x02,portid=?"
		    fab_port_pcie0_write = "event=0x01,evtype=0x02,portid=?"
		    fab_port_pcie1_read  = "event=0x02,evtype=0x02,portid=?"
		    fab_port_pcie1_write = "event=0x03,evtype=0x02,portid=?"
		    fab_port_upi_read    = "event=0x04,evtype=0x02,portid=?"
		    fab_port_upi_write   = "event=0x05,evtype=0x02,portid=?"
		    fab_port_mmio_read   = "event=0x06,evtype=0x02,portid=?"
		    fab_port_mmio_write  = "event=0x07,evtype=0x02,portid=?"

		VTD events (evtype=0x03)

		    vtd_port_read_transaction  = "event=0x00,evtype=0x03,portid=?"
		    vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?"
		    vtd_port_devtlb_read_hit   = "event=0x02,evtype=0x03,portid=?"
		    vtd_port_devtlb_write_hit  = "event=0x03,evtype=0x03,portid=?"
		    vtd_port_devtlb_4k_fill    = "event=0x04,evtype=0x03,portid=?"
		    vtd_port_devtlb_2m_fill    = "event=0x05,evtype=0x03,portid=?"
		    vtd_port_devtlb_1g_fill    = "event=0x06,evtype=0x03,portid=?"

		VTD SIP events (evtype=0x04)

		    vtd_sip_iotlb_4k_hit  = "event=0x00,evtype=0x04,portid=0xff"
		    vtd_sip_iotlb_2m_hit  = "event=0x01,evtype=0x04,portid=0xff"
		    vtd_sip_iotlb_1g_hit  = "event=0x02,evtype=0x04,portid=0xff"
		    vtd_sip_slpwc_l3_hit  = "event=0x03,evtype=0x04,portid=0xff"
		    vtd_sip_slpwc_l4_hit  = "event=0x04,evtype=0x04,portid=0xff"
		    vtd_sip_rcc_hit       = "event=0x05,evtype=0x04,portid=0xff"
		    vtd_sip_iotlb_4k_miss = "event=0x06,evtype=0x04,portid=0xff"
		    vtd_sip_iotlb_2m_miss = "event=0x07,evtype=0x04,portid=0xff"
		    vtd_sip_iotlb_1g_miss = "event=0x08,evtype=0x04,portid=0xff"
		    vtd_sip_slpwc_l3_miss = "event=0x09,evtype=0x04,portid=0xff"
		    vtd_sip_slpwc_l4_miss = "event=0x0a,evtype=0x04,portid=0xff"
		    vtd_sip_rcc_miss      = "event=0x0b,evtype=0x04,portid=0xff"
+23 −0
Original line number Diff line number Diff line
What:		/sys/bus/soundwire/devices/sdw-master-N/revision
		/sys/bus/soundwire/devices/sdw-master-N/clk_stop_modes
		/sys/bus/soundwire/devices/sdw-master-N/clk_freq
		/sys/bus/soundwire/devices/sdw-master-N/clk_gears
		/sys/bus/soundwire/devices/sdw-master-N/default_col
		/sys/bus/soundwire/devices/sdw-master-N/default_frame_rate
		/sys/bus/soundwire/devices/sdw-master-N/default_row
		/sys/bus/soundwire/devices/sdw-master-N/dynamic_shape
		/sys/bus/soundwire/devices/sdw-master-N/err_threshold
		/sys/bus/soundwire/devices/sdw-master-N/max_clk_freq

Date:		April 2020

Contact:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
		Bard Liao <yung-chuan.liao@linux.intel.com>
		Vinod Koul <vkoul@kernel.org>

Description:	SoundWire Master-N DisCo properties.
		These properties are defined by MIPI DisCo Specification
		for SoundWire. They define various properties of the Master
		and are used by the bus to configure the Master. clk_stop_modes
		is a bitmask for simplifications and combines the
		clock-stop-mode0 and clock-stop-mode1 properties.
+91 −0
Original line number Diff line number Diff line
What:		/sys/bus/soundwire/devices/sdw:.../dev-properties/mipi_revision
		/sys/bus/soundwire/devices/sdw:.../dev-properties/wake_capable
		/sys/bus/soundwire/devices/sdw:.../dev-properties/test_mode_capable
		/sys/bus/soundwire/devices/sdw:.../dev-properties/clk_stop_mode1
		/sys/bus/soundwire/devices/sdw:.../dev-properties/simple_clk_stop_capable
		/sys/bus/soundwire/devices/sdw:.../dev-properties/clk_stop_timeout
		/sys/bus/soundwire/devices/sdw:.../dev-properties/ch_prep_timeout
		/sys/bus/soundwire/devices/sdw:.../dev-properties/reset_behave
		/sys/bus/soundwire/devices/sdw:.../dev-properties/high_PHY_capable
		/sys/bus/soundwire/devices/sdw:.../dev-properties/paging_support
		/sys/bus/soundwire/devices/sdw:.../dev-properties/bank_delay_support
		/sys/bus/soundwire/devices/sdw:.../dev-properties/p15_behave
		/sys/bus/soundwire/devices/sdw:.../dev-properties/master_count
		/sys/bus/soundwire/devices/sdw:.../dev-properties/source_ports
		/sys/bus/soundwire/devices/sdw:.../dev-properties/sink_ports

Date:		May 2020

Contact:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
		Bard Liao <yung-chuan.liao@linux.intel.com>
		Vinod Koul <vkoul@kernel.org>

Description:	SoundWire Slave DisCo properties.
		These properties are defined by MIPI DisCo Specification
		for SoundWire. They define various properties of the
		SoundWire Slave and are used by the bus to configure
		the Slave


What:		/sys/bus/soundwire/devices/sdw:.../dp0/max_word
		/sys/bus/soundwire/devices/sdw:.../dp0/min_word
		/sys/bus/soundwire/devices/sdw:.../dp0/words
		/sys/bus/soundwire/devices/sdw:.../dp0/BRA_flow_controlled
		/sys/bus/soundwire/devices/sdw:.../dp0/simple_ch_prep_sm
		/sys/bus/soundwire/devices/sdw:.../dp0/imp_def_interrupts

Date:		May 2020

Contact:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
		Bard Liao <yung-chuan.liao@linux.intel.com>
		Vinod Koul <vkoul@kernel.org>

Description:	SoundWire Slave Data Port-0 DisCo properties.
		These properties are defined by MIPI DisCo Specification
		for the SoundWire. They define various properties of the
		Data port 0 are used by the bus to configure the Data Port 0.


What:		/sys/bus/soundwire/devices/sdw:.../dpN_src/max_word
		/sys/bus/soundwire/devices/sdw:.../dpN_src/min_word
		/sys/bus/soundwire/devices/sdw:.../dpN_src/words
		/sys/bus/soundwire/devices/sdw:.../dpN_src/type
		/sys/bus/soundwire/devices/sdw:.../dpN_src/max_grouping
		/sys/bus/soundwire/devices/sdw:.../dpN_src/simple_ch_prep_sm
		/sys/bus/soundwire/devices/sdw:.../dpN_src/ch_prep_timeout
		/sys/bus/soundwire/devices/sdw:.../dpN_src/imp_def_interrupts
		/sys/bus/soundwire/devices/sdw:.../dpN_src/min_ch
		/sys/bus/soundwire/devices/sdw:.../dpN_src/max_ch
		/sys/bus/soundwire/devices/sdw:.../dpN_src/channels
		/sys/bus/soundwire/devices/sdw:.../dpN_src/ch_combinations
		/sys/bus/soundwire/devices/sdw:.../dpN_src/max_async_buffer
		/sys/bus/soundwire/devices/sdw:.../dpN_src/block_pack_mode
		/sys/bus/soundwire/devices/sdw:.../dpN_src/port_encoding

		/sys/bus/soundwire/devices/sdw:.../dpN_sink/max_word
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/min_word
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/words
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/type
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/max_grouping
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/simple_ch_prep_sm
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/ch_prep_timeout
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/imp_def_interrupts
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/min_ch
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/max_ch
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/channels
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/ch_combinations
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/max_async_buffer
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/block_pack_mode
		/sys/bus/soundwire/devices/sdw:.../dpN_sink/port_encoding

Date:		May 2020

Contact:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
		Bard Liao <yung-chuan.liao@linux.intel.com>
		Vinod Koul <vkoul@kernel.org>

Description:	SoundWire Slave Data Source/Sink Port-N DisCo properties.
		These properties are defined by MIPI DisCo Specification
		for SoundWire. They define various properties of the
		Source/Sink Data port N and are used by the bus to configure
		the Data Port N.
Loading