Something minor in comments, so conditional R-B (please fix on the way in or 
reply to correct me):

Reviewed-by: Alan Previn <[email protected]>

On Wed, 2022-07-27 at 19:20 -0700, Harrison, John C wrote:
> From: Alan Previn <[email protected]>
> 
> Add a helper to get GuC log buffer size.
> 
> Signed-off-by: Alan Previn <[email protected]>
> Signed-off-by: John Harrison <[email protected]>
> Reviewed-by: Matthew Brost <[email protected]>
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 49 ++++++++++++----------
>  1 file changed, 27 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index 25b2d7ce6640d..492bbf419d4df 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -15,6 +15,32 @@
>  
>  static void guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log);
>  
> +static u32 intel_guc_log_size(struct intel_guc_log *log)
> +{
> +     /*
> +      *  GuC Log buffer Layout:
> +      *
> +      *  NB: Ordering must follow "enum guc_log_buffer_type".
> +      *
> +      *  +===============================+ 00B
> +      *  |      Debug state header       |
> +      *  +-------------------------------+ 32B
> 
Something we might have missed in prior updates but i think the bufer state is 
now 36 bytes long no? (9 dwords).


> +      *  |    Crash dump state header    |
> +      *  +-------------------------------+ 64B
> +      *  |     Capture state header      |
> +      *  +-------------------------------+ 96B
> +      *  |                               |
> +      *  +===============================+ PAGE_SIZE (4KB)
> +      *  |          Debug logs           |
> +      *  +===============================+ + DEBUG_SIZE
> +      *  |        Crash Dump logs        |
> +      *  +===============================+ + CRASH_SIZE
> +      *  |         Capture logs          |
> +      *  +===============================+ + CAPTURE_SIZE
> +      */
> +     return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + 
> CAPTURE_BUFFER_SIZE;
> +}
> +
>  /**
>   * DOC: GuC firmware log
>   *
> @@ -461,32 +487,11 @@ int intel_guc_log_create(struct intel_guc_log *log)
>  
>       GEM_BUG_ON(log->vma);
>  
> -     /*
> -      *  GuC Log buffer Layout
> -      * (this ordering must follow "enum guc_log_buffer_type" definition)
> -      *
> -      *  +===============================+ 00B
> -      *  |      Debug state header       |
> -      *  +-------------------------------+ 32B
> -      *  |    Crash dump state header    |
> -      *  +-------------------------------+ 64B
> -      *  |     Capture state header      |
> -      *  +-------------------------------+ 96B
> -      *  |                               |
> -      *  +===============================+ PAGE_SIZE (4KB)
> -      *  |          Debug logs           |
> -      *  +===============================+ + DEBUG_SIZE
> -      *  |        Crash Dump logs        |
> -      *  +===============================+ + CRASH_SIZE
> -      *  |         Capture logs          |
> -      *  +===============================+ + CAPTURE_SIZE
> -      */
>       if (intel_guc_capture_output_min_size_est(guc) > CAPTURE_BUFFER_SIZE)
>               DRM_WARN("GuC log buffer for state_capture maybe too small. %d 
> < %d\n",
>                        CAPTURE_BUFFER_SIZE, 
> intel_guc_capture_output_min_size_est(guc));
>  
> -     guc_log_size = PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE +
> -                    CAPTURE_BUFFER_SIZE;
> +     guc_log_size = intel_guc_log_size(log);
>  
>       vma = intel_guc_allocate_vma(guc, guc_log_size);
>       if (IS_ERR(vma)) {
> -- 
> 2.37.1
> 

Reply via email to