|
@@ -182,15 +182,18 @@ static int __init setup_areas(struct spu *spu)
|
|
|
{
|
|
|
struct table {char* name; unsigned long addr; unsigned long size;};
|
|
|
|
|
|
- spu_pdata(spu)->shadow = __ioremap(
|
|
|
- spu_pdata(spu)->shadow_addr, sizeof(struct spe_shadow),
|
|
|
- pgprot_val(PAGE_READONLY) | _PAGE_NO_CACHE | _PAGE_GUARDED);
|
|
|
+ spu_pdata(spu)->shadow = ioremap_flags(spu_pdata(spu)->shadow_addr,
|
|
|
+ sizeof(struct spe_shadow),
|
|
|
+ pgprot_val(PAGE_READONLY) |
|
|
|
+ _PAGE_NO_CACHE);
|
|
|
if (!spu_pdata(spu)->shadow) {
|
|
|
pr_debug("%s:%d: ioremap shadow failed\n", __func__, __LINE__);
|
|
|
goto fail_ioremap;
|
|
|
}
|
|
|
|
|
|
- spu->local_store = ioremap(spu->local_store_phys, LS_SIZE);
|
|
|
+ spu->local_store = (__force void *)ioremap_flags(spu->local_store_phys,
|
|
|
+ LS_SIZE, _PAGE_NO_CACHE);
|
|
|
+
|
|
|
if (!spu->local_store) {
|
|
|
pr_debug("%s:%d: ioremap local_store failed\n",
|
|
|
__func__, __LINE__);
|
|
@@ -199,6 +202,7 @@ static int __init setup_areas(struct spu *spu)
|
|
|
|
|
|
spu->problem = ioremap(spu->problem_phys,
|
|
|
sizeof(struct spu_problem));
|
|
|
+
|
|
|
if (!spu->problem) {
|
|
|
pr_debug("%s:%d: ioremap problem failed\n", __func__, __LINE__);
|
|
|
goto fail_ioremap;
|
|
@@ -206,6 +210,7 @@ static int __init setup_areas(struct spu *spu)
|
|
|
|
|
|
spu->priv2 = ioremap(spu_pdata(spu)->priv2_addr,
|
|
|
sizeof(struct spu_priv2));
|
|
|
+
|
|
|
if (!spu->priv2) {
|
|
|
pr_debug("%s:%d: ioremap priv2 failed\n", __func__, __LINE__);
|
|
|
goto fail_ioremap;
|