Revert "soc/intel/cannonlake: Remove DMA support for PTT"

This reverts commit d5018a8f78.
This commit is contained in:
Jeremy Soller
2019-02-26 11:42:26 -07:00
parent 020fb66698
commit fc7fecf7c8
2 changed files with 23 additions and 0 deletions

View File

@@ -67,6 +67,10 @@
#define HECI1_BASE_ADDRESS 0xfeda2000
/* PTT registers */
#define PTT_TXT_BASE_ADDRESS 0xfed30800
#define PTT_PRESENT 0x00070000
#define VTD_BASE_ADDRESS 0xFED90000
#define VTD_BASE_SIZE 0x00004000
/*

View File

@@ -83,6 +83,22 @@ int smm_subregion(int sub, void **start, size_t *size)
return 0;
}
static bool is_ptt_enable(void)
{
if ((read32((void *)PTT_TXT_BASE_ADDRESS) & PTT_PRESENT) ==
PTT_PRESENT)
return true;
return false;
}
/* Calculate PTT size */
static size_t get_ptt_size(void)
{
/* Allocate 4KB for PTT if enabled */
return is_ptt_enable() ? 4*KiB : 0;
}
/* Calculate ME Stolen size */
static size_t get_imr_size(void)
{
@@ -176,6 +192,9 @@ static size_t calculate_reserved_mem_size(uintptr_t dram_base,
/* Get Tracehub size */
reserve_mem_base -= get_imr_size();
/* Get PTT size */
reserve_mem_base -= get_ptt_size();
/* Traditional Area Size */
reserve_mem_size = dram_base - reserve_mem_base;