public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ming Huang <ming.huang@linaro.org>
To: leif.lindholm@linaro.org, linaro-uefi@lists.linaro.org,
	edk2-devel@lists.01.org, graeme.gregory@linaro.org
Cc: ard.biesheuvel@linaro.org, guoheyi@huawei.com,
	wanghuiqiang@huawei.com, huangming23@huawei.com,
	zhangjinsong2@huawei.com, huangdaode@hisilicon.com,
	john.garry@huawei.com, Heyi Guo <heyi.guo@linaro.org>,
	Ming Huang <ming.huang@linaro.org>,
	Michael D Kinney <michael.d.kinney@intel.com>
Subject: [PATCH edk2-platforms v1 03/13] Hisilicon/Pci: Move PciPlatform to common directory
Date: Fri, 20 Jul 2018 16:02:32 +0800	[thread overview]
Message-ID: <20180720080242.3777-4-ming.huang@linaro.org> (raw)
In-Reply-To: <20180720080242.3777-1-ming.huang@linaro.org>

From: Heyi Guo <heyi.guo@linaro.org>

This is to prepare for switching to generic PciHostBridge driver, so
we move all platform specific code to platform specific drivers, not
in PciHostBridge driver.

The PciPlatform driver is design a common driver in Hisilicon,so move
this driver to Hisilion/Drvers. Remove the useless file PciPlatform.h.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Signed-off-by: Ming Huang <ming.huang@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
---
 Platform/Hisilicon/D03/D03.dsc                                                    |   2 +-
 Platform/Hisilicon/D03/D03.fdf                                                    |   2 +-
 Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.h                          | 180 --------------------
 Platform/Hisilicon/D05/D05.dsc                                                    |   2 +-
 Platform/Hisilicon/D05/D05.fdf                                                    |   2 +-
 {Platform/Hisilicon/D03 => Silicon/Hisilicon}/Drivers/PciPlatform/PciPlatform.c   |   0
 {Platform/Hisilicon/D03 => Silicon/Hisilicon}/Drivers/PciPlatform/PciPlatform.inf |   0
 7 files changed, 4 insertions(+), 184 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index 3fce2174fe..6ceebba4ee 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -458,7 +458,7 @@
     <LibraryClasses>
       NULL|Platform/Hisilicon/D03/Library/PlatformPciLib/PlatformPciLib.inf
   }
