[PATCH 2/8] drm/udl: Change drm_fb_helper_sys_*() calls to sys_*()

Noralf Trønnes noralf at tronnes.org
Wed Apr 20 18:15:30 UTC 2016


Den 20.04.2016 19:42, skrev Daniel Vetter:
> On Wed, Apr 20, 2016 at 05:25:23PM +0200, Noralf Trønnes wrote:
>> Now that drm_fb_helper gets deferred io support, the
>> drm_fb_helper_sys_{fillrect,copyarea,imageblit} functions will schedule
>> the worker that calls the deferred_io callback. This will break this
>> driver so use the sys_{fillrect,copyarea,imageblit} functions directly.
>>
>> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> I think this intermediately breaks the build, if you disable fbdev
> support. That's now supported in the fbdev helpers core generically across
> all drivers.
>
> Not sure how to best fix this up, since the only way would be to squash
> these patches, plus generic deferred io plus the conversion patches for
> udl/qxl all into one. Tricky.

Yes you're right, I missed that.
How about this:
#ifdef CONFIG_FB
         sys_fillrect(info, rect);
#endif

The later patch will then remove this ugliness...

> -Daniel
>
>> ---
>>   drivers/gpu/drm/udl/udl_fb.c | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c
>> index fd1eb9d..a52de2f 100644
>> --- a/drivers/gpu/drm/udl/udl_fb.c
>> +++ b/drivers/gpu/drm/udl/udl_fb.c
>> @@ -287,7 +287,7 @@ static void udl_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect
>>   {
>>   	struct udl_fbdev *ufbdev = info->par;
>>   
>> -	drm_fb_helper_sys_fillrect(info, rect);
>> +	sys_fillrect(info, rect);
>>   
>>   	udl_handle_damage(&ufbdev->ufb, rect->dx, rect->dy, rect->width,
>>   			  rect->height);
>> @@ -297,7 +297,7 @@ static void udl_fb_copyarea(struct fb_info *info, const struct fb_copyarea *regi
>>   {
>>   	struct udl_fbdev *ufbdev = info->par;
>>   
>> -	drm_fb_helper_sys_copyarea(info, region);
>> +	sys_copyarea(info, region);
>>   
>>   	udl_handle_damage(&ufbdev->ufb, region->dx, region->dy, region->width,
>>   			  region->height);
>> @@ -307,7 +307,7 @@ static void udl_fb_imageblit(struct fb_info *info, const struct fb_image *image)
>>   {
>>   	struct udl_fbdev *ufbdev = info->par;
>>   
>> -	drm_fb_helper_sys_imageblit(info, image);
>> +	sys_imageblit(info, image);
>>   
>>   	udl_handle_damage(&ufbdev->ufb, image->dx, image->dy, image->width,
>>   			  image->height);
>> -- 
>> 2.2.2
>>



More information about the dri-devel mailing list