linux/drivers/soundwire
Chao Song 3d912d1a28 soundwire: intel: read AC timing control register before updating it
Start from ACE1.x, DOAISE is added to AC timing control
register bit 5, it combines with DOAIS to get effective
timing, and has the default value 1.

The current code fills DOAIS, DACTQE and DODS bits to a
variable initialized to zero, and updates the variable
to AC timing control register. With this operation, We
change DOAISE to 0, and force a much more aggressive
timing. The timing is even unable to form a working
waveform on SDA pin on Meteorlake.

This patch uses read-modify-write operation for the AC
timing control register access, thus makes sure those
bits not supposed and intended to change are not touched.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
Reviewed-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>
Link: https://lore.kernel.org/r/20230515081301.12921-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2023-05-27 16:08:48 +05:30
..
amd_manager.c soundwire: amd: add pm_prepare callback and pm ops support 2023-04-12 15:30:36 +05:30
amd_manager.h soundwire: amd: handle SoundWire wake enable interrupt 2023-04-12 15:30:36 +05:30
bus_type.c soundwire updates for 6.3 2023-02-24 17:29:52 -08:00
bus.c soundwire: bus: add new manager callback to deal with peripheral enumeration 2023-05-27 16:06:46 +05:30
bus.h soundwire: export sdw_compute_slave_ports() function 2023-04-12 15:30:35 +05:30
cadence_master.c soundwire: cadence: change access to IP_MCP_CMD_BASE 2023-03-15 19:24:03 +05:30
cadence_master.h soundwire: intel/cadence: set ip_offset at run-time 2023-05-27 16:06:45 +05:30
debugfs.c soundwire: debugfs: Switch to sdw_read_no_pm 2023-01-09 21:46:27 +05:30
dmi-quirks.c soundwire: dmi-quirks: add remapping for Intel 'Rooks County' NUC M15 2023-03-15 19:23:57 +05:30
generic_bandwidth_allocation.c soundwire: export sdw_compute_slave_ports() function 2023-04-12 15:30:35 +05:30
intel_ace2x_debugfs.c soundwire: intel_ace2x: add debugfs support 2023-05-27 16:06:45 +05:30
intel_ace2x.c soundwire: intel_ace2x: add pre/post bank switch callbacks 2023-05-27 16:06:47 +05:30
intel_auxdevice.c soundwire: intel_ace2x: add new_peripheral_assigned callback 2023-05-27 16:06:46 +05:30
intel_auxdevice.h soundwire: intel: split auxdevice to different file 2022-11-23 20:11:49 +05:30
intel_bus_common.c soundwire: intel: move bank switch routine to common intel_bus_common.c 2023-03-15 19:24:02 +05:30
intel_init.c soundwire: intel_init: use eml_lock parameter 2023-05-27 16:06:45 +05:30
intel.c soundwire: intel: read AC timing control register before updating it 2023-05-27 16:08:48 +05:30
intel.h soundwire: intel_ace2x: add debugfs support 2023-05-27 16:06:45 +05:30
Kconfig soundwire: amd: enable build for AMD SoundWire manager driver 2023-04-12 15:30:36 +05:30
Makefile soundwire: intel_ace2x: add debugfs support 2023-05-27 16:06:45 +05:30
master.c soundwire: master: use pm_runtime_set_active() on add 2020-12-02 12:49:34 +05:30
mipi_disco.c soundwire: fix port_ready[] dynamic allocation in mipi_disco 2020-09-03 16:02:29 +05:30
qcom.c soundwire: qcom: use tabs for indentation in defines 2023-05-08 13:01:35 +05:30
slave.c Char / Misc driver changes for 6.0-rc1 2022-08-04 11:05:48 -07:00
stream.c soundwire: stream: uniquify dev_err() logs 2023-04-12 15:30:36 +05:30
sysfs_local.h soundwire: sysfs: add slave status and device number before probe 2020-09-28 11:17:43 +05:30
sysfs_slave_dpn.c soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute 2020-11-24 14:08:51 +05:30
sysfs_slave.c soundwire: sysfs: Constify static struct attribute_group 2021-01-19 20:21:20 +05:30