drivers/gpu/drm/via/via_drv.h | 4 +- drivers/gpu/drm/via/via_fp.c | 82 +++++++++++++++++++++++++++++++++++------- 2 files changed, 72 insertions(+), 14 deletions(-)
New commits: commit f8e1cd06afe1cd1db331da4a4cfd8ec538cfed2c Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Jul 12 11:06:35 2017 -0500 Version bumped to 3.0.41 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 362e697ab78..8e6d1c416f9 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 "20170707" +#define DRIVER_DATE "20170712" #define DRIVER_MAJOR 3 #define DRIVER_MINOR 0 -#define DRIVER_PATCHLEVEL 40 +#define DRIVER_PATCHLEVEL 41 #include <linux/module.h> commit ee3110634db3d87ab527c582dff10f5fd6a4d1a6 Author: Kevin Brace <kevinbr...@gmx.com> Date: Wed Jul 12 11:04:00 2017 -0500 Added viaFPCastleRockSoftPowerSeq This function is untested since the developer does not own a CLE266 chipset based computer with FP support. 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 9c1128e5675..7bfc56e7382 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -234,6 +234,59 @@ via_disable_internal_lvds(struct drm_encoder *encoder) } static void +via_fp_castle_rock_soft_power_seq(struct via_device *dev_priv, + bool power_state) +{ + DRM_DEBUG_KMS("Entered via_fp_castle_rock_soft_power_seq.\n"); + + if (power_state) { + /* Wait for 25 ms. */ + mdelay(25); + + /* Turn on FP VDD rail. */ + via_fp_set_primary_soft_vdd(VGABASE, true); + + /* Wait for 510 ms. */ + mdelay(510); + + /* Turn on FP data transmission. */ + via_fp_set_primary_soft_data(VGABASE, true); + + /* Wait for 1 ms. */ + mdelay(1); + + /* Turn on FP VEE rail. */ + via_fp_set_primary_soft_vee(VGABASE, true); + + /* Turn on FP back light. */ + via_fp_set_primary_soft_back_light(VGABASE, true); + } else { + /* Wait for 1 ms. */ + mdelay(1); + + /* Turn off FP back light. */ + via_fp_set_primary_soft_back_light(VGABASE, false); + + /* Turn off FP VEE rail. */ + via_fp_set_primary_soft_vee(VGABASE, false); + + /* Wait for 510 ms. */ + mdelay(510); + + /* Turn off FP data transmission. */ + via_fp_set_primary_soft_data(VGABASE, false); + + /* Wait for 25 ms. */ + mdelay(25); + + /* Turn off FP VDD rail. */ + via_fp_set_primary_soft_vdd(VGABASE, false); + } + + DRM_DEBUG_KMS("Exiting via_fp_castle_rock_soft_power_seq.\n"); +} + +static void via_fp_primary_soft_power_seq(struct via_device *dev_priv, bool power_state) { DRM_DEBUG_KMS("Entered via_fp_primary_soft_power_seq.\n"); @@ -406,6 +459,8 @@ via_fp_power(struct via_device *dev_priv, unsigned short device, switch (device) { case PCI_DEVICE_ID_VIA_CLE266: + via_fp_castle_rock_soft_power_seq(dev_priv, + power_state); break; case PCI_DEVICE_ID_VIA_KM400: case PCI_DEVICE_ID_VIA_CN700: commit 0259543082a0fd8d7919dcf6eb0c8797eef42d98 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Jul 10 15:56:08 2017 -0500 Made minor comment related adjustments to via_fp.c 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 906b33df0d6..9c1128e5675 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -245,7 +245,7 @@ via_fp_primary_soft_power_seq(struct via_device *dev_priv, bool power_state) via_fp_set_primary_power_seq_type(VGABASE, false); if (power_state) { - /* Turn on FP Display Period. */ + /* Turn on FP display period. */ via_fp_set_primary_direct_display_period(VGABASE, true); /* Wait for TD0 ms. */ @@ -293,7 +293,7 @@ via_fp_primary_soft_power_seq(struct via_device *dev_priv, bool power_state) /* Turn off FP VDD rail. */ via_fp_set_primary_soft_vdd(VGABASE, false); - /* Turn off FP Display Period. */ + /* Turn off FP display period. */ via_fp_set_primary_direct_display_period(VGABASE, false); } @@ -312,7 +312,7 @@ via_fp_secondary_soft_power_seq(struct via_device *dev_priv, bool power_state) via_fp_set_secondary_power_seq_type(VGABASE, false); if (power_state) { - /* Turn on FP Display Period. */ + /* Turn on FP display period. */ via_fp_set_secondary_direct_display_period(VGABASE, true); /* Wait for TD0 ms. */ @@ -360,7 +360,7 @@ via_fp_secondary_soft_power_seq(struct via_device *dev_priv, bool power_state) /* Turn off FP VDD rail. */ via_fp_set_secondary_soft_vdd(VGABASE, false); - /* Turn off FP Display Period. */ + /* Turn off FP display period. */ via_fp_set_secondary_direct_display_period(VGABASE, false); } commit ae1e68bae91131df71168a19402a42bfca7d1634 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Jul 10 15:27:29 2017 -0500 Made comment adjustments to via_fp_primary_hard_power_seq 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 dd737c1289a..906b33df0d6 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -376,7 +376,7 @@ via_fp_primary_hard_power_seq(struct via_device *dev_priv, bool power_state) via_fp_set_primary_power_seq_type(VGABASE, true); if (power_state) { - /* Turn on FP Display Period. */ + /* Turn on FP display period. */ via_fp_set_primary_direct_display_period(VGABASE, true); /* Turn on FP hardware power sequence. */ @@ -391,7 +391,7 @@ via_fp_primary_hard_power_seq(struct via_device *dev_priv, bool power_state) /* Turn off FP hardware power sequence. */ via_fp_set_primary_hard_power(VGABASE, false); - /* Turn on FP Display Period. */ + /* Turn on FP display period. */ via_fp_set_primary_direct_display_period(VGABASE, false); } commit f5d541da62df68c464e6a5f9d587b505bad93b6f Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Jul 10 14:52:10 2017 -0500 Made indentation related adjustments to viaFPPrimarySoftPowerSeq 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 0352158a392..dd737c1289a 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -245,31 +245,31 @@ via_fp_primary_soft_power_seq(struct via_device *dev_priv, bool power_state) via_fp_set_primary_power_seq_type(VGABASE, false); if (power_state) { - /* Turn on FP Display Period. */ + /* Turn on FP Display Period. */ via_fp_set_primary_direct_display_period(VGABASE, true); /* Wait for TD0 ms. */ mdelay(TD0); - /* Turn on FP VDD rail. */ + /* Turn on FP VDD rail. */ via_fp_set_primary_soft_vdd(VGABASE, true); /* Wait for TD1 ms. */ mdelay(TD1); - /* Turn on FP data transmission. */ + /* Turn on FP data transmission. */ via_fp_set_primary_soft_data(VGABASE, true); /* Wait for TD2 ms. */ mdelay(TD2); - /* Turn on FP VEE rail. */ + /* Turn on FP VEE rail. */ via_fp_set_primary_soft_vee(VGABASE, true); /* Wait for TD3 ms. */ mdelay(TD3); - /* Turn on FP back light. */ + /* Turn on FP back light. */ via_fp_set_primary_soft_back_light(VGABASE, true); } else { /* Turn off FP back light. */ @@ -284,16 +284,16 @@ via_fp_primary_soft_power_seq(struct via_device *dev_priv, bool power_state) /* Wait for TD2 ms. */ mdelay(TD2); - /* Turn off FP data transmission. */ + /* Turn off FP data transmission. */ via_fp_set_primary_soft_data(VGABASE, false); /* Wait for TD1 ms. */ mdelay(TD1); - /* Turn off FP VDD rail. */ + /* Turn off FP VDD rail. */ via_fp_set_primary_soft_vdd(VGABASE, false); - /* Turn off FP Display Period. */ + /* Turn off FP Display Period. */ via_fp_set_primary_direct_display_period(VGABASE, false); } commit 7aa5b289955094874b3557ee0f3144556da2da2c Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Jul 10 14:29:03 2017 -0500 Keep FP hardware sequence off inside via_fp_primary_soft_power_seq 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 1d730a9eab9..0352158a392 100644 --- a/drivers/gpu/drm/via/via_fp.c +++ b/drivers/gpu/drm/via/via_fp.c @@ -238,6 +238,9 @@ via_fp_primary_soft_power_seq(struct via_device *dev_priv, bool power_state) { DRM_DEBUG_KMS("Entered via_fp_primary_soft_power_seq.\n"); + /* Turn off FP hardware power sequence. */ + via_fp_set_primary_hard_power(VGABASE, false); + /* Use software FP power sequence control. */ via_fp_set_primary_power_seq_type(VGABASE, false); _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel