drivers/gpu/drm/via/via_drv.h | 4 +-- drivers/gpu/drm/via/via_fp.c | 54 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-)
New commits: commit ca2df04f390a7877ec8fe8150743c00795431add Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jul 4 01:26:25 2017 -0500 Version bumped to 3.0.37 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 9c7cbd85e0c..6704b382f80 100644 --- a/drivers/gpu/drm/via/via_drv.h +++ b/drivers/gpu/drm/via/via_drv.h @@ -30,11 +30,11 @@ #define DRIVER_AUTHOR "The OpenChrome Project" #define DRIVER_NAME "via" #define DRIVER_DESC "OpenChrome DRM for VIA Technologies Chrome IGP" -#define DRIVER_DATE "20170629" +#define DRIVER_DATE "20170704" #define DRIVER_MAJOR 3 #define DRIVER_MINOR 0 -#define DRIVER_PATCHLEVEL 36 +#define DRIVER_PATCHLEVEL 37 #include <linux/module.h> commit 685738b467ddd825462e954f3d134c19b3fa04f0 Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jul 4 01:25:13 2017 -0500 Now actively controlling FP I/O state from via_fp_dpms Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c index 98896f8fec3..b7e90b8ac0d 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -328,6 +328,7 @@ via_fp_display_source(struct via_device *dev_priv, u32 di_port, int index) static void via_fp_dpms(struct drm_encoder *encoder, int mode) { + struct via_encoder *enc = container_of(encoder, struct via_encoder, base); struct via_device *dev_priv = encoder->dev->dev_private; struct drm_device *dev = encoder->dev; struct via_crtc *iga = NULL; @@ -357,12 +358,14 @@ via_fp_dpms(struct drm_encoder *encoder, int mode) svga_wseq_mask(VGABASE, 0x1E, BIT(3), BIT(3)); } via_enable_internal_lvds(encoder); + via_fp_io_pad_state(dev_priv, enc->di_port, true); break; case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: case DRM_MODE_DPMS_OFF: via_disable_internal_lvds(encoder); + via_fp_io_pad_state(dev_priv, enc->di_port, false); break; } } commit 9bf17e465982450b2eaf0f4813210a442e6c9fc0 Author: Kevin Brace <kevinbr...@gmx.com> Date: Tue Jul 4 00:34:23 2017 -0500 Added via_fp_io_pad_state Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c index 9714bddac40..98896f8fec3 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -228,6 +228,53 @@ via_disable_internal_lvds(struct drm_encoder *encoder) } /* + * Sets flat panel I/O pad state. + */ +static void +via_fp_io_pad_state(struct via_device *dev_priv, u32 di_port, bool io_pad_on) +{ + DRM_DEBUG_KMS("Entered via_fp_io_pad_state.\n"); + + switch(di_port) { + case VIA_DI_PORT_DVP0: + via_dvp0_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case VIA_DI_PORT_DVP1: + via_dvp1_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case VIA_DI_PORT_FPDPLOW: + via_fpdp_low_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case VIA_DI_PORT_FPDPHIGH: + via_fpdp_high_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case (VIA_DI_PORT_FPDPLOW | + VIA_DI_PORT_FPDPHIGH): + via_fpdp_low_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00); + via_fpdp_high_set_io_pad_state(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case VIA_DI_PORT_LVDS1: + via_lvds1_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case VIA_DI_PORT_LVDS2: + via_lvds2_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + case (VIA_DI_PORT_LVDS1 | + VIA_DI_PORT_LVDS2): + via_lvds1_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00); + via_lvds2_set_io_pad_setting(VGABASE, io_pad_on ? 0x03 : 0x00); + break; + default: + break; + } + + DRM_DEBUG_KMS("FP I/O Pad: %s\n", io_pad_on ? "On": "Off"); + + DRM_DEBUG_KMS("Exiting via_fp_io_pad_state.\n"); +} + + +/* * Sets flat panel display source. */ static void commit ddf727fddb2a6f12aa7fc4dd541bc3ec2190e2b7 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Jul 3 23:46:40 2017 -0500 Rename via_lvds_dpms to via_fp_dpms Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/via/via_fp.c b/drivers/gpu/drm/via/via_fp.c index be8d621fd4a..9714bddac40 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -279,7 +279,7 @@ via_fp_display_source(struct via_device *dev_priv, u32 di_port, int index) } static void -via_lvds_dpms(struct drm_encoder *encoder, int mode) +via_fp_dpms(struct drm_encoder *encoder, int mode) { struct via_device *dev_priv = encoder->dev->dev_private; struct drm_device *dev = encoder->dev; @@ -386,7 +386,7 @@ via_lvds_mode_fixup(struct drm_encoder *encoder, } const struct drm_encoder_helper_funcs via_lvds_helper_funcs = { - .dpms = via_lvds_dpms, + .dpms = via_fp_dpms, .mode_fixup = via_lvds_mode_fixup, .mode_set = via_set_sync_polarity, .prepare = via_encoder_prepare, _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel