[Intel-gfx] [PATCH v4] drm/i915: Pin the ifbdev for the info->system_base GGTT mmapping

Jani Nikula jani.nikula at linux.intel.com
Tue Dec 1 01:01:33 PST 2015


On Tue, 24 Nov 2015, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Sat, Nov 21, 2015 at 02:01:55AM +0800, kbuild test robot wrote:
>> Hi Chris,
>> 
>> [auto build test WARNING on drm-intel/for-linux-next]
>> [cannot apply to v4.4-rc1 next-20151120]
>> 
>> url:    https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Pin-the-ifbdev-for-the-info-system_base-GGTT-mmapping/20151121-003300
>> base:   git://anongit.freedesktop.org/drm-intel for-linux-next
>> reproduce:
>>         # apt-get install sparse
>>         make ARCH=x86_64 allmodconfig
>>         make C=1 CF=-D__CHECK_ENDIAN__
>> 
>> 
>> sparse warnings: (new ones prefixed by >>)
>> 
>> >> drivers/gpu/drm/i915/intel_fbdev.c:225:58: sparse: incorrect type in argument 2 (different base types)
>>    drivers/gpu/drm/i915/intel_fbdev.c:225:58:    expected struct drm_framebuffer *fb
>>    drivers/gpu/drm/i915/intel_fbdev.c:225:58:    got struct drm_framebuffer base
>>    drivers/gpu/drm/i915/intel_fbdev.c: In function 'intelfb_create':
>>    drivers/gpu/drm/i915/intel_fbdev.c:225:41: error: incompatible type for argument 2 of 'intel_pin_and_fence_fb_obj'
>>      ret = intel_pin_and_fence_fb_obj(NULL, ifbdev->fb->base, NULL);
>>                                             ^
>>    In file included from drivers/gpu/drm/i915/intel_fbdev.c:44:0:
>>    drivers/gpu/drm/i915/intel_drv.h:1098:5: note: expected 'struct drm_framebuffer *' but argument is of type 'struct drm_framebuffer'
>>     int intel_pin_and_fence_fb_obj(struct drm_plane *plane,
>
> With the missing & ack for -fixes on both patches from my side.

Somehow the fact that this didn't even compile to begin with makes me
less than enthusiastic about queuing this to -fixes, let alone -stable.

BR,
Jani.



> -Daniel
>
>>         ^
>> 
>> vim +225 drivers/gpu/drm/i915/intel_fbdev.c
>> 
>>    209		} else {
>>    210			DRM_DEBUG_KMS("re-using BIOS fb\n");
>>    211			prealloc = true;
>>    212			sizes->fb_width = intel_fb->base.width;
>>    213			sizes->fb_height = intel_fb->base.height;
>>    214		}
>>    215	
>>    216		obj = intel_fb->obj;
>>    217		size = obj->base.size;
>>    218	
>>    219		mutex_lock(&dev->struct_mutex);
>>    220	
>>    221		/* Pin the GGTT vma for our access via info->screen_base.
>>    222		 * This also validates that any existing fb inherited from the
>>    223		 * BIOS is suitable for own access.
>>    224		 */
>>  > 225		ret = intel_pin_and_fence_fb_obj(NULL, ifbdev->fb->base, NULL);
>>    226		if (ret)
>>    227			goto out_unlock;
>>    228	
>>    229		info = drm_fb_helper_alloc_fbi(helper);
>>    230		if (IS_ERR(info)) {
>>    231			DRM_ERROR("Failed to allocate fb_info\n");
>>    232			ret = PTR_ERR(info);
>>    233			goto out_unpin;
>> 
>> ---
>> 0-DAY kernel test infrastructure                Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list