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