Unverified Commit b96ccdcf authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Intel: avs: Fixes and new platforms support

Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:

The avs-driver continues to be utilized on more recent Intel machines.
As TGL-based (cAVS 2.5) e.g.: RPL, inherit most of the functionality
from previous platforms:

SKL <- APL <- CNL <- ICL <- TGL

rather than putting everything into a single file, the platform-specific
bits are split into cnl/icl/tgl.c files instead. Makes the division clear
and code easier to maintain.

Layout of the patchset:

First are two changes combined together address the sound-clipping
problem, present when only one stream is running - specifically one
CAPTURE stream.

Follow up is naming-scheme adjustment for some of the existing functions
what improves code incohesiveness. As existing IPC/IRQ code operates
solely on cAVS 1.5 architecture, it needs no abstraction. The situation
changes when newer platforms come into the picture. Thus the next two
patches abstract the existing IPC/IRQ handlers so that majority of the
common code can be re-used.

The ICCMAX change stands out a bit - the AudioDSP firmware loading
procedure differs on ICL-based platforms (and onwards) and having a
separate commit makes the situation clear to the developers who are
going to support the solution from LTS perspective. For that reason
I decided not to merge it into the commit introducing the icl.c file.
parents 3b4ec346 5b417fe0
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -191,10 +191,11 @@ Gao Xiang <xiang@kernel.org> <gaoxiang25@huawei.com>
Gao Xiang <xiang@kernel.org> <hsiangkao@aol.com>
Gao Xiang <xiang@kernel.org> <hsiangkao@linux.alibaba.com>
Gao Xiang <xiang@kernel.org> <hsiangkao@redhat.com>
Geliang Tang <geliang.tang@linux.dev> <geliang.tang@suse.com>
Geliang Tang <geliang.tang@linux.dev> <geliangtang@xiaomi.com>
Geliang Tang <geliang.tang@linux.dev> <geliangtang@gmail.com>
Geliang Tang <geliang.tang@linux.dev> <geliangtang@163.com>
Geliang Tang <geliang@kernel.org> <geliang.tang@linux.dev>
Geliang Tang <geliang@kernel.org> <geliang.tang@suse.com>
Geliang Tang <geliang@kernel.org> <geliangtang@xiaomi.com>
Geliang Tang <geliang@kernel.org> <geliangtang@gmail.com>
Geliang Tang <geliang@kernel.org> <geliangtang@163.com>
Georgi Djakov <djakov@kernel.org> <georgi.djakov@linaro.org>
Gerald Schaefer <gerald.schaefer@linux.ibm.com> <geraldsc@de.ibm.com>
Gerald Schaefer <gerald.schaefer@linux.ibm.com> <gerald.schaefer@de.ibm.com>
@@ -289,6 +290,7 @@ Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com>
John Crispin <john@phrozen.org> <blogic@openwrt.org>
John Fastabend <john.fastabend@gmail.com> <john.r.fastabend@intel.com>
John Keeping <john@keeping.me.uk> <john@metanate.com>
John Moon <john@jmoon.dev> <quic_johmoo@quicinc.com>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
John Stultz <johnstul@us.ibm.com>
<jon.toppins+linux@gmail.com> <jtoppins@cumulusnetworks.com>
@@ -344,6 +346,7 @@ Leonid I Ananiev <leonid.i.ananiev@intel.com>
Leon Romanovsky <leon@kernel.org> <leon@leon.nu>
Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com>
Leon Romanovsky <leon@kernel.org> <leonro@nvidia.com>
Leo Yan <leo.yan@linux.dev> <leo.yan@linaro.org>
Liam Mark <quic_lmark@quicinc.com> <lmark@codeaurora.org>
Linas Vepstas <linas@austin.ibm.com>
Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@ascom.ch>
+13 −0
Original line number Diff line number Diff line
@@ -2161,6 +2161,19 @@ N: Mike Kravetz
E: mike.kravetz@oracle.com
D: Maintenance and development of the hugetlb subsystem

N: Seth Jennings
E: sjenning@redhat.com
D: Creation and maintenance of zswap

N: Dan Streetman
E: ddstreet@ieee.org
D: Maintenance and development of zswap
D: Creation and maintenance of the zpool API

N: Vitaly Wool
E: vitaly.wool@konsulko.com
D: Maintenance and development of zswap

N: Andreas S. Krebs
E: akrebs@altavista.net
D: CYPRESS CY82C693 chipset IDE, Digital's PC-Alpha 164SX boards
+11 −11
Original line number Diff line number Diff line
What:		/sys/class/<iface>/queues/rx-<queue>/rps_cpus
What:		/sys/class/net/<iface>/queues/rx-<queue>/rps_cpus
Date:		March 2010
KernelVersion:	2.6.35
Contact:	netdev@vger.kernel.org
@@ -8,7 +8,7 @@ Description:
		network device queue. Possible values depend on the number
		of available CPU(s) in the system.

What:		/sys/class/<iface>/queues/rx-<queue>/rps_flow_cnt
What:		/sys/class/net/<iface>/queues/rx-<queue>/rps_flow_cnt
Date:		April 2010
KernelVersion:	2.6.35
Contact:	netdev@vger.kernel.org
@@ -16,7 +16,7 @@ Description:
		Number of Receive Packet Steering flows being currently
		processed by this particular network device receive queue.

What:		/sys/class/<iface>/queues/tx-<queue>/tx_timeout
What:		/sys/class/net/<iface>/queues/tx-<queue>/tx_timeout
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
@@ -24,7 +24,7 @@ Description:
		Indicates the number of transmit timeout events seen by this
		network interface transmit queue.

What:		/sys/class/<iface>/queues/tx-<queue>/tx_maxrate
What:		/sys/class/net/<iface>/queues/tx-<queue>/tx_maxrate
Date:		March 2015
KernelVersion:	4.1
Contact:	netdev@vger.kernel.org
@@ -32,7 +32,7 @@ Description:
		A Mbps max-rate set for the queue, a value of zero means disabled,
		default is disabled.

What:		/sys/class/<iface>/queues/tx-<queue>/xps_cpus
What:		/sys/class/net/<iface>/queues/tx-<queue>/xps_cpus
Date:		November 2010
KernelVersion:	2.6.38
Contact:	netdev@vger.kernel.org
@@ -42,7 +42,7 @@ Description:
		network device transmit queue. Possible values depend on the
		number of available CPU(s) in the system.

What:		/sys/class/<iface>/queues/tx-<queue>/xps_rxqs
What:		/sys/class/net/<iface>/queues/tx-<queue>/xps_rxqs
Date:		June 2018
KernelVersion:	4.18.0
Contact:	netdev@vger.kernel.org
@@ -53,7 +53,7 @@ Description:
		number of available receive queue(s) in the network device.
		Default is disabled.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
What:		/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
@@ -62,7 +62,7 @@ Description:
		of this particular network device transmit queue.
		Default value is 1000.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
What:		/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
@@ -70,7 +70,7 @@ Description:
		Indicates the number of bytes (objects) in flight on this
		network device transmit queue.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit
What:		/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
@@ -79,7 +79,7 @@ Description:
		on this network device transmit queue. This value is clamped
		to be within the bounds defined by limit_max and limit_min.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
What:		/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
@@ -88,7 +88,7 @@ Description:
		queued on this network device transmit queue. See
		include/linux/dynamic_queue_limits.h for the default value.

What:		/sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
What:		/sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
Date:		November 2011
KernelVersion:	3.3
Contact:	netdev@vger.kernel.org
+24 −24
Original line number Diff line number Diff line
What:		/sys/class/<iface>/statistics/collisions
What:		/sys/class/net/<iface>/statistics/collisions
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -6,7 +6,7 @@ Description:
		Indicates the number of collisions seen by this network device.
		This value might not be relevant with all MAC layers.

What:		/sys/class/<iface>/statistics/multicast
What:		/sys/class/net/<iface>/statistics/multicast
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -14,7 +14,7 @@ Description:
		Indicates the number of multicast packets received by this
		network device.

What:		/sys/class/<iface>/statistics/rx_bytes
What:		/sys/class/net/<iface>/statistics/rx_bytes
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -23,7 +23,7 @@ Description:
		See the network driver for the exact meaning of when this
		value is incremented.

What:		/sys/class/<iface>/statistics/rx_compressed
What:		/sys/class/net/<iface>/statistics/rx_compressed
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -32,7 +32,7 @@ Description:
		network device. This value might only be relevant for interfaces
		that support packet compression (e.g: PPP).

What:		/sys/class/<iface>/statistics/rx_crc_errors
What:		/sys/class/net/<iface>/statistics/rx_crc_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -41,7 +41,7 @@ Description:
		by this network device. Note that the specific meaning might
		depend on the MAC layer used by the interface.

What:		/sys/class/<iface>/statistics/rx_dropped
What:		/sys/class/net/<iface>/statistics/rx_dropped
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -51,7 +51,7 @@ Description:
		packet processing. See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/rx_errors
What:		/sys/class/net/<iface>/statistics/rx_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -59,7 +59,7 @@ Description:
		Indicates the number of receive errors on this network device.
		See the network driver for the exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_fifo_errors
What:		/sys/class/net/<iface>/statistics/rx_fifo_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -68,7 +68,7 @@ Description:
		network device. See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/rx_frame_errors
What:		/sys/class/net/<iface>/statistics/rx_frame_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -78,7 +78,7 @@ Description:
		on the MAC layer protocol used. See the network driver for
		the exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_length_errors
What:		/sys/class/net/<iface>/statistics/rx_length_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -87,7 +87,7 @@ Description:
		error, oversized or undersized. See the network driver for the
		exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_missed_errors
What:		/sys/class/net/<iface>/statistics/rx_missed_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -96,7 +96,7 @@ Description:
		due to lack of capacity in the receive side. See the network
		driver for the exact meaning of this value.

