Hi Geert > >> +static u32 audmapp_addr_to_id(struct device *dev, u32 addr) > >> +{ > >> + struct id_addr_table ssi_id_table[] = { > > static const, so they don't get copied to the stack on every invocation. Indeed, thanks > >> + {0x00, 0x0000}, /* SSI00 */ > >> + {0x01, 0x0400}, /* SSI01 */ > >> + {0x02, 0x0800}, /* SSI02 */ > >> + {0x03, 0x0C00}, /* SSI03 */ > >> + {0x04, 0x1000}, /* SSI10 */ > >> + {0x05, 0x1400}, /* SSI11 */ > >> + {0x06, 0x1800}, /* SSI12 */ > >> + {0x07, 0x1C00}, /* SSI13 */ > >> + {0x08, 0x2000}, /* SSI20 */ > > > > Isn't the address part here the physical address of the FIFO, > > Yes they are. > > > which can be different for each implementation that contains > > an audmapp device? > > Fortunately they're identical for all (current) members of the R-Car Gen2 > family. > > Morimoto-san: Are the base addresses configured in DT? > I did a quick search for 0xec300000, 0xec320000, 0xec40000, > 0xec420000, and 0xec000000, and couldn't find them in DT, only in > source code (comments). They must come from somewhere? > Note that I didn't follow the sound binding discussions that closely. This base addresses are specified from sound driver. - sound driver specifies src/dst address by DMAEngine API - audmapp find necessary ID from src/dst address Best regards --- Kuninori Morimoto -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html