public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time
@ 2020-01-17 11:16 Ard Biesheuvel
  2020-01-17 13:07 ` Leif Lindholm
  0 siblings, 1 reply; 3+ messages in thread
From: Ard Biesheuvel @ 2020-01-17 11:16 UTC (permalink / raw)
  To: devel; +Cc: leif.lindholm, Ard Biesheuvel

Whether the Netsec driver is built to support coherent or non-coherent
DMA is decided by the DmaLib library class resolution that is provided
by the platform description, and there are various other places where
the platform needs to be consistent with this (ACPI tables, device
tree, platform driver, etc)

Since the driver has no way to figure out which flavor of DmaLib it was
built against, there is no point in limiting it to one flavor only, and
we can drop the DmaType check at binding time entirely.

This fixes an issue introduced by commit 88c7874481b856578662b775
("Silicon/SynQuacer/PlatformDxe: set NETSEC DMA as coherent"), which
incorrectly stated that the driver does not look at the DmaType flag
in the first place.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
index 9820585e0dd5..392d1b474f5e 100644
--- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
+++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
@@ -52,8 +52,7 @@ NetsecDriverBindingSupported (
     return Status;
   }
 
-  if (CompareGuid (Dev->Type, &gNetsecNonDiscoverableDeviceGuid) &&
-      Dev->DmaType == NonDiscoverableDeviceDmaTypeNonCoherent) {
+  if (CompareGuid (Dev->Type, &gNetsecNonDiscoverableDeviceGuid)) {
     Status = EFI_SUCCESS;
   } else {
     Status = EFI_UNSUPPORTED;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time
  2020-01-17 11:16 [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time Ard Biesheuvel
@ 2020-01-17 13:07 ` Leif Lindholm
  2020-01-17 14:54   ` Ard Biesheuvel
  0 siblings, 1 reply; 3+ messages in thread
From: Leif Lindholm @ 2020-01-17 13:07 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: devel

On Fri, Jan 17, 2020 at 12:16:51 +0100, Ard Biesheuvel wrote:
> Whether the Netsec driver is built to support coherent or non-coherent
> DMA is decided by the DmaLib library class resolution that is provided
> by the platform description, and there are various other places where
> the platform needs to be consistent with this (ACPI tables, device
> tree, platform driver, etc)
> 
> Since the driver has no way to figure out which flavor of DmaLib it was
> built against, there is no point in limiting it to one flavor only, and
> we can drop the DmaType check at binding time entirely.
> 
> This fixes an issue introduced by commit 88c7874481b856578662b775
> ("Silicon/SynQuacer/PlatformDxe: set NETSEC DMA as coherent"), which
> incorrectly stated that the driver does not look at the DmaType flag
> in the first place.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

> ---
>  Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
> index 9820585e0dd5..392d1b474f5e 100644
> --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
> +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
> @@ -52,8 +52,7 @@ NetsecDriverBindingSupported (
>      return Status;
>    }
>  
> -  if (CompareGuid (Dev->Type, &gNetsecNonDiscoverableDeviceGuid) &&
> -      Dev->DmaType == NonDiscoverableDeviceDmaTypeNonCoherent) {
> +  if (CompareGuid (Dev->Type, &gNetsecNonDiscoverableDeviceGuid)) {
>      Status = EFI_SUCCESS;
>    } else {
>      Status = EFI_UNSUPPORTED;
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time
  2020-01-17 13:07 ` Leif Lindholm
@ 2020-01-17 14:54   ` Ard Biesheuvel
  0 siblings, 0 replies; 3+ messages in thread
From: Ard Biesheuvel @ 2020-01-17 14:54 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel-groups-io

On Fri, 17 Jan 2020 at 14:07, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>
> On Fri, Jan 17, 2020 at 12:16:51 +0100, Ard Biesheuvel wrote:
> > Whether the Netsec driver is built to support coherent or non-coherent
> > DMA is decided by the DmaLib library class resolution that is provided
> > by the platform description, and there are various other places where
> > the platform needs to be consistent with this (ACPI tables, device
> > tree, platform driver, etc)
> >
> > Since the driver has no way to figure out which flavor of DmaLib it was
> > built against, there is no point in limiting it to one flavor only, and
> > we can drop the DmaType check at binding time entirely.
> >
> > This fixes an issue introduced by commit 88c7874481b856578662b775
> > ("Silicon/SynQuacer/PlatformDxe: set NETSEC DMA as coherent"), which
> > incorrectly stated that the driver does not look at the DmaType flag
> > in the first place.
> >
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>

Pushed as a327627dd3f9..3465bb1a1855

Thanks,

> > ---
> >  Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
> > index 9820585e0dd5..392d1b474f5e 100644
> > --- a/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
> > +++ b/Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c
> > @@ -52,8 +52,7 @@ NetsecDriverBindingSupported (
> >      return Status;
> >    }
> >
> > -  if (CompareGuid (Dev->Type, &gNetsecNonDiscoverableDeviceGuid) &&
> > -      Dev->DmaType == NonDiscoverableDeviceDmaTypeNonCoherent) {
> > +  if (CompareGuid (Dev->Type, &gNetsecNonDiscoverableDeviceGuid)) {
> >      Status = EFI_SUCCESS;
> >    } else {
> >      Status = EFI_UNSUPPORTED;
> > --
> > 2.20.1
> >

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-17 14:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-17 11:16 [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time Ard Biesheuvel
2020-01-17 13:07 ` Leif Lindholm
2020-01-17 14:54   ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox