Otherwise we might free BOs before job has completed.
We add the fence to BO after commit, so free BOs after that.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 37 +++---
1 file changed, 27 i
The fence generated in ->commit is a shared one, so add it to resv.
And we need do that with eviction lock hold.
Currently we only sync last_direct/last_delayed before ->prepare. But we
fail to sync the last fence generated by ->commit. That cuases problems
if eviction happenes later, but it does
We hit gmc page fault on navi1X.
UMR tells that the physical address of pte is bad.
Two issues:
1) we did not sync job schedule fence while update mapping.
we sync resv, but the last fence is not there. So any wait on the resv
finished before job completed. say, bo has been released while job
runni
Am 13.03.20 um 08:43 schrieb xinhui pan:
The fence generated in ->commit is a shared one, so add it to resv.
And we need do that with eviction lock hold.
Currently we only sync last_direct/last_delayed before ->prepare. But we
fail to sync the last fence generated by ->commit. That cuases proble
> 2020年3月13日 16:52,Koenig, Christian 写道:
>
> Am 13.03.20 um 08:43 schrieb xinhui pan:
>> The fence generated in ->commit is a shared one, so add it to resv.
>> And we need do that with eviction lock hold.
>>
>> Currently we only sync last_direct/last_delayed before ->prepare. But we
>> fail to
Am 13.03.20 um 10:29 schrieb Pan, Xinhui:
2020年3月13日 16:52,Koenig, Christian 写道:
Am 13.03.20 um 08:43 schrieb xinhui pan:
The fence generated in ->commit is a shared one, so add it to resv.
And we need do that with eviction lock hold.
Currently we only sync last_direct/last_delayed before -
> 2020年3月13日 17:55,Koenig, Christian 写道:
>
> Am 13.03.20 um 10:29 schrieb Pan, Xinhui:
>>
>>> 2020年3月13日 16:52,Koenig, Christian 写道:
>>>
>>> Am 13.03.20 um 08:43 schrieb xinhui pan:
The fence generated in ->commit is a shared one, so add it to resv.
And we need do that with evictio
Am 13.03.20 um 11:21 schrieb Pan, Xinhui:
2020年3月13日 17:55,Koenig, Christian 写道:
Am 13.03.20 um 10:29 schrieb Pan, Xinhui:
2020年3月13日 16:52,Koenig, Christian 写道:
Am 13.03.20 um 08:43 schrieb xinhui pan:
The fence generated in ->commit is a shared one, so add it to resv.
And we need do tha
> 2020年3月13日 18:23,Koenig, Christian 写道:
>
> Am 13.03.20 um 11:21 schrieb Pan, Xinhui:
>>
>>> 2020年3月13日 17:55,Koenig, Christian 写道:
>>>
>>> Am 13.03.20 um 10:29 schrieb Pan, Xinhui:
> 2020年3月13日 16:52,Koenig, Christian 写道:
>
> Am 13.03.20 um 08:43 schrieb xinhui pan:
>> Th
Am 13.03.20 um 11:40 schrieb Pan, Xinhui:
2020年3月13日 18:23,Koenig, Christian 写道:
Am 13.03.20 um 11:21 schrieb Pan, Xinhui:
2020年3月13日 17:55,Koenig, Christian 写道:
Am 13.03.20 um 10:29 schrieb Pan, Xinhui:
2020年3月13日 16:52,Koenig, Christian 写道:
Am 13.03.20 um 08:43 schrieb xinhui pan:
Th
If a job need sync the bo resv, it is likely that bo need the job fence
to sync with others.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Suggested-by: Christian König
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 5 +
drivers/gpu/drm/amd/amdgpu/a
Otherwise we might free BOs before job has completed.
We add the fence to BO after commit, so free BOs after that.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 29 +-
1 file changed, 19 i
VCN HW doesn't support dynamic load balance on multiple instances
for a context. This patch initializes VNC entities with only one
drm_gpu_scheduler picked by drm_sched_pick_best(). Picking a
drm_gpu_scheduler using drm_sched_pick_best() ensures that we
do load balance among multiple contexts but n
Refactor drm_sched_entity_get_free_sched() to move the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm_sched_pick_best() so
that it can be utilized by other drm drivers.
Signed-off-by: Nirmoy Das
---
driver
wait, this causes test case in Sl+ state. need take a look.
> 2020年3月13日 19:53,Pan, Xinhui 写道:
>
> If a job need sync the bo resv, it is likely that bo need the job fence
> to sync with others.
>
> Cc: Christian König
> Cc: Alex Deucher
> Cc: Felix Kuehling
> Suggested-by: Christian König
On 2020-03-12 10:32 a.m., Alex Deucher wrote:
On Thu, Mar 5, 2020 at 4:21 PM Mario Kleiner wrote:
Commit '16f17eda8bad ("drm/amd/display: Send vblank and user
events at vsartup for DCN")' introduces a new way of pageflip
completion handling for DCN, and some trouble.
The current implementatio
Otherwise we might free BOs before job has completed.
We add the fence to BO after commit, so free BOs after that.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 38 +++---
1 file changed, 28 i
If a job need sync the bo resv, it is likely that bo need the job fence
to sync with others.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Suggested-by: Christian König
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 5 +
drivers/gpu/drm/amd/amdgpu/a
We hit gmc page fault on navi1X.
UMR tells that the physical address of pte is bad.
Two issues:
1) we did not sync job schedule fence while update mapping.
fix it by adding bo fence to resv after every job submit.
2) we might unref page table bo during update ptes, at the same time, there
is job
Am 13.03.20 um 12:53 schrieb xinhui pan:
If a job need sync the bo resv, it is likely that bo need the job fence
to sync with others.
That won't work because this is the wrong resv object :)
You added the fence to the mapped BO and not the page table.
No wonder that this doesn't work,
Christi
Am 13.03.20 um 13:05 schrieb Nirmoy Das:
Refactor drm_sched_entity_get_free_sched() to move the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm_sched_pick_best() so
that it can be utilized by other drm drive
[AMD Official Use Only - Internal Distribution Only]
page table BOs share same resv.It should be ok using any of them, root bo resv
or bo resv.
I forgot to unref bos which cause problems. not good at rebasing...
From: Koenig, Christian
Sent: Friday, March 13, 2
[AMD Official Use Only - Internal Distribution Only]
page table BOs share same resv.It should be ok using any of them, root bo resv
or bo resv.
I forgot to unref bos which cause problems. not good at rebasing...
thanks
xinhui
From: Koenig, Christian
Sent: Friday
Yeah, but this is still the wrong resv object :)
See the object passed to amdgpu_vm_sdma_prepare() is the one of the BO
which is mapped into the page tables and NOT the one of the page tables.
You need to use p->vm->root.base.bo->tbo.base.resv here.
Regards,
Christian.
Am 13.03.20 um 14:43 s
Yep, will send v3.
Thanks
xinhui
发件人: "Koenig, Christian"
日期: 2020年3月13日 星期五 21:46
收件人: "Pan, Xinhui" , "amd-gfx@lists.freedesktop.org"
抄送: "Deucher, Alexander" , "Kuehling, Felix"
主题: Re: [PATCH 1/2] drm//amdgpu: Add job fence to resv conditionally
Yeah, but this is still the wrong resv ob
Remove drm_sched_entity_get_free_sched() and use the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm_sched_pick_best() so
that it can be utilized by other drm drivers.
Signed-off-by: Nirmoy Das
---
drivers/
VCN HW doesn't support dynamic load balance on multiple instances
for a context. This patch initializes VNC entities with only one
drm_gpu_scheduler picked by drm_sched_pick_best(). Picking a
drm_gpu_scheduler using drm_sched_pick_best() ensures that we
do load balance among multiple contexts but n
Remove drm_sched_entity_get_free_sched() and use the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm_sched_pick_best() so
that it can be utilized by other drm drivers.
Signed-off-by: Nirmoy Das
---
drivers/
ah please ignore this I forgot to change the "sched" -> "scheduler"
On 3/13/20 2:59 PM, Nirmoy Das wrote:
Remove drm_sched_entity_get_free_sched() and use the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm
Am 13.03.20 um 14:59 schrieb Nirmoy Das:
Remove drm_sched_entity_get_free_sched() and use the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm_sched_pick_best() so
that it can be utilized by other drm drivers
Am 13.03.20 um 14:59 schrieb Nirmoy Das:
VCN HW doesn't support dynamic load balance on multiple instances
for a context. This patch initializes VNC entities with only one
drm_gpu_scheduler picked by drm_sched_pick_best(). Picking a
drm_gpu_scheduler using drm_sched_pick_best() ensures that we
do
On 3/13/20 3:03 PM, Christian König wrote:
Am 13.03.20 um 14:59 schrieb Nirmoy Das:
VCN HW doesn't support dynamic load balance on multiple instances
for a context. This patch initializes VNC entities with only one
drm_gpu_scheduler picked by drm_sched_pick_best(). Picking a
drm_gpu_scheduler u
Provide resv as a parameter for vm sdma commit.
Job fence on page table should be a shared one, so add it to the resv.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Suggested-by: Christian König
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
dri
Otherwise we might free BOs before job has completed.
We add the fence to BO after commit, so free BOs after that.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 38 +++---
1 file changed, 28 i
We hit gmc page fault on navi1X.
UMR tells that the physical address of pte is bad.
Two issues:
1) we did not sync job schedule fence while update mapping.
fix it by adding bo fence to resv after every job submit.
2) we might unref page table bo during update ptes, at the same time, there
is job
Am 13.03.20 um 15:07 schrieb xinhui pan:
Provide resv as a parameter for vm sdma commit.
Job fence on page table should be a shared one, so add it to the resv.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Suggested-by: Christian König
Signed-off-by: xinhui pan
---
drivers/gpu/d
Am 13.03.20 um 15:07 schrieb xinhui pan:
Otherwise we might free BOs before job has completed.
We add the fence to BO after commit, so free BOs after that.
I'm not sure if this is necessary, but probably better save than sorry.
Some comments below.
Cc: Christian König
Cc: Alex Deucher
Cc:
Fix switch-case indentation in amdgpu_ctx_init_entity()
Signed-off-by: Nirmoy Das
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 82 -
1 file changed, 41 insertions(+), 41 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
b/drivers/gpu/drm/amd/amdgpu/amdg
VCN HW doesn't support dynamic load balance on multiple instances
for a context. This patch initializes VNC entities with only one
drm_gpu_scheduler picked by drm_sched_pick_best(). Picking a
drm_gpu_scheduler using drm_sched_pick_best() ensures that we
do load balance among multiple contexts but n
Remove drm_sched_entity_get_free_sched() and use the logic of picking
the least loaded drm scheduler from a drm scheduler list to implement
drm_sched_pick_best(). This patch also exports drm_sched_pick_best() so
that it can be utilized by other drm drivers.
Signed-off-by: Nirmoy Das
---
drivers/
> 2020年3月13日 22:13,Koenig, Christian 写道:
>
> Am 13.03.20 um 15:07 schrieb xinhui pan:
>> Provide resv as a parameter for vm sdma commit.
>> Job fence on page table should be a shared one, so add it to the resv.
>>
>> Cc: Christian König
>> Cc: Alex Deucher
>> Cc: Felix Kuehling
>> Suggested
On 2020-03-13 1:35 p.m., Kazlauskas, Nicholas wrote:
> On 2020-03-12 10:32 a.m., Alex Deucher wrote:
>> On Thu, Mar 5, 2020 at 4:21 PM Mario Kleiner
>> wrote:
>>>
>>> Commit '16f17eda8bad ("drm/amd/display: Send vblank and user
>>> events at vsartup for DCN")' introduces a new way of pageflip
>>>
> 2020年3月13日 22:20,Koenig, Christian 写道:
>
> Am 13.03.20 um 15:07 schrieb xinhui pan:
>> Otherwise we might free BOs before job has completed.
>> We add the fence to BO after commit, so free BOs after that.
>
> I'm not sure if this is necessary, but probably better save than sorry.
without
Puts the i2c adapter in common place for sharing by RAS
and upcoming nvmlDeviceGetSerial from FRU EEPROM feature.
Signed-off-by: Andrey Grodzovsky
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 3 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 35 +++
drivers/gpu/drm/
On Fri, Mar 13, 2020 at 10:57 AM Andrey Grodzovsky
wrote:
>
> Puts the i2c adapter in common place for sharing by RAS
> and upcoming nvmlDeviceGetSerial from FRU EEPROM feature.
>
> Signed-off-by: Andrey Grodzovsky
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu.h| 3 ++
> drivers/gpu/drm
On 3/13/20 11:10 AM, Alex Deucher wrote:
On Fri, Mar 13, 2020 at 10:57 AM Andrey Grodzovsky
wrote:
Puts the i2c adapter in common place for sharing by RAS
and upcoming nvmlDeviceGetSerial from FRU EEPROM feature.
Signed-off-by: Andrey Grodzovsky
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h
On Fri, Mar 13, 2020 at 11:22 AM Andrey Grodzovsky
wrote:
>
>
> On 3/13/20 11:10 AM, Alex Deucher wrote:
> > On Fri, Mar 13, 2020 at 10:57 AM Andrey Grodzovsky
> > wrote:
> >> Puts the i2c adapter in common place for sharing by RAS
> >> and upcoming nvmlDeviceGetSerial from FRU EEPROM feature.
>
Free page table bo before job submit is insane.
We might touch invalid memory while job is runnig.
we now have individualized bo resv during bo releasing.
So any fences added to root PT bo is actually untested when
a normal PT bo is releasing.
We might hit gmc page fault or memory just got overwr
We hit gmc page fault on navi1X.
UMR tells that the physical address of pte is bad.
Two issues:
1) we did not sync job schedule fence while update mapping.
fix it by adding bo fence to resv after every job submit.
2) we might unref page table bo during update ptes, at the same time, there
is job
Job fence on page table should be a shared one, so add it to the root
page talbe bo resv.
Cc: Christian König
Cc: Alex Deucher
Cc: Felix Kuehling
Suggested-by: Christian König
Signed-off-by: xinhui pan
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 4 +++-
1 file changed, 3 insertions(+),
Puts the i2c adapter in common place for sharing by RAS
and upcoming data read from FRU EEPROM feature.
v2:
Move i2c adapter to amdgpu_pm and rename it.
Signed-off-by: Andrey Grodzovsky
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 35 +++
drivers/gpu/drm/amd/amdgpu/amdgp
This seems weird. This means that we update a page table, and then free
it in the same amdgpu_vm_update_ptes call? That means the update is
redundant. Can we eliminate the redundant PTE update if the page table
is about to be freed anyway?
Regards,
Felix
On 2020-03-13 12:09, xinhui pan wrot
The page table is not updated and then freed. A higher level PDE is
updated and because of this the lower level page tables is freed.
Without this it could be that the memory backing the freed page table is
reused while the PDE is still pointing to it.
Rather unlikely that this causes problem
Am 13.03.20 um 15:54 schrieb Pan, Xinhui:
2020年3月13日 22:20,Koenig, Christian 写道:
Am 13.03.20 um 15:07 schrieb xinhui pan:
Otherwise we might free BOs before job has completed.
We add the fence to BO after commit, so free BOs after that.
I'm not sure if this is necessary, but probably better
Am 13.03.20 um 15:34 schrieb Nirmoy Das:
Fix switch-case indentation in amdgpu_ctx_init_entity()
Signed-off-by: Nirmoy Das
Reviewed-by: Christian König for the series.
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 82 -
1 file changed, 41 insertions(+), 41 deleti
On Fri, Mar 13, 2020 at 1:20 PM Andrey Grodzovsky
wrote:
>
> Puts the i2c adapter in common place for sharing by RAS
> and upcoming data read from FRU EEPROM feature.
>
> v2:
> Move i2c adapter to amdgpu_pm and rename it.
>
> Signed-off-by: Andrey Grodzovsky
> ---
> drivers/gpu/drm/amd/amdgpu/am
On Thu, Mar 12, 2020 at 05:02:18PM +, Steven Price wrote:
> On 12/03/2020 16:37, Jason Gunthorpe wrote:
> > On Thu, Mar 12, 2020 at 04:16:33PM +, Steven Price wrote:
> > > > Actually, while you are looking at this, do you think we should be
> > > > adding at least READ_ONCE in the pagewalk.
atmel-hlcdc has no need to extend the functionality of the
encoder, so use drm_encoder_init().
Signed-off-by: Sam Ravnborg
Cc: Sam Ravnborg
Cc: Boris Brezillon
Cc: Nicolas Ferre
Cc: Alexandre Belloni
Cc: Ludovic Desroches
Cc: Thomas Zimmermann
Cc: Laurent Pinchart
---
drivers/gpu/drm/atme
Many callers of drm_encoder_init use a drm_encoder_funcs
that contains only a drm_encoder_cleanup() callback.
drm_simple_encoder_init() was introduced to cover the
common case where an encoder with only basic functionality
was needed. But it really do not belong in drm_simple_*
Rename drm_encoder
Thomas Zimmermann had made a nice patch-set that introduced
drm_simple_encoder_init() which is already present in drm-misc-next.
While looking at this it was suddenly obvious to me that
this was functionalty that really should be included in drm_encoder.c
The case where the core could handle the c
A lot of drivers requires only a basic encoder with no need
to extend the functionality.
This was previously implemented in drm_simple_kms_helper.c
but encoders are not necessarily simple despite no
need for a drm_encoder_funcs for adding functionality.
Move the init function to drm_encoder.c to r
On 3/13/20 2:29 PM, Alex Deucher wrote:
On Fri, Mar 13, 2020 at 1:20 PM Andrey Grodzovsky
wrote:
Puts the i2c adapter in common place for sharing by RAS
and upcoming data read from FRU EEPROM feature.
v2:
Move i2c adapter to amdgpu_pm and rename it.
Signed-off-by: Andrey Grodzovsky
---
d
On Fri, Mar 13, 2020 at 4:27 PM Andrey Grodzovsky
wrote:
>
>
> On 3/13/20 2:29 PM, Alex Deucher wrote:
> > On Fri, Mar 13, 2020 at 1:20 PM Andrey Grodzovsky
> > wrote:
> >> Puts the i2c adapter in common place for sharing by RAS
> >> and upcoming data read from FRU EEPROM feature.
> >>
> >> v2:
>
On 3/13/20 4:35 PM, Alex Deucher wrote:
On Fri, Mar 13, 2020 at 4:27 PM Andrey Grodzovsky
wrote:
On 3/13/20 2:29 PM, Alex Deucher wrote:
On Fri, Mar 13, 2020 at 1:20 PM Andrey Grodzovsky
wrote:
Puts the i2c adapter in common place for sharing by RAS
and upcoming data read from FRU EEPROM
On Fri, Mar 13, 2020 at 04:55:50PM -0300, Jason Gunthorpe wrote:
> On Thu, Mar 12, 2020 at 05:02:18PM +, Steven Price wrote:
> > On 12/03/2020 16:37, Jason Gunthorpe wrote:
> > > On Thu, Mar 12, 2020 at 04:16:33PM +, Steven Price wrote:
> > > > > Actually, while you are looking at this, do
On Fri, Mar 13, 2020 at 5:02 PM Michel Dänzer wrote:
> On 2020-03-13 1:35 p.m., Kazlauskas, Nicholas wrote:
> > On 2020-03-12 10:32 a.m., Alex Deucher wrote:
> >> On Thu, Mar 5, 2020 at 4:21 PM Mario Kleiner
> >> wrote:
> >>>
> >>> Commit '16f17eda8bad ("drm/amd/display: Send vblank and user
> >
Puts the i2c adapter in common place for sharing by RAS
and upcoming data read from FRU EEPROM feature.
v2:
Move i2c adapter to amdgpu_pm and rename it.
v3: Move i2c adapter init to ASIC specific code and get rid
of the switch case in amdgpu_device
Signed-off-by: Andrey Grodzovsky
---
drivers/
67 matches
Mail list logo