[Intel-gfx] [PATCH 08/19] drm/i915: Return error value when bo not in LMEM for discrete

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Apr 14 15:16:11 UTC 2021


On 12/04/2021 10:05, Matthew Auld wrote:
> From: Mohammed Khajapasha <mohammed.khajapasha at intel.com>
> 
> Return EREMOTE value when frame buffer object is not backed by LMEM
> for discrete. If Local memory is supported by hardware the framebuffer
> backing gem objects should be from local memory.
> 
> Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha at intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_display.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 411b46c012f8..57b06d8728af 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -63,6 +63,7 @@
>   #include "display/intel_vdsc.h"
>   #include "display/intel_vrr.h"
>   
> +#include "gem/i915_gem_lmem.h"
>   #include "gem/i915_gem_object.h"
>   
>   #include "gt/intel_rps.h"
> @@ -11279,11 +11280,20 @@ intel_user_framebuffer_create(struct drm_device *dev,
>   	struct drm_framebuffer *fb;
>   	struct drm_i915_gem_object *obj;
>   	struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd;
> +	struct drm_i915_private *i915;
>   
>   	obj = i915_gem_object_lookup(filp, mode_cmd.handles[0]);
>   	if (!obj)
>   		return ERR_PTR(-ENOENT);
>   
> +	/* object is backed with LMEM for discrete */
> +	i915 = to_i915(obj->base.dev);
> +	if (HAS_LMEM(i915) && !i915_gem_object_is_lmem(obj)) {
> +		/* object is "remote", not in local memory */
> +		i915_gem_object_put(obj);
> +		return ERR_PTR(-EREMOTE);

I am a fan of rich errnos and this one feels appropriately descriptive, 
but please get an ack from Daniel or so.

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko

> +	}
> +
>   	fb = intel_framebuffer_create(obj, &mode_cmd);
>   	i915_gem_object_put(obj);
>   
> 


More information about the dri-devel mailing list