Re: [PATCH] drm/amdgpu: fix PSP autoload twice in FLR
Reviewed-by: Luben Tuikov On 2020-07-29 04:50, Liu ChengZhe wrote: > Assigning false to block->status.hw overwrites PSP's previous > hardware status, which causes the PSP to Resume operation after > hardware init. > > Remove this assignment and let the PSP execute Resume operation > when it is told to. > > v2: Remove the braces. > v3: Modify the description. > > Signed-off-by: Liu ChengZhe > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 62ecac97fbd2..5d9affa1d35a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct > amdgpu_device *adev) > AMD_IP_BLOCK_TYPE_IH, > }; > > + for (i = 0; i < adev->num_ip_blocks; i++) > + adev->ip_blocks[i].status.hw = false; > + > for (i = 0; i < ARRAY_SIZE(ip_order); i++) { > int j; > struct amdgpu_ip_block *block; > @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct > amdgpu_device *adev) > for (j = 0; j < adev->num_ip_blocks; j++) { > block = >ip_blocks[j]; > > - block->status.hw = false; > if (block->version->type != ip_order[i] || > !block->status.valid) > continue; > ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[PATCH] drm/amdgpu: fix PSP autoload twice in FLR
Assigning false to block->status.hw overwrites PSP's previous hardware status, which causes the PSP to Resume operation after hardware init. Remove this assignment and let the PSP execute Resume operation when it is told to. v2: Remove the braces. v3: Modify the description. Signed-off-by: Liu ChengZhe --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 62ecac97fbd2..5d9affa1d35a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) AMD_IP_BLOCK_TYPE_IH, }; + for (i = 0; i < adev->num_ip_blocks; i++) + adev->ip_blocks[i].status.hw = false; + for (i = 0; i < ARRAY_SIZE(ip_order); i++) { int j; struct amdgpu_ip_block *block; @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) for (j = 0; j < adev->num_ip_blocks; j++) { block = >ip_blocks[j]; - block->status.hw = false; if (block->version->type != ip_order[i] || !block->status.valid) continue; -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amdgpu: fix PSP autoload twice in FLR
[AMD Official Use Only - Internal Distribution Only] Thanks for the modification! -Original Message- From: Tuikov, Luben Sent: Wednesday, July 29, 2020 2:49 AM To: Liu, Cheng Zhe ; amd-gfx@lists.freedesktop.org Cc: Koenig, Christian ; Deucher, Alexander ; Xiao, Jack ; Zhang, Hawking ; Xu, Feifei ; Wang, Kevin(Yang) ; Yuan, Xiaojie Subject: Re: [PATCH] drm/amdgpu: fix PSP autoload twice in FLR On 2020-07-28 2:04 p.m., Luben Tuikov wrote: > Thanks for removing the braces. > > On 2020-07-27 10:29 p.m., Liu ChengZhe wrote: >> the block->status.hw = false assignment will overwrite PSP's previous > ^^ > You want to start a sentence here. Capitalize "The". > Also don't use future tense in commit descriptions (and commit titles). > Simply use present tense. Using future tense makes it confusing if > this is what the code used to do before this change or if the code is > doing this right now as someone is reading the commit in the future with "git > log". > >> hw status, which will cause PSP execute resume operation after hw init. > > I've found it best to describe what's being done as if telling a story. > Break it down into "tell what's happening" and "tell what what's fixed > and how it affects the rest of the system". Something like this: > > Assigning false to block->status.hw overwrites PSP's previous > hardware status, which causes the PSP to resume operation after > hardware init. > > Remove this assignment and let the PSP start when it is told to. > > Check if the above rendition of your change is correct, and use it if so. Double checking now, since "resume" is an op, you should capitalize it. "... which causes the PSP to execute Resume operation right after hardware init. Remove this assignment and let the PSP execute Resume operation when it is told to do so." Or something to that effect. Regards, Luben > > Regards, > Luben > >> >> v2: (R)remove the braces(.) > > > >> >> Signed-off-by: Liu ChengZhe >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> index 62ecac97fbd2..5d9affa1d35a 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct >> amdgpu_device *adev) >> AMD_IP_BLOCK_TYPE_IH, >> }; >> >> +for (i = 0; i < adev->num_ip_blocks; i++) >> +adev->ip_blocks[i].status.hw = false; >> + >> for (i = 0; i < ARRAY_SIZE(ip_order); i++) { >> int j; >> struct amdgpu_ip_block *block; >> @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct >> amdgpu_device *adev) >> for (j = 0; j < adev->num_ip_blocks; j++) { >> block = >ip_blocks[j]; >> >> -block->status.hw = false; >> if (block->version->type != ip_order[i] || >> !block->status.valid) >> continue; >> > ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] drm/amdgpu: fix PSP autoload twice in FLR
On 2020-07-28 2:04 p.m., Luben Tuikov wrote: > Thanks for removing the braces. > > On 2020-07-27 10:29 p.m., Liu ChengZhe wrote: >> the block->status.hw = false assignment will overwrite PSP's previous > ^^ > You want to start a sentence here. Capitalize "The". > Also don't use future tense in commit descriptions (and commit titles). > Simply use present tense. Using future tense makes it confusing if > this is what the code used to do before this change or if the code > is doing this right now as someone is reading the commit in the future with > "git log". > >> hw status, which will cause PSP execute resume operation after hw init. > > I've found it best to describe what's being done as if telling a story. > Break it down into "tell what's happening" and "tell what what's fixed and > how it affects the rest of the system". Something like this: > > Assigning false to block->status.hw overwrites PSP's previous > hardware status, which causes the PSP to resume operation after > hardware init. > > Remove this assignment and let the PSP start when it is told to. > > Check if the above rendition of your change is correct, and use it if so. Double checking now, since "resume" is an op, you should capitalize it. "... which causes the PSP to execute Resume operation right after hardware init. Remove this assignment and let the PSP execute Resume operation when it is told to do so." Or something to that effect. Regards, Luben > > Regards, > Luben > >> >> v2: (R)remove the braces(.) > > > >> >> Signed-off-by: Liu ChengZhe >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> index 62ecac97fbd2..5d9affa1d35a 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct >> amdgpu_device *adev) >> AMD_IP_BLOCK_TYPE_IH, >> }; >> >> +for (i = 0; i < adev->num_ip_blocks; i++) >> +adev->ip_blocks[i].status.hw = false; >> + >> for (i = 0; i < ARRAY_SIZE(ip_order); i++) { >> int j; >> struct amdgpu_ip_block *block; >> @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct >> amdgpu_device *adev) >> for (j = 0; j < adev->num_ip_blocks; j++) { >> block = >ip_blocks[j]; >> >> -block->status.hw = false; >> if (block->version->type != ip_order[i] || >> !block->status.valid) >> continue; >> > ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] drm/amdgpu: fix PSP autoload twice in FLR
Thanks for removing the braces. On 2020-07-27 10:29 p.m., Liu ChengZhe wrote: > the block->status.hw = false assignment will overwrite PSP's previous ^^ You want to start a sentence here. Capitalize "The". Also don't use future tense in commit descriptions (and commit titles). Simply use present tense. Using future tense makes it confusing if this is what the code used to do before this change or if the code is doing this right now as someone is reading the commit in the future with "git log". > hw status, which will cause PSP execute resume operation after hw init. I've found it best to describe what's being done as if telling a story. Break it down into "tell what's happening" and "tell what what's fixed and how it affects the rest of the system". Something like this: Assigning false to block->status.hw overwrites PSP's previous hardware status, which causes the PSP to resume operation after hardware init. Remove this assignment and let the PSP start when it is told to. Check if the above rendition of your change is correct, and use it if so. Regards, Luben > > v2: (R)remove the braces(.) > > Signed-off-by: Liu ChengZhe > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 62ecac97fbd2..5d9affa1d35a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct > amdgpu_device *adev) > AMD_IP_BLOCK_TYPE_IH, > }; > > + for (i = 0; i < adev->num_ip_blocks; i++) > + adev->ip_blocks[i].status.hw = false; > + > for (i = 0; i < ARRAY_SIZE(ip_order); i++) { > int j; > struct amdgpu_ip_block *block; > @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct > amdgpu_device *adev) > for (j = 0; j < adev->num_ip_blocks; j++) { > block = >ip_blocks[j]; > > - block->status.hw = false; > if (block->version->type != ip_order[i] || > !block->status.valid) > continue; > ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[PATCH] drm/amdgpu: fix PSP autoload twice in FLR
the block->status.hw = false assignment will overwrite PSP's previous hw status, which will cause PSP execute resume operation after hw init. v2: remove the braces Signed-off-by: Liu ChengZhe --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 62ecac97fbd2..5d9affa1d35a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -2574,6 +2574,9 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) AMD_IP_BLOCK_TYPE_IH, }; + for (i = 0; i < adev->num_ip_blocks; i++) + adev->ip_blocks[i].status.hw = false; + for (i = 0; i < ARRAY_SIZE(ip_order); i++) { int j; struct amdgpu_ip_block *block; @@ -2581,7 +2584,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) for (j = 0; j < adev->num_ip_blocks; j++) { block = >ip_blocks[j]; - block->status.hw = false; if (block->version->type != ip_order[i] || !block->status.valid) continue; -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] drm/amdgpu: fix PSP autoload twice in FLR
On 2020-07-27 7:03 a.m., Liu ChengZhe wrote: > the block->status.hw = false assignment will overwrite PSP's previous > hw status, which will cause PSP execute resume operation after hw init. > > Signed-off-by: Liu ChengZhe > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 62ecac97fbd2..88c681957d39 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -2574,6 +2574,10 @@ static int amdgpu_device_ip_reinit_early_sriov(struct > amdgpu_device *adev) > AMD_IP_BLOCK_TYPE_IH, > }; > > + for (i = 0; i < adev->num_ip_blocks; i++) { > + adev->ip_blocks[i].status.hw = false; > + } > + Braces surrounding a single statement block are unnecessary and "checkpatch" complains about it. Just remote the braces around a single statement block in loops. Regards, Luben > for (i = 0; i < ARRAY_SIZE(ip_order); i++) { > int j; > struct amdgpu_ip_block *block; > @@ -2581,7 +2585,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct > amdgpu_device *adev) > for (j = 0; j < adev->num_ip_blocks; j++) { > block = >ip_blocks[j]; > > - block->status.hw = false; > if (block->version->type != ip_order[i] || > !block->status.valid) > continue; > ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[PATCH] drm/amdgpu: fix PSP autoload twice in FLR
the block->status.hw = false assignment will overwrite PSP's previous hw status, which will cause PSP execute resume operation after hw init. Signed-off-by: Liu ChengZhe --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 62ecac97fbd2..88c681957d39 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -2574,6 +2574,10 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) AMD_IP_BLOCK_TYPE_IH, }; + for (i = 0; i < adev->num_ip_blocks; i++) { + adev->ip_blocks[i].status.hw = false; + } + for (i = 0; i < ARRAY_SIZE(ip_order); i++) { int j; struct amdgpu_ip_block *block; @@ -2581,7 +2585,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) for (j = 0; j < adev->num_ip_blocks; j++) { block = >ip_blocks[j]; - block->status.hw = false; if (block->version->type != ip_order[i] || !block->status.valid) continue; -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[PATCH] drm/amdgpu: fix PSP autoload twice in FLR
the block->status.hw = false assignment will overwrite PSP's previous hw status, which will cause PSP execute resume operation after hw init. Signed-off-by: Liu ChengZhe --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 62ecac97fbd2..88c681957d39 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -2574,6 +2574,10 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) AMD_IP_BLOCK_TYPE_IH, }; + for (i = 0; i < adev->num_ip_blocks; i++) { + adev->ip_blocks[i].status.hw = false; + } + for (i = 0; i < ARRAY_SIZE(ip_order); i++) { int j; struct amdgpu_ip_block *block; @@ -2581,7 +2585,6 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev) for (j = 0; j < adev->num_ip_blocks; j++) { block = >ip_blocks[j]; - block->status.hw = false; if (block->version->type != ip_order[i] || !block->status.valid) continue; -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx