[Intel-gfx] [PATCH] drm/i915/bxt: eDP low vswing support
Daniel Vetter
daniel at ffwll.ch
Mon Sep 28 01:22:30 PDT 2015
On Thu, Sep 24, 2015 at 10:24:56AM +0530, Sonika Jindal wrote:
> Adding voltage swing table for edp to support low vswings.
>
> v2: Rebased.
>
> Signed-off-by: Sonika Jindal <sonika.jindal at intel.com>
> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani at intel.com>
Queued for -next, thanks for the patch.
-Daniel
> ---
> drivers/gpu/drm/i915/intel_ddi.c | 23 +++++++++++++++++++----
> 1 file changed, 19 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 7705bc9..4be1c2b 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -256,9 +256,6 @@ struct bxt_ddi_buf_trans {
> bool default_index; /* true if the entry represents default value */
> };
>
> -/* BSpec does not define separate vswing/pre-emphasis values for eDP.
> - * Using DP values for eDP as well.
> - */
> static const struct bxt_ddi_buf_trans bxt_ddi_translations_dp[] = {
> /* Idx NT mV diff db */
> { 52, 0x9A, 0, 128, true }, /* 0: 400 0 */
> @@ -273,6 +270,20 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_dp[] = {
> { 154, 0x9A, 1, 128, false }, /* 9: 1200 0 */
> };
>
> +static const struct bxt_ddi_buf_trans bxt_ddi_translations_edp[] = {
> + /* Idx NT mV diff db */
> + { 26, 0, 0, 128, false }, /* 0: 200 0 */
> + { 38, 0, 0, 112, false }, /* 1: 200 1.5 */
> + { 48, 0, 0, 96, false }, /* 2: 200 4 */
> + { 54, 0, 0, 69, false }, /* 3: 200 6 */
> + { 32, 0, 0, 128, false }, /* 4: 250 0 */
> + { 48, 0, 0, 104, false }, /* 5: 250 1.5 */
> + { 54, 0, 0, 85, false }, /* 6: 250 4 */
> + { 43, 0, 0, 128, false }, /* 7: 300 0 */
> + { 54, 0, 0, 101, false }, /* 8: 300 1.5 */
> + { 48, 0, 0, 128, false }, /* 9: 300 0 */
> +};
> +
> /* BSpec has 2 recommended values - entries 0 and 8.
> * Using the entry with higher vswing.
> */
> @@ -2113,7 +2124,11 @@ static void bxt_ddi_vswing_sequence(struct drm_device *dev, u32 level,
> u32 n_entries, i;
> uint32_t val;
>
> - if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) {
> + if (type == INTEL_OUTPUT_EDP && dev_priv->edp_low_vswing) {
> + n_entries = ARRAY_SIZE(bxt_ddi_translations_edp);
> + ddi_translations = bxt_ddi_translations_edp;
> + } else if (type == INTEL_OUTPUT_DISPLAYPORT
> + || type == INTEL_OUTPUT_EDP) {
> n_entries = ARRAY_SIZE(bxt_ddi_translations_dp);
> ddi_translations = bxt_ddi_translations_dp;
> } else if (type == INTEL_OUTPUT_HDMI) {
> --
> 1.7.10.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list