[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250117114642.000000b5@huawei.com>
Date: Fri, 17 Jan 2025 11:46:42 +0000
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: Robert Richter <rrichter@....com>
CC: Gregory Price <gourry@...rry.net>, Alison Schofield
<alison.schofield@...el.com>, Vishal Verma <vishal.l.verma@...el.com>, "Ira
Weiny" <ira.weiny@...el.com>, Dan Williams <dan.j.williams@...el.com>, Dave
Jiang <dave.jiang@...el.com>, Davidlohr Bueso <dave@...olabs.net>, Terry
Bowman <terry.bowman@....com>, <linux-cxl@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, "Fabio M. De Francesco"
<fabio.m.de.francesco@...ux.intel.com>
Subject: Re: [PATCH v1 25/29] cxl/amd: Enable Zen5 address translation using
ACPI PRMT
On Fri, 17 Jan 2025 08:59:00 +0100
Robert Richter <rrichter@....com> wrote:
> On 14.01.25 11:13:07, Jonathan Cameron wrote:
> > On Thu, 9 Jan 2025 11:14:46 +0100
> > Robert Richter <rrichter@....com> wrote:
> >
> > > On 08.01.25 10:48:23, Gregory Price wrote:
> > >
> > > > > diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c
> > > > > index 901555bf4b73..c8176265c15c 100644
> > > > > --- a/drivers/cxl/core/port.c
> > > > > +++ b/drivers/cxl/core/port.c
> > > > > @@ -831,6 +831,11 @@ static void cxl_debugfs_create_dport_dir(struct cxl_dport *dport)
> > > > > &cxl_einj_inject_fops);
> > > > > }
> > > > >
> > > > > +static void cxl_port_platform_setup(struct cxl_port *port)
> > > > > +{
> > > > > + cxl_port_setup_amd(port);
> > > > > +}
> > > > > +
> > > >
> > > > Assuming this gets expanded (which it may not), should we expect this
> > > > function to end up like so?
> > > >
> > > > static void cxl_port_platform_setup(struct cxl_port *port)
> > > > {
> > > > cxl_port_setup_amd(port);
> > > > cxl_port_setup_intel(port);
> > > > cxl_port_setup_arm(port);
> > > > ... etc ...
> > > > }
> > > >
> > > > I suppose this logic has to exist somewhere in some form, just want to make
> > > > sure this is what we want. Either way, this is easily modifiable, so
> > > > not a blocker as I said.
> > >
> > > Yes, it is exactly designed like that. I will update the patch
> > > description.
> >
> > If we need it on ARM then we might wrap this in an arch_cxl_port_platform_setup()
> > as never building a kernel that does x86 and arm. Could rely on stubs but that
> > tends to get ugly as things grow.
>
> I could move the function and file to core/x86/amd.c already and add
> a:
>
> void __weak arch_cxl_port_platform_setup(struct cxl_port *port) { }
Something like that probably makes sense. I don't like x86 calls in what
I'm building for arm, even if they are stubbed out ;)
Jonathan
>
> -Robert
Powered by blists - more mailing lists