What:		/sys/class/<iface>/statistics/rx_nohandler
What:		/sys/class/net/<iface>/statistics/rx_nohandler
Date:		February 2016
KernelVersion:	4.6
Contact:	netdev@vger.kernel.org
@@ -104,7 +104,7 @@ Description:
		Indicates the number of received packets that were dropped on
		an inactive device by the network core.

What:		/sys/class/<iface>/statistics/rx_over_errors
What:		/sys/class/net/<iface>/statistics/rx_over_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -114,7 +114,7 @@ Description:
		(e.g: larger than MTU). See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/rx_packets
What:		/sys/class/net/<iface>/statistics/rx_packets
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -122,7 +122,7 @@ Description:
		Indicates the total number of good packets received by this
		network device.

What:		/sys/class/<iface>/statistics/tx_aborted_errors
What:		/sys/class/net/<iface>/statistics/tx_aborted_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -132,7 +132,7 @@ Description:
		a medium collision). See the network driver for the exact
		meaning of this value.

What:		/sys/class/<iface>/statistics/tx_bytes
What:		/sys/class/net/<iface>/statistics/tx_bytes
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -143,7 +143,7 @@ Description:
		transmitted packets or all packets that have been queued for
		transmission.

What:		/sys/class/<iface>/statistics/tx_carrier_errors
What:		/sys/class/net/<iface>/statistics/tx_carrier_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -152,7 +152,7 @@ Description:
		because of carrier errors (e.g: physical link down). See the
		network driver for the exact meaning of this value.

What:		/sys/class/<iface>/statistics/tx_compressed
What:		/sys/class/net/<iface>/statistics/tx_compressed
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -161,7 +161,7 @@ Description:
		this might only be relevant for devices that support
		compression (e.g: PPP).

What:		/sys/class/<iface>/statistics/tx_dropped
What:		/sys/class/net/<iface>/statistics/tx_dropped
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -170,7 +170,7 @@ Description:
		See the driver for the exact reasons as to why the packets were
		dropped.

What:		/sys/class/<iface>/statistics/tx_errors
What:		/sys/class/net/<iface>/statistics/tx_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -179,7 +179,7 @@ Description:
		a network device. See the driver for the exact reasons as to
		why the packets were dropped.

What:		/sys/class/<iface>/statistics/tx_fifo_errors
What:		/sys/class/net/<iface>/statistics/tx_fifo_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -188,7 +188,7 @@ Description:
		FIFO error. See the driver for the exact reasons as to why the
		packets were dropped.

What:		/sys/class/<iface>/statistics/tx_heartbeat_errors
What:		/sys/class/net/<iface>/statistics/tx_heartbeat_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -197,7 +197,7 @@ Description:
		reported as heartbeat errors. See the driver for the exact
		reasons as to why the packets were dropped.

What:		/sys/class/<iface>/statistics/tx_packets
What:		/sys/class/net/<iface>/statistics/tx_packets
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
@@ -206,7 +206,7 @@ Description:
		device. See the driver for whether this reports the number of all
		attempted or successful transmissions.

What:		/sys/class/<iface>/statistics/tx_window_errors
What:		/sys/class/net/<iface>/statistics/tx_window_errors
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
+7 −7
Original line number Diff line number Diff line
What:		/sys/devices/.../hwmon/hwmon<i>/in0_input
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/in0_input
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
@@ -6,7 +6,7 @@ Description: RO. Current Voltage in millivolt.

		Only supported for particular Intel i915 graphics platforms.

What:		/sys/devices/.../hwmon/hwmon<i>/power1_max
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
@@ -20,7 +20,7 @@ Description: RW. Card reactive sustained (PL1/Tau) power limit in microwatts.

		Only supported for particular Intel i915 graphics platforms.

What:		/sys/devices/.../hwmon/hwmon<i>/power1_rated_max
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_rated_max
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
@@ -28,7 +28,7 @@ Description: RO. Card default power limit (default TDP setting).

		Only supported for particular Intel i915 graphics platforms.

What:		/sys/devices/.../hwmon/hwmon<i>/power1_max_interval
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max_interval
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
@@ -37,7 +37,7 @@ Description: RW. Sustained power limit interval (Tau in PL1/Tau) in

		Only supported for particular Intel i915 graphics platforms.

What:		/sys/devices/.../hwmon/hwmon<i>/power1_crit
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_crit
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
@@ -50,7 +50,7 @@ Description: RW. Card reactive critical (I1) power limit in microwatts.

		Only supported for particular Intel i915 graphics platforms.

What:		/sys/devices/.../hwmon/hwmon<i>/curr1_crit
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/curr1_crit
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
@@ -63,7 +63,7 @@ Description: RW. Card reactive critical (I1) power limit in milliamperes.

		Only supported for particular Intel i915 graphics platforms.

What:		/sys/devices/.../hwmon/hwmon<i>/energy1_input
What:		/sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/energy1_input
Date:		February 2023
KernelVersion:	6.2
Contact:	intel-gfx@lists.freedesktop.org
Loading