Merge tag 'char-misc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH: "Here is the big set of char/misc/other driver patches for 5.7-rc1. Lots of things in here, and it's later than expected due to some reverts to resolve some reported issues. All is now clean with no reported problems in linux-next. Included in here is: - interconnect updates - mei driver updates - uio updates - nvmem driver updates - soundwire updates - binderfs updates - coresight updates - habanalabs updates - mhi new bus type and core - extcon driver updates - some Kconfig cleanups - other small misc driver cleanups and updates As mentioned, all have been in linux-next for a while, and with the last two reverts, all is calm and good" * tag 'char-misc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (174 commits) Revert "driver core: platform: Initialize dma_parms for platform devices" Revert "amba: Initialize dma_parms for amba devices" amba: Initialize dma_parms for amba devices driver core: platform: Initialize dma_parms for platform devices bus: mhi: core: Drop the references to mhi_dev in mhi_destroy_device() bus: mhi: core: Initialize bhie field in mhi_cntrl for RDDM capture bus: mhi: core: Add support for reading MHI info from device misc: rtsx: set correct pcr_ops for rts522A speakup: misc: Use dynamic minor numbers for speakup devices mei: me: add cedar fork device ids coresight: do not use the BIT() macro in the UAPI header Documentation: provide IBM contacts for embargoed hardware nvmem: core: remove nvmem_sysfs_get_groups() nvmem: core: use is_bin_visible for permissions nvmem: core: use device_register and device_unregister nvmem: core: add root_only member to nvmem device struct extcon: axp288: Add wakeup support extcon: Mark extcon_get_edev_name() function as exported symbol extcon: palmas: Hide error messages if gpio returns -EPROBE_DEFER dt-bindings: extcon: usbc-cros-ec: convert extcon-usbc-cros-ec.txt to yaml format ...
This commit is contained in:
@@ -156,22 +156,27 @@ Below shows the SoundWire stream states and state transition diagram. ::
|
||||
+-----------+ +------------+ +----------+ +----------+
|
||||
| ALLOCATED +---->| CONFIGURED +---->| PREPARED +---->| ENABLED |
|
||||
| STATE | | STATE | | STATE | | STATE |
|
||||
+-----------+ +------------+ +----------+ +----+-----+
|
||||
^
|
||||
|
|
||||
|
|
||||
v
|
||||
+----------+ +------------+ +----+-----+
|
||||
+-----------+ +------------+ +---+--+---+ +----+-----+
|
||||
^ ^ ^
|
||||
| | |
|
||||
__| |___________ |
|
||||
| | |
|
||||
v | v
|
||||
+----------+ +-----+------+ +-+--+-----+
|
||||
| RELEASED |<----------+ DEPREPARED |<-------+ DISABLED |
|
||||
| STATE | | STATE | | STATE |
|
||||
+----------+ +------------+ +----------+
|
||||
|
||||
NOTE: State transition between prepare and deprepare is supported in Spec
|
||||
but not in the software (subsystem)
|
||||
NOTE: State transitions between ``SDW_STREAM_ENABLED`` and
|
||||
``SDW_STREAM_DISABLED`` are only relevant when then INFO_PAUSE flag is
|
||||
supported at the ALSA/ASoC level. Likewise the transition between
|
||||
``SDW_DISABLED_STATE`` and ``SDW_PREPARED_STATE`` depends on the
|
||||
INFO_RESUME flag.
|
||||
|
||||
NOTE2: Stream state transition checks need to be handled by caller
|
||||
framework, for example ALSA/ASoC. No checks for stream transition exist in
|
||||
SoundWire subsystem.
|
||||
NOTE2: The framework implements basic state transition checks, but
|
||||
does not e.g. check if a transition from DISABLED to ENABLED is valid
|
||||
on a specific platform. Such tests need to be added at the ALSA/ASoC
|
||||
level.
|
||||
|
||||
Stream State Operations
|
||||
-----------------------
|
||||
@@ -246,6 +251,9 @@ SDW_STREAM_PREPARED
|
||||
|
||||
Prepare state of stream. Operations performed before entering in this state:
|
||||
|
||||
(0) Steps 1 and 2 are omitted in the case of a resume operation,
|
||||
where the bus bandwidth is known.
|
||||
|
||||
(1) Bus parameters such as bandwidth, frame shape, clock frequency,
|
||||
are computed based on current stream as well as already active
|
||||
stream(s) on Bus. Re-computation is required to accommodate current
|
||||
@@ -270,9 +278,11 @@ Prepare state of stream. Operations performed before entering in this state:
|
||||
After all above operations are successful, stream state is set to
|
||||
``SDW_STREAM_PREPARED``.
|
||||
|
||||
Bus implements below API for PREPARE state which needs to be called once per
|
||||
stream. From ASoC DPCM framework, this stream state is linked to
|
||||
.prepare() operation.
|
||||
Bus implements below API for PREPARE state which needs to be called
|
||||
once per stream. From ASoC DPCM framework, this stream state is linked
|
||||
to .prepare() operation. Since the .trigger() operations may not
|
||||
follow the .prepare(), a direct transition from
|
||||
``SDW_STREAM_PREPARED`` to ``SDW_STREAM_DEPREPARED`` is allowed.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
@@ -332,6 +342,14 @@ Bus implements below API for DISABLED state which needs to be called once
|
||||
per stream. From ASoC DPCM framework, this stream state is linked to
|
||||
.trigger() stop operation.
|
||||
|
||||
When the INFO_PAUSE flag is supported, a direct transition to
|
||||
``SDW_STREAM_ENABLED`` is allowed.
|
||||
|
||||
For resume operations where ASoC will use the .prepare() callback, the
|
||||
stream can transition from ``SDW_STREAM_DISABLED`` to
|
||||
``SDW_STREAM_PREPARED``, with all required settings restored but
|
||||
without updating the bandwidth and bit allocation.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
int sdw_disable_stream(struct sdw_stream_runtime * stream);
|
||||
@@ -353,9 +371,18 @@ state:
|
||||
After all above operations are successful, stream state is set to
|
||||
``SDW_STREAM_DEPREPARED``.
|
||||
|
||||
Bus implements below API for DEPREPARED state which needs to be called once
|
||||
per stream. From ASoC DPCM framework, this stream state is linked to
|
||||
.trigger() stop operation.
|
||||
Bus implements below API for DEPREPARED state which needs to be called
|
||||
once per stream. ALSA/ASoC do not have a concept of 'deprepare', and
|
||||
the mapping from this stream state to ALSA/ASoC operation may be
|
||||
implementation specific.
|
||||
|
||||
When the INFO_PAUSE flag is supported, the stream state is linked to
|
||||
the .hw_free() operation - the stream is not deprepared on a
|
||||
TRIGGER_STOP.
|
||||
|
||||
Other implementations may transition to the ``SDW_STREAM_DEPREPARED``
|
||||
state on TRIGGER_STOP, should they require a transition through the
|
||||
``SDW_STREAM_PREPARED`` state.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
|
Reference in New Issue
Block a user