Re: [PATCH v9] ALSA: hda/tas2781: Add tas2781 hda SPI driver

From: Geert Uytterhoeven
Date: Thu Jul 11 2024 - 17:05:59 EST


Hi Baojun,

On Thu, Jul 11, 2024 at 3:22 PM Baojun Xu <baojun.xu@xxxxxx> 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.
>
> Signed-off-by: Baojun Xu <baojun.xu@xxxxxx>
> --- /dev/null
> +++ b/sound/pci/hda/tas2781_hda_spi.c

Thanks for your patch!

> +/* fixed m68k compiling issue: mapping table can save code field */
> +static const struct blktyp_devidx_map ppc3_tas2781_mapping_table[] = {

> +/* fixed m68k compiling issue: mapping table can save code field */
> +static unsigned char map_dev_idx(struct tasdevice_fw *tas_fmw,
> + struct tasdev_blk *block)

> +/* Block parser function. */
> +static int fw_parse_block_data_kernel(struct tasdevice_fw *tas_fmw,
> + struct tasdev_blk *block, const struct firmware *fmw, int offset)
> +{

> + /*
> + * Fixed m68k compiling issue:
> + * 1. mapping table can save code field.
> + * 2. storing the dev_idx as a member of block can reduce unnecessary
> + * time and system resource comsumption of dev_idx mapping every
> + * time the block data writing to the dsp.
> + */

Do we really need more copies of this?
See sound/soc/codecs/tas2781-fmwlib.c.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds