On Tue, Dec 10, 2013 at 10:04 AM, Alex Deucher <alexdeucher at gmail.com> wrote: > On Mon, Dec 9, 2013 at 9:20 PM, Michel D?nzer <michel at daenzer.net> wrote: >> On Mon, 2013-12-09 at 19:48 -0500, Alex Deucher wrote: >>> >>> -u32 cik_compute_ring_get_wptr(struct radeon_device *rdev, >>> - struct radeon_ring *ring) >>> +u32 cik_compute_get_wptr(struct radeon_device *rdev, >>> + struct radeon_ring *ring) >>> { >>> u32 wptr; >>> >>> if (rdev->wb.enabled) { >>> - wptr = le32_to_cpu(rdev->wb.wb[ring->wptr_offs/4]); >>> + wptr = rdev->wb.wb[ring->wptr_offs/4]; >>> } else { >>> mutex_lock(&rdev->srbm_mutex); >>> cik_srbm_select(rdev, ring->me, ring->pipe, >>> ring->queue, 0); >>> @@ -4053,8 +4081,8 @@ u32 cik_compute_ring_get_wptr(struct >>> radeon_device *rdev, >>> return wptr; >>> } >>> >>> -void cik_compute_ring_set_wptr(struct radeon_device *rdev, >>> - struct radeon_ring *ring) >>> +void cik_compute_set_wptr(struct radeon_device *rdev, >>> + struct radeon_ring *ring) >>> { >>> rdev->wb.wb[ring->wptr_offs/4] = cpu_to_le32(ring->wptr); >> >> I think this cpu_to_le32() needs to be dropped as well to match >> cik_compute_ring_get_wptr(). > > whoops, yeah, missed that one.
Updated patch attached. Alex > >> >> >>> diff --git a/drivers/gpu/drm/radeon/radeon.h >>> b/drivers/gpu/drm/radeon/radeon.h >>> index b1f990d..e7c02a7 100644 >>> --- a/drivers/gpu/drm/radeon/radeon.h >>> +++ b/drivers/gpu/drm/radeon/radeon.h >>> @@ -779,13 +779,11 @@ struct radeon_ring { >>> volatile uint32_t *ring; >>> unsigned rptr; >>> unsigned rptr_offs; >>> - unsigned rptr_reg; >>> unsigned rptr_save_reg; >>> u64 next_rptr_gpu_addr; >>> volatile u32 *next_rptr_cpu_addr; >>> unsigned wptr; >>> unsigned wptr_old; >>> - unsigned wptr_reg; >> >> What's the motivation for removing these? Seems like keeping them would >> allow keeping this patch and the resulting code smaller (fewer function >> variants) and cleaner (no if/else/... for the register offsets in the >> variants). > > I was trying to remove the asic specific info out of the ring struct > and into the asic specific functions. > > Alex -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-drm-radeon-remove-generic-rptr-wptr-functions-v2.patch Type: text/x-diff Size: 33917 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20131210/9860a79a/attachment-0001.patch>