Skip to content

Conversation

@niranjanhyti
Copy link

No description provided.

@sofci
Copy link
Collaborator

sofci commented Oct 23, 2025

Can one of the admins verify this patch?

reply test this please to run this test once

 Currently the machine driver for tas2783A can only
support 2 channels. This patch adds support for
2 channel playback with 4 device setup.

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- commit message updated
 The ACPI table has initialization data for each device
which needs to be updated to device to configure the device
correctly. This commit adds the change to read the entry
"mipi-sdca-function-initialization-table" and update the device
with the data.

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- update commit message description
 Use fw binary parsing logic same as windows as
same the same will be used in Linux

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- convert dbg to err log for firmware size mimatch issue
- checkpatch error fix for logs
- remove unwanted empty line
- add software reset before fw download

ASoC: tas2783A: add sw reset for firmware download
  Remove unwanted initialistaion writes to the
device which will now be part of the either firmware
or acpi table.

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- update commit message
 The current error message is misleading for the calib data.
Fix error message to indicate that calibration data is
not valid.

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- Update commit message
  The firmware file for tas2783A contains the device
and algorithm settings. So the firmware files are unique
for a system and driver should have the ability to
distinctly identify and pick the right firmware.

This commit adds the method to uniquely identify the
firmware for a system based on the below format.
 <Subsystem>-<Link>-<Unique>.bin

* Subsystem is the PCI device subsystem-id
* Link is the SoundWire link id on which the device recides.
* Unique is the SoundWire slave unique id in the system.

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- rename get_hwid to get_pci_dev
- update commit message
  Add changes to support 4 tas2783A devices on mtl platform.
The supported unique IDs are updated to 9, a, c, d, where
c and d are configured to play left channels and 9 and a
are configured to play right channel.

Signed-off-by: Niranjan H Y <[email protected]>
---
v2:
- update commit message
@ranj063
Copy link
Collaborator

ranj063 commented Oct 27, 2025

test this please

}

static s32 tas_get_smartamp_init_data(struct sdw_slave *peripheral,
struct tas2783_prv *tas_dev)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we reuse the sdca_parse_function() helper to get the init_table? What do you think? @charleskeepax

scnprintf(tas_dev->rca_binaryname, sizeof(tas_dev->rca_binaryname),
"tas2783-%01x.bin", unique_id);
"%04X-%1X-%1X.bin", pci->subsystem_device, bus->link_id,
unique_id);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@charleskeepax submitted the Add SDCA UMP/FDL support series. Maybe you can use the FDL function, too?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bardliao
Due to compatibility reasons with windows project, we will be using custom firmware binary file for tas2783A.
We will switch to the FDL FSM for new devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants