[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