linux/drivers/soundwire
Charles Keepax d005ea713d soundwire: bus: Update sdw_nread/nwrite_no_pm to handle page boundaries
Currently issuing a sdw_nread/nwrite_no_pm across a page boundary
will silently fail to write correctly as nothing updates the page
registers, meaning the same page of the chip will get rewritten
with each successive page of data.

As the sdw_msg structure contains page information it seems
reasonable that a single sdw_msg should always be within one
page. It is also mostly simpler to handle the paging at the
bus level rather than each master having to handle it in their
xfer_msg callback.

As such add handling to the bus code to split up a transfer into
multiple sdw_msg's when they go across page boundaries.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230322164948.566962-3-ckeepax@opensource.cirrus.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2023-04-12 15:30:37 +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: Update sdw_nread/nwrite_no_pm to handle page boundaries 2023-04-12 15:30:37 +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: cadence: add helpers to access IP_MCP registers 2023-03-15 19:24:02 +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_auxdevice.c soundwire: bus: Remove unused reset_page_addr() callback 2023-01-31 17:36:14 +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 updates for 6.2 2022-12-19 08:47:33 -06:00
intel.c soundwire: intel: move bank switch routine to common intel_bus_common.c 2023-03-15 19:24:02 +05:30
intel.h soundwire: intel: move bank switch routine to common intel_bus_common.c 2023-03-15 19:24:02 +05:30
Kconfig soundwire: amd: enable build for AMD SoundWire manager driver 2023-04-12 15:30:36 +05:30
Makefile soundwire: amd: enable build for AMD SoundWire manager driver 2023-04-12 15:30:36 +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: gracefully handle too many ports in DT 2023-04-12 15:30: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