On Wed, Mar 04, 2015 at 02:12:09PM -0800, Jason Adams wrote: > On 03/04/2015 04:34 AM, Jonathan Gray wrote: > > On Tue, Mar 03, 2015 at 05:39:51PM -0800, Jason Adams wrote: > >> Somewhere along the road of moving from 5.5 to 5.6 (i386) my performance > >> in X has really taken a hit > >> when dragging windows around. The window trails the pointer by several > >> inches. X performance used > >> to be surprisingly good on 5.5. > >> > >> I note the following lines in Xorg.0.log: > >> > >>> [ 56.517] (--) RADEON(0): Chipset: "ATI Radeon Mobility 7000 IGP 4437" > >>> (ChipID = 0x4437) > >>> [ 56.519] (II) RADEON(0): GPU accel disabled or not working, using > >>> shadowfb for KMS > >> fw_update reports no updates, (it does list a couple radeon entries as it > >> checks for firmware). > >> > >> Any clues as to what may be the issue here? Is this fixable? > > A full dmesg and Xorg.0.log would be helpful. If you could try a snapshot > > there are some changes in -current that may be relevant. > > > > The dmesg is as follows, and i suspect the Xorg log would be redundant, as > there seems to lines > in the dmesg seem to suggest the problem happens fairly early. > > Search for the line: drm: initializing kernel modesetting (RS200 > 0x1002:0x4437 0x1179:0xFF10) > It all goes gunnysack after that. > Thing is, I don't know what to do about that.
There is no AGP driver for RS100/RS200/RS300 in the tree. The commit to align the gart may help still: diff --git sys/dev/pci/drm/radeon/radeon_gart.c sys/dev/pci/drm/radeon/radeon_gart.c index 9de93f0..d17b676 100644 --- sys/dev/pci/drm/radeon/radeon_gart.c +++ sys/dev/pci/drm/radeon/radeon_gart.c @@ -75,8 +75,8 @@ int radeon_gart_table_ram_alloc(struct radeon_device *rdev) flags |= BUS_DMA_NOCACHE; } #endif - dmah = drm_dmamem_alloc(rdev->dmat, rdev->gart.table_size, 0, - 1, rdev->gart.table_size, flags, 0); + dmah = drm_dmamem_alloc(rdev->dmat, rdev->gart.table_size, + rdev->gart.table_size, 1, rdev->gart.table_size, flags, 0); if (dmah == NULL) { return -ENOMEM; } diff --git sys/dev/pci/drm/radeon/rs400.c sys/dev/pci/drm/radeon/rs400.c index ea320eb..45172b1 100644 --- sys/dev/pci/drm/radeon/rs400.c +++ sys/dev/pci/drm/radeon/rs400.c @@ -220,7 +220,7 @@ int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr) return -EINVAL; } - entry = (lower_32_bits(addr) & PAGE_MASK) | + entry = (lower_32_bits(addr) & ~PAGE_MASK) | ((upper_32_bits(addr) & 0xff) << 4) | RS400_PTE_WRITEABLE | RS400_PTE_READABLE; entry = cpu_to_le32(entry);