Trying to guess which region is which based on size is needlessly error-prone and complicated.
Region 0 is always the frame buffer and region 2 is always mmio. radeonreg already hard-codes the appropriate region numbers. This patch teaches radeontool and avivotool to do the same. Suggested-by: Alex Deucher <[email protected]> Signed-off-by: Jonathan Nieder <[email protected]> --- avivotool.c | 14 +++----------- radeontool.c | 18 ++---------------- 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/avivotool.c b/avivotool.c index 9c35fc79..bc827b37 100644 --- a/avivotool.c +++ b/avivotool.c @@ -1857,17 +1857,9 @@ static int map_radeon_mem(void) printf("cannot find Radeon device\n"); return -1; } - - for (i = 0; i < 6; i++) { - if (device->regions[i].size == 64 * 1024) - ctrl_region = i; - else if (device->regions[i].size == 128 * 1024) - ctrl_region = i; - else if (device->regions[i].size == 256 * 1024) - ctrl_region = i; - else if (device->regions[i].size >= 128 * 1024 * 1024) - fb_region = i; - } + + fb_region = 0; + ctrl_region = 2; avivo_device = device; if (pci_device_map_region(avivo_device, ctrl_region, 1) != 0) { diff --git a/radeontool.c b/radeontool.c index 9ed92c24..cb0d12d2 100644 --- a/radeontool.c +++ b/radeontool.c @@ -948,22 +948,8 @@ static void map_radeon_cntl_mem(void) if (!device) die("cannot find Radeon device"); - for (i = 0; i < 6; i++) { - if (device->regions[i].size >= 16 * 1024 && - device->regions[i].size <= 64 * 1024) { - if (ctrl_region != -1) - die("cannot distinguish ctrl region"); - ctrl_region = i; - } else if (device->regions[i].size >= 64 * 1024 * 1024) { - if (fb_region != -1) - die("cannot distinguish fb region"); - fb_region = i; - } - } - if (ctrl_region == -1) - die("cannot find ctrl region"); - if (fb_region == -1) - die("cannot find fb region"); + fb_region = 0; + ctrl_region = 2; avivo_device = device; if (pci_device_map_region(avivo_device, ctrl_region, 1) != 0) -- 1.7.9.2 _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
