All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: Mikita Lipski <mikita.lipski-5C7GfCeVMHo@public.gmane.org>,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	Nikola Cornij <nikola.cornij-5C7GfCeVMHo@public.gmane.org>
Subject: Re: [PATCH v2] drm/dsc: Return unsigned long on compute offset
Date: Thu, 28 Nov 2019 15:55:06 +0200	[thread overview]
Message-ID: <87d0dcm7gl.fsf@intel.com> (raw)
In-Reply-To: <20191122184625.20151-1-mikita.lipski-5C7GfCeVMHo@public.gmane.org>

On Fri, 22 Nov 2019, <mikita.lipski@amd.com> wrote:
> From: Mikita Lipski <mikita.lipski@amd.com>
>
> We shouldn't compare int with unsigned long to find the max value
> and since we are not expecting negative value returned from
> compute_offset we should make this function return unsigned long
> so we can compare the values when computing rc parameters.
>
> v2: Modified function parameters to unsigned type for type
> consistency

I don't think that really addresses the review.

But all the same, current drm-tip does not have a compute_offset()
function, and the only reference to it in my email are your patches, so
this is completely unactionable anyway.

In any case I think the root cause for your issues is the unfounded use
of unsigned longs in drm_dsc_compute_rc_parameters(). Fix that and many
of your problems go away.

BR,
Jani.

>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Nikola Cornij <nikola.cornij@amd.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
> ---
>  drivers/gpu/drm/drm_dsc.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_dsc.c b/drivers/gpu/drm/drm_dsc.c
> index 74f3527f567d..ccce0297da64 100644
> --- a/drivers/gpu/drm/drm_dsc.c
> +++ b/drivers/gpu/drm/drm_dsc.c
> @@ -245,11 +245,11 @@ void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_payload,
>  }
>  EXPORT_SYMBOL(drm_dsc_pps_payload_pack);
>  
> -static int compute_offset(struct drm_dsc_config *vdsc_cfg, int pixels_per_group,
> -				int groups_per_line, int grpcnt)
> +static unsigned long compute_offset(struct drm_dsc_config *vdsc_cfg, unsigned int pixels_per_group,
> +				unsigned long groups_per_line, unsigned long grpcnt)
>  {
> -	int offset = 0;
> -	int grpcnt_id = DIV_ROUND_UP(vdsc_cfg->initial_xmit_delay, pixels_per_group);
> +	unsigned long offset = 0;
> +	unsigned long grpcnt_id = DIV_ROUND_UP(vdsc_cfg->initial_xmit_delay, pixels_per_group);
>  
>  	if (grpcnt <= grpcnt_id)
>  		offset = DIV_ROUND_UP(grpcnt * pixels_per_group * vdsc_cfg->bits_per_pixel, 16);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: mikita.lipski@amd.com, amd-gfx@lists.freedesktop.org
Cc: Mikita Lipski <mikita.lipski@amd.com>,
	dri-devel@lists.freedesktop.org,
	Nikola Cornij <nikola.cornij@amd.com>
Subject: Re: [PATCH v2] drm/dsc: Return unsigned long on compute offset
Date: Thu, 28 Nov 2019 15:55:06 +0200	[thread overview]
Message-ID: <87d0dcm7gl.fsf@intel.com> (raw)
Message-ID: <20191128135506.m6IYGDxThT_osA8HVoELMhyzY_eaEc8jqSRsagbi48c@z> (raw)
In-Reply-To: <20191122184625.20151-1-mikita.lipski@amd.com>

On Fri, 22 Nov 2019, <mikita.lipski@amd.com> wrote:
> From: Mikita Lipski <mikita.lipski@amd.com>
>
> We shouldn't compare int with unsigned long to find the max value
> and since we are not expecting negative value returned from
> compute_offset we should make this function return unsigned long
> so we can compare the values when computing rc parameters.
>
> v2: Modified function parameters to unsigned type for type
> consistency

I don't think that really addresses the review.

But all the same, current drm-tip does not have a compute_offset()
function, and the only reference to it in my email are your patches, so
this is completely unactionable anyway.

In any case I think the root cause for your issues is the unfounded use
of unsigned longs in drm_dsc_compute_rc_parameters(). Fix that and many
of your problems go away.

BR,
Jani.

>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Nikola Cornij <nikola.cornij@amd.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
> ---
>  drivers/gpu/drm/drm_dsc.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_dsc.c b/drivers/gpu/drm/drm_dsc.c
> index 74f3527f567d..ccce0297da64 100644
> --- a/drivers/gpu/drm/drm_dsc.c
> +++ b/drivers/gpu/drm/drm_dsc.c
> @@ -245,11 +245,11 @@ void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_payload,
>  }
>  EXPORT_SYMBOL(drm_dsc_pps_payload_pack);
>  
> -static int compute_offset(struct drm_dsc_config *vdsc_cfg, int pixels_per_group,
> -				int groups_per_line, int grpcnt)
> +static unsigned long compute_offset(struct drm_dsc_config *vdsc_cfg, unsigned int pixels_per_group,
> +				unsigned long groups_per_line, unsigned long grpcnt)
>  {
> -	int offset = 0;
> -	int grpcnt_id = DIV_ROUND_UP(vdsc_cfg->initial_xmit_delay, pixels_per_group);
> +	unsigned long offset = 0;
> +	unsigned long grpcnt_id = DIV_ROUND_UP(vdsc_cfg->initial_xmit_delay, pixels_per_group);
>  
>  	if (grpcnt <= grpcnt_id)
>  		offset = DIV_ROUND_UP(grpcnt * pixels_per_group * vdsc_cfg->bits_per_pixel, 16);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: mikita.lipski@amd.com, amd-gfx@lists.freedesktop.org
Cc: Mikita Lipski <mikita.lipski@amd.com>,
	dri-devel@lists.freedesktop.org,
	Nikola Cornij <nikola.cornij@amd.com>
Subject: Re: [PATCH v2] drm/dsc: Return unsigned long on compute offset
Date: Thu, 28 Nov 2019 15:55:06 +0200	[thread overview]
Message-ID: <87d0dcm7gl.fsf@intel.com> (raw)
Message-ID: <20191128135506.kYcPP3E7GzVn9NHqlOGnsWajTGJMJ6o6rrFUjJDnb20@z> (raw)
In-Reply-To: <20191122184625.20151-1-mikita.lipski@amd.com>

On Fri, 22 Nov 2019, <mikita.lipski@amd.com> wrote:
> From: Mikita Lipski <mikita.lipski@amd.com>
>
> We shouldn't compare int with unsigned long to find the max value
> and since we are not expecting negative value returned from
> compute_offset we should make this function return unsigned long
> so we can compare the values when computing rc parameters.
>
> v2: Modified function parameters to unsigned type for type
> consistency

I don't think that really addresses the review.

But all the same, current drm-tip does not have a compute_offset()
function, and the only reference to it in my email are your patches, so
this is completely unactionable anyway.

In any case I think the root cause for your issues is the unfounded use
of unsigned longs in drm_dsc_compute_rc_parameters(). Fix that and many
of your problems go away.

BR,
Jani.

>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Nikola Cornij <nikola.cornij@amd.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
> ---
>  drivers/gpu/drm/drm_dsc.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_dsc.c b/drivers/gpu/drm/drm_dsc.c
> index 74f3527f567d..ccce0297da64 100644
> --- a/drivers/gpu/drm/drm_dsc.c
> +++ b/drivers/gpu/drm/drm_dsc.c
> @@ -245,11 +245,11 @@ void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_payload,
>  }
>  EXPORT_SYMBOL(drm_dsc_pps_payload_pack);
>  
> -static int compute_offset(struct drm_dsc_config *vdsc_cfg, int pixels_per_group,
> -				int groups_per_line, int grpcnt)
> +static unsigned long compute_offset(struct drm_dsc_config *vdsc_cfg, unsigned int pixels_per_group,
> +				unsigned long groups_per_line, unsigned long grpcnt)
>  {
> -	int offset = 0;
> -	int grpcnt_id = DIV_ROUND_UP(vdsc_cfg->initial_xmit_delay, pixels_per_group);
> +	unsigned long offset = 0;
> +	unsigned long grpcnt_id = DIV_ROUND_UP(vdsc_cfg->initial_xmit_delay, pixels_per_group);
>  
>  	if (grpcnt <= grpcnt_id)
>  		offset = DIV_ROUND_UP(grpcnt * pixels_per_group * vdsc_cfg->bits_per_pixel, 16);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2019-11-28 13:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-22 18:46 [PATCH v2] drm/dsc: Return unsigned long on compute offset mikita.lipski
2019-11-22 18:46 ` mikita.lipski
2019-11-22 18:46 ` mikita.lipski
     [not found] ` <20191122184625.20151-1-mikita.lipski-5C7GfCeVMHo@public.gmane.org>
2019-11-28 13:55   ` Jani Nikula [this message]
2019-11-28 13:55     ` Jani Nikula
2019-11-28 13:55     ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d0dcm7gl.fsf@intel.com \
    --to=jani.nikula-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=mikita.lipski-5C7GfCeVMHo@public.gmane.org \
    --cc=nikola.cornij-5C7GfCeVMHo@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.