From: Takashi Iwai <tiwai@suse.de>
To: "Joakim Zhang" <joakim.zhang@cixtech.com>
Cc: Takashi Iwai <tiwai@suse.de>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"broonie@kernel.org" <broonie@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"perex@perex.cz" <perex@perex.cz>,
"tiwai@suse.com" <tiwai@suse.com>,
"linux-sound@vger.kernel.org" <linux-sound@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
cix-kernel-upstream <cix-kernel-upstream@cixtech.com>
Subject: Re: [PATCH V1 2/3] ALSA: hda: add bus callback for address translation
Date: Fri, 28 Nov 2025 18:22:47 +0100 [thread overview]
Message-ID: <87ecpi842g.wl-tiwai@suse.de> (raw)
In-Reply-To: <SEYPR06MB62269EEF81C53AC28278694982DFA@SEYPR06MB6226.apcprd06.prod.outlook.com>
On Thu, 27 Nov 2025 10:44:26 +0100,
Joakim Zhang wrote:
>
> [...]
> > > include/sound/hdaudio.h | 3 +++
> > > sound/hda/core/controller.c | 25 +++++++++++++++++++------
> > > sound/hda/core/stream.c | 17 ++++++++++++++---
> > > 3 files changed, 36 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h index
> > > 4e0c1d8af09f..61b41a014f4a 100644
> > > --- a/include/sound/hdaudio.h
> > > +++ b/include/sound/hdaudio.h
> > > @@ -293,6 +293,9 @@ struct hdac_bus {
> > > const struct hdac_bus_ops *ops;
> > > const struct hdac_ext_bus_ops *ext_ops;
> > >
> > > + /* address translation from host to hdac */
> > > + dma_addr_t (*addr_host_to_hdac)(struct hdac_bus *bus, dma_addr_t
> > > + addr);
> >
> > This should be rather added to hdac_bus_ops instead.
> >
> > Or, we can just add addr_offset field in hdac_bus instead of yet another
> > callback. Then the change would be simpler.
> >
>
> Hello Takashi,
>
> Sorry for late updating since I am involving in other tasks recently.
>
> I tried to add addr_offset field in hdac_bus for the address translation, but met the issue,
> e.g.
> On our platform, if HOST address is 0xd0c09000, HDAC address is 0xd0c09000 - 0x90000000 = 0x40c09000.
>
> If we use the pattern, HOST_addr + addr_offset = HDAC_addr
> For 64bit host,
> then addr_offset shound be 0x70000000, 0xd0c09000+0x70000000=0x1_40c09000, it will update both lower 32bit and
> upper 32bit into hda registers. However, hda controller in our audio subsystem can only support 32bit address, if hda
> sending address more than 32bit, it would not work.
Hm, I don't understand. It we define something like
dma_addr_t addr_offset;
in hdac_bus, and the driver setting
bus->addr_offset = -0x90000000;
then a calculation
dma_addr_t addr;
addr = bus->rb.addr + bus->addr_offset;
will lead to the very same result as your callback, no?
Or am I missing something?
thanks,
Takashi
next prev parent reply other threads:[~2025-11-28 17:22 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-30 11:09 [PATCH V1 0/3] ALSA: hda: add CIX IPBLOQ HDA controller support joakim.zhang
2025-10-30 11:09 ` [PATCH V1 1/3] dt-bindings: sound: add binding for CIX IPBLOQ HDA controller joakim.zhang
2025-10-31 8:58 ` Krzysztof Kozlowski
2025-10-31 9:28 ` Krzysztof Kozlowski
2025-10-31 14:57 ` Conor Dooley
2025-11-03 10:36 ` Joakim Zhang
2025-10-30 11:09 ` [PATCH V1 2/3] ALSA: hda: add bus callback for address translation joakim.zhang
2025-10-31 11:28 ` Takashi Iwai
2025-11-03 11:30 ` Joakim Zhang
2025-11-27 9:44 ` Joakim Zhang
2025-11-28 17:22 ` Takashi Iwai [this message]
2025-12-01 8:14 ` Joakim Zhang
2025-12-01 8:41 ` Takashi Iwai
2025-12-01 10:58 ` Joakim Zhang
2025-10-30 11:09 ` [PATCH V1 3/3] ALSA: hda: add CIX IPBLOQ HDA controller support joakim.zhang
2025-10-31 9:05 ` Krzysztof Kozlowski
2025-10-31 9:57 ` Takashi Iwai
2025-11-03 10:43 ` Joakim Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ecpi842g.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=broonie@kernel.org \
--cc=cix-kernel-upstream@cixtech.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=joakim.zhang@cixtech.com \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=robh@kernel.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox