[Openchrome-devel] drm-openchrome: Branch 'drm-next-4.13' - 5 commits - drivers/gpu/drm
Kevin Brace
kevinbrace at kemper.freedesktop.org
Sat Aug 5 21:10:43 UTC 2017
drivers/gpu/drm/openchrome/via_crtc.c | 82 +++++++++++++++++-----------------
drivers/gpu/drm/openchrome/via_drv.c | 2
2 files changed, 42 insertions(+), 42 deletions(-)
New commits:
commit f09a57691ad92060d4f6d44019eac232101ed72c
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sat Aug 5 08:03:03 2017 -0700
Removed drm_vblank_pre/post_modeset
Got the implementation idea from commit
8ff64c17f3bec8cdafc68461532e273babe2a605.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index a1c2ed969015..1d3608a84b03 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -1059,9 +1059,6 @@ via_iga1_crtc_dpms(struct drm_crtc *crtc, int mode)
case DRM_MODE_DPMS_SUSPEND:
case DRM_MODE_DPMS_STANDBY:
case DRM_MODE_DPMS_OFF:
- if (crtc->dev->num_crtcs)
- drm_vblank_pre_modeset(crtc->dev, iga->index);
-
/* turn off CRT screen (IGA1) */
svga_wseq_mask(VGABASE, 0x01, BIT(5), BIT(5));
@@ -1070,9 +1067,6 @@ via_iga1_crtc_dpms(struct drm_crtc *crtc, int mode)
break;
case DRM_MODE_DPMS_ON:
- if (crtc->dev->num_crtcs)
- drm_vblank_post_modeset(crtc->dev, iga->index);
-
/* turn on CRT screen (IGA1) */
svga_wseq_mask(VGABASE, 0x01, 0x00, BIT(5));
@@ -1110,6 +1104,8 @@ via_iga1_crtc_prepare(struct drm_crtc *crtc)
/* Turn off the cursor */
via_hide_cursor(crtc);
+ drm_crtc_vblank_off(crtc);
+
/* Blank the screen */
if (crtc->enabled)
via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
@@ -1125,6 +1121,8 @@ via_iga1_crtc_commit(struct drm_crtc *crtc)
/* Turn on the cursor */
via_show_cursor(crtc);
+ drm_crtc_vblank_on(crtc);
+
/* Turn on the monitor */
if (crtc->enabled)
via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
@@ -1343,9 +1341,6 @@ via_iga2_crtc_dpms(struct drm_crtc *crtc, int mode)
case DRM_MODE_DPMS_SUSPEND:
case DRM_MODE_DPMS_STANDBY:
case DRM_MODE_DPMS_OFF:
- if (crtc->dev->num_crtcs)
- drm_vblank_pre_modeset(crtc->dev, iga->index);
-
/* turn off CRT screen (IGA2) */
svga_wcrt_mask(VGABASE, 0x6B, BIT(2), BIT(2));
@@ -1354,9 +1349,6 @@ via_iga2_crtc_dpms(struct drm_crtc *crtc, int mode)
break;
case DRM_MODE_DPMS_ON:
- if (crtc->dev->num_crtcs)
- drm_vblank_post_modeset(crtc->dev, iga->index);
-
/* turn on CRT screen (IGA2) */
svga_wcrt_mask(VGABASE, 0x6B, 0x00, BIT(2));
@@ -1394,6 +1386,8 @@ via_iga2_crtc_prepare(struct drm_crtc *crtc)
/* Turn off the cursor */
via_hide_cursor(crtc);
+ drm_crtc_vblank_off(crtc);
+
/* Blank the screen */
if (crtc->enabled)
via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
@@ -1409,6 +1403,8 @@ via_iga2_crtc_commit(struct drm_crtc *crtc)
/* Turn on the cursor */
via_show_cursor(crtc);
+ drm_crtc_vblank_on(crtc);
+
/* Turn on the monitor */
if (crtc->enabled)
via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
commit 9e40a3adb35258b481bcf646e2f1984d37397ae0
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sat Aug 5 07:36:55 2017 -0700
Changes to the input parameters when directly calling gamma_set member
Commit 7ea7728387820a21a89a7c3845dbe60926f82dc4 made this change,
so our side needs to change as well.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 8bd22bc90842..a1c2ed969015 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -1042,8 +1042,8 @@ drm_mode_crtc_load_lut(struct drm_crtc *crtc)
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, 0,
- crtc->gamma_size);
+ crtc->funcs->gamma_set(crtc, r_base, g_base, b_base,
+ crtc->gamma_size, NULL);
}
}
commit 1dfc3b7499019c0966aae23e022a0f1051dfb7f6
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sat Aug 5 07:25:47 2017 -0700
Made updates to via_iga2_gamma_set
Commit 7ea7728387820a21a89a7c3845dbe60926f82dc4 made this change,
so our side needs to change as well.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index f0f1f3c12ebf..8bd22bc90842 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -362,16 +362,17 @@ via_iga1_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
return 0;
}
-static void
-via_iga2_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- u16 *blue, uint32_t start, uint32_t size)
+static int
+via_iga2_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
+ uint32_t size,
+ struct drm_modeset_acquire_ctx *ctx)
{
struct via_device *dev_priv = crtc->dev->dev_private;
- int end = (start + size > 256) ? 256 : start + size, i;
+ int end = (size > 256) ? 256 : size, i;
u8 sr1a = vga_rseq(VGABASE, 0x1A);
if (!crtc->enabled || !crtc->primary->fb)
- return;
+ return -EINVAL;
if (crtc->primary->fb->format->cpp[0] * 8 == 8) {
/* Change Shadow to Secondary Display's LUT */
@@ -386,13 +387,13 @@ via_iga2_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
enable_second_display_channel(VGABASE);
/* Fill in IGA2's LUT */
- for (i = start; i < end; i++) {
+ for (i = 0; i < end; i++) {
/* Bit mask of palette */
vga_w(VGABASE, VGA_PEL_MSK, 0xFF);
vga_w(VGABASE, VGA_PEL_IW, i);
- vga_w(VGABASE, VGA_PEL_D, red[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, green[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, blue[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, r[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, g[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, b[i] >> 8);
}
/* Disable gamma in case it was enabled previously */
svga_wcrt_mask(VGABASE, 0x6A, 0x00, BIT(1));
@@ -431,17 +432,19 @@ via_iga2_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
enable_second_display_channel(VGABASE);
/* Fill in IGA2's gamma */
- for (i = start; i < end; i++) {
+ for (i = 0; i < end; i++) {
/* bit mask of palette */
vga_w(VGABASE, VGA_PEL_MSK, 0xFF);
vga_w(VGABASE, VGA_PEL_IW, i);
- vga_w(VGABASE, VGA_PEL_D, red[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, green[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, blue[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, r[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, g[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, b[i] >> 8);
}
/* access Primary Display's LUT */
vga_wseq(VGABASE, 0x1A, sr1a);
}
+
+ return 0;
}
static void
commit ceecb03e687a2589b26a2ffa4b5857569f0347c8
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sat Aug 5 07:16:30 2017 -0700
Made updates to via_iga1_gamma_set
Commit 7ea7728387820a21a89a7c3845dbe60926f82dc4 made this change,
so our side needs to change as well.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 0dec4bb564f5..f0f1f3c12ebf 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -306,16 +306,17 @@ via_crtc_cursor_move(struct drm_crtc *crtc, int x, int y)
return 0;
}
-static void
-via_iga1_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- u16 *blue, uint32_t start, uint32_t size)
+static int
+via_iga1_gamma_set(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
+ uint32_t size,
+ struct drm_modeset_acquire_ctx *ctx)
{
struct via_device *dev_priv = crtc->dev->dev_private;
- int end = (start + size > 256) ? 256 : start + size, i;
+ int end = (size > 256) ? 256 : size, i;
u8 val, sr1a = vga_rseq(VGABASE, 0x1A);
if (!crtc->enabled || !crtc->primary->fb)
- return;
+ return -EINVAL;
if (crtc->primary->fb->format->cpp[0] * 8 == 8) {
/* Prepare for initialize IGA1's LUT: */
@@ -327,13 +328,13 @@ via_iga1_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
vga_wcrt(VGABASE, 0x67, val);
/* Fill in IGA1's LUT */
- for (i = start; i < end; i++) {
+ for (i = 0; i < end; i++) {
/* Bit mask of palette */
vga_w(VGABASE, VGA_PEL_MSK, 0xFF);
vga_w(VGABASE, VGA_PEL_IW, i);
- vga_w(VGABASE, VGA_PEL_D, red[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, green[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, blue[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, r[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, g[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, b[i] >> 8);
}
/* enable LUT */
svga_wseq_mask(VGABASE, 0x1B, 0x00, BIT(0));
@@ -347,16 +348,18 @@ via_iga1_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
svga_wseq_mask(VGABASE, 0x1A, 0x00, BIT(0));
/* Fill in IGA1's gamma */
- for (i = start; i < end; i++) {
+ for (i = 0; i < end; i++) {
/* bit mask of palette */
vga_w(VGABASE, VGA_PEL_MSK, 0xFF);
vga_w(VGABASE, VGA_PEL_IW, i);
- vga_w(VGABASE, VGA_PEL_D, red[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, green[i] >> 8);
- vga_w(VGABASE, VGA_PEL_D, blue[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, r[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, g[i] >> 8);
+ vga_w(VGABASE, VGA_PEL_D, b[i] >> 8);
}
vga_wseq(VGABASE, 0x1A, sr1a);
}
+
+ return 0;
}
static void
commit fe3fac1174c06b8cea4417e8ef362b68968d5af2
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Sat Aug 5 06:04:08 2017 -0700
Drop drm_vblank_cleanup
Commit b4164d66c4a2adf7beac7cd5e3f8cc5d06723d57 made this change,
so our side needs to change as well.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/via_drv.c b/drivers/gpu/drm/openchrome/via_drv.c
index 3fd2bbf28892..2751aa8570f4 100644
--- a/drivers/gpu/drm/openchrome/via_drv.c
+++ b/drivers/gpu/drm/openchrome/via_drv.c
@@ -274,8 +274,6 @@ static void via_driver_unload(struct drm_device *dev)
via_fence_pool_fini(dev_priv->dma_fences);
- drm_vblank_cleanup(dev);
-
/* destroy work queue. */
if (dev_priv->wq)
destroy_workqueue(dev_priv->wq);
More information about the Openchrome-devel
mailing list