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

This reverts commit d5018a8f78.
This commit is contained in:
Jeremy Soller
2019-05-02 15:31:16 -06:00
parent 67a5b962d0
commit e1e1025c6b
2 changed files with 23 additions and 0 deletions

View File

@@ -76,6 +76,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;