[PATCH 1/3] Revert "drm/amdgpu: move internal vram_mgr function into the C file"

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Jul 25 15:27:06 UTC 2022


On 24/07/2022 19:28, Thomas Zimmermann wrote:
> Hi
> 
> Am 22.07.22 um 17:47 schrieb Christian König:
>> Hi Tvrtko,
>>
>> scratching my head what exactly is going on here.
>>
>> I've build tested drm-tip a couple of test in the last week and it 
>> always worked flawlessly.
>>
>> It looks like that some conflict resolution is sometimes not applied 
>> correctly, but I have no idea why.
> 
> It worked last week, but must have been reintroduced meanhwile.
> Please fetch the latest drm-tip and rebuild. The attached config 
> produces the error on my system.

What is the status with this? I hit a conflict on an implicated file 
just now trying to rebuild drm-tip:

Unmerged paths:
   (use "git add/rm <file>..." as appropriate to mark resolution)
         deleted by us:   drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h

I had an other i915 conflict to solve and as grep amdgpu_vram_mgr.h 
drivers/gpu/drm/amd produced nothing I just did a git rm on it and 
pushed the resolution.

Let me know if I broke something, re-broke something, or whatever.. 
Build of amdgpu certainly still looks broken on my end, both before and 
after me rebuilding drm-tip so maybe I just preserved the breakage.

Regards,

Tvrtko

> 
> Best regards
> Thomas
> 
>>
>> Regards,
>> Christian.
>>
>> Am 22.07.22 um 16:46 schrieb Tvrtko Ursulin:
>>>
>>> On 14/07/2022 09:45, Thomas Zimmermann wrote:
>>>> Hi
>>>>
>>>> Am 08.07.22 um 11:30 schrieb Arunpravin Paneer Selvam:
>>>>> This reverts commit 708d19d9f362766147cab79eccae60912c6d3068.
>>>>
>>>> This commit is only present in drm-misc-next. Should the revert be 
>>>> cherry-picked into drm-misc-next-fixes?
>>>
>>> Seemed like an appropriate thread to raise this, in case my pings 
>>> about it on #dri-devel and #radeon go un-noticed since it is Friday 
>>> after all.
>>>
>>> So for me dri-tip today fails to build the amdgpu driver.
>>>
>>> I had to revert 925b6e59138cefa47275c67891c65d48d3266d57 to make it 
>>> build. This conflicts a bit but seems trivial. Without this revert 
>>> code seems confused with different versions of struct amdgpu_vram_mgr 
>>> and build fails violently (increase your scroll back buffers to see 
>>> it all).
>>>
>>> Regards,
>>>
>>> Tvrtko
>>>
>>>> Best regards
>>>> Thomas
>>>>
>>>>>
>>>>> This is part of a revert of the following commits:
>>>>> commit 708d19d9f362 ("drm/amdgpu: move internal vram_mgr function 
>>>>> into the C file")
>>>>> commit 5e3f1e7729ec ("drm/amdgpu: fix start calculation in 
>>>>> amdgpu_vram_mgr_new")
>>>>> commit c9cad937c0c5 ("drm/amdgpu: add drm buddy support to amdgpu")
>>>>>
>>>>> [WHY]
>>>>> Few users reported garbaged graphics as soon as x starts,
>>>>> reverting until this can be resolved.
>>>>>
>>>>> Signed-off-by: Arunpravin Paneer Selvam 
>>>>> <Arunpravin.PaneerSelvam at amd.com>
>>>>> ---
>>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 29 
>>>>> --------------------
>>>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h | 27 ++++++++++++++++++
>>>>>   2 files changed, 27 insertions(+), 29 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 
>>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
>>>>> index 7a5e8a7b4a1b..51d9d3a4456c 100644
>>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
>>>>> @@ -50,35 +50,6 @@ to_amdgpu_device(struct amdgpu_vram_mgr *mgr)
>>>>>       return container_of(mgr, struct amdgpu_device, mman.vram_mgr);
>>>>>   }
>>>>> -static inline struct drm_buddy_block *
>>>>> -amdgpu_vram_mgr_first_block(struct list_head *list)
>>>>> -{
>>>>> -    return list_first_entry_or_null(list, struct drm_buddy_block, 
>>>>> link);
>>>>> -}
>>>>> -
>>>>> -static inline bool amdgpu_is_vram_mgr_blocks_contiguous(struct 
>>>>> list_head *head)
>>>>> -{
>>>>> -    struct drm_buddy_block *block;
>>>>> -    u64 start, size;
>>>>> -
>>>>> -    block = amdgpu_vram_mgr_first_block(head);
>>>>> -    if (!block)
>>>>> -        return false;
>>>>> -
>>>>> -    while (head != block->link.next) {
>>>>> -        start = amdgpu_vram_mgr_block_start(block);
>>>>> -        size = amdgpu_vram_mgr_block_size(block);
>>>>> -
>>>>> -        block = list_entry(block->link.next, struct 
>>>>> drm_buddy_block, link);
>>>>> -        if (start + size != amdgpu_vram_mgr_block_start(block))
>>>>> -            return false;
>>>>> -    }
>>>>> -
>>>>> -    return true;
>>>>> -}
>>>>> -
>>>>> -
>>>>> -
>>>>>   /**
>>>>>    * DOC: mem_info_vram_total
>>>>>    *
>>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h 
>>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h
>>>>> index 4b267bf1c5db..9a2db87186c7 100644
>>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h
>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.h
>>>>> @@ -53,6 +53,33 @@ static inline u64 
>>>>> amdgpu_vram_mgr_block_size(struct drm_buddy_block *block)
>>>>>       return PAGE_SIZE << drm_buddy_block_order(block);
>>>>>   }
>>>>> +static inline struct drm_buddy_block *
>>>>> +amdgpu_vram_mgr_first_block(struct list_head *list)
>>>>> +{
>>>>> +    return list_first_entry_or_null(list, struct drm_buddy_block, 
>>>>> link);
>>>>> +}
>>>>> +
>>>>> +static inline bool amdgpu_is_vram_mgr_blocks_contiguous(struct 
>>>>> list_head *head)
>>>>> +{
>>>>> +    struct drm_buddy_block *block;
>>>>> +    u64 start, size;
>>>>> +
>>>>> +    block = amdgpu_vram_mgr_first_block(head);
>>>>> +    if (!block)
>>>>> +        return false;
>>>>> +
>>>>> +    while (head != block->link.next) {
>>>>> +        start = amdgpu_vram_mgr_block_start(block);
>>>>> +        size = amdgpu_vram_mgr_block_size(block);
>>>>> +
>>>>> +        block = list_entry(block->link.next, struct 
>>>>> drm_buddy_block, link);
>>>>> +        if (start + size != amdgpu_vram_mgr_block_start(block))
>>>>> +            return false;
>>>>> +    }
>>>>> +
>>>>> +    return true;
>>>>> +}
>>>>> +
>>>>>   static inline struct amdgpu_vram_mgr_resource *
>>>>>   to_amdgpu_vram_mgr_resource(struct ttm_resource *res)
>>>>>   {
>>>>
>>
> 


More information about the dri-devel mailing list