Re: [PATCH 1/4] ACPI: Allow _DMA method in walk resources
From: Lorenzo Pieralisi
Date: Fri Jul 21 2017 - 06:18:20 EST
On Thu, Jul 20, 2017 at 03:50:16PM +0000, Moore, Robert wrote:
> Could you post this as a pull request on our github?
>
> https://github.com/acpica/acpica
Sure, will do, thanks !
Lorenzo
> > -----Original Message-----
> > From: Moore, Robert
> > Sent: Thursday, July 20, 2017 8:49 AM
> > To: 'Lorenzo Pieralisi' <lorenzo.pieralisi@xxxxxxx>; linux-
> > acpi@xxxxxxxxxxxxxxx
> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > Zhang, Rui <rui.zhang@xxxxxxxxx>; Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>;
> > Will Deacon <will.deacon@xxxxxxx>; Robin Murphy <robin.murphy@xxxxxxx>;
> > Hanjun Guo <hanjun.guo@xxxxxxxxxx>; Feng Kan <fkan@xxxxxxx>; Jon Masters
> > <jcm@xxxxxxxxxx>; Nate Watterson <nwatters@xxxxxxxxxxxxxx>
> > Subject: RE: [PATCH 1/4] ACPI: Allow _DMA method in walk resources
> >
> > I think we can take this as-is into ACPICA.
> > Bob
> >
> >
> > > -----Original Message-----
> > > From: Lorenzo Pieralisi [mailto:lorenzo.pieralisi@xxxxxxx]
> > > Sent: Thursday, July 20, 2017 7:45 AM
> > > To: linux-acpi@xxxxxxxxxxxxxxx
> > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx; Lorenzo Pieralisi
> > > <lorenzo.pieralisi@xxxxxxx>; Moore, Robert <robert.moore@xxxxxxxxx>;
> > Zhang, Rui <rui.zhang@xxxxxxxxx>; Rafael J.
> > > Wysocki <rjw@xxxxxxxxxxxxx>; Will Deacon <will.deacon@xxxxxxx>; Robin
> > > Murphy <robin.murphy@xxxxxxx>; Hanjun Guo <hanjun.guo@xxxxxxxxxx>;
> > > Feng Kan <fkan@xxxxxxx>; Jon Masters <jcm@xxxxxxxxxx>; Nate Watterson
> > > <nwatters@xxxxxxxxxxxxxx>
> > > Subject: [PATCH 1/4] ACPI: Allow _DMA method in walk resources
> > >
> > > The _DMA object contains a resource template, this change adds support
> > > for the walk resources function so that ACPI devices containing a _DMA
> > > object can actually parse it to detect DMA ranges for the respective
> > > bus.
> > >
> > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> > > Cc: Robert Moore <robert.moore@xxxxxxxxx>
> > > Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
> > > Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
> > > ---
> > > drivers/acpi/acpica/rsxface.c | 7 ++++---
> > > include/acpi/acnames.h | 1 +
> > > 2 files changed, 5 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/acpi/acpica/rsxface.c
> > > b/drivers/acpi/acpica/rsxface.c index 59a4f9e..be65e65 100644
> > > --- a/drivers/acpi/acpica/rsxface.c
> > > +++ b/drivers/acpi/acpica/rsxface.c
> > > @@ -615,7 +615,7 @@ ACPI_EXPORT_SYMBOL(acpi_walk_resource_buffer)
> > > * device we are querying
> > > * name - Method name of the resources we
> > want.
> > > * (METHOD_NAME__CRS,
> > METHOD_NAME__PRS,
> > > or
> > > - * METHOD_NAME__AEI)
> > > + * METHOD_NAME__AEI or
> > METHOD_NAME__DMA)
> > > * user_function - Called for each resource
> > > * context - Passed to user_function
> > > *
> > > @@ -641,11 +641,12 @@ acpi_walk_resources(acpi_handle device_handle,
> > > if (!device_handle || !user_function || !name ||
> > > (!ACPI_COMPARE_NAME(name, METHOD_NAME__CRS) &&
> > > !ACPI_COMPARE_NAME(name, METHOD_NAME__PRS) &&
> > > - !ACPI_COMPARE_NAME(name, METHOD_NAME__AEI))) {
> > > + !ACPI_COMPARE_NAME(name, METHOD_NAME__AEI) &&
> > > + !ACPI_COMPARE_NAME(name, METHOD_NAME__DMA))) {
> > > return_ACPI_STATUS(AE_BAD_PARAMETER);
> > > }
> > >
> > > - /* Get the _CRS/_PRS/_AEI resource list */
> > > + /* Get the _CRS/_PRS/_AEI/_DMA resource list */
> > >
> > > buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
> > > status = acpi_rs_get_method_data(device_handle, name, &buffer);
> > diff
> > > --git a/include/acpi/acnames.h b/include/acpi/acnames.h index
> > > b421584..d8dd3bf 100644
> > > --- a/include/acpi/acnames.h
> > > +++ b/include/acpi/acnames.h
> > > @@ -54,6 +54,7 @@
> > > #define METHOD_NAME__CLS "_CLS"
> > > #define METHOD_NAME__CRS "_CRS"
> > > #define METHOD_NAME__DDN "_DDN"
> > > +#define METHOD_NAME__DMA "_DMA"
> > > #define METHOD_NAME__HID "_HID"
> > > #define METHOD_NAME__INI "_INI"
> > > #define METHOD_NAME__PLD "_PLD"
> > > --
> > > 2.10.0
>