search for: vbe_dispi_index_virt_width

Displaying 9 results from an estimated 9 matches for "vbe_dispi_index_virt_width".

2019 Jun 27
0
[PATCH v3 4/5] drm/bochs: drop stride and bpp from struct bochs_device
No need to store that, struct drm_framebuffer has all we need. Also update VBE_DISPI_INDEX_VIRT_WIDTH register, otherwise we'll have a fixes broken display in case pitch != width * cpp. Signed-off-by: Gerd Hoffmann <kraxel at redhat.com> --- drivers/gpu/drm/bochs/bochs.h | 2 -- drivers/gpu/drm/bochs/bochs_hw.c | 18 +++++++++--------- drivers/gpu/drm/bochs/bochs_kms.c | 2 +- 3...
2019 Jun 27
2
[PATCH v2] drm/bochs: fix framebuffer setup.
...* 8 / bochs->bpp; + vy = offset / bochs->stride; + vx = (offset % bochs->stride) * 8 / bochs->bpp; + vwidth = stride * 8 / bochs->bpp; DRM_DEBUG_DRIVER("x %d, y %d, addr %llx -> offset %lx, vx %d, vy %d\n", x, y, addr, offset, vx, vy); + bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, vwidth); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); } diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c index 5904eddc83a5..bc19dbd531ef 100644 --- a/drivers/gpu/drm/bochs/bochs_kms.c +++ b/d...
2019 Jun 26
1
[PATCH 2/2] drm/bochs: fix framebuffer setup.
...- int vx = (offset % bochs->stride) * 8 / bochs->bpp; + vy = offset / bochs->stride; + vx = (offset % bochs->stride) * 8 / bochs->bpp; DRM_DEBUG_DRIVER("x %d, y %d, addr %llx -> offset %lx, vx %d, vy %d\n", x, y, addr, offset, vx, vy); + bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, fbwidth); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); } diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c index 5904eddc83a5..1f6aa11a1dc9 100644 --- a/drivers/gpu/drm/bochs/bochs_kms.c +++ b/...
2020 Feb 11
1
[PATCH v3] drm/bochs: add drm_driver.release callback.
...ong offset; - unsigned int vx, vy, vwidth; + unsigned int vx, vy, vwidth, idx; + + if (!drm_dev_enter(bochs->dev, &idx)) + return; bochs->stride = stride; offset = (unsigned long)addr + @@ -277,4 +297,6 @@ void bochs_hw_setbase(struct bochs_device *bochs, bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, vwidth); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); + + drm_dev_exit(idx); } -- 2.18.2
2020 Feb 11
2
[PATCH v4] drm/bochs: add drm_driver.release callback.
...ong offset; - unsigned int vx, vy, vwidth; + unsigned int vx, vy, vwidth, idx; + + if (!drm_dev_enter(bochs->dev, &idx)) + return; bochs->stride = stride; offset = (unsigned long)addr + @@ -277,4 +297,6 @@ void bochs_hw_setbase(struct bochs_device *bochs, bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, vwidth); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); + + drm_dev_exit(idx); } -- 2.18.2
2020 Feb 11
2
[PATCH v4] drm/bochs: add drm_driver.release callback.
...ong offset; - unsigned int vx, vy, vwidth; + unsigned int vx, vy, vwidth, idx; + + if (!drm_dev_enter(bochs->dev, &idx)) + return; bochs->stride = stride; offset = (unsigned long)addr + @@ -277,4 +297,6 @@ void bochs_hw_setbase(struct bochs_device *bochs, bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, vwidth); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); + + drm_dev_exit(idx); } -- 2.18.2
2019 Jun 27
0
[PATCH v3 3/5] drm/bochs: drop yres_virtual from struct bochs_device
...s->bpp); bochs_vga_writeb(bochs, 0x3c0, 0x20); /* unblank */ @@ -221,8 +219,6 @@ void bochs_hw_setmode(struct bochs_device *bochs, bochs_dispi_write(bochs, VBE_DISPI_INDEX_YRES, bochs->yres); bochs_dispi_write(bochs, VBE_DISPI_INDEX_BANK, 0); bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, bochs->xres); - bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_HEIGHT, - bochs->yres_virtual); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, 0); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, 0); -- 2.18.1
2019 Jun 27
0
[PATCH v3 5/5] drm/bochs: move bochs_hw_setformat() call
...c void bochs_hw_setformat(struct bochs_device *bochs, + const struct drm_format_info *format) { DRM_DEBUG_DRIVER("format %c%c%c%c\n", (format->format >> 0) & 0xff, @@ -263,4 +263,5 @@ void bochs_hw_setfb(struct bochs_device *bochs, bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, vw); bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); + bochs_hw_setformat(bochs, fb->format); } diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c index 28edfb2772ff..368803bd12e5 100644 --- a/d...
2020 Feb 11
0
[PATCH v4] drm/bochs: add drm_driver.release callback.
...t; + unsigned int vx, vy, vwidth, idx; > + > + if (!drm_dev_enter(bochs->dev, &idx)) > + return; > > bochs->stride = stride; > offset = (unsigned long)addr + > @@ -277,4 +297,6 @@ void bochs_hw_setbase(struct bochs_device *bochs, > bochs_dispi_write(bochs, VBE_DISPI_INDEX_VIRT_WIDTH, vwidth); > bochs_dispi_write(bochs, VBE_DISPI_INDEX_X_OFFSET, vx); > bochs_dispi_write(bochs, VBE_DISPI_INDEX_Y_OFFSET, vy); > + > + drm_dev_exit(idx); > } > -- > 2.18.2 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch