diff options
author | Frederic Barrat <fbarrat@linux.vnet.ibm.com> | 2017-01-03 18:38:22 +0100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-03-02 18:24:40 +1100 |
commit | 95c59d192376a4360278393da5df53e21ae3fc72 (patch) | |
tree | 350553b209d78738fe1e1d7fb41ebd9c8c9b2247 /hw | |
parent | e812fd6053b92e8fae658b8731cc96c12f65270c (diff) | |
download | skiboot-95c59d192376a4360278393da5df53e21ae3fc72.zip skiboot-95c59d192376a4360278393da5df53e21ae3fc72.tar.gz skiboot-95c59d192376a4360278393da5df53e21ae3fc72.tar.bz2 |
phb4: Fix TVE encoding for start address
>From the phb4 spec, when encoding the TVE, the pci start address bits
49:24 are encoded in bits TVE[52:53]||[0:23].
The mask to select bits 47:24 is incorrectly set. It should be
0xffffff000000, shifted left by 16, i.e. 0xffffff << 40
Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Reviewed-By: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/phb4.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1330,7 +1330,7 @@ static int64_t phb4_map_pe_dma_window_real(struct phb *phb, * and end address bits 49:24 into TVE[54:55]||[24:47] * and set TVE[51] */ - tve = (pci_start_addr << 16) & (0xffffffull << 48); + tve = (pci_start_addr << 16) & (0xffffffull << 40); tve |= (pci_start_addr >> 38) & (3ull << 10); tve |= (end >> 8) & (0xfffffful << 16); tve |= (end >> 40) & (3ull << 8); |