drivers/gpu/drm/openchrome/openchrome_crtc.c | 17 ------------- drivers/gpu/drm/openchrome/openchrome_cursor.c | 31 +++++++------------------ drivers/gpu/drm/openchrome/openchrome_drv.h | 12 ++++----- drivers/gpu/drm/openchrome/openchrome_fb.c | 12 +-------- drivers/gpu/drm/openchrome/openchrome_init.c | 10 -------- drivers/gpu/drm/openchrome/openchrome_object.c | 27 +++++++++++++++++++-- 6 files changed, 41 insertions(+), 68 deletions(-)
New commits: commit 5879edf3c48664ae4e1efc14d6d84b9fcabe56c9 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:07:10 2020 -0800 drm/openchrome: Version bumped to 3.4.3 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 b0744828cee3..4216d51bfeed 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 4 -#define DRIVER_PATCHLEVEL 2 +#define DRIVER_PATCHLEVEL 3 #define DRIVER_NAME "openchrome" #define DRIVER_DESC "OpenChrome DRM for VIA Technologies Chrome IGP" -#define DRIVER_DATE "20201109" +#define DRIVER_DATE "20201123" #define DRIVER_AUTHOR "OpenChrome Project" commit 7c8c4424757712fe799c3394397cd5613becf963 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:06:42 2020 -0800 drm/openchrome: Discontinue drm_mode_crtc_load_lut() Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c b/drivers/gpu/drm/openchrome/openchrome_crtc.c index fcce3fbbe33a..dfdecc7af125 100644 --- a/drivers/gpu/drm/openchrome/openchrome_crtc.c +++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c @@ -1563,21 +1563,6 @@ via_set_iga2_downscale_source_timing(struct drm_crtc *crtc, drm_mode_destroy(crtc->dev, src_timing); } -static void -drm_mode_crtc_load_lut(struct drm_crtc *crtc) -{ - int size = crtc->gamma_size * sizeof(uint16_t); - void *r_base, *g_base, *b_base; - - if (size) { - r_base = crtc->gamma_store; - g_base = r_base + size; - b_base = g_base + size; - crtc->funcs->gamma_set(crtc, r_base, g_base, b_base, - crtc->gamma_size, NULL); - } -} - static void openchrome_crtc_dpms(struct drm_crtc *crtc, int mode) { struct openchrome_drm_private *dev_private = @@ -1605,7 +1590,6 @@ static void openchrome_crtc_dpms(struct drm_crtc *crtc, int mode) /* disable simultaneous */ svga_wcrt_mask(VGABASE, 0x6B, 0x00, BIT(3)); - drm_mode_crtc_load_lut(crtc); break; } @@ -1627,7 +1611,6 @@ static void openchrome_crtc_dpms(struct drm_crtc *crtc, int mode) /* disable simultaneous */ svga_wcrt_mask(VGABASE, 0x6B, 0x00, BIT(3)); - drm_mode_crtc_load_lut(crtc); break; } } commit d31ebfb1ba9b1cd901d067cda0492f0cb266b76f Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:06:16 2020 -0800 drm/openchrome: Pass drm_device type pointer to openchrome_hide_cursor() Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_cursor.c b/drivers/gpu/drm/openchrome/openchrome_cursor.c index c6a4d31863a9..8bef134ad236 100644 --- a/drivers/gpu/drm/openchrome/openchrome_cursor.c +++ b/drivers/gpu/drm/openchrome/openchrome_cursor.c @@ -46,13 +46,12 @@ #include "openchrome_drv.h" -static void openchrome_hide_cursor(struct drm_crtc *crtc) +static void openchrome_hide_cursor(struct drm_device *dev, + struct drm_crtc *crtc) { - struct drm_device *dev = crtc->dev; struct via_crtc *iga = container_of(crtc, struct via_crtc, base); - struct openchrome_drm_private *dev_private = - crtc->dev->dev_private; + struct openchrome_drm_private *dev_private = dev->dev_private; uint32_t temp; switch (dev->pdev->device) { @@ -311,7 +310,7 @@ static int openchrome_cursor_disable_plane(struct drm_plane *plane, struct drm_modeset_acquire_ctx *ctx) { if (plane->crtc) { - openchrome_hide_cursor(plane->crtc); + openchrome_hide_cursor(plane->dev, plane->crtc); } if (plane->fb) { commit 3c82346f477d481e29f0b05d54fa0027de6d50a8 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:05:54 2020 -0800 drm/openchrome: Use resource_size_t for MMIO base address and size 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 d8fa91e5dcfa..b0744828cee3 100644 --- a/drivers/gpu/drm/openchrome/openchrome_drv.h +++ b/drivers/gpu/drm/openchrome/openchrome_drv.h @@ -229,8 +229,8 @@ struct openchrome_drm_private { resource_size_t vram_size; int vram_mtrr; - unsigned long long mmio_base; - unsigned int mmio_size; + resource_size_t mmio_base; + resource_size_t mmio_size; void __iomem *mmio; struct via_state pm_cache; diff --git a/drivers/gpu/drm/openchrome/openchrome_init.c b/drivers/gpu/drm/openchrome/openchrome_init.c index 0e6d9dfe7542..2822e06bcd69 100644 --- a/drivers/gpu/drm/openchrome/openchrome_init.c +++ b/drivers/gpu/drm/openchrome/openchrome_init.c @@ -1090,9 +1090,6 @@ int openchrome_mmio_init( goto exit; } - DRM_INFO("VIA Technologies Chrome IGP MMIO Physical Address: " - "0x%08llx\n", - dev_private->mmio_base); exit: DRM_DEBUG_KMS("Exiting %s.\n", __func__); return ret; commit 718c23c41dec3ccd69450ef2287c9052a256c5e6 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:05:30 2020 -0800 drm/openchrome: Stop displaying VRAM physical address and size 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 9ac56e094150..0e6d9dfe7542 100644 --- a/drivers/gpu/drm/openchrome/openchrome_init.c +++ b/drivers/gpu/drm/openchrome/openchrome_init.c @@ -1049,13 +1049,6 @@ int openchrome_vram_init(struct openchrome_drm_private *dev_private) dev_private->vram_start, dev_private->vram_size); - DRM_INFO("VIA Technologies Chrome IGP VRAM " - "Physical Address: 0x%08llx\n", - dev_private->vram_start); - DRM_INFO("VIA Technologies Chrome IGP VRAM " - "Size: %llu MB\n", - (unsigned long long) dev_private->vram_size >> 20); - DRM_DEBUG_KMS("Exiting %s.\n", __func__); return ret; } commit 472a3583fbb15b3261cfbea7b4419041aa1b0c61 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:05:00 2020 -0800 drm/openchrome: Keep count of BO pin count 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 54740077f04a..d8fa91e5dcfa 100644 --- a/drivers/gpu/drm/openchrome/openchrome_drv.h +++ b/drivers/gpu/drm/openchrome/openchrome_drv.h @@ -196,6 +196,7 @@ struct openchrome_bo { struct ttm_placement placement; struct ttm_place placements[OPENCHROME_TTM_PL_NUM]; struct drm_gem_object gem; + int pin_count; }; struct openchrome_framebuffer { diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c index 24b421672a58..ec78df8a3c44 100644 --- a/drivers/gpu/drm/openchrome/openchrome_object.c +++ b/drivers/gpu/drm/openchrome/openchrome_object.c @@ -101,16 +101,27 @@ int openchrome_bo_pin(struct openchrome_bo *bo, { struct ttm_operation_ctx ctx = {false, false}; uint32_t i; - int ret; + int ret = 0; DRM_DEBUG_KMS("Entered %s.\n", __func__); + if (bo->pin_count) { + bo->pin_count++; + goto exit; + } + openchrome_ttm_domain_to_placement(bo, ttm_domain); for (i = 0; i < bo->placement.num_placement; i++) { bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT; } ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx); + if (ret) { + goto exit; + } + + bo->pin_count++; +exit: DRM_DEBUG_KMS("Exiting %s.\n", __func__); return ret; @@ -120,16 +131,26 @@ int openchrome_bo_unpin(struct openchrome_bo *bo) { struct ttm_operation_ctx ctx = {false, false}; uint32_t i; - int ret; + int ret = 0; DRM_DEBUG_KMS("Entered %s.\n", __func__); + if (!bo->pin_count) { + DRM_ERROR("Bad unpin.\n"); + goto exit; + } + + bo->pin_count--; + if (bo->pin_count) { + goto exit; + } + for (i = 0; i < bo->placement.num_placement; i++) { bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT; } ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx); - +exit: DRM_DEBUG_KMS("Exiting %s.\n", __func__); return ret; } commit ceaa5b2f9c9e75007ae9e32ecd69f48fee239b8f Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Nov 23 14:04:34 2020 -0800 drm/openchrome: Use only 64 x 64 cursor dimensions Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/openchrome_cursor.c b/drivers/gpu/drm/openchrome/openchrome_cursor.c index 612ff28fa69c..c6a4d31863a9 100644 --- a/drivers/gpu/drm/openchrome/openchrome_cursor.c +++ b/drivers/gpu/drm/openchrome/openchrome_cursor.c @@ -256,7 +256,6 @@ static int openchrome_cursor_update_plane(struct drm_plane *plane, uint32_t src_w, uint32_t src_h, struct drm_modeset_acquire_ctx *ctx) { - struct drm_device *dev = plane->dev; struct openchrome_bo *ttm_bo; struct drm_gem_object *gem; int ret = 0; @@ -279,22 +278,11 @@ static int openchrome_cursor_update_plane(struct drm_plane *plane, goto exit; } - if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) || - (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) { - if ((fb->width != OPENCHROME_UNICHROME_CURSOR_SIZE) || - (fb->height != OPENCHROME_UNICHROME_CURSOR_SIZE)) { - DRM_ERROR("Invalid cursor dimensions.\n"); - ret = -EINVAL; - goto exit; - } - - } else { - if ((fb->width != OPENCHROME_UNICHROME_PRO_CURSOR_SIZE) || - (fb->height != OPENCHROME_UNICHROME_PRO_CURSOR_SIZE)) { - DRM_ERROR("Invalid cursor dimensions.\n"); - ret = -EINVAL; - goto exit; - } + if ((fb->width != OPENCHROME_CURSOR_SIZE) || + (fb->height != OPENCHROME_CURSOR_SIZE)) { + DRM_ERROR("Invalid cursor dimensions.\n"); + ret = -EINVAL; + goto exit; } if (fb->width != fb->height) { diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h index 812da9f64c3a..54740077f04a 100644 --- a/drivers/gpu/drm/openchrome/openchrome_drv.h +++ b/drivers/gpu/drm/openchrome/openchrome_drv.h @@ -72,8 +72,7 @@ #define OPENCHROME_MAX_CRTC 2 -#define OPENCHROME_UNICHROME_CURSOR_SIZE 32 -#define OPENCHROME_UNICHROME_PRO_CURSOR_SIZE 64 +#define OPENCHROME_CURSOR_SIZE 64 #define VIA_MM_ALIGN_SIZE 16 diff --git a/drivers/gpu/drm/openchrome/openchrome_fb.c b/drivers/gpu/drm/openchrome/openchrome_fb.c index d0f6ffc2f409..17f2ed04a249 100644 --- a/drivers/gpu/drm/openchrome/openchrome_fb.c +++ b/drivers/gpu/drm/openchrome/openchrome_fb.c @@ -124,16 +124,8 @@ void openchrome_mode_config_init( dev->mode_config.preferred_depth = 24; - if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) || - (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) { - dev->mode_config.cursor_width = - dev->mode_config.cursor_height = - OPENCHROME_UNICHROME_CURSOR_SIZE; - } else { - dev->mode_config.cursor_width = - dev->mode_config.cursor_height = - OPENCHROME_UNICHROME_PRO_CURSOR_SIZE; - } + dev->mode_config.cursor_width = + dev->mode_config.cursor_height = OPENCHROME_CURSOR_SIZE; DRM_DEBUG_KMS("Exiting %s.\n", __func__); } _______________________________________________ openchrome-devel mailing list openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel