iort.c (762f99f4f3cb41a775b5157dd761217beba65873) | iort.c (da5fb9e1ad3fbf632dce735f1bdad257ca528499) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2016, Semihalf 4 * Author: Tomasz Nowicki <tn@semihalf.com> 5 * 6 * This file implements early detection/parsing of I/O mapping 7 * reported to OS through firmware via I/O Remapping Table (IORT) 8 * IORT document number: ARM DEN 0049A --- 1347 unchanged lines hidden (view full) --- 1356 struct acpi_iort_pmcg *pmcg; 1357 1358 /* Retrieve PMCG specific data */ 1359 pmcg = (struct acpi_iort_pmcg *)node->node_data; 1360 1361 res[0].start = pmcg->page0_base_address; 1362 res[0].end = pmcg->page0_base_address + SZ_4K - 1; 1363 res[0].flags = IORESOURCE_MEM; | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2016, Semihalf 4 * Author: Tomasz Nowicki <tn@semihalf.com> 5 * 6 * This file implements early detection/parsing of I/O mapping 7 * reported to OS through firmware via I/O Remapping Table (IORT) 8 * IORT document number: ARM DEN 0049A --- 1347 unchanged lines hidden (view full) --- 1356 struct acpi_iort_pmcg *pmcg; 1357 1358 /* Retrieve PMCG specific data */ 1359 pmcg = (struct acpi_iort_pmcg *)node->node_data; 1360 1361 res[0].start = pmcg->page0_base_address; 1362 res[0].end = pmcg->page0_base_address + SZ_4K - 1; 1363 res[0].flags = IORESOURCE_MEM; |
1364 res[1].start = pmcg->page1_base_address; 1365 res[1].end = pmcg->page1_base_address + SZ_4K - 1; 1366 res[1].flags = IORESOURCE_MEM; | 1364 /* 1365 * The initial version in DEN0049C lacked a way to describe register 1366 * page 1, which makes it broken for most PMCG implementations; in 1367 * that case, just let the driver fail gracefully if it expects to 1368 * find a second memory resource. 1369 */ 1370 if (node->revision > 0) { 1371 res[1].start = pmcg->page1_base_address; 1372 res[1].end = pmcg->page1_base_address + SZ_4K - 1; 1373 res[1].flags = IORESOURCE_MEM; 1374 } |
1367 1368 if (pmcg->overflow_gsiv) 1369 acpi_iort_register_irq(pmcg->overflow_gsiv, "overflow", 1370 ACPI_EDGE_SENSITIVE, &res[2]); 1371} 1372 1373static struct acpi_platform_list pmcg_plat_info[] __initdata = { 1374 /* HiSilicon Hip08 Platform */ --- 320 unchanged lines hidden --- | 1375 1376 if (pmcg->overflow_gsiv) 1377 acpi_iort_register_irq(pmcg->overflow_gsiv, "overflow", 1378 ACPI_EDGE_SENSITIVE, &res[2]); 1379} 1380 1381static struct acpi_platform_list pmcg_plat_info[] __initdata = { 1382 /* HiSilicon Hip08 Platform */ --- 320 unchanged lines hidden --- |