drm/i915/guc: Fix doorbell id selection

Submitted by Michel Thierry on May 31, 2017, 12:05 a.m.

Details

Message ID 20170531000546.30762-1-michel.thierry@intel.com
State Accepted
Commit 7f1ea2ac30171d9a6aad2916a73e41fa68c8f137
Headers show
Series "drm/i915/guc: Fix doorbell id selection" ( rev: 1 ) in Intel GFX

Not browsing as part of any series.

Commit Message

Michel Thierry May 31, 2017, 12:05 a.m.
We are passing parameters in the wrong order to find next zero bit, and
when it doesn't find anything it returns size (offset in the code), which
is always zero.

For reference the function is defined as:
find_next_bit( *addr, size, offset )

The incorrect parameter order was added by commit abddffdf3620e
("drm/i915/guc: Sanitize GuC client initialization"). Luckily, currently
we only use a single guc client and a single doorbell, which happens to be
zero; therefore it isn't necessary to backport this fix (which would be for
v4.12).

Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Michel Thierry <michel.thierry@intel.com>
---
 drivers/gpu/drm/i915/i915_guc_submission.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
index fb936bb5cb93..ec391ef981aa 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -105,7 +105,7 @@  static int __reserve_doorbell(struct i915_guc_client *client)
 		end += offset;
 	}
 
-	id = find_next_zero_bit(client->guc->doorbell_bitmap, offset, end);
+	id = find_next_zero_bit(client->guc->doorbell_bitmap, end, offset);
 	if (id == end)
 		return -ENOSPC;
 

Comments

On 30/05/17 17:05, Michel Thierry wrote:
> We are passing parameters in the wrong order to find next zero bit, and
> when it doesn't find anything it returns size (offset in the code), which
> is always zero.
>
> For reference the function is defined as:
> find_next_bit( *addr, size, offset )
>
> The incorrect parameter order was added by commit abddffdf3620e
> ("drm/i915/guc: Sanitize GuC client initialization"). Luckily, currently
> we only use a single guc client and a single doorbell, which happens to be
> zero; therefore it isn't necessary to backport this fix (which would be for
> v4.12).
>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Oscar Mateo <oscar.mateo@intel.com>
> Signed-off-by: Michel Thierry <michel.thierry@intel.com>
> ---

Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>

Thanks,
Daniele

>  drivers/gpu/drm/i915/i915_guc_submission.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
> index fb936bb5cb93..ec391ef981aa 100644
> --- a/drivers/gpu/drm/i915/i915_guc_submission.c
> +++ b/drivers/gpu/drm/i915/i915_guc_submission.c
> @@ -105,7 +105,7 @@ static int __reserve_doorbell(struct i915_guc_client *client)
>  		end += offset;
>  	}
>
> -	id = find_next_zero_bit(client->guc->doorbell_bitmap, offset, end);
> +	id = find_next_zero_bit(client->guc->doorbell_bitmap, end, offset);
>  	if (id == end)
>  		return -ENOSPC;
>
>
On ti, 2017-05-30 at 17:19 -0700, Daniele Ceraolo Spurio wrote:
> 
> On 30/05/17 17:05, Michel Thierry wrote:
> > 
> > We are passing parameters in the wrong order to find next zero bit, and
> > when it doesn't find anything it returns size (offset in the code), which
> > is always zero.
> > 
> > For reference the function is defined as:
> > find_next_bit( *addr, size, offset )
> > 
> > The incorrect parameter order was added by commit abddffdf3620e
> > ("drm/i915/guc: Sanitize GuC client initialization"). Luckily, currently
> > we only use a single guc client and a single doorbell, which happens to be
> > zero; therefore it isn't necessary to backport this fix (which would be for
> > v4.12).

Whoops, a good catch.

Regards, Joonas
On ke, 2017-05-31 at 00:21 +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/guc: Fix doorbell id selection
> URL   : https://patchwork.freedesktop.org/series/25076/
> State : success

Merged. Thanks for the patch and review.

Regards, Joonas