[Saucy][SRU][PATCH 1/1] (no-up) Revert "Revert "drm/i915: revert eDP bpp clamping code changes""
Joseph Salisbury
joseph.salisbury at canonical.com
Thu Oct 31 16:03:32 UTC 2013
On 10/24/2013 06:22 PM, Tim Gardner wrote:
> On 10/16/2013 02:06 PM, Joseph Salisbury wrote:
>> On 10/16/2013 04:57 PM, Joseph Salisbury wrote:
>>> BugLink: http://bugs.launchpad.net/bugs/1195483
>>>
>>> This reverts commit 657445fe8660100ad174600ebfa61536392b7624.
>>>
>>> Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_dp.c | 18 ++++++++++++++----
>>> 1 file changed, 14 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_dp.c
>>> b/drivers/gpu/drm/i915/intel_dp.c
>>> index 26e162b..ce933ad 100644
>>> --- a/drivers/gpu/drm/i915/intel_dp.c
>>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>>> @@ -709,10 +709,7 @@ intel_dp_compute_config(struct intel_encoder
>>> *encoder,
>>>
>>> /* Walk through all bpp values. Luckily they're all nicely
>>> spaced with 2
>>> * bpc in between. */
>>> - bpp = pipe_config->pipe_bpp;
>>> - if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp)
>>> - bpp = min_t(int, bpp, dev_priv->vbt.edp_bpp);
>>> -
>>> + bpp = min_t(int, 8*3, pipe_config->pipe_bpp);
>>> for (; bpp >= 6*3; bpp -= 2*3) {
>>> mode_rate = intel_dp_link_required(adjusted_mode->clock,
>>> bpp);
>>>
>>> @@ -763,6 +760,19 @@ found:
>>> &pipe_config->dp_m_n);
>>>
>>> intel_dp_set_clock(encoder, pipe_config, intel_dp->link_bw);
>>> + /*
>>> + * XXX: We have a strange regression where using the vbt edp
>>> bpp value
>>> + * for the link bw computation results in black screens, the
>>> panel only
>>> + * works when we do the computation at the usual 24bpp (but still
>>> + * requires us to use 18bpp). Until that's fully debugged, stay
>>> + * bug-for-bug compatible with the old code.
>>> + */
>>> + if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp) {
>>> + DRM_DEBUG_KMS("clamping display bpc (was %d) to eDP (%d)\n",
>>> + bpp, dev_priv->vbt.edp_bpp);
>>> + bpp = min_t(int, bpp, dev_priv->vbt.edp_bpp);
>>> + }
>>> + pipe_config->pipe_bpp = bpp;
>>>
>>> return true;
>>> }
>>
>> A proper fix is also being discussed upstream:
>> https://bugzilla.kernel.org/show_bug.cgi?id=59841
>>
>> Maybe an alternative to this patch is to add something to the Saucy
>> release notes until this is fixed upstream?
>>
>>
>
> Joe - any upstream movement on this ?
>
A fix is avaiable upstream and also cc'd to stable:
commit c6cd2ee2d59111a07cd9199564c9bdcb2d11e5cf
Author: Jani Nikula <jani.nikula at intel.com>
Date: Mon Oct 21 10:52:07 2013 +0300
drm/i915/dp: workaround BIOS eDP bpp clamping issue
and a couple of dependencies are now in Linus' tree, i.e. should be
released in 3.12. The commits are also CC: stable.
More information about the kernel-team
mailing list