コード例 #1
0
ファイル: GnbNbInitLibV4.c プロジェクト: B-Rich/coreboot
VOID
GnbSmuServiceRequestV4 (
  IN       PCI_ADDR                 GnbPciAddress,
  IN       UINT8                    RequestId,
  IN       UINT32                   AccessFlags,
  IN       AMD_CONFIG_PARAMS        *StdHeader
  )
{
  D0F0xBC_xE0003004_STRUCT  D0F0xBC_xE0003004;
  D0F0xBC_xE0003000_STRUCT  D0F0xBC_xE0003000;
  IDS_HDT_CONSOLE (GNB_TRACE, "GnbSmuServiceRequestV4 Enter\n");
  IDS_HDT_CONSOLE (NB_MISC, "  Service Request %d\n", RequestId);

  if ((AccessFlags & GNB_REG_ACC_FLAG_S3SAVE) != 0) {
    SMU_MSG_CONTEXT SmuMsgContext;
    SmuMsgContext.GnbPciAddress.AddressValue = GnbPciAddress.AddressValue;
    SmuMsgContext.RequestId = RequestId;
    S3_SAVE_DISPATCH (StdHeader, GnbSmuServiceRequestV4S3Script_ID, sizeof (SmuMsgContext), &SmuMsgContext);
  }
  do {
    GnbLibPciIndirectRead (GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, D0F0xBC_xE0003004_ADDRESS, AccessWidth32, &D0F0xBC_xE0003004.Value, StdHeader);
  } while (D0F0xBC_xE0003004.Field.IntDone == 0x0);
  GnbLibPciIndirectRead (GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, D0F0xBC_xE0003000_ADDRESS, AccessWidth32, &D0F0xBC_xE0003000.Value, StdHeader);
  D0F0xBC_xE0003000.Field.IntToggle = ~D0F0xBC_xE0003000.Field.IntToggle;
  D0F0xBC_xE0003000.Field.ServiceIndex = RequestId;
  GnbLibPciIndirectWrite (GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, D0F0xBC_xE0003000_ADDRESS, AccessWidth32, &D0F0xBC_xE0003000.Value, StdHeader);
  do {
    GnbLibPciIndirectRead (GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, D0F0xBC_xE0003004_ADDRESS, AccessWidth32, &D0F0xBC_xE0003004.Value, StdHeader);
  } while (D0F0xBC_xE0003004.Field.IntAck == 0x0);
  do {
    GnbLibPciIndirectRead (GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, D0F0xBC_xE0003004_ADDRESS, AccessWidth32, &D0F0xBC_xE0003004.Value, StdHeader);
  } while (D0F0xBC_xE0003004.Field.IntDone == 0x0);
  IDS_HDT_CONSOLE (GNB_TRACE, "GnbSmuServiceRequestV4 Exit\n");
}
コード例 #2
0
ファイル: PcieEnvInitTN.c プロジェクト: B-Rich/coreboot
/**
 * PCIe Env Init
 *
 *
 *
 * @param[in]  StdHeader  Standard configuration header
 * @retval     AGESA_STATUS
 */
AGESA_STATUS
PcieEnvInterfaceTN (
  IN      AMD_CONFIG_PARAMS               *StdHeader
  )
{
  S3_SAVE_DISPATCH (StdHeader, PcieLateRestoreTNS3Script_ID, 0, NULL);
  return  AGESA_SUCCESS;
}
コード例 #3
0
ファイル: PcieInitAtEnv.c プロジェクト: AdriDlu/coreboot
/**
 * PCIe Env Init
 *
 *
 *
 * @param[in]  StdHeader  Standard configuration header
 * @retval     AGESA_STATUS
 */
AGESA_STATUS
PcieInitAtEnv (
  IN      AMD_CONFIG_PARAMS               *StdHeader
  )
{
  S3_SAVE_DISPATCH (StdHeader, PcieLateRestoreS3Script_ID, 0, NULL);
  return  AGESA_SUCCESS;
}
コード例 #4
0
ファイル: PcieInitAtEnv.c プロジェクト: Godkey/coreboot
/**
 * PCIe Env Init
 *
 *
 *
 * @param[in]  StdHeader  Standard configuration header
 * @retval     AGESA_STATUS
 */
AGESA_STATUS
PcieInitAtEnv (
  IN      AMD_CONFIG_PARAMS               *StdHeader
  )
{
  S3_SAVE_DISPATCH (StdHeader, S3DispatchGnbPcieLateRestore, 0, NULL);
  return  AGESA_SUCCESS;
}
コード例 #5
0
ファイル: GnbTimerLib.c プロジェクト: fishbaoz/KaveriPI
VOID
GnbLibStallS3Save (
  IN      UINT32              Microsecond,
  IN      AMD_CONFIG_PARAMS   *StdHeader
  )
{
  S3_SAVE_DISPATCH (StdHeader, GnbLibStallS3Script_ID, sizeof (Microsecond), &Microsecond);
  GnbLibStall (Microsecond, StdHeader);
}
コード例 #6
0
ファイル: GfxLibTN.c プロジェクト: andy737/firebrickRemote
UINT8
GfxRequestSclkTNS3Save (
  IN       UINT8                 Did,
  IN       AMD_CONFIG_PARAMS     *StdHeader
  )
{
  S3_SAVE_DISPATCH (StdHeader, GfxRequestSclkTNS3Script_ID, sizeof (Did), &Did);
  return GfxRequestSclkTN (Did, StdHeader);
}