linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/modes: remove unused variables
@ 2019-11-19 13:47 Benjamin Gaignard
  2019-12-03 16:50 ` Benjamin Gaignard
  2019-12-04  9:35 ` Thomas Zimmermann
  0 siblings, 2 replies; 7+ messages in thread
From: Benjamin Gaignard @ 2019-11-19 13:47 UTC (permalink / raw)
  To: maarten.lankhorst, mripard, sean, airlied, daniel
  Cc: dri-devel, linux-kernel, Benjamin Gaignard

When compiling with W=1 few warnings about unused variables show up.
This patch removes all the involved variables.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
---
 drivers/gpu/drm/drm_modes.c | 22 +++-------------------
 1 file changed, 3 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 88232698d7a0..aca901aff042 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
 		/* 3) Nominal HSync width (% of line period) - default 8 */
 #define CVT_HSYNC_PERCENTAGE	8
 		unsigned int hblank_percentage;
-		int vsyncandback_porch, vback_porch, hblank;
+		int vsyncandback_porch, hblank;
 
 		/* estimated the horizontal period */
 		tmp1 = HV_FACTOR * 1000000  -
@@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
 		else
 			vsyncandback_porch = tmp1;
 		/* 10. Find number of lines in back porch */
-		vback_porch = vsyncandback_porch - vsync;
 		drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
 				vsyncandback_porch + CVT_MIN_V_PORCH;
 		/* 5) Definition of Horizontal blanking time limitation */
@@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
 	int top_margin, bottom_margin;
 	int interlace;
 	unsigned int hfreq_est;
-	int vsync_plus_bp, vback_porch;
-	unsigned int vtotal_lines, vfieldrate_est, hperiod;
-	unsigned int vfield_rate, vframe_rate;
+	int vsync_plus_bp;
+	unsigned int vtotal_lines;
 	int left_margin, right_margin;
 	unsigned int total_active_pixels, ideal_duty_cycle;
 	unsigned int hblank, total_pixels, pixel_freq;
@@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
 	/* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
 	vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
 	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
-	/*  9. Find the number of lines in V back porch alone: */
-	vback_porch = vsync_plus_bp - V_SYNC_RQD;
 	/*  10. Find the total number of lines in Vertical field period: */
 	vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
 			vsync_plus_bp + GTF_MIN_V_PORCH;
-	/*  11. Estimate the Vertical field frequency: */
-	vfieldrate_est = hfreq_est / vtotal_lines;
-	/*  12. Find the actual horizontal period: */
-	hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
-
-	/*  13. Find the actual Vertical field frequency: */
-	vfield_rate = hfreq_est / vtotal_lines;
-	/*  14. Find the Vertical frame frequency: */
-	if (interlaced)
-		vframe_rate = vfield_rate / 2;
-	else
-		vframe_rate = vfield_rate;
 	/*  15. Find number of pixels in left margin: */
 	if (margins)
 		left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
-- 
2.15.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/modes: remove unused variables
  2019-11-19 13:47 [PATCH] drm/modes: remove unused variables Benjamin Gaignard
@ 2019-12-03 16:50 ` Benjamin Gaignard
  2019-12-04  9:35 ` Thomas Zimmermann
  1 sibling, 0 replies; 7+ messages in thread
From: Benjamin Gaignard @ 2019-12-03 16:50 UTC (permalink / raw)
  To: Benjamin Gaignard
  Cc: Maarten Lankhorst, Maxime Ripard, Sean Paul, David Airlie,
	Daniel Vetter, Linux Kernel Mailing List, ML dri-devel

Le mer. 20 nov. 2019 à 00:29, Benjamin Gaignard
<benjamin.gaignard@st.com> a écrit :
>
> When compiling with W=1 few warnings about unused variables show up.
> This patch removes all the involved variables.
>

Gentle ping to reviewers.
Thanks,
Benjamin

> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
>  drivers/gpu/drm/drm_modes.c | 22 +++-------------------
>  1 file changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index 88232698d7a0..aca901aff042 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>                 /* 3) Nominal HSync width (% of line period) - default 8 */
>  #define CVT_HSYNC_PERCENTAGE   8
>                 unsigned int hblank_percentage;
> -               int vsyncandback_porch, vback_porch, hblank;
> +               int vsyncandback_porch, hblank;
>
>                 /* estimated the horizontal period */
>                 tmp1 = HV_FACTOR * 1000000  -
> @@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>                 else
>                         vsyncandback_porch = tmp1;
>                 /* 10. Find number of lines in back porch */
> -               vback_porch = vsyncandback_porch - vsync;
>                 drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
>                                 vsyncandback_porch + CVT_MIN_V_PORCH;
>                 /* 5) Definition of Horizontal blanking time limitation */
> @@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>         int top_margin, bottom_margin;
>         int interlace;
>         unsigned int hfreq_est;
> -       int vsync_plus_bp, vback_porch;
> -       unsigned int vtotal_lines, vfieldrate_est, hperiod;
> -       unsigned int vfield_rate, vframe_rate;
> +       int vsync_plus_bp;
> +       unsigned int vtotal_lines;
>         int left_margin, right_margin;
>         unsigned int total_active_pixels, ideal_duty_cycle;
>         unsigned int hblank, total_pixels, pixel_freq;
> @@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>         /* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
>         vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
>         vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
> -       /*  9. Find the number of lines in V back porch alone: */
> -       vback_porch = vsync_plus_bp - V_SYNC_RQD;
>         /*  10. Find the total number of lines in Vertical field period: */
>         vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
>                         vsync_plus_bp + GTF_MIN_V_PORCH;
> -       /*  11. Estimate the Vertical field frequency: */
> -       vfieldrate_est = hfreq_est / vtotal_lines;
> -       /*  12. Find the actual horizontal period: */
> -       hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
> -
> -       /*  13. Find the actual Vertical field frequency: */
> -       vfield_rate = hfreq_est / vtotal_lines;
> -       /*  14. Find the Vertical frame frequency: */
> -       if (interlaced)
> -               vframe_rate = vfield_rate / 2;
> -       else
> -               vframe_rate = vfield_rate;
>         /*  15. Find number of pixels in left margin: */
>         if (margins)
>                 left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
> --
> 2.15.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/modes: remove unused variables
  2019-11-19 13:47 [PATCH] drm/modes: remove unused variables Benjamin Gaignard
  2019-12-03 16:50 ` Benjamin Gaignard
@ 2019-12-04  9:35 ` Thomas Zimmermann
  2019-12-04 10:07   ` Benjamin GAIGNARD
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Zimmermann @ 2019-12-04  9:35 UTC (permalink / raw)
  To: Benjamin Gaignard, maarten.lankhorst, mripard, sean, airlied, daniel
  Cc: linux-kernel, dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 3659 bytes --]

Hi

Am 19.11.19 um 14:47 schrieb Benjamin Gaignard:
> When compiling with W=1 few warnings about unused variables show up.
> This patch removes all the involved variables.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
>  drivers/gpu/drm/drm_modes.c | 22 +++-------------------
>  1 file changed, 3 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index 88232698d7a0..aca901aff042 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>  		/* 3) Nominal HSync width (% of line period) - default 8 */
>  #define CVT_HSYNC_PERCENTAGE	8
>  		unsigned int hblank_percentage;
> -		int vsyncandback_porch, vback_porch, hblank;
> +		int vsyncandback_porch, hblank;
>  
>  		/* estimated the horizontal period */
>  		tmp1 = HV_FACTOR * 1000000  -
> @@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>  		else
>  			vsyncandback_porch = tmp1;
>  		/* 10. Find number of lines in back porch */
> -		vback_porch = vsyncandback_porch - vsync;
>  		drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
>  				vsyncandback_porch + CVT_MIN_V_PORCH;
>  		/* 5) Definition of Horizontal blanking time limitation */
> @@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>  	int top_margin, bottom_margin;
>  	int interlace;
>  	unsigned int hfreq_est;
> -	int vsync_plus_bp, vback_porch;
> -	unsigned int vtotal_lines, vfieldrate_est, hperiod;
> -	unsigned int vfield_rate, vframe_rate;
> +	int vsync_plus_bp;
> +	unsigned int vtotal_lines;
>  	int left_margin, right_margin;
>  	unsigned int total_active_pixels, ideal_duty_cycle;
>  	unsigned int hblank, total_pixels, pixel_freq;
> @@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>  	/* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
>  	vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
>  	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
> -	/*  9. Find the number of lines in V back porch alone: */
> -	vback_porch = vsync_plus_bp - V_SYNC_RQD;
>  	/*  10. Find the total number of lines in Vertical field period: */
>  	vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
>  			vsync_plus_bp + GTF_MIN_V_PORCH;
> -	/*  11. Estimate the Vertical field frequency: */
> -	vfieldrate_est = hfreq_est / vtotal_lines;
> -	/*  12. Find the actual horizontal period: */
> -	hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
> -
> -	/*  13. Find the actual Vertical field frequency: */
> -	vfield_rate = hfreq_est / vtotal_lines;
> -	/*  14. Find the Vertical frame frequency: */
> -	if (interlaced)
> -		vframe_rate = vfield_rate / 2;
> -	else
> -		vframe_rate = vfield_rate;

The amount of unused code is quite large, which makes me wonder if
there's something missing below where these variables are supposed to be
used.

If these variables can be removed, comments should mention that steps 9
and 11 to 14 are being left out. After all, the function is fairly
explicit about implementing the GTF algorithm step by step.

Best regards
Thomas

>  	/*  15. Find number of pixels in left margin: */
>  	if (margins)
>  		left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/modes: remove unused variables
  2019-12-04  9:35 ` Thomas Zimmermann
@ 2019-12-04 10:07   ` Benjamin GAIGNARD
  2019-12-05  9:55     ` Jani Nikula
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin GAIGNARD @ 2019-12-04 10:07 UTC (permalink / raw)
  To: Thomas Zimmermann, maarten.lankhorst, mripard, sean, airlied, daniel
  Cc: linux-kernel, dri-devel


On 12/4/19 10:35 AM, Thomas Zimmermann wrote:
> Hi
>
> Am 19.11.19 um 14:47 schrieb Benjamin Gaignard:
>> When compiling with W=1 few warnings about unused variables show up.
>> This patch removes all the involved variables.
>>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
>> ---
>>   drivers/gpu/drm/drm_modes.c | 22 +++-------------------
>>   1 file changed, 3 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
>> index 88232698d7a0..aca901aff042 100644
>> --- a/drivers/gpu/drm/drm_modes.c
>> +++ b/drivers/gpu/drm/drm_modes.c
>> @@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>>   		/* 3) Nominal HSync width (% of line period) - default 8 */
>>   #define CVT_HSYNC_PERCENTAGE	8
>>   		unsigned int hblank_percentage;
>> -		int vsyncandback_porch, vback_porch, hblank;
>> +		int vsyncandback_porch, hblank;
>>   
>>   		/* estimated the horizontal period */
>>   		tmp1 = HV_FACTOR * 1000000  -
>> @@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>>   		else
>>   			vsyncandback_porch = tmp1;
>>   		/* 10. Find number of lines in back porch */
>> -		vback_porch = vsyncandback_porch - vsync;
>>   		drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
>>   				vsyncandback_porch + CVT_MIN_V_PORCH;
>>   		/* 5) Definition of Horizontal blanking time limitation */
>> @@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>>   	int top_margin, bottom_margin;
>>   	int interlace;
>>   	unsigned int hfreq_est;
>> -	int vsync_plus_bp, vback_porch;
>> -	unsigned int vtotal_lines, vfieldrate_est, hperiod;
>> -	unsigned int vfield_rate, vframe_rate;
>> +	int vsync_plus_bp;
>> +	unsigned int vtotal_lines;
>>   	int left_margin, right_margin;
>>   	unsigned int total_active_pixels, ideal_duty_cycle;
>>   	unsigned int hblank, total_pixels, pixel_freq;
>> @@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>>   	/* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
>>   	vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
>>   	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
>> -	/*  9. Find the number of lines in V back porch alone: */
>> -	vback_porch = vsync_plus_bp - V_SYNC_RQD;
>>   	/*  10. Find the total number of lines in Vertical field period: */
>>   	vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
>>   			vsync_plus_bp + GTF_MIN_V_PORCH;
>> -	/*  11. Estimate the Vertical field frequency: */
>> -	vfieldrate_est = hfreq_est / vtotal_lines;
>> -	/*  12. Find the actual horizontal period: */
>> -	hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
>> -
>> -	/*  13. Find the actual Vertical field frequency: */
>> -	vfield_rate = hfreq_est / vtotal_lines;
>> -	/*  14. Find the Vertical frame frequency: */
>> -	if (interlaced)
>> -		vframe_rate = vfield_rate / 2;
>> -	else
>> -		vframe_rate = vfield_rate;
> The amount of unused code is quite large, which makes me wonder if
> there's something missing below where these variables are supposed to be
> used.
>
> If these variables can be removed, comments should mention that steps 9
> and 11 to 14 are being left out. After all, the function is fairly
> explicit about implementing the GTF algorithm step by step.
>
> Best regards
> Thomas

If the goal is to keep all the steps then I could prefix all problematic 
variables with __maybe_unused macro.

Benjamin

>
>>   	/*  15. Find number of pixels in left margin: */
>>   	if (margins)
>>   		left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/modes: remove unused variables
  2019-12-04 10:07   ` Benjamin GAIGNARD
@ 2019-12-05  9:55     ` Jani Nikula
  2019-12-05 10:23       ` Benjamin GAIGNARD
  0 siblings, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2019-12-05  9:55 UTC (permalink / raw)
  To: Benjamin GAIGNARD, Thomas Zimmermann, maarten.lankhorst, mripard,
	sean, airlied, daniel
  Cc: linux-kernel, dri-devel

On Wed, 04 Dec 2019, Benjamin GAIGNARD <benjamin.gaignard@st.com> wrote:
> On 12/4/19 10:35 AM, Thomas Zimmermann wrote:
>> Hi
>>
>> Am 19.11.19 um 14:47 schrieb Benjamin Gaignard:
>>> When compiling with W=1 few warnings about unused variables show up.
>>> This patch removes all the involved variables.
>>>
>>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
>>> ---
>>>   drivers/gpu/drm/drm_modes.c | 22 +++-------------------
>>>   1 file changed, 3 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
>>> index 88232698d7a0..aca901aff042 100644
>>> --- a/drivers/gpu/drm/drm_modes.c
>>> +++ b/drivers/gpu/drm/drm_modes.c
>>> @@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>>>   		/* 3) Nominal HSync width (% of line period) - default 8 */
>>>   #define CVT_HSYNC_PERCENTAGE	8
>>>   		unsigned int hblank_percentage;
>>> -		int vsyncandback_porch, vback_porch, hblank;
>>> +		int vsyncandback_porch, hblank;
>>>   
>>>   		/* estimated the horizontal period */
>>>   		tmp1 = HV_FACTOR * 1000000  -
>>> @@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>>>   		else
>>>   			vsyncandback_porch = tmp1;
>>>   		/* 10. Find number of lines in back porch */
>>> -		vback_porch = vsyncandback_porch - vsync;
>>>   		drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
>>>   				vsyncandback_porch + CVT_MIN_V_PORCH;
>>>   		/* 5) Definition of Horizontal blanking time limitation */
>>> @@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>>>   	int top_margin, bottom_margin;
>>>   	int interlace;
>>>   	unsigned int hfreq_est;
>>> -	int vsync_plus_bp, vback_porch;
>>> -	unsigned int vtotal_lines, vfieldrate_est, hperiod;
>>> -	unsigned int vfield_rate, vframe_rate;
>>> +	int vsync_plus_bp;
>>> +	unsigned int vtotal_lines;
>>>   	int left_margin, right_margin;
>>>   	unsigned int total_active_pixels, ideal_duty_cycle;
>>>   	unsigned int hblank, total_pixels, pixel_freq;
>>> @@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>>>   	/* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
>>>   	vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
>>>   	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
>>> -	/*  9. Find the number of lines in V back porch alone: */
>>> -	vback_porch = vsync_plus_bp - V_SYNC_RQD;
>>>   	/*  10. Find the total number of lines in Vertical field period: */
>>>   	vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
>>>   			vsync_plus_bp + GTF_MIN_V_PORCH;
>>> -	/*  11. Estimate the Vertical field frequency: */
>>> -	vfieldrate_est = hfreq_est / vtotal_lines;
>>> -	/*  12. Find the actual horizontal period: */
>>> -	hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
>>> -
>>> -	/*  13. Find the actual Vertical field frequency: */
>>> -	vfield_rate = hfreq_est / vtotal_lines;
>>> -	/*  14. Find the Vertical frame frequency: */
>>> -	if (interlaced)
>>> -		vframe_rate = vfield_rate / 2;
>>> -	else
>>> -		vframe_rate = vfield_rate;
>> The amount of unused code is quite large, which makes me wonder if
>> there's something missing below where these variables are supposed to be
>> used.
>>
>> If these variables can be removed, comments should mention that steps 9
>> and 11 to 14 are being left out. After all, the function is fairly
>> explicit about implementing the GTF algorithm step by step.
>>
>> Best regards
>> Thomas
>
> If the goal is to keep all the steps then I could prefix all problematic 
> variables with __maybe_unused macro.

The effect is the same; it hides a potential bug that should be analyzed
and fixed. If you have the time, please look at the code and figure out
what it's supposed to do, and why isn't it using the information. Look
at git blame and log, was it always so, or did something change?

The warnings are about potential bugs. The objective or end goal is to
fix the bugs, not to silence the warnings.


BR,
Jani.


>
> Benjamin
>
>>
>>>   	/*  15. Find number of pixels in left margin: */
>>>   	if (margins)
>>>   		left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
>>>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/modes: remove unused variables
  2019-12-05  9:55     ` Jani Nikula
@ 2019-12-05 10:23       ` Benjamin GAIGNARD
  2019-12-10  9:52         ` Daniel Vetter
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin GAIGNARD @ 2019-12-05 10:23 UTC (permalink / raw)
  To: Jani Nikula, Thomas Zimmermann, maarten.lankhorst, mripard, sean,
	airlied, daniel, yakui.zhao
  Cc: linux-kernel, dri-devel

+ Zhao Yakui

On 12/5/19 10:55 AM, Jani Nikula wrote:
> On Wed, 04 Dec 2019, Benjamin GAIGNARD <benjamin.gaignard@st.com> wrote:
>> On 12/4/19 10:35 AM, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 19.11.19 um 14:47 schrieb Benjamin Gaignard:
>>>> When compiling with W=1 few warnings about unused variables show up.
>>>> This patch removes all the involved variables.
>>>>
>>>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
>>>> ---
>>>>    drivers/gpu/drm/drm_modes.c | 22 +++-------------------
>>>>    1 file changed, 3 insertions(+), 19 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
>>>> index 88232698d7a0..aca901aff042 100644
>>>> --- a/drivers/gpu/drm/drm_modes.c
>>>> +++ b/drivers/gpu/drm/drm_modes.c
>>>> @@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>>>>    		/* 3) Nominal HSync width (% of line period) - default 8 */
>>>>    #define CVT_HSYNC_PERCENTAGE	8
>>>>    		unsigned int hblank_percentage;
>>>> -		int vsyncandback_porch, vback_porch, hblank;
>>>> +		int vsyncandback_porch, hblank;
>>>>    
>>>>    		/* estimated the horizontal period */
>>>>    		tmp1 = HV_FACTOR * 1000000  -
>>>> @@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
>>>>    		else
>>>>    			vsyncandback_porch = tmp1;
>>>>    		/* 10. Find number of lines in back porch */
>>>> -		vback_porch = vsyncandback_porch - vsync;
>>>>    		drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
>>>>    				vsyncandback_porch + CVT_MIN_V_PORCH;
>>>>    		/* 5) Definition of Horizontal blanking time limitation */
>>>> @@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>>>>    	int top_margin, bottom_margin;
>>>>    	int interlace;
>>>>    	unsigned int hfreq_est;
>>>> -	int vsync_plus_bp, vback_porch;
>>>> -	unsigned int vtotal_lines, vfieldrate_est, hperiod;
>>>> -	unsigned int vfield_rate, vframe_rate;
>>>> +	int vsync_plus_bp;
>>>> +	unsigned int vtotal_lines;
>>>>    	int left_margin, right_margin;
>>>>    	unsigned int total_active_pixels, ideal_duty_cycle;
>>>>    	unsigned int hblank, total_pixels, pixel_freq;
>>>> @@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
>>>>    	/* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
>>>>    	vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
>>>>    	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
>>>> -	/*  9. Find the number of lines in V back porch alone: */
>>>> -	vback_porch = vsync_plus_bp - V_SYNC_RQD;
>>>>    	/*  10. Find the total number of lines in Vertical field period: */
>>>>    	vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
>>>>    			vsync_plus_bp + GTF_MIN_V_PORCH;
>>>> -	/*  11. Estimate the Vertical field frequency: */
>>>> -	vfieldrate_est = hfreq_est / vtotal_lines;
>>>> -	/*  12. Find the actual horizontal period: */
>>>> -	hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
>>>> -
>>>> -	/*  13. Find the actual Vertical field frequency: */
>>>> -	vfield_rate = hfreq_est / vtotal_lines;
>>>> -	/*  14. Find the Vertical frame frequency: */
>>>> -	if (interlaced)
>>>> -		vframe_rate = vfield_rate / 2;
>>>> -	else
>>>> -		vframe_rate = vfield_rate;
>>> The amount of unused code is quite large, which makes me wonder if
>>> there's something missing below where these variables are supposed to be
>>> used.
>>>
>>> If these variables can be removed, comments should mention that steps 9
>>> and 11 to 14 are being left out. After all, the function is fairly
>>> explicit about implementing the GTF algorithm step by step.
>>>
>>> Best regards
>>> Thomas
>> If the goal is to keep all the steps then I could prefix all problematic
>> variables with __maybe_unused macro.
> The effect is the same; it hides a potential bug that should be analyzed
> and fixed. If you have the time, please look at the code and figure out
> what it's supposed to do, and why isn't it using the information. Look
> at git blame and log, was it always so, or did something change?
>
> The warnings are about potential bugs. The objective or end goal is to
> fix the bugs, not to silence the warnings.
This code haven't change since it has been added by commit:
26bbdadad356e ("drm/mode: add the GTF algorithm in kernel space")
The variables that I'm removing are not used anywhere else.
The algorithm is copy from xserver/hw/xfree86/modes/xf86gtf.c where
vframe_rate and v_back_porch are used with (void) calls:
(void) v_back_porch;
(void) v_frame_rate;
It is another way avoid the warnings.
Note that if you start removing v_frame_rate then vfield_rate becomes 
unused, etc...

Benjamin

>
> BR,
> Jani.
>
>
>> Benjamin
>>
>>>>    	/*  15. Find number of pixels in left margin: */
>>>>    	if (margins)
>>>>    		left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
>>>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/modes: remove unused variables
  2019-12-05 10:23       ` Benjamin GAIGNARD
@ 2019-12-10  9:52         ` Daniel Vetter
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Vetter @ 2019-12-10  9:52 UTC (permalink / raw)
  To: Benjamin GAIGNARD
  Cc: Jani Nikula, Thomas Zimmermann, maarten.lankhorst, mripard, sean,
	airlied, daniel, yakui.zhao, linux-kernel, dri-devel

On Thu, Dec 05, 2019 at 10:23:51AM +0000, Benjamin GAIGNARD wrote:
> + Zhao Yakui
> 
> On 12/5/19 10:55 AM, Jani Nikula wrote:
> > On Wed, 04 Dec 2019, Benjamin GAIGNARD <benjamin.gaignard@st.com> wrote:
> >> On 12/4/19 10:35 AM, Thomas Zimmermann wrote:
> >>> Hi
> >>>
> >>> Am 19.11.19 um 14:47 schrieb Benjamin Gaignard:
> >>>> When compiling with W=1 few warnings about unused variables show up.
> >>>> This patch removes all the involved variables.
> >>>>
> >>>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> >>>> ---
> >>>>    drivers/gpu/drm/drm_modes.c | 22 +++-------------------
> >>>>    1 file changed, 3 insertions(+), 19 deletions(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> >>>> index 88232698d7a0..aca901aff042 100644
> >>>> --- a/drivers/gpu/drm/drm_modes.c
> >>>> +++ b/drivers/gpu/drm/drm_modes.c
> >>>> @@ -233,7 +233,7 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
> >>>>    		/* 3) Nominal HSync width (% of line period) - default 8 */
> >>>>    #define CVT_HSYNC_PERCENTAGE	8
> >>>>    		unsigned int hblank_percentage;
> >>>> -		int vsyncandback_porch, vback_porch, hblank;
> >>>> +		int vsyncandback_porch, hblank;
> >>>>    
> >>>>    		/* estimated the horizontal period */
> >>>>    		tmp1 = HV_FACTOR * 1000000  -
> >>>> @@ -249,7 +249,6 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
> >>>>    		else
> >>>>    			vsyncandback_porch = tmp1;
> >>>>    		/* 10. Find number of lines in back porch */
> >>>> -		vback_porch = vsyncandback_porch - vsync;
> >>>>    		drm_mode->vtotal = vdisplay_rnd + 2 * vmargin +
> >>>>    				vsyncandback_porch + CVT_MIN_V_PORCH;
> >>>>    		/* 5) Definition of Horizontal blanking time limitation */
> >>>> @@ -386,9 +385,8 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
> >>>>    	int top_margin, bottom_margin;
> >>>>    	int interlace;
> >>>>    	unsigned int hfreq_est;
> >>>> -	int vsync_plus_bp, vback_porch;
> >>>> -	unsigned int vtotal_lines, vfieldrate_est, hperiod;
> >>>> -	unsigned int vfield_rate, vframe_rate;
> >>>> +	int vsync_plus_bp;
> >>>> +	unsigned int vtotal_lines;
> >>>>    	int left_margin, right_margin;
> >>>>    	unsigned int total_active_pixels, ideal_duty_cycle;
> >>>>    	unsigned int hblank, total_pixels, pixel_freq;
> >>>> @@ -451,23 +449,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
> >>>>    	/* [V SYNC+BP] = RINT(([MIN VSYNC+BP] * hfreq_est / 1000000)) */
> >>>>    	vsync_plus_bp = MIN_VSYNC_PLUS_BP * hfreq_est / 1000;
> >>>>    	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
> >>>> -	/*  9. Find the number of lines in V back porch alone: */
> >>>> -	vback_porch = vsync_plus_bp - V_SYNC_RQD;
> >>>>    	/*  10. Find the total number of lines in Vertical field period: */
> >>>>    	vtotal_lines = vdisplay_rnd + top_margin + bottom_margin +
> >>>>    			vsync_plus_bp + GTF_MIN_V_PORCH;
> >>>> -	/*  11. Estimate the Vertical field frequency: */
> >>>> -	vfieldrate_est = hfreq_est / vtotal_lines;
> >>>> -	/*  12. Find the actual horizontal period: */
> >>>> -	hperiod = 1000000 / (vfieldrate_rqd * vtotal_lines);
> >>>> -
> >>>> -	/*  13. Find the actual Vertical field frequency: */
> >>>> -	vfield_rate = hfreq_est / vtotal_lines;
> >>>> -	/*  14. Find the Vertical frame frequency: */
> >>>> -	if (interlaced)
> >>>> -		vframe_rate = vfield_rate / 2;
> >>>> -	else
> >>>> -		vframe_rate = vfield_rate;
> >>> The amount of unused code is quite large, which makes me wonder if
> >>> there's something missing below where these variables are supposed to be
> >>> used.
> >>>
> >>> If these variables can be removed, comments should mention that steps 9
> >>> and 11 to 14 are being left out. After all, the function is fairly
> >>> explicit about implementing the GTF algorithm step by step.
> >>>
> >>> Best regards
> >>> Thomas
> >> If the goal is to keep all the steps then I could prefix all problematic
> >> variables with __maybe_unused macro.
> > The effect is the same; it hides a potential bug that should be analyzed
> > and fixed. If you have the time, please look at the code and figure out
> > what it's supposed to do, and why isn't it using the information. Look
> > at git blame and log, was it always so, or did something change?
> >
> > The warnings are about potential bugs. The objective or end goal is to
> > fix the bugs, not to silence the warnings.
> This code haven't change since it has been added by commit:
> 26bbdadad356e ("drm/mode: add the GTF algorithm in kernel space")
> The variables that I'm removing are not used anywhere else.
> The algorithm is copy from xserver/hw/xfree86/modes/xf86gtf.c where
> vframe_rate and v_back_porch are used with (void) calls:
> (void) v_back_porch;
> (void) v_frame_rate;
> It is another way avoid the warnings.
> Note that if you start removing v_frame_rate then vfield_rate becomes 
> unused, etc...

I'd say we should do the same thing then as xf86 and just mark them up as
unused. Might be good to double-check with the spec at least whether
they're really not unused, or whether we have some issue. But given that
it seems to have worked for ages, I suspect it's all good.

Removing the code otoh feels a bit icky.
-Daniel


> 
> Benjamin
> 
> >
> > BR,
> > Jani.
> >
> >
> >> Benjamin
> >>
> >>>>    	/*  15. Find number of pixels in left margin: */
> >>>>    	if (margins)
> >>>>    		left_margin = (hdisplay_rnd * GTF_MARGIN_PERCENTAGE + 500) /
> >>>>
> >> _______________________________________________
> >> dri-devel mailing list
> >> dri-devel@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-10  9:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-19 13:47 [PATCH] drm/modes: remove unused variables Benjamin Gaignard
2019-12-03 16:50 ` Benjamin Gaignard
2019-12-04  9:35 ` Thomas Zimmermann
2019-12-04 10:07   ` Benjamin GAIGNARD
2019-12-05  9:55     ` Jani Nikula
2019-12-05 10:23       ` Benjamin GAIGNARD
2019-12-10  9:52         ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).