[PATCH] drm/radeon: Disable writeback by default on ppc
Alex Deucher
alexdeucher at gmail.com
Tue Dec 10 07:12:10 PST 2013
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>
More information about the dri-devel
mailing list