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

Thomas Zimmermann tzimmermann at suse.de
Sun Jul 24 18:28:31 UTC 2022


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.

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)
>>>>   {
>>>
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/x-config
Size: 295881 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220724/428cf380/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220724/428cf380/attachment-0001.sig>


More information about the dri-devel mailing list