Message ID | 1550823803-32446-1-git-send-email-twischer@de.adit-jv.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: rsnd: dma: fix SSI9 4/5/6/7 busif dma address | expand |
Hi Jiada Thank you for your patch > Currently each SSI unit 's busif dma address is calculated by > following calculation formulation: > 0xec540000 + 0x1000 * id + busif / 4 * 0xA000 + busif % 4 * 0x400 > > But according to user manual 41.1.4 Register Configuration > ssi9 4/5/6/7 busif data register address > (SSI9_4_BUSIF/SSI9_5_BUSIF/SSI9_6_BUSIF/SSI9_7_BUSIF) > are out of this rule. > > This patch updates the calculation formulation to correct > ssi9 4/5/6/7 busif data register address > > Fixes: commit 5e45a6fab3b9 ("ASoc: rsnd: dma: Calculate dma address with consider of BUSIF") > Signed-off-by: Jiada Wang <jiada_wang@mentor.com> > Signed-off-by: Timo Wischer <twischer@de.adit-jv.com> > --- We don't need below anymore by this patch ? --- dma.c ---- /* * FIXME * * We can't support SSI9-4/5/6/7, because its address is * out of calculation rule */ if ((id == 9) && (busif >= 4)) dev_err(dev, "This driver doesn't support SSI%d-%d, so far", id, busif); Best regards --- Kuninori Morimoto
Hi Jiada, again > > Currently each SSI unit 's busif dma address is calculated by > > following calculation formulation: > > 0xec540000 + 0x1000 * id + busif / 4 * 0xA000 + busif % 4 * 0x400 > > > > But according to user manual 41.1.4 Register Configuration > > ssi9 4/5/6/7 busif data register address > > (SSI9_4_BUSIF/SSI9_5_BUSIF/SSI9_6_BUSIF/SSI9_7_BUSIF) > > are out of this rule. > > > > This patch updates the calculation formulation to correct > > ssi9 4/5/6/7 busif data register address > > > > Fixes: commit 5e45a6fab3b9 ("ASoc: rsnd: dma: Calculate dma address with consider of BUSIF") > > Signed-off-by: Jiada Wang <jiada_wang@mentor.com> > > Signed-off-by: Timo Wischer <twischer@de.adit-jv.com> > > --- > > We don't need below anymore by this patch ? > > --- dma.c ---- > /* > * FIXME > * > * We can't support SSI9-4/5/6/7, because its address is > * out of calculation rule > */ > if ((id == 9) && (busif >= 4)) > dev_err(dev, "This driver doesn't support SSI%d-%d, so far", > id, busif); Oops, next patch is removing this. Please ignore this mail.
Hi Morimoto-san, On Fri, Feb 22, 2019 at 09:23:23AM +0100, twischer@de.adit-jv.com wrote: > From: Jiada Wang <jiada_wang@mentor.com> > > Currently each SSI unit 's busif dma address is calculated by > following calculation formulation: > 0xec540000 + 0x1000 * id + busif / 4 * 0xA000 + busif % 4 * 0x400 > > But according to user manual 41.1.4 Register Configuration > ssi9 4/5/6/7 busif data register address > (SSI9_4_BUSIF/SSI9_5_BUSIF/SSI9_6_BUSIF/SSI9_7_BUSIF) > are out of this rule. > > This patch updates the calculation formulation to correct > ssi9 4/5/6/7 busif data register address > > Fixes: commit 5e45a6fab3b9 ("ASoc: rsnd: dma: Calculate dma address with consider of BUSIF") > Signed-off-by: Jiada Wang <jiada_wang@mentor.com> > Signed-off-by: Timo Wischer <twischer@de.adit-jv.com> > --- > sound/soc/sh/rcar/dma.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c > index 0324a5c..28f65eb 100644 > --- a/sound/soc/sh/rcar/dma.c > +++ b/sound/soc/sh/rcar/dma.c > @@ -508,10 +508,10 @@ static struct rsnd_mod_ops rsnd_dmapp_ops = { > #define RDMA_SSI_I_N(addr, i) (addr ##_reg - 0x00300000 + (0x40 * i) + 0x8) > #define RDMA_SSI_O_N(addr, i) (addr ##_reg - 0x00300000 + (0x40 * i) + 0xc) > > -#define RDMA_SSIU_I_N(addr, i, j) (addr ##_reg - 0x00441000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400)) > +#define RDMA_SSIU_I_N(addr, i, j) (addr ##_reg - 0x00441000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400) - (0x4000 * ((i) / 9) * ((j) / 4))) > #define RDMA_SSIU_O_N(addr, i, j) RDMA_SSIU_I_N(addr, i, j) > > -#define RDMA_SSIU_I_P(addr, i, j) (addr ##_reg - 0x00141000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400)) > +#define RDMA_SSIU_I_P(addr, i, j) (addr ##_reg - 0x00141000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400) - (0x4000 * ((i) / 9) * ((j) / 4))) > #define RDMA_SSIU_O_P(addr, i, j) RDMA_SSIU_I_P(addr, i, j) > > #define RDMA_SRC_I_N(addr, i) (addr ##_reg - 0x00500000 + (0x400 * i)) Reviewed-by: Eugeniu Rosca <erosca@de.adit-jv.com> This patch lives in our tree for a while without any issues. It still applies cleanly to v5.4-rc4-18-g3b7c59a1950c. Any chance to see it in vanilla?
On Tue, Oct 22, 2019 at 05:49:04PM +0200, Eugeniu Rosca wrote: > It still applies cleanly to v5.4-rc4-18-g3b7c59a1950c. > Any chance to see it in vanilla? Someone would need to resend it. No idea what the issues are but I don't have it any more.
Hi Mark, Thanks for the prompt reply. On Tue, Oct 22, 2019 at 05:35:01PM +0100, Mark Brown wrote: > On Tue, Oct 22, 2019 at 05:49:04PM +0200, Eugeniu Rosca wrote: > > > It still applies cleanly to v5.4-rc4-18-g3b7c59a1950c. > > Any chance to see it in vanilla? > > Someone would need to resend it. No idea what the issues are but I > don't have it any more. How about downloading it from [1] by pressing on the "mbox" button and applying it with "git am"? This will also include any "*-by: Name <E-mail>" signatures found in the thread. If this doesn't match your workflow, I can resend it. [1] https://patchwork.kernel.org/patch/10825513/ ("ASoC: rsnd: dma: fix SSI9 4/5/6/7 busif dma address")
On Tue, Oct 22, 2019 at 06:46:07PM +0200, Eugeniu Rosca wrote: > On Tue, Oct 22, 2019 at 05:35:01PM +0100, Mark Brown wrote: > > On Tue, Oct 22, 2019 at 05:49:04PM +0200, Eugeniu Rosca wrote: > > > It still applies cleanly to v5.4-rc4-18-g3b7c59a1950c. > > > Any chance to see it in vanilla? > > Someone would need to resend it. No idea what the issues are but I > > don't have it any more. > How about downloading it from [1] by pressing on the "mbox" button and > applying it with "git am"? This will also include any > "*-by: Name <E-mail>" signatures found in the thread. > If this doesn't match your workflow, I can resend it. This doesn't match either my workflow or the kernel's workflow in general, please resend - that means that not only I but also other people on the list have the chance to see the patch and review it.
On Tue, Oct 22, 2019 at 05:53:37PM +0100, Mark Brown wrote: > On Tue, Oct 22, 2019 at 06:46:07PM +0200, Eugeniu Rosca wrote: > > On Tue, Oct 22, 2019 at 05:35:01PM +0100, Mark Brown wrote: > > > On Tue, Oct 22, 2019 at 05:49:04PM +0200, Eugeniu Rosca wrote: > > > > > It still applies cleanly to v5.4-rc4-18-g3b7c59a1950c. > > > > Any chance to see it in vanilla? > > > > Someone would need to resend it. No idea what the issues are but I > > > don't have it any more. > > > How about downloading it from [1] by pressing on the "mbox" button and > > applying it with "git am"? This will also include any > > "*-by: Name <E-mail>" signatures found in the thread. > > > If this doesn't match your workflow, I can resend it. > > This doesn't match either my workflow or the kernel's workflow in > general, please resend - that means that not only I but also other > people on the list have the chance to see the patch and review it. Resent as https://patchwork.kernel.org/patch/11205195/ ("[RESEND] ASoC: rsnd: dma: fix SSI9 4/5/6/7 busif dma address")
diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c index 0324a5c..28f65eb 100644 --- a/sound/soc/sh/rcar/dma.c +++ b/sound/soc/sh/rcar/dma.c @@ -508,10 +508,10 @@ static struct rsnd_mod_ops rsnd_dmapp_ops = { #define RDMA_SSI_I_N(addr, i) (addr ##_reg - 0x00300000 + (0x40 * i) + 0x8) #define RDMA_SSI_O_N(addr, i) (addr ##_reg - 0x00300000 + (0x40 * i) + 0xc) -#define RDMA_SSIU_I_N(addr, i, j) (addr ##_reg - 0x00441000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400)) +#define RDMA_SSIU_I_N(addr, i, j) (addr ##_reg - 0x00441000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400) - (0x4000 * ((i) / 9) * ((j) / 4))) #define RDMA_SSIU_O_N(addr, i, j) RDMA_SSIU_I_N(addr, i, j) -#define RDMA_SSIU_I_P(addr, i, j) (addr ##_reg - 0x00141000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400)) +#define RDMA_SSIU_I_P(addr, i, j) (addr ##_reg - 0x00141000 + (0x1000 * (i)) + (((j) / 4) * 0xA000) + (((j) % 4) * 0x400) - (0x4000 * ((i) / 9) * ((j) / 4))) #define RDMA_SSIU_O_P(addr, i, j) RDMA_SSIU_I_P(addr, i, j) #define RDMA_SRC_I_N(addr, i) (addr ##_reg - 0x00500000 + (0x400 * i))