[PATCH 4/4] drm/i915: Implement fbdev emulation as in-kernel client

Thomas Zimmermann tzimmermann at suse.de
Tue Jul 11 13:09:15 UTC 2023


Hi

Am 28.03.23 um 17:31 schrieb Jani Nikula:
[...]
>> +
>> +err_drm_fb_helper_fini:
>> +	drm_fb_helper_fini(fb_helper);
>> +err_drm_err:
>> +	drm_err(dev, "Failed to setup radeon fbdev emulation (ret=%d)\n", ret);
>                                        ^^^^^^
> 
> Hrrmmh. ;)

O:)

> 
>> +	return ret;
>>   }
>>   
>>   static const struct drm_client_funcs intel_fbdev_client_funcs = {
>> @@ -688,22 +714,23 @@ static const struct drm_client_funcs intel_fbdev_client_funcs = {
>>   	.hotplug	= intel_fbdev_client_hotplug,
>>   };
>>   

[...]

>> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>> index be804fd4f79f..0b6722bcfbb2 100644
>> --- a/drivers/gpu/drm/i915/i915_driver.c
>> +++ b/drivers/gpu/drm/i915/i915_driver.c
>> @@ -820,6 +820,8 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>>   
>>   	i915->do_release = true;
>>   
>> +	intel_fbdev_setup(i915);
>> +
> 
> Maybe we could call this from intel_display_driver_register()?

Fbdev interact with vga-switcheroo. I'd assume that the fbdev client 
setup needs to run after i915_switcheroo_register(). If 
intel_fbdev_setup() cannot go into the probe callback, it could be 
located at the end of i915_driver_register().

Best regards
Thomas

> 
> We're trying to separate display related stuff from the rest, and call
> as few display functions from top level driver code as
> possible. (Clearly, we're nowhere near this goal yet.)
> 
> 
>>   	return 0;
>>   
>>   out_cleanup_gem:
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230711/d26806b2/attachment.sig>


More information about the dri-devel mailing list