drivers/gpu/drm/openchrome/openchrome_display.c | 12 +++- drivers/gpu/drm/openchrome/openchrome_drv.h | 12 ++-- drivers/gpu/drm/openchrome/openchrome_fb.c | 60 ++++++++++++------------ drivers/gpu/drm/openchrome/openchrome_init.c | 2 drivers/gpu/drm/openchrome/openchrome_pm.c | 4 - 5 files changed, 48 insertions(+), 42 deletions(-)
New commits: commit d98037e22e7f38abcc84a5edc43af779d636134e Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Sep 16 19:13:14 2020 -0700 drm/openchrome: Version bumped to 3.3.8 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h index 65b2a7cfd0fc..34302cd52082 100644 --- a/drivers/gpu/drm/openchrome/openchrome_drv.h +++ b/drivers/gpu/drm/openchrome/openchrome_drv.h @@ -61,10 +61,10 @@ #define DRIVER_MAJOR 3 #define DRIVER_MINOR 3 -#define DRIVER_PATCHLEVEL 7 +#define DRIVER_PATCHLEVEL 8 #define DRIVER_NAME "openchrome" #define DRIVER_DESC "OpenChrome DRM for VIA Technologies Chrome IGP" -#define DRIVER_DATE "20200914" +#define DRIVER_DATE "20200916" #define DRIVER_AUTHOR "OpenChrome Project" commit 124db0c01cc301709d762771c012d72f6bd08053 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Sep 16 18:49:56 2020 -0700 drm/openchrome: Rename via_fbdev* to openchrome_fb* Also, Rename via_framebuffer_device struct to openchrome_framebuffer. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_display.c b/drivers/gpu/drm/openchrome/openchrome_display.c index 170aa22279c1..36c65df1c7d4 100644 --- a/drivers/gpu/drm/openchrome/openchrome_display.c +++ b/drivers/gpu/drm/openchrome/openchrome_display.c @@ -525,7 +525,7 @@ via_modeset_init(struct drm_device *dev) } /* Initialize the frame buffer device. */ - ret = via_fbdev_init(dev); + ret = openchrome_fb_init(dev); if (ret) { goto free_crtc; } @@ -544,7 +544,7 @@ exit: void via_modeset_fini(struct drm_device *dev) { drm_kms_helper_poll_fini(dev); - via_fbdev_fini(dev); + openchrome_fb_fini(dev); drm_helper_force_disable_all(dev); diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h index 1969f541d860..65b2a7cfd0fc 100644 --- a/drivers/gpu/drm/openchrome/openchrome_drv.h +++ b/drivers/gpu/drm/openchrome/openchrome_drv.h @@ -199,7 +199,7 @@ struct openchrome_bo { struct drm_gem_object gem; }; -struct via_framebuffer_device { +struct openchrome_framebuffer { struct drm_fb_helper helper; struct openchrome_bo *bo; }; @@ -223,7 +223,7 @@ struct openchrome_drm_private { int revision; - struct via_framebuffer_device *via_fbdev; + struct openchrome_framebuffer *openchrome_fb; u8 vram_type; unsigned long long vram_start; unsigned int vram_size; @@ -447,8 +447,8 @@ extern void via_set_vclock(struct drm_crtc *crtc, u32 clk); /* framebuffers */ void openchrome_mode_config_init( struct openchrome_drm_private *dev_private); -extern int via_fbdev_init(struct drm_device *dev); -extern void via_fbdev_fini(struct drm_device *dev); +extern int openchrome_fb_init(struct drm_device *dev); +extern void openchrome_fb_fini(struct drm_device *dev); /* crtc */ extern void via_load_crtc_pixel_timing(struct drm_crtc *crtc, diff --git a/drivers/gpu/drm/openchrome/openchrome_fb.c b/drivers/gpu/drm/openchrome/openchrome_fb.c index cc6e3a918a32..d36a42d484db 100644 --- a/drivers/gpu/drm/openchrome/openchrome_fb.c +++ b/drivers/gpu/drm/openchrome/openchrome_fb.c @@ -156,8 +156,8 @@ openchrome_fb_probe(struct drm_fb_helper *helper, struct drm_device *dev = helper->dev; struct openchrome_drm_private *dev_private = helper->dev->dev_private; - struct via_framebuffer_device *via_fbdev = container_of(helper, - struct via_framebuffer_device, helper); + struct openchrome_framebuffer *openchrome_fb = container_of(helper, + struct openchrome_framebuffer, helper); struct drm_framebuffer *fb; struct drm_gem_object *gem; struct fb_info *info = helper->fbdev; @@ -186,12 +186,12 @@ openchrome_fb_probe(struct drm_fb_helper *helper, ttm_bo_type_kernel, TTM_PL_FLAG_VRAM, true, - &via_fbdev->bo); + &openchrome_fb->bo); if (ret) { goto exit; } - gem = &via_fbdev->bo->gem; + gem = &openchrome_fb->bo->gem; ret = openchrome_framebuffer_init(dev, gem, &mode_cmd, &fb); if (ret) { goto free_bo; @@ -203,20 +203,20 @@ openchrome_fb_probe(struct drm_fb_helper *helper, goto cleanup_fb; } - via_fbdev->helper.fb = fb; - via_fbdev->helper.fbdev = info; + openchrome_fb->helper.fb = fb; + openchrome_fb->helper.fbdev = info; info->fbops = &via_fb_ops; - info->fix.smem_start = via_fbdev->bo->kmap.bo->mem.bus.base + - via_fbdev->bo->kmap.bo->mem.bus.offset; + info->fix.smem_start = openchrome_fb->bo->kmap.bo->mem.bus.base + + openchrome_fb->bo->kmap.bo->mem.bus.offset; info->fix.smem_len = size; - info->screen_base = via_fbdev->bo->kmap.virtual; + info->screen_base = openchrome_fb->bo->kmap.virtual; info->screen_size = size; - info->apertures->ranges[0].size = via_fbdev->bo->kmap.bo->bdev-> - man[via_fbdev->bo->kmap.bo->mem.mem_type].size; - info->apertures->ranges[0].base = via_fbdev->bo->kmap.bo->mem.bus.base; + info->apertures->ranges[0].size = openchrome_fb->bo->kmap.bo->bdev-> + man[openchrome_fb->bo->kmap.bo->mem.mem_type].size; + info->apertures->ranges[0].base = openchrome_fb->bo->kmap.bo->mem.bus.base; drm_fb_helper_fill_info(info, helper, sizes); goto exit; @@ -230,8 +230,8 @@ cleanup_fb: */ kfree(fb); free_bo: - openchrome_bo_destroy(via_fbdev->bo, true); - via_fbdev->bo = NULL; + openchrome_bo_destroy(openchrome_fb->bo, true); + openchrome_fb->bo = NULL; exit: DRM_DEBUG_KMS("Exiting %s.\n", __func__); return ret; @@ -241,53 +241,53 @@ static struct drm_fb_helper_funcs openchrome_drm_fb_helper_funcs = { .fb_probe = openchrome_fb_probe, }; -int via_fbdev_init(struct drm_device *dev) +int openchrome_fb_init(struct drm_device *dev) { struct openchrome_drm_private *dev_private = dev->dev_private; - struct via_framebuffer_device *via_fbdev; + struct openchrome_framebuffer *openchrome_fb; int bpp_sel = 32; int ret = 0; DRM_DEBUG_KMS("Entered %s.\n", __func__); - via_fbdev = kzalloc(sizeof(struct via_framebuffer_device), + openchrome_fb = kzalloc(sizeof(struct openchrome_framebuffer), GFP_KERNEL); - if (!via_fbdev) { + if (!openchrome_fb) { ret = -ENOMEM; goto exit; } - dev_private->via_fbdev = via_fbdev; + dev_private->openchrome_fb = openchrome_fb; - drm_fb_helper_prepare(dev, &via_fbdev->helper, + drm_fb_helper_prepare(dev, &openchrome_fb->helper, &openchrome_drm_fb_helper_funcs); - ret = drm_fb_helper_init(dev, &via_fbdev->helper); + ret = drm_fb_helper_init(dev, &openchrome_fb->helper); if (ret) { goto free_fbdev; } drm_helper_disable_unused_functions(dev); - ret = drm_fb_helper_initial_config(&via_fbdev->helper, bpp_sel); + ret = drm_fb_helper_initial_config(&openchrome_fb->helper, bpp_sel); if (ret) { goto free_fb_helper; } goto exit; free_fb_helper: - drm_fb_helper_fini(&via_fbdev->helper); + drm_fb_helper_fini(&openchrome_fb->helper); free_fbdev: - kfree(via_fbdev); + kfree(openchrome_fb); exit: DRM_DEBUG_KMS("Exiting %s.\n", __func__); return ret; } -void via_fbdev_fini(struct drm_device *dev) +void openchrome_fb_fini(struct drm_device *dev) { struct openchrome_drm_private *dev_private = dev->dev_private; struct drm_fb_helper *fb_helper = &dev_private-> - via_fbdev->helper; + openchrome_fb->helper; struct fb_info *info; DRM_DEBUG_KMS("Entered %s.\n", __func__); @@ -304,10 +304,10 @@ void via_fbdev_fini(struct drm_device *dev) fb_helper->fbdev = NULL; } - drm_fb_helper_fini(&dev_private->via_fbdev->helper); - if (dev_private->via_fbdev) { - kfree(dev_private->via_fbdev); - dev_private->via_fbdev = NULL; + drm_fb_helper_fini(&dev_private->openchrome_fb->helper); + if (dev_private->openchrome_fb) { + kfree(dev_private->openchrome_fb); + dev_private->openchrome_fb = NULL; } exit: DRM_DEBUG_KMS("Exiting %s.\n", __func__); diff --git a/drivers/gpu/drm/openchrome/openchrome_pm.c b/drivers/gpu/drm/openchrome/openchrome_pm.c index d3b79d180ce3..335779e94bab 100644 --- a/drivers/gpu/drm/openchrome/openchrome_pm.c +++ b/drivers/gpu/drm/openchrome/openchrome_pm.c @@ -43,7 +43,7 @@ int openchrome_dev_pm_ops_suspend(struct device *dev) DRM_DEBUG_KMS("Entered %s.\n", __func__); console_lock(); - drm_fb_helper_set_suspend(&dev_private->via_fbdev->helper, + drm_fb_helper_set_suspend(&dev_private->openchrome_fb->helper, true); /* @@ -161,7 +161,7 @@ int openchrome_dev_pm_ops_resume(struct device *dev) vga_wcrt(VGABASE, 0x3f, dev_private->saved_cr3f); drm_helper_resume_force_mode(drm_dev); - drm_fb_helper_set_suspend(&dev_private->via_fbdev->helper, false); + drm_fb_helper_set_suspend(&dev_private->openchrome_fb->helper, false); console_unlock(); DRM_DEBUG_KMS("Exiting %s.\n", __func__); commit 536c2eed2f23f59323ab206de152b69630d85f28 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Sep 16 09:10:49 2020 -0700 drm/openchrome: Add 'MB' to the VRAM size being detected Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_init.c b/drivers/gpu/drm/openchrome/openchrome_init.c index 5b1a8ae23f80..9ac56e094150 100644 --- a/drivers/gpu/drm/openchrome/openchrome_init.c +++ b/drivers/gpu/drm/openchrome/openchrome_init.c @@ -1053,7 +1053,7 @@ int openchrome_vram_init(struct openchrome_drm_private *dev_private) "Physical Address: 0x%08llx\n", dev_private->vram_start); DRM_INFO("VIA Technologies Chrome IGP VRAM " - "Size: %llu\n", + "Size: %llu MB\n", (unsigned long long) dev_private->vram_size >> 20); DRM_DEBUG_KMS("Exiting %s.\n", __func__); commit d386c2b2e2853801f35af9745ccc26d4016d4690 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Sep 16 08:37:57 2020 -0700 drm/openchrome: Check for I2C bus initialization failure Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_display.c b/drivers/gpu/drm/openchrome/openchrome_display.c index 9b91fd091282..170aa22279c1 100644 --- a/drivers/gpu/drm/openchrome/openchrome_display.c +++ b/drivers/gpu/drm/openchrome/openchrome_display.c @@ -474,8 +474,14 @@ via_modeset_init(struct drm_device *dev) dev_private->number_dvi = 0; via_display_init(dev); + via_i2c_reg_init(dev_private); - via_i2c_init(dev); + ret = via_i2c_init(dev); + if (ret) { + DRM_ERROR("Failed to initialize I2C bus!\n"); + goto exit; + } + via_hwcursor_init(dev_private); ret = openchrome_plane_init(dev_private, &primary, &cursor); _______________________________________________ openchrome-devel mailing list openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel