drivers/gpu/drm/via/crtc_hw.h | 7 ++++ drivers/gpu/drm/via/via_analog.c | 10 +++--- drivers/gpu/drm/via/via_display.c | 60 ++++++++++++++------------------------ drivers/gpu/drm/via/via_display.h | 17 ++++++---- drivers/gpu/drm/via/via_drv.h | 2 - drivers/gpu/drm/via/via_fp.c | 28 ++++++++--------- drivers/gpu/drm/via/via_hdmi.c | 4 +- drivers/gpu/drm/via/via_tmds.c | 2 - 8 files changed, 63 insertions(+), 67 deletions(-)
New commits: commit b4969fc6131e432b7b67b6d808bb76ea407de7d4 Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jun 13 18:02:09 2017 -0500 Version bumped to 3.0.33 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h index 0ae718490a6..3f8ff78460d 100644 --- a/drivers/gpu/drm/via/via_drv.h +++ b/drivers/gpu/drm/via/via_drv.h @@ -34,7 +34,7 @@ #define DRIVER_MAJOR 3 #define DRIVER_MINOR 0 -#define DRIVER_PATCHLEVEL 32 +#define DRIVER_PATCHLEVEL 33 #include <linux/module.h> commit 37cb9068c1c229046819f1cf808345ac56b7348c Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jun 13 17:59:44 2017 -0500 Discontinued VIA_DI_PORT_DAC setting Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/via_analog.c b/drivers/gpu/drm/via/via_analog.c index 057c0f5329e..c1e6ff3fd76 100644 --- a/drivers/gpu/drm/via/via_analog.c +++ b/drivers/gpu/drm/via/via_analog.c @@ -227,7 +227,7 @@ via_analog_init(struct drm_device *dev) enc->base.possible_crtcs = BIT(0); enc->base.possible_clones = 0; - enc->diPort = VIA_DI_PORT_DAC; + enc->diPort = VIA_DI_PORT_NONE; drm_mode_connector_attach_encoder(&con->base, &enc->base); } diff --git a/drivers/gpu/drm/via/via_display.c b/drivers/gpu/drm/via/via_display.c index 4bed1524f75..898c1adc1e2 100644 --- a/drivers/gpu/drm/via/via_display.c +++ b/drivers/gpu/drm/via/via_display.c @@ -132,12 +132,6 @@ via_encoder_commit(struct drm_encoder *encoder) svga_wseq_mask(VGABASE, 0x1E, 0x30, BIT(5) | BIT(4)); break; - case VIA_DI_PORT_DAC: - if (iga->index) - value = BIT(6); - svga_wseq_mask(VGABASE, 0x16, value, BIT(6)); - break; - default: DRM_ERROR("Unsupported DIPort.\n"); case VIA_DI_PORT_NONE: @@ -198,10 +192,6 @@ via_encoder_disable(struct drm_encoder *encoder) BIT(3) | BIT(2) | BIT(1) | BIT(0)); break; - case VIA_DI_PORT_DAC: - svga_wseq_mask(VGABASE, 0x16, 0x00, BIT(6)); - break; - default: DRM_ERROR("Unsupported DIPort.\n"); case VIA_DI_PORT_NONE: @@ -223,10 +213,6 @@ via_set_sync_polarity(struct drm_encoder *encoder, struct drm_display_mode *mode syncreg |= BIT(5); switch (enc->diPort) { - case VIA_DI_PORT_DAC: - svga_wmisc_mask(VGABASE, (syncreg << 1), BIT(7) | BIT(6)); - break; - case VIA_DI_PORT_DVP0: svga_wcrt_mask(VGABASE, 0x96, syncreg, BIT(6) | BIT(5)); break; diff --git a/drivers/gpu/drm/via/via_display.h b/drivers/gpu/drm/via/via_display.h index 20e155e4ee1..12154bbbd18 100644 --- a/drivers/gpu/drm/via/via_display.h +++ b/drivers/gpu/drm/via/via_display.h @@ -89,7 +89,6 @@ struct via_connector { #define VIA_DI_PORT_DFP BIT(6) #define VIA_DI_PORT_LVDS1 BIT(7) #define VIA_DI_PORT_LVDS2 BIT(8) -#define VIA_DI_PORT_DAC BIT(9) struct via_encoder { struct drm_encoder base; commit 402055821fcb6b647759c10f40eba3cf57f80be1 Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jun 13 17:48:47 2017 -0500 Changed DISP_DI_* labels to VIA_DI_PORT_* Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/via_analog.c b/drivers/gpu/drm/via/via_analog.c index 5d324dcfebd..057c0f5329e 100644 --- a/drivers/gpu/drm/via/via_analog.c +++ b/drivers/gpu/drm/via/via_analog.c @@ -227,7 +227,7 @@ via_analog_init(struct drm_device *dev) enc->base.possible_crtcs = BIT(0); enc->base.possible_clones = 0; - enc->diPort = DISP_DI_DAC; + enc->diPort = VIA_DI_PORT_DAC; drm_mode_connector_attach_encoder(&con->base, &enc->base); } diff --git a/drivers/gpu/drm/via/via_display.c b/drivers/gpu/drm/via/via_display.c index b40109cb267..4bed1524f75 100644 --- a/drivers/gpu/drm/via/via_display.c +++ b/drivers/gpu/drm/via/via_display.c @@ -50,7 +50,7 @@ via_encoder_commit(struct drm_encoder *encoder) /* Set IGA source and turn on DI port clock */ switch (enc->diPort) { - case DISP_DI_DVP0: + case VIA_DI_PORT_DVP0: /* DVP0 Data Source Selection. */ svga_wcrt_mask(VGABASE, 0x96, value, BIT(4)); /* enable DVP0 under CX700 */ @@ -60,7 +60,7 @@ via_encoder_commit(struct drm_encoder *encoder) svga_wseq_mask(VGABASE, 0x1E, 0xC0, BIT(7) | BIT(6)); break; - case DISP_DI_DVP1: + case VIA_DI_PORT_DVP1: svga_wcrt_mask(VGABASE, 0x9B, value, BIT(4)); /* enable DVP1 under these chipset. Does DVI exist * for pre CX700 hardware */ @@ -73,7 +73,7 @@ via_encoder_commit(struct drm_encoder *encoder) svga_wseq_mask(VGABASE, 0x1E, 0x30, BIT(5) | BIT(4)); break; - case DISP_DI_DFPH: + case VIA_DI_PORT_DFPH: /* Port 96 is used on older hardware for the DVP0 */ if ((dev->pdev->device != PCI_DEVICE_ID_VIA_VT3157) && (dev->pdev->device != PCI_DEVICE_ID_VIA_VT1122) && @@ -86,7 +86,7 @@ via_encoder_commit(struct drm_encoder *encoder) svga_wseq_mask(VGABASE, 0x2A, 0x0C, BIT(3) | BIT(2)); break; - case DISP_DI_DFPL: + case VIA_DI_PORT_DFPL: /* Port 9B is used on older hardware for the DVP1 */ if ((dev->pdev->device != PCI_DEVICE_ID_VIA_VT3157) && (dev->pdev->device != PCI_DEVICE_ID_VIA_VT1122) && @@ -99,7 +99,7 @@ via_encoder_commit(struct drm_encoder *encoder) svga_wseq_mask(VGABASE, 0x2A, 0x03, BIT(1) | BIT(0)); break; - case DISP_DI_DFP: + case VIA_DI_PORT_DFP: if ((dev->pdev->device == PCI_DEVICE_ID_VIA_K8M890) || (dev->pdev->device == PCI_DEVICE_ID_VIA_VT3343)) svga_wcrt_mask(VGABASE, 0x97, 0x84, @@ -112,7 +112,7 @@ via_encoder_commit(struct drm_encoder *encoder) break; /* For TTL Type LCD */ - case (DISP_DI_DFPL + DISP_DI_DVP1): + case (VIA_DI_PORT_DFPL + VIA_DI_PORT_DVP1): svga_wcrt_mask(VGABASE, 0x99, value, BIT(4)); svga_wcrt_mask(VGABASE, 0x9B, value, BIT(4)); @@ -122,7 +122,7 @@ via_encoder_commit(struct drm_encoder *encoder) break; /* For 409 TTL Type LCD */ - case (DISP_DI_DFPH + DISP_DI_DFPL + DISP_DI_DVP1): + case (VIA_DI_PORT_DFPH + VIA_DI_PORT_DFPL + VIA_DI_PORT_DVP1): svga_wcrt_mask(VGABASE, 0x97, value, BIT(4)); svga_wcrt_mask(VGABASE, 0x99, value, BIT(4)); svga_wcrt_mask(VGABASE, 0x9B, value, BIT(4)); @@ -132,7 +132,7 @@ via_encoder_commit(struct drm_encoder *encoder) svga_wseq_mask(VGABASE, 0x1E, 0x30, BIT(5) | BIT(4)); break; - case DISP_DI_DAC: + case VIA_DI_PORT_DAC: if (iga->index) value = BIT(6); svga_wseq_mask(VGABASE, 0x16, value, BIT(6)); @@ -140,7 +140,7 @@ via_encoder_commit(struct drm_encoder *encoder) default: DRM_ERROR("Unsupported DIPort.\n"); - case DISP_DI_NONE: + case VIA_DI_PORT_NONE: break; } @@ -165,46 +165,46 @@ via_encoder_disable(struct drm_encoder *encoder) encoder_funcs->dpms(encoder, DRM_MODE_DPMS_OFF); switch (enc->diPort) { - case DISP_DI_DVP0: + case VIA_DI_PORT_DVP0: svga_wseq_mask(VGABASE, 0x1E, 0x00, BIT(7) | BIT(6)); break; - case DISP_DI_DVP1: + case VIA_DI_PORT_DVP1: svga_wseq_mask(VGABASE, 0x1E, 0x00, BIT(5) | BIT(4)); break; - case DISP_DI_DFPH: + case VIA_DI_PORT_DFPH: svga_wseq_mask(VGABASE, 0x2A, 0x00, BIT(3) | BIT(2)); break; - case DISP_DI_DFPL: + case VIA_DI_PORT_DFPL: svga_wseq_mask(VGABASE, 0x2A, 0x00, BIT(1) | BIT(0)); break; - case DISP_DI_DFP: + case VIA_DI_PORT_DFP: svga_wseq_mask(VGABASE, 0x2A, 0x00, BIT(3) | BIT(2) | BIT(1) | BIT(0)); break; /* TTL LCD, Quanta case */ - case DISP_DI_DFPL + DISP_DI_DVP1: + case VIA_DI_PORT_DFPL + VIA_DI_PORT_DVP1: svga_wseq_mask(VGABASE, 0x1E, 0x00, BIT(5) | BIT(4)); svga_wseq_mask(VGABASE, 0x2A, 0x00, BIT(1) | BIT(0)); break; - case DISP_DI_DFPH + DISP_DI_DFPL + DISP_DI_DVP1: + case VIA_DI_PORT_DFPH + VIA_DI_PORT_DFPL + VIA_DI_PORT_DVP1: svga_wseq_mask(VGABASE, 0x1E, 0x00, BIT(5) | BIT(4)); svga_wseq_mask(VGABASE, 0x2A, 0x00, BIT(3) | BIT(2) | BIT(1) | BIT(0)); break; - case DISP_DI_DAC: + case VIA_DI_PORT_DAC: svga_wseq_mask(VGABASE, 0x16, 0x00, BIT(6)); break; default: DRM_ERROR("Unsupported DIPort.\n"); - case DISP_DI_NONE: + case VIA_DI_PORT_NONE: break; } } @@ -223,35 +223,35 @@ via_set_sync_polarity(struct drm_encoder *encoder, struct drm_display_mode *mode syncreg |= BIT(5); switch (enc->diPort) { - case DISP_DI_DAC: + case VIA_DI_PORT_DAC: svga_wmisc_mask(VGABASE, (syncreg << 1), BIT(7) | BIT(6)); break; - case DISP_DI_DVP0: + case VIA_DI_PORT_DVP0: svga_wcrt_mask(VGABASE, 0x96, syncreg, BIT(6) | BIT(5)); break; - case DISP_DI_DVP1: + case VIA_DI_PORT_DVP1: svga_wcrt_mask(VGABASE, 0x9B, syncreg, BIT(6) | BIT(5)); break; - case DISP_DI_DFPH: + case VIA_DI_PORT_DFPH: svga_wcrt_mask(VGABASE, 0x97, syncreg, BIT(6) | BIT(5)); break; - case DISP_DI_DFPL: + case VIA_DI_PORT_DFPL: svga_wcrt_mask(VGABASE, 0x99, syncreg, BIT(6) | BIT(5)); break; /* For TTL Type LCD */ - case (DISP_DI_DFPL + DISP_DI_DVP1): + case (VIA_DI_PORT_DFPL + VIA_DI_PORT_DVP1): svga_wcrt_mask(VGABASE, 0x99, syncreg, BIT(6) | BIT(5)); svga_wcrt_mask(VGABASE, 0x9B, syncreg, BIT(6) | BIT(5)); break; default: DRM_ERROR("No DIPort.\n"); - case DISP_DI_NONE: + case VIA_DI_PORT_NONE: break; } } @@ -544,7 +544,7 @@ via_modeset_init(struct drm_device *dev) switch (dev->pdev->device) { case PCI_DEVICE_ID_VIA_VX900_VGA: - via_hdmi_init(dev, DISP_DI_NONE); + via_hdmi_init(dev, VIA_DI_PORT_NONE); break; default: break; diff --git a/drivers/gpu/drm/via/via_display.h b/drivers/gpu/drm/via/via_display.h index 57deab263b0..20e155e4ee1 100644 --- a/drivers/gpu/drm/via/via_display.h +++ b/drivers/gpu/drm/via/via_display.h @@ -79,13 +79,17 @@ struct via_connector { uint32_t flags; }; -#define DISP_DI_NONE 0x00 -#define DISP_DI_DVP0 BIT(0) -#define DISP_DI_DVP1 BIT(1) -#define DISP_DI_DFPL BIT(2) -#define DISP_DI_DFPH BIT(3) -#define DISP_DI_DFP BIT(4) -#define DISP_DI_DAC BIT(5) +#define VIA_DI_PORT_NONE 0x00 +#define VIA_DI_PORT_DIP0 BIT(0) +#define VIA_DI_PORT_DIP1 BIT(1) +#define VIA_DI_PORT_DVP0 BIT(2) +#define VIA_DI_PORT_DVP1 BIT(3) +#define VIA_DI_PORT_DFPL BIT(4) +#define VIA_DI_PORT_DFPH BIT(5) +#define VIA_DI_PORT_DFP BIT(6) +#define VIA_DI_PORT_LVDS1 BIT(7) +#define VIA_DI_PORT_LVDS2 BIT(8) +#define VIA_DI_PORT_DAC BIT(9) struct via_encoder { struct drm_encoder base; diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c index 92e7dc5e7a6..a7c6d451e61 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -73,7 +73,7 @@ via_enable_internal_lvds(struct drm_encoder *encoder) struct drm_device *dev = encoder->dev; /* Turn on LCD panel */ - if ((enc->diPort & DISP_DI_DFPL) || (enc->diPort == DISP_DI_DVP1)) { + if ((enc->diPort & VIA_DI_PORT_DFPL) || (enc->diPort == VIA_DI_PORT_DVP1)) { if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) || (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266)) { /* Software control power sequence ON */ @@ -104,7 +104,7 @@ via_enable_internal_lvds(struct drm_encoder *encoder) } } - if (enc->diPort & DISP_DI_DFPH) { + if (enc->diPort & VIA_DI_PORT_DFPH) { if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) || (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266)) { /* Software control power sequence ON */ @@ -144,9 +144,9 @@ via_enable_internal_lvds(struct drm_encoder *encoder) * power on both LVDS0 and LVDS1 */ svga_wcrt_mask(VGABASE, 0xD2, 0x00, BIT(7) | BIT(6)); } else { - if (enc->diPort & DISP_DI_DFPL) + if (enc->diPort & VIA_DI_PORT_DFPL) svga_wcrt_mask(VGABASE, 0xD2, 0x00, BIT(7)); - else if (enc->diPort & DISP_DI_DFPH) + else if (enc->diPort & VIA_DI_PORT_DFPH) svga_wcrt_mask(VGABASE, 0xD2, 0x00, BIT(6)); } } @@ -159,7 +159,7 @@ via_disable_internal_lvds(struct drm_encoder *encoder) struct drm_device *dev = encoder->dev; /* Turn off LCD panel */ - if ((enc->diPort & DISP_DI_DFPL) || (enc->diPort == DISP_DI_DVP1)) { + if ((enc->diPort & VIA_DI_PORT_DFPL) || (enc->diPort == VIA_DI_PORT_DVP1)) { /* Set LCD software power sequence off */ if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) || (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266)) { @@ -185,7 +185,7 @@ via_disable_internal_lvds(struct drm_encoder *encoder) } } - if (enc->diPort & DISP_DI_DFPH) { + if (enc->diPort & VIA_DI_PORT_DFPH) { /* Set LCD software power sequence off */ if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) || (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266)) { @@ -220,9 +220,9 @@ via_disable_internal_lvds(struct drm_encoder *encoder) * power off both LVDS0 and LVDS1 */ svga_wcrt_mask(VGABASE, 0xD2, 0xC0, BIT(7) | BIT(6)); } else { - if (enc->diPort & DISP_DI_DFPL) + if (enc->diPort & VIA_DI_PORT_DFPL) svga_wcrt_mask(VGABASE, 0xD2, BIT(7), BIT(7)); - else if (enc->diPort & DISP_DI_DFPH) + else if (enc->diPort & VIA_DI_PORT_DFPH) svga_wcrt_mask(VGABASE, 0xD2, BIT(6), BIT(6)); } } @@ -765,30 +765,30 @@ via_lvds_init(struct drm_device *dev) switch (dev->pdev->device) { case PCI_DEVICE_ID_VIA_CLE266: - enc->diPort = DISP_DI_DVP1; + enc->diPort = VIA_DI_PORT_DVP1; break; case PCI_DEVICE_ID_VIA_VX875: case PCI_DEVICE_ID_VIA_VX900_VGA: - enc->diPort = DISP_DI_DFPL; + enc->diPort = VIA_DI_PORT_DFPL; break; default: - enc->diPort = DISP_DI_DFPH; + enc->diPort = VIA_DI_PORT_DFPH; break; } /* There has to be a way to detect TTL LVDS * For now we use the DMI to handle this */ if (dmi_check_system(via_ttl_lvds)) - enc->diPort = DISP_DI_DFPL | DISP_DI_DVP1; + enc->diPort = VIA_DI_PORT_DFPL | VIA_DI_PORT_DVP1; reg_value = 0x00; - if (enc->diPort == DISP_DI_DFPH) { + if (enc->diPort == VIA_DI_PORT_DFPH) { if (!is_msb) reg_value = BIT(0); svga_wcrt_mask(VGABASE, 0xD2, reg_value, BIT(0)); - } else if (enc->diPort == DISP_DI_DFPL) { + } else if (enc->diPort == VIA_DI_PORT_DFPL) { if (!is_msb) reg_value = BIT(1); svga_wcrt_mask(VGABASE, 0xD2, reg_value, BIT(1)); diff --git a/drivers/gpu/drm/via/via_hdmi.c b/drivers/gpu/drm/via/via_hdmi.c index 73e387bd1fd..1ef194dd328 100644 --- a/drivers/gpu/drm/via/via_hdmi.c +++ b/drivers/gpu/drm/via/via_hdmi.c @@ -254,7 +254,7 @@ via_hdmi_enc_mode_set(struct drm_encoder *encoder, struct via_connector *con = container_of(connector, struct via_connector, base); bool audio_off = (con->flags & HDMI_AUDIO_ENABLED); - if (enc->diPort == DISP_DI_NONE) + if (enc->diPort == VIA_DI_PORT_NONE) via_hdmi_native_mode_set(iga, adjusted_mode, audio_off); if (!iga->index) @@ -344,7 +344,7 @@ via_hdmi_enc_mode_set(struct drm_encoder *encoder, } /* Patch for clock skew */ - if (enc->diPort == DISP_DI_DVP1) { + if (enc->diPort == VIA_DI_PORT_DVP1) { switch (dev->pdev->device) { case PCI_DEVICE_ID_VIA_VT3157: /* CX700 */ svga_wcrt_mask(VGABASE, 0x65, 0x0B, 0x0F); diff --git a/drivers/gpu/drm/via/via_tmds.c b/drivers/gpu/drm/via/via_tmds.c index aff4c6be054..9db1515c31a 100644 --- a/drivers/gpu/drm/via/via_tmds.c +++ b/drivers/gpu/drm/via/via_tmds.c @@ -234,7 +234,7 @@ via_tmds_init(struct drm_device *dev) enc->base.possible_crtcs = BIT(1) | BIT(0); enc->base.possible_clones = 0; - enc->diPort = DISP_DI_DFPL; + enc->diPort = VIA_DI_PORT_DFPL; /* Piece together our DVI-D connector */ con = &enc->cons[0]; commit aa4ef9a837abccf8fc83e0640513081738cac7e6 Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jun 13 16:20:28 2017 -0500 Use labels instead of hard values to handle analog (VGA) DPMS state Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/crtc_hw.h b/drivers/gpu/drm/via/crtc_hw.h index dfc15a4338d..857e6a9e7a2 100644 --- a/drivers/gpu/drm/via/crtc_hw.h +++ b/drivers/gpu/drm/via/crtc_hw.h @@ -30,6 +30,13 @@ #include <drm/drmP.h> +/* To be used with via_analog_set_dpms_control inline function. */ +#define VIA_ANALOG_DPMS_ON 0x00 +#define VIA_ANALOG_DPMS_STANDBY 0x01 +#define VIA_ANALOG_DPMS_SUSPEND 0x02 +#define VIA_ANALOG_DPMS_OFF 0x03 + + struct vga_regset { u16 ioport; u8 io_addr; diff --git a/drivers/gpu/drm/via/via_analog.c b/drivers/gpu/drm/via/via_analog.c index c0003283339..5d324dcfebd 100644 --- a/drivers/gpu/drm/via/via_analog.c +++ b/drivers/gpu/drm/via/via_analog.c @@ -104,16 +104,16 @@ via_analog_dpms(struct drm_encoder *encoder, int mode) switch (mode) { case DRM_MODE_DPMS_ON: - via_analog_set_dpms_control(VGABASE, 0x00); + via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_ON); break; case DRM_MODE_DPMS_STANDBY: - via_analog_set_dpms_control(VGABASE, 0x01); + via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_STANDBY); break; case DRM_MODE_DPMS_SUSPEND: - via_analog_set_dpms_control(VGABASE, 0x02); + via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_SUSPEND); break; case DRM_MODE_DPMS_OFF: - via_analog_set_dpms_control(VGABASE, 0x03); + via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_OFF); break; default: DRM_ERROR("Bad DPMS mode."); _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel