[edk2-devel] [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time

Ard Biesheuvel posted 1 patch 4 years, 3 months ago
Failed in applying to current master (apply log)
Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/DriverBinding.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[edk2-devel] [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time
Posted by Ard Biesheuvel 4 years, 3 months ago
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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53358): https://edk2.groups.io/g/devel/message/53358
Mute This Topic: https://groups.io/mt/69840917/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time
Posted by Leif Lindholm 4 years, 3 months ago
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
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53363): https://edk2.groups.io/g/devel/message/53363
Mute This Topic: https://groups.io/mt/69840917/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH edk2-platforms] Silicon/SynQuacer/NetsecDxe: ignore DMA coherency at binding time
Posted by Ard Biesheuvel 4 years, 3 months ago
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
> >

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53364): https://edk2.groups.io/g/devel/message/53364
Mute This Topic: https://groups.io/mt/69840917/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-