Subject: Re: linux-next: build failure after merge of the drm tree

From: Hamza Mahfooz <[email-masked]>
Date: Thu, 6 Oct 2022 12:25:05 -0400

On 2022-10-06 04:12, Stephen Rothwell wrote:
> Hi all,
> 
> On Thu, 6 Oct 2022 09:28:10 +1100 Stephen Rothwell <[email-masked]> wrote:
>>
>> I have applied the following hack for today:
>>
>> From: Stephen Rothwell <[email-masked]>
>> Date: Thu, 6 Oct 2022 09:14:26 +1100
>> Subject: [PATCH] fix up for drivers/gpu/drm/amd/display/dc/core/dc_stream.c
>>
>> Signed-off-by: Stephen Rothwell <[email-masked]>
>> ---
>>   drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
>> index ae13887756bf..a5da787b7876 100644
>> --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
>> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
>> @@ -520,9 +520,9 @@ bool dc_stream_remove_writeback(struct dc *dc,
>>   	}
>>   
>>   	/* remove writeback info for disabled writeback pipes from stream */
>> -	for (i = 0, j = 0; i < stream->num_wb_info && j < MAX_DWB_PIPES; i++) {
>> +	for (i = 0, j = 0; i < stream->num_wb_info && i < MAX_DWB_PIPES; i++) {
>>   		if (stream->writeback_info[i].wb_enabled) {
>> -			if (i != j)
>> +			if ((j >= 0) && (j < i))
>>   				/* trim the array */
>>   				stream->writeback_info[j] = stream->writeback_info[i];
>>   			j++;
> 
> This works as well, and (in my opinion) is better:

I can confirm that this fix works on GCC 9.4, as well.

> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
> index ae13887756bf..fb6222d4c430 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
> @@ -499,7 +499,7 @@ bool dc_stream_remove_writeback(struct dc *dc,
>   		struct dc_stream_state *stream,
>   		uint32_t dwb_pipe_inst)
>   {
> -	int i = 0, j = 0;
> +	unsigned int i, j;
>   	if (stream == NULL) {
>   		dm_error("DC: dc_stream is NULL!\n");
>   		return false;
> @@ -520,9 +520,9 @@ bool dc_stream_remove_writeback(struct dc *dc,
>   	}
>   
>   	/* remove writeback info for disabled writeback pipes from stream */
> -	for (i = 0, j = 0; i < stream->num_wb_info && j < MAX_DWB_PIPES; i++) {
> +	for (i = 0, j = 0; i < stream->num_wb_info; i++) {
>   		if (stream->writeback_info[i].wb_enabled) {
> -			if (i != j)
> +			if (j < i)
>   				/* trim the array */
>   				stream->writeback_info[j] = stream->writeback_info[i];
>   			j++;
> 

-- 
Hamza