-  Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf
+  Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.inf
   Silicon/Hisilicon/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf {
     <LibraryClasses>
       DmaLib|EmbeddedPkg/Library/CoherentDmaLib/CoherentDmaLib.inf
diff --git a/Platform/Hisilicon/D03/D03.fdf b/Platform/Hisilicon/D03/D03.fdf
index 1383aa1091..264d134f98 100644
--- a/Platform/Hisilicon/D03/D03.fdf
+++ b/Platform/Hisilicon/D03/D03.fdf
@@ -263,7 +263,7 @@ READ_LOCK_STATUS   = TRUE
   # PCI Support
   #
   INF Silicon/Hisilicon/Hi1610/Drivers/PcieInit1610/PcieInitDxe.inf
-  INF Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf
+  INF Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.inf
   INF Silicon/Hisilicon/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf
   INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
 
diff --git a/Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.h b/Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.h
deleted file mode 100644
index a89f7c61b6..0000000000
--- a/Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/** @file
-*
-*  Copyright (c) 2016, Hisilicon Limited. All rights reserved.
-*  Copyright (c) 2016, Linaro Limited. All rights reserved.
-*
-*  This program and the accompanying materials
-*  are licensed and made available under the terms and conditions of the BSD License
-*  which accompanies this distribution.  The full text of the license may be found at
-*  http://opensource.org/licenses/bsd-license.php
-*
-*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*
-**/
-
-#ifndef PCI_PLATFORM_H_
-#define PCI_PLATFORM_H_
-
-#include <Library/DebugLib.h>
-#include <Library/BaseLib.h>
-#include <Library/UefiLib.h>
-#include <Protocol/PciPlatform.h>
-
-
-//
-// Global variables for Option ROMs
-//
-#define NULL_ROM_FILE_GUID \
-  { \
-    0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 \
-  }
-
-
-typedef struct {
-  EFI_GUID  FileName;
-  UINTN     Segment;
-  UINTN     Bus;
-  UINTN     Device;
-  UINTN     Function;
-  UINT16    VendorId;
-  UINT16    DeviceId;
-} PCI_OPTION_ROM_TABLE;
-
-#define INVALID                     0xBD
-
-
-typedef struct {
-  EFI_HANDLE                      PciPlatformHandle;
-  EFI_PCI_PLATFORM_PROTOCOL       PciPlatform;
-} PCI_PLATFORM_PRIVATE_DATA;
-
-
-
-extern PCI_PLATFORM_PRIVATE_DATA  mPciPrivateData;
-
-EFI_STATUS
-EFIAPI
-PhaseNotify (
-  IN EFI_PCI_PLATFORM_PROTOCOL                        *This,
-  IN EFI_HANDLE                                       HostBridge,
-  IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE    Phase,
-  IN EFI_PCI_CHIPSET_EXECUTION_PHASE                  ChipsetPhase
-  )
-/*++
-
-Routine Description:
-
-  Perform initialization by the phase indicated.
-
-Arguments:
-
-  This          -  Pointer to the EFI_PCI_PLATFORM_PROTOCOL instance.
-  HostBridge    -  The associated PCI host bridge handle.
-  Phase         -  The phase of the PCI controller enumeration.
-  ChipsetPhase  -  Defines the execution phase of the PCI chipset driver.
-
-Returns:
-
-  EFI_SUCCESS  -  Must return with success.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-PlatformPrepController (
-  IN  EFI_PCI_PLATFORM_PROTOCOL                      *This,
-  IN  EFI_HANDLE                                     HostBridge,
-  IN  EFI_HANDLE                                     RootBridge,
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS    PciAddress,
-  IN  EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE   Phase,
-  IN  EFI_PCI_CHIPSET_EXECUTION_PHASE                ChipsetPhase
-  )
-/*++
-
-Routine Description:
-
-  The PlatformPrepController() function can be used to notify the platform driver so that
-  it can perform platform-specific actions. No specific actions are required.
-  Several notification points are defined at this time. More synchronization points may be
-  added as required in the future. The PCI bus driver calls the platform driver twice for
-  every PCI controller-once before the PCI Host Bridge Resource Allocation Protocol driver
-  is notified, and once after the PCI Host Bridge Resource Allocation Protocol driver has
-  been notified.
-  This member function may not perform any error checking on the input parameters. It also
-  does not return any error codes. If this member function detects any error condition, it
-  needs to handle those errors on its own because there is no way to surface any errors to
-  the caller.
-
-Arguments:
-
-  This          -  Pointer to the EFI_PCI_PLATFORM_PROTOCOL instance.
-  HostBridge    -  The associated PCI host bridge handle.
-  RootBridge    -  The associated PCI root bridge handle.
-  PciAddress    -  The address of the PCI device on the PCI bus.
-  Phase         -  The phase of the PCI controller enumeration.
-  ChipsetPhase  -  Defines the execution phase of the PCI chipset driver.
-
-Returns:
-
-  EFI_SUCCESS  -  The function completed successfully.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-GetPlatformPolicy (
-  IN  EFI_PCI_PLATFORM_PROTOCOL            *This,
-  OUT EFI_PCI_PLATFORM_POLICY              *PciPolicy
-  )
-/*++
-
-Routine Description:
-
-  Set the PciPolicy as EFI_RESERVE_ISA_IO_NO_ALIAS | EFI_RESERVE_VGA_IO_NO_ALIAS.
-
-Arguments:
-
-  This       -  The pointer to the Protocol itself.
-  PciPolicy  -  the returned Policy.
-
-Returns:
-
-  EFI_UNSUPPORTED        -  Function not supported.
-  EFI_INVALID_PARAMETER  -  Invalid PciPolicy value.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-GetPciRom (
-  IN   EFI_PCI_PLATFORM_PROTOCOL            *This,
-  IN   EFI_HANDLE                           PciHandle,
-  OUT  VOID                                 **RomImage,
-  OUT  UINTN                                *RomSize
-  )
-/*++
-
-Routine Description:
-
-  Return a PCI ROM image for the onboard device represented by PciHandle.
-
-Arguments:
-
-  This       -  Protocol instance pointer.
-  PciHandle  -  PCI device to return the ROM image for.
-  RomImage   -  PCI Rom Image for onboard device.
-  RomSize    -  Size of RomImage in bytes.
-
-Returns:
-
-  EFI_SUCCESS    -  RomImage is valid.
-  EFI_NOT_FOUND  -  No RomImage.
-
---*/
-;
-
-#endif
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index ab7c5caf86..585184654b 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -611,7 +611,7 @@
     <LibraryClasses>
       NULL|Platform/Hisilicon/D05/Library/PlatformPciLib/PlatformPciLib.inf
   }
-  Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf
+  Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.inf
   Silicon/Hisilicon/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf {
     <LibraryClasses>
       DmaLib|EmbeddedPkg/Library/CoherentDmaLib/CoherentDmaLib.inf
diff --git a/Platform/Hisilicon/D05/D05.fdf b/Platform/Hisilicon/D05/D05.fdf
index 61e8d907f9..2fa7a63d72 100644
--- a/Platform/Hisilicon/D05/D05.fdf
+++ b/Platform/Hisilicon/D05/D05.fdf
@@ -285,7 +285,7 @@ READ_LOCK_STATUS   = TRUE
   # PCI Support
   #
   INF Silicon/Hisilicon/Hi1610/Drivers/PcieInit1610/PcieInitDxe.inf
-  INF Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf
+  INF Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.inf
   INF Silicon/Hisilicon/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf
   INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
 
diff --git a/Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.c b/Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.c
similarity index 100%
rename from Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.c
rename to Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.c
diff --git a/Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf b/Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.inf
similarity index 100%
rename from Platform/Hisilicon/D03/Drivers/PciPlatform/PciPlatform.inf
rename to Silicon/Hisilicon/Drivers/PciPlatform/PciPlatform.inf
-- 
2.17.0



  parent reply	other threads:[~2018-07-20  8:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-20  8:02 [PATCH edk2-platforms v1 00/13] Switching to generic PciHostBridge driver Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 01/13] Hisilicon: Enable WARN and INFO debug message Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 02/13] Hisilicon/D05/PlatformPciLib: fix misuse of macro Ming Huang
2018-07-20  8:02 ` Ming Huang [this message]
2018-07-20  8:02 ` [PATCH edk2-platforms v1 04/13] Hisilicon/Pci: Add two api for PciPlatform driver Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 05/13] Hisilicon/Pci: move ATU configuration to PciPlatformLib Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 06/13] Hisilicon/Pci: move EnlargeAtuConfig0() " Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 07/13] Hisilicon/PlatformPciLib: add segment for each root bridge Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 08/13] Hisilicon: add PciHostBridgeLib Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 09/13] Hisilicon: add PciCpuIo2Dxe Ming Huang
2018-07-20 10:31   ` Ard Biesheuvel
2018-07-23  1:12     ` Ming
2018-07-20  8:02 ` [PATCH edk2-platforms v1 10/13] Hisilicon: add PciSegmentLib for Hi161x Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 11/13] Hisilicon/D0x: Switch to generic PciHostBridge driver Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 12/13] Hisilicon: remove platform specific PciHostBridge Ming Huang
2018-07-20  8:02 ` [PATCH edk2-platforms v1 13/13] Hisilicon/PlatformPciLib: clear redundant felds in RESOURCE_APPETURE Ming Huang

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-list 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=20180720080242.3777-4-ming.huang@linaro.org \
    --to=devel@edk2.groups.io \
    /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