[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87ikw25f11.wl-tiwai@suse.de>
Date: Thu, 15 Aug 2024 11:08:58 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Baojun Xu <baojun.xu@...com>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>,
Hans de Goede <hdegoede@...hat.com>,
<robh+dt@...nel.org>,
<andriy.shevchenko@...ux.intel.com>,
<lgirdwood@...il.com>,
<perex@...ex.cz>,
<pierre-louis.bossart@...ux.intel.com>,
<kevin-lu@...com>,
<shenghao-ding@...com>,
<navada@...com>,
<13916275206@....com>,
<v-hampiholi@...com>,
<v-po@...com>,
<niranjan.hy@...com>,
<alsa-devel@...a-project.org>,
<linux-kernel@...r.kernel.org>,
<liam.r.girdwood@...el.com>,
<yung-chuan.liao@...ux.intel.com>,
<broonie@...nel.org>,
<soyer@....hu>
Subject: Re: [PATCH v11] ALSA: hda/tas2781: Add tas2781 hda SPI driver
On Sat, 27 Jul 2024 10:50:48 +0200,
Baojun Xu wrote:
>
> This patch was used to add TAS2781 devices on SPI support in sound/pci/hda.
> It use ACPI node descript about parameters of TAS2781 on SPI, it like:
> Scope (_SB.PC00.SPI0)
> {
> Device (GSPK)
> {
> Name (_HID, "TXNW2781") // _HID: Hardware ID
> Method (_CRS, 0, NotSerialized)
> {
> Name (RBUF, ResourceTemplate ()
> {
> SpiSerialBusV2 (...)
> SpiSerialBusV2 (...)
> }
> }
> }
> }
>
> And in platform/x86/serial-multi-instantiate.c, those spi devices will be
> added into system as a single SPI device, so TAS2781 SPI driver will
> probe twice for every single SPI device. And driver will also parser
> mono DSP firmware binary and RCA binary for itself.
> The code support Realtek as the primary codec.
> In patch version-10, add multi devices firmware binary support,
> to compatble with windows driver, they can share same firmware binary.
>
> Signed-off-by: Baojun Xu <baojun.xu@...com>
>
> ---
> v11:
Now it's v11, and I'd love to move this forward finally, instead of
hanging forever.
The HD-audio part looks more or less OK, but I'd need acks for the
ACPI and serial-multi-instance parts below.
Put ACPI and serial-multi-instance maintainers to Cc.
Rafael, Hans, let me know if that looks OK to take.
The original patch is found at
https://lore.kernel.org/20240727085048.1092-1-baojun.xu@ti.com
> --- a/drivers/acpi/scan.c
> +++ b/drivers/acpi/scan.c
> @@ -1769,6 +1769,7 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
> {"CSC3557", },
> {"INT33FE", },
> {"INT3515", },
> + {"TXNW2781", },
> /* Non-conforming _HID for Cirrus Logic already released */
> {"CLSA0100", },
> {"CLSA0101", },
> diff --git a/drivers/platform/x86/serial-multi-instantiate.c b/drivers/platform/x86/serial-multi-instantiate.c
> index 3be016cfe601..b15c819023d0 100644
> --- a/drivers/platform/x86/serial-multi-instantiate.c
> +++ b/drivers/platform/x86/serial-multi-instantiate.c
> @@ -368,6 +368,17 @@ static const struct smi_node cs35l57_hda = {
> .bus_type = SMI_AUTO_DETECT,
> };
>
> +static const struct smi_node tas2781_hda = {
> + .instances = {
> + { "tas2781-hda", IRQ_RESOURCE_AUTO, 0 },
> + { "tas2781-hda", IRQ_RESOURCE_AUTO, 0 },
> + { "tas2781-hda", IRQ_RESOURCE_AUTO, 0 },
> + { "tas2781-hda", IRQ_RESOURCE_AUTO, 0 },
> + {}
> + },
> + .bus_type = SMI_AUTO_DETECT,
> +};
> +
> /*
> * Note new device-ids must also be added to ignore_serial_bus_ids in
> * drivers/acpi/scan.c: acpi_device_enumeration_by_parent().
> @@ -380,6 +391,7 @@ static const struct acpi_device_id smi_acpi_ids[] = {
> { "CSC3556", (unsigned long)&cs35l56_hda },
> { "CSC3557", (unsigned long)&cs35l57_hda },
> { "INT3515", (unsigned long)&int3515_data },
> + { "TXNW2781", (unsigned long)&tas2781_hda },
> /* Non-conforming _HID for Cirrus Logic already released */
> { "CLSA0100", (unsigned long)&cs35l41_hda },
> { "CLSA0101", (unsigned long)&cs35l41_hda },
thanks,
Takashi
Powered by blists - more mailing lists