Re: [Intel-gfx] [PATCH] drm/i915/guc: Expand guc_info debugfs with more information

2020-07-06 Thread Daniele Ceraolo Spurio



On 7/6/2020 7:10 AM, Michał Winiarski wrote:

Quoting Daniele Ceraolo Spurio (2020-07-01 18:45:52)


On 7/1/2020 7:27 AM, Michał Winiarski wrote:

From: Michał Winiarski 

The information about platform/driver/user view of GuC firmware usage
currently requires user to either go through kernel log or parse the
combination of "enable_guc" modparam and various debugfs entries.
Let's keep things simple and add a "supported/used/wanted" matrix
(already used internally by i915) in guc_info debugfs.

Signed-off-by: Michał Winiarski 
Cc: Daniele Ceraolo Spurio 
Cc: Lukasz Fiedorowicz 
Cc: Michal Wajdeczko 
---
   drivers/gpu/drm/i915/gt/uc/intel_guc.c | 23 ---
   1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 861657897c0f..446a41946f56 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -733,19 +733,28 @@ int intel_guc_allocate_and_map_vma(struct intel_guc *guc, 
u32 size,
*/
   void intel_guc_load_status(struct intel_guc *guc, struct drm_printer *p)
   {
+ struct intel_uc *uc = container_of(guc, struct intel_uc, guc);
   struct intel_gt *gt = guc_to_gt(guc);
   struct intel_uncore *uncore = gt->uncore;
   intel_wakeref_t wakeref;
   
- if (!intel_guc_is_supported(guc)) {

- drm_printf(p, "GuC not supported\n");
+ drm_printf(p, "[guc] supported:%s wanted:%s used:%s\n",
+yesno(intel_uc_supports_guc(uc)),
+yesno(intel_uc_wants_guc(uc)),
+yesno(intel_uc_uses_guc(uc)));

There are intel_guc equivalents for there uc functions, so we can use
those and avoid the intel_uc var if we ditch the HuC (see comment below):

intel_guc_is_supported
intel_guc_is_wanted
intel_guc_is_used

Same for the others.


+ drm_printf(p, "[huc] supported:%s wanted:%s used:%s\n",
+yesno(intel_uc_supports_huc(uc)),
+yesno(intel_uc_wants_huc(uc)),
+yesno(intel_uc_uses_huc(uc)));

The HuC view should go to the huc_info debugfs

This was intentional. For HuC the "wants" part is controlled by "enable_guc",
and it's actually helpful to see that "guc is used because the user/platform
wants huc", all in the single "cat guc_info".
In other words - this is still (at least partially) GuC view :)

So, given the above, do you still think we should move it to huc_info?


Ok, I see where you're coming from. For things that touch both GuC and 
HuC we usually go for the uC notation, so IMO a new uc-level file would 
be more appropriate here (e.g. gt/uc/usage).
However, if you have a reason to capture this in a single file with 
other GuC-related details I'm ok if we stick to guc_info.


Daniele


-Michał


+ drm_printf(p, "[submission] supported:%s wanted:%s used:%s\n",
+yesno(intel_uc_supports_guc_submission(uc)),
+yesno(intel_uc_wants_guc_submission(uc)),
+yesno(intel_uc_uses_guc_submission(uc)));
+
+ if (!intel_guc_is_supported(guc) || !intel_guc_is_wanted(guc))

intel_guc_is_wanted implies intel_guc_is_supported so you can
potentially test only that, but I agree that having both is clearer to read.

Daniele


   return;
- }
   
- if (!intel_guc_is_wanted(guc)) {

- drm_printf(p, "GuC disabled\n");
- return;
- }
+ drm_puts(p, "\n");
   
   intel_uc_fw_dump(>fw, p);
   


___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915/guc: Expand guc_info debugfs with more information

2020-07-06 Thread Michał Winiarski
Quoting Daniele Ceraolo Spurio (2020-07-01 18:45:52)
> 
> 
> On 7/1/2020 7:27 AM, Michał Winiarski wrote:
> > From: Michał Winiarski 
> >
> > The information about platform/driver/user view of GuC firmware usage
> > currently requires user to either go through kernel log or parse the
> > combination of "enable_guc" modparam and various debugfs entries.
> > Let's keep things simple and add a "supported/used/wanted" matrix
> > (already used internally by i915) in guc_info debugfs.
> >
> > Signed-off-by: Michał Winiarski 
> > Cc: Daniele Ceraolo Spurio 
> > Cc: Lukasz Fiedorowicz 
> > Cc: Michal Wajdeczko 
> > ---
> >   drivers/gpu/drm/i915/gt/uc/intel_guc.c | 23 ---
> >   1 file changed, 16 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
> > b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> > index 861657897c0f..446a41946f56 100644
> > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> > @@ -733,19 +733,28 @@ int intel_guc_allocate_and_map_vma(struct intel_guc 
> > *guc, u32 size,
> >*/
> >   void intel_guc_load_status(struct intel_guc *guc, struct drm_printer *p)
> >   {
> > + struct intel_uc *uc = container_of(guc, struct intel_uc, guc);
> >   struct intel_gt *gt = guc_to_gt(guc);
> >   struct intel_uncore *uncore = gt->uncore;
> >   intel_wakeref_t wakeref;
> >   
> > - if (!intel_guc_is_supported(guc)) {
> > - drm_printf(p, "GuC not supported\n");
> > + drm_printf(p, "[guc] supported:%s wanted:%s used:%s\n",
> > +yesno(intel_uc_supports_guc(uc)),
> > +yesno(intel_uc_wants_guc(uc)),
> > +yesno(intel_uc_uses_guc(uc)));
> 
> There are intel_guc equivalents for there uc functions, so we can use 
> those and avoid the intel_uc var if we ditch the HuC (see comment below):
> 
> intel_guc_is_supported
> intel_guc_is_wanted
> intel_guc_is_used
> 
> Same for the others.
> 
> > + drm_printf(p, "[huc] supported:%s wanted:%s used:%s\n",
> > +yesno(intel_uc_supports_huc(uc)),
> > +yesno(intel_uc_wants_huc(uc)),
> > +yesno(intel_uc_uses_huc(uc)));
> 
> The HuC view should go to the huc_info debugfs

This was intentional. For HuC the "wants" part is controlled by "enable_guc",
and it's actually helpful to see that "guc is used because the user/platform
wants huc", all in the single "cat guc_info".
In other words - this is still (at least partially) GuC view :)

So, given the above, do you still think we should move it to huc_info?

-Michał

> 
> > + drm_printf(p, "[submission] supported:%s wanted:%s used:%s\n",
> > +yesno(intel_uc_supports_guc_submission(uc)),
> > +yesno(intel_uc_wants_guc_submission(uc)),
> > +yesno(intel_uc_uses_guc_submission(uc)));
> > +
> > + if (!intel_guc_is_supported(guc) || !intel_guc_is_wanted(guc))
> 
> intel_guc_is_wanted implies intel_guc_is_supported so you can 
> potentially test only that, but I agree that having both is clearer to read.
> 
> Daniele
> 
> >   return;
> > - }
> >   
> > - if (!intel_guc_is_wanted(guc)) {
> > - drm_printf(p, "GuC disabled\n");
> > - return;
> > - }
> > + drm_puts(p, "\n");
> >   
> >   intel_uc_fw_dump(>fw, p);
> >   
>
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915/guc: Expand guc_info debugfs with more information

2020-07-01 Thread Fiedorowicz, Lukasz
On Wed, 2020-07-01 at 16:27 +0200, Michał Winiarski wrote:
> From: Michał Winiarski 
> 
> The information about platform/driver/user view of GuC firmware usage
> currently requires user to either go through kernel log or parse the
> combination of "enable_guc" modparam and various debugfs entries.
> Let's keep things simple and add a "supported/used/wanted" matrix
> (already used internally by i915) in guc_info debugfs.
> 
> Signed-off-by: Michał Winiarski 

LGTM
Reviewed-by: Lukasz Fiedorowicz 

> Cc: Daniele Ceraolo Spurio 
> Cc: Lukasz Fiedorowicz 
> Cc: Michal Wajdeczko 
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c | 23 ---
>  1 file changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> index 861657897c0f..446a41946f56 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> @@ -733,19 +733,28 @@ int intel_guc_allocate_and_map_vma(struct
> intel_guc *guc, u32 size,
>   */
>  void intel_guc_load_status(struct intel_guc *guc, struct drm_printer
> *p)
>  {
> + struct intel_uc *uc = container_of(guc, struct intel_uc, guc);
>   struct intel_gt *gt = guc_to_gt(guc);
>   struct intel_uncore *uncore = gt->uncore;
>   intel_wakeref_t wakeref;
>  
> - if (!intel_guc_is_supported(guc)) {
> - drm_printf(p, "GuC not supported\n");
> + drm_printf(p, "[guc] supported:%s wanted:%s used:%s\n",
> +yesno(intel_uc_supports_guc(uc)),
> +yesno(intel_uc_wants_guc(uc)),
> +yesno(intel_uc_uses_guc(uc)));
> + drm_printf(p, "[huc] supported:%s wanted:%s used:%s\n",
> +yesno(intel_uc_supports_huc(uc)),
> +yesno(intel_uc_wants_huc(uc)),
> +yesno(intel_uc_uses_huc(uc)));
> + drm_printf(p, "[submission] supported:%s wanted:%s used:%s\n",
> +yesno(intel_uc_supports_guc_submission(uc)),
> +yesno(intel_uc_wants_guc_submission(uc)),
> +yesno(intel_uc_uses_guc_submission(uc)));
> +
> + if (!intel_guc_is_supported(guc) || !intel_guc_is_wanted(guc))
>   return;
> - }
>  
> - if (!intel_guc_is_wanted(guc)) {
> - drm_printf(p, "GuC disabled\n");
> - return;
> - }
> + drm_puts(p, "\n");
>  
>   intel_uc_fw_dump(>fw, p);
>  
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915/guc: Expand guc_info debugfs with more information

2020-07-01 Thread Daniele Ceraolo Spurio



On 7/1/2020 7:27 AM, Michał Winiarski wrote:

From: Michał Winiarski 

The information about platform/driver/user view of GuC firmware usage
currently requires user to either go through kernel log or parse the
combination of "enable_guc" modparam and various debugfs entries.
Let's keep things simple and add a "supported/used/wanted" matrix
(already used internally by i915) in guc_info debugfs.

Signed-off-by: Michał Winiarski 
Cc: Daniele Ceraolo Spurio 
Cc: Lukasz Fiedorowicz 
Cc: Michal Wajdeczko 
---
  drivers/gpu/drm/i915/gt/uc/intel_guc.c | 23 ---
  1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 861657897c0f..446a41946f56 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -733,19 +733,28 @@ int intel_guc_allocate_and_map_vma(struct intel_guc *guc, 
u32 size,
   */
  void intel_guc_load_status(struct intel_guc *guc, struct drm_printer *p)
  {
+   struct intel_uc *uc = container_of(guc, struct intel_uc, guc);
struct intel_gt *gt = guc_to_gt(guc);
struct intel_uncore *uncore = gt->uncore;
intel_wakeref_t wakeref;
  
-	if (!intel_guc_is_supported(guc)) {

-   drm_printf(p, "GuC not supported\n");
+   drm_printf(p, "[guc] supported:%s wanted:%s used:%s\n",
+  yesno(intel_uc_supports_guc(uc)),
+  yesno(intel_uc_wants_guc(uc)),
+  yesno(intel_uc_uses_guc(uc)));


There are intel_guc equivalents for there uc functions, so we can use 
those and avoid the intel_uc var if we ditch the HuC (see comment below):


intel_guc_is_supported
intel_guc_is_wanted
intel_guc_is_used

Same for the others.


+   drm_printf(p, "[huc] supported:%s wanted:%s used:%s\n",
+  yesno(intel_uc_supports_huc(uc)),
+  yesno(intel_uc_wants_huc(uc)),
+  yesno(intel_uc_uses_huc(uc)));


The HuC view should go to the huc_info debugfs


+   drm_printf(p, "[submission] supported:%s wanted:%s used:%s\n",
+  yesno(intel_uc_supports_guc_submission(uc)),
+  yesno(intel_uc_wants_guc_submission(uc)),
+  yesno(intel_uc_uses_guc_submission(uc)));
+
+   if (!intel_guc_is_supported(guc) || !intel_guc_is_wanted(guc))


intel_guc_is_wanted implies intel_guc_is_supported so you can 
potentially test only that, but I agree that having both is clearer to read.


Daniele


return;
-   }
  
-	if (!intel_guc_is_wanted(guc)) {

-   drm_printf(p, "GuC disabled\n");
-   return;
-   }
+   drm_puts(p, "\n");
  
  	intel_uc_fw_dump(>fw, p);
  


___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915/guc: Expand guc_info debugfs with more information

2020-07-01 Thread Michał Winiarski
From: Michał Winiarski 

The information about platform/driver/user view of GuC firmware usage
currently requires user to either go through kernel log or parse the
combination of "enable_guc" modparam and various debugfs entries.
Let's keep things simple and add a "supported/used/wanted" matrix
(already used internally by i915) in guc_info debugfs.

Signed-off-by: Michał Winiarski 
Cc: Daniele Ceraolo Spurio 
Cc: Lukasz Fiedorowicz 
Cc: Michal Wajdeczko 
---
 drivers/gpu/drm/i915/gt/uc/intel_guc.c | 23 ---
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 861657897c0f..446a41946f56 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -733,19 +733,28 @@ int intel_guc_allocate_and_map_vma(struct intel_guc *guc, 
u32 size,
  */
 void intel_guc_load_status(struct intel_guc *guc, struct drm_printer *p)
 {
+   struct intel_uc *uc = container_of(guc, struct intel_uc, guc);
struct intel_gt *gt = guc_to_gt(guc);
struct intel_uncore *uncore = gt->uncore;
intel_wakeref_t wakeref;
 
-   if (!intel_guc_is_supported(guc)) {
-   drm_printf(p, "GuC not supported\n");
+   drm_printf(p, "[guc] supported:%s wanted:%s used:%s\n",
+  yesno(intel_uc_supports_guc(uc)),
+  yesno(intel_uc_wants_guc(uc)),
+  yesno(intel_uc_uses_guc(uc)));
+   drm_printf(p, "[huc] supported:%s wanted:%s used:%s\n",
+  yesno(intel_uc_supports_huc(uc)),
+  yesno(intel_uc_wants_huc(uc)),
+  yesno(intel_uc_uses_huc(uc)));
+   drm_printf(p, "[submission] supported:%s wanted:%s used:%s\n",
+  yesno(intel_uc_supports_guc_submission(uc)),
+  yesno(intel_uc_wants_guc_submission(uc)),
+  yesno(intel_uc_uses_guc_submission(uc)));
+
+   if (!intel_guc_is_supported(guc) || !intel_guc_is_wanted(guc))
return;
-   }
 
-   if (!intel_guc_is_wanted(guc)) {
-   drm_printf(p, "GuC disabled\n");
-   return;
-   }
+   drm_puts(p, "\n");
 
intel_uc_fw_dump(>fw, p);
 
-- 
2.27.0

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx