]> git.baikalelectronics.ru Git - kernel.git/commitdiff
soundwire: add read_ping_status helper definition in manager ops
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 14 Jul 2022 01:10:40 +0000 (09:10 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 17 Aug 2022 12:00:52 +0000 (13:00 +0100)
The existing manager ops provide callbacks to transfer read/write
commands, but don't allow for direct access to PING status
register. This is accessible in all existing IP, and would help
diagnose timeouts or resume issues by reporting the 'true' status
instead of the internal status reported by the IP.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Acked-By: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20220714011043.46059-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/soundwire/sdw.h

index 39058c841469f258646d67b1d807b3165e4ace5d..eb840a07c25c3cd779f2d17e4dfe621574b51f5b 100644 (file)
@@ -839,6 +839,8 @@ struct sdw_defer {
  * @set_bus_conf: Set the bus configuration
  * @pre_bank_switch: Callback for pre bank switch
  * @post_bank_switch: Callback for post bank switch
+ * @read_ping_status: Read status from PING frames, reported with two bits per Device.
+ * Bits 31:24 are reserved.
  */
 struct sdw_master_ops {
        int (*read_prop)(struct sdw_bus *bus);
@@ -855,6 +857,7 @@ struct sdw_master_ops {
                        struct sdw_bus_params *params);
        int (*pre_bank_switch)(struct sdw_bus *bus);
        int (*post_bank_switch)(struct sdw_bus *bus);
+       u32 (*read_ping_status)(struct sdw_bus *bus);
 
 };