Hi Am 24.01.22 um 15:23 schrieb Jocelyn Falempe:
On 24/01/2022 13:36, Thomas Zimmermann wrote:Requesting the framebuffer memory in simpledrm marks the memory range as busy. This used to be done by the firmware sysfb code, but the driver is the correct place. Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> --- drivers/gpu/drm/tiny/simpledrm.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.cindex 04146da2d1d8..f72b71511a65 100644 --- a/drivers/gpu/drm/tiny/simpledrm.c +++ b/drivers/gpu/drm/tiny/simpledrm.c@@ -526,21 +526,31 @@ static int simpledrm_device_init_mm(struct simpledrm_device *sdev){ struct drm_device *dev = &sdev->dev; struct platform_device *pdev = sdev->pdev; - struct resource *mem; + struct resource *res, *mem; void __iomem *screen_base; int ret; - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) return -EINVAL;- ret = devm_aperture_acquire_from_firmware(dev, mem->start, resource_size(mem)); + ret = devm_aperture_acquire_from_firmware(dev, res->start, resource_size(res));if (ret) { drm_err(dev, "could not acquire memory range %pr: error %d\n", - mem, ret); + res, ret); return ret; }+ mem = devm_request_mem_region(&pdev->dev, res->start, resource_size(res),+ sdev->dev.driver->name); + if (!mem) { + /* + * We cannot make this fatal. Sometimes this comes from magic + * spaces our resource handlers simply don't know about + */ + drm_warn(dev, "could not acquire memory region %pr\n", res); + } + screen_base = devm_ioremap_wc(&pdev->dev, mem->start, resource_size(mem));if mem is NULL, accessing mem->start will segfault after the warning.I think you renamed "mem" to "res" so probably it should be renamed here too ?
Thanks for reviewing. Will be fixed in the next version. That code used to fail and i changed it to a warning after sync'ing with the simplefb driver. :/
Best regards Thomas
if (!screen_base)
